Eli Zaretskii [Mon, 20 Jan 2020 16:21:09 +0000 (18:21 +0200)]
Unbreak the MS-Windows build
* src/w32.c (openat): New function.
* src/w32.h (openat): Add prototype.
Glenn Morris [Mon, 20 Jan 2020 15:50:30 +0000 (07:50 -0800)]
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
Glenn Morris [Mon, 20 Jan 2020 15:50:26 +0000 (07:50 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
5118394e5b Ensure that gnus-summary-attach-article finds the right ar...
Glenn Morris [Mon, 20 Jan 2020 15:50:26 +0000 (07:50 -0800)]
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 identifer completion
# Conflicts:
# etc/NEWS
Michael Albinus [Mon, 20 Jan 2020 15:32:13 +0000 (16:32 +0100)]
* admin/release-process: Adapt bug numbers for release critical bugs.
Mention debbugs-gnu-emacs-release-blocking-reports.
Mattias Engdegård [Mon, 20 Jan 2020 14:52:27 +0000 (15:52 +0100)]
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).
Stefan Monnier [Mon, 20 Jan 2020 14:50:32 +0000 (09:50 -0500)]
* 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.
Mattias Engdegård [Mon, 20 Jan 2020 13:27:38 +0000 (14:27 +0100)]
* test/lisp/simple-tests.el: Full path to Emacs binary (bug#39067).
Paul Eggert [Mon, 20 Jan 2020 09:08:42 +0000 (01:08 -0800)]
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.
Paul Eggert [Mon, 20 Jan 2020 07:40:45 +0000 (23:40 -0800)]
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).
Copyright-paperwork-exempt: yes
Juri Linkov [Mon, 20 Jan 2020 00:35:53 +0000 (02:35 +0200)]
* 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.
Juri Linkov [Mon, 20 Jan 2020 00:14:24 +0000 (02:14 +0200)]
* lisp/menu-bar.el (menu-bar-options-menu): Add desktop-save-mode (bug#37594)
Stefan Monnier [Sun, 19 Jan 2020 22:10:57 +0000 (17:10 -0500)]
* 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.
Tino Calancha [Sun, 19 Jan 2020 21:01:17 +0000 (22:01 +0100)]
; Fix a test (Bug#39067)
* test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
Use flag -Q to prevent from loading site-lisp files.
Stefan Kangas [Sun, 19 Jan 2020 14:58:06 +0000 (15:58 +0100)]
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)
Stefan Kangas [Sun, 19 Jan 2020 14:43:46 +0000 (15:43 +0100)]
Make arguments to dired-chage-marks non-optional
* lisp/dired.el (dired-change-marks): Make arguments
non-optional. (Bug#29842)
Michael Albinus [Sun, 19 Jan 2020 13:25:20 +0000 (14:25 +0100)]
; * etc/NEWS: Fix typo.
Michael Albinus [Sun, 19 Jan 2020 13:11:25 +0000 (14:11 +0100)]
; * etc/NEWS: Fix typos.
Michael Albinus [Sun, 19 Jan 2020 13:11:07 +0000 (14:11 +0100)]
Sync with Tramp 2.5.0-pre
* doc/misc/tramp.texi: Protext 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'.
Tino Calancha [Sun, 19 Jan 2020 10:13:02 +0000 (11:13 +0100)]
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.
Paul Eggert [Sun, 19 Jan 2020 04:54:29 +0000 (20:54 -0800)]
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.
Paul Eggert [Sun, 19 Jan 2020 04:34:55 +0000 (20:34 -0800)]
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.
Rüdiger Sonderfeld [Sun, 19 Jan 2020 01:02:28 +0000 (02:02 +0100)]
Add space before messsage 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)
Stefan Kangas [Sun, 19 Jan 2020 00:26:16 +0000 (01:26 +0100)]
Remove reference to Emacs 19 from FAQ
* doc/misc/efaq.texi (Emacs ignores X resources): Remove reference to
Emacs 19.
Stefan Kangas [Fri, 4 Oct 2019 16:30:34 +0000 (18:30 +0200)]
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.
Eric Abrahamsen [Sat, 18 Jan 2020 19:08:11 +0000 (11:08 -0800)]
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)
Paul Eggert [Sat, 18 Jan 2020 21:18:27 +0000 (13:18 -0800)]
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.
Eric Abrahamsen [Sat, 18 Jan 2020 19:08:11 +0000 (11:08 -0800)]
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.
Stefan Kangas [Sat, 18 Jan 2020 18:53:01 +0000 (19:53 +0100)]
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.
Stefan Monnier [Sat, 18 Jan 2020 18:13:21 +0000 (13:13 -0500)]
* src/fns.c (sxhash_obj): Fix crash on sub-char-tables
Also, look inside overlays, like `internal_equal`.
(internal_equal): Cosmetic tweak.
Alan Third [Mon, 30 Dec 2019 16:38:47 +0000 (16:38 +0000)]
Add ability to find ObjC method names
* lisp/progmodes/cc-cmds.el (c-defun-name-1): Add Objective-C method
name ability.
Alan Third [Wed, 1 Jan 2020 11:44:21 +0000 (11:44 +0000)]
Don't error on non-toolkit NS scrollbars (bug#37042)
* configure.ac (HAVE_NS): Don't error, but warn, on non-toolkit
scrollbars.
Pieter van Oostrum [Thu, 16 Jan 2020 19:21:37 +0000 (20:21 +0100)]
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)
Copyright-paperwork-exempt: yes
Stefan Kangas [Sat, 18 Jan 2020 08:15:36 +0000 (09:15 +0100)]
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.
Paul Eggert [Sat, 18 Jan 2020 07:59:52 +0000 (23:59 -0800)]
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.
Paul Eggert [Sat, 18 Jan 2020 07:59:51 +0000 (23:59 -0800)]
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.
Amin Bandali [Sat, 18 Jan 2020 04:38:04 +0000 (23:38 -0500)]
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.
Amin Bandali [Sat, 18 Jan 2020 03:33:03 +0000 (22:33 -0500)]
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'.
Amin Bandali [Sat, 18 Jan 2020 02:45:10 +0000 (21:45 -0500)]
ERC: New maintainer.
* admin/MAINTAINERS: Add entries for Amin Bandali, new maintainer for
ERC, and interested in maintaining Eshell.
* lisp/erc/*: New maintainer.
Stefan Kangas [Sat, 18 Jan 2020 01:59:56 +0000 (02:59 +0100)]
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.
Paul Eggert [Fri, 17 Jan 2020 22:23:20 +0000 (14:23 -0800)]
; spelling fixes
Alan Mackenzie [Fri, 17 Jan 2020 21:53:13 +0000 (21:53 +0000)]
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.
Dmitry Gutov [Fri, 17 Jan 2020 21:14:24 +0000 (00:14 +0300)]
Honor tags-case-fold-search during xref identifer 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.
Glenn Morris [Fri, 17 Jan 2020 15:50:28 +0000 (07:50 -0800)]
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
Glenn Morris [Fri, 17 Jan 2020 15:50:23 +0000 (07:50 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
6338f69102 Add unattended spell-checking to checkdoc
Glenn Morris [Fri, 17 Jan 2020 15:50:23 +0000 (07:50 -0800)]
Merge from origin/emacs-27
5da372e17e ; Minor edit in anti.texi
Glenn Morris [Fri, 17 Jan 2020 15:50:23 +0000 (07:50 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
4453acbdc9 Fix the error message from makefile-move-to-macro
Glenn Morris [Fri, 17 Jan 2020 15:50:23 +0000 (07:50 -0800)]
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
Simen Heggestøyl [Fri, 17 Jan 2020 13:51:19 +0000 (14:51 +0100)]
; * src/lread.c (force_new_style_backquotes): Fix reference.
Eli Zaretskii [Fri, 17 Jan 2020 09:47:19 +0000 (11:47 +0200)]
; * etc/NEWS: Mention latest changes in checkdoc. (Bug#38583)
Eli Zaretskii [Fri, 17 Jan 2020 09:35:35 +0000 (11:35 +0200)]
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.
Eli Zaretskii [Fri, 17 Jan 2020 09:30:55 +0000 (11:30 +0200)]
Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27
Damien Cassou [Fri, 27 Dec 2019 14:35:52 +0000 (15:35 +0100)]
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)
Robert Pluim [Fri, 17 Jan 2020 08:34:50 +0000 (09:34 +0100)]
; Minor edit in anti.texi
Lin Sun [Fri, 17 Jan 2020 00:08:54 +0000 (16:08 -0800)]
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)
Robert Pluim [Fri, 17 Jan 2020 07:53:29 +0000 (08:53 +0100)]
; Fix recent markup change
* doc/emacs/custom.texi (Find Init): Fix variable markup.
Glenn Morris [Fri, 17 Jan 2020 07:14:00 +0000 (23:14 -0800)]
* lisp/progmodes/vhdl-mode.el (speedbar-load-hook): Silence compiler.
Glenn Morris [Fri, 17 Jan 2020 07:06:04 +0000 (23:06 -0800)]
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.
Stefan Kangas [Fri, 17 Jan 2020 06:03:41 +0000 (07:03 +0100)]
; * lisp/obsolete/vc-arch.el: Add missing "Obsolete-since" tag.
Stefan Kangas [Fri, 17 Jan 2020 05:55:30 +0000 (06:55 +0100)]
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'.
Glenn Morris [Fri, 17 Jan 2020 05:55:14 +0000 (21:55 -0800)]
* doc/misc/ido.texi (Ignoring): Reword per Texinfo warning.
Glenn Morris [Fri, 17 Jan 2020 05:53:37 +0000 (21:53 -0800)]
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
Stefan Kangas [Fri, 17 Jan 2020 05:34:00 +0000 (06:34 +0100)]
; * lisp/ezimage.el: Fix typo.
Glenn Morris [Fri, 17 Jan 2020 05:21:29 +0000 (21:21 -0800)]
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.
Glenn Morris [Fri, 17 Jan 2020 05:15:28 +0000 (21:15 -0800)]
* lisp/obsolete/cust-print.el (print-circle): Doc tweak.
Glenn Morris [Fri, 17 Jan 2020 05:15:02 +0000 (21:15 -0800)]
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.
Lin Sun [Fri, 17 Jan 2020 00:08:54 +0000 (16:08 -0800)]
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).
Stefan Kangas [Thu, 16 Jan 2020 23:23:06 +0000 (00:23 +0100)]
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)
Stefan Kangas [Thu, 16 Jan 2020 23:02:09 +0000 (00:02 +0100)]
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)
Stefan Kangas [Thu, 16 Jan 2020 20:35:07 +0000 (21:35 +0100)]
Document feature requests in the Emacs manual
* doc/emacs/trouble.texi (Contributing): Document how to send feature
requests. (Bug20697)
Paul Eggert [Thu, 16 Jan 2020 18:49:29 +0000 (10:49 -0800)]
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.
Damien Cassou [Fri, 27 Dec 2019 14:35:52 +0000 (15:35 +0100)]
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.
Stefan Kangas [Wed, 15 Jan 2020 19:01:25 +0000 (20:01 +0100)]
* admin/notes/font-backend: Remove outdated file. (Bug#34663)
(cherry picked from commit
2be48605c0e31566401853a405dc7ea1892b3ef7)
; Not sure how the automatic merge managed to succeed with this conflict
Glenn Morris [Thu, 16 Jan 2020 15:50:22 +0000 (07:50 -0800)]
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
Stefan Monnier [Thu, 16 Jan 2020 15:18:15 +0000 (10:18 -0500)]
* lisp/minibuffer.el (read-file-name-default): Fix bug#39057
Michael Albinus [Thu, 16 Jan 2020 15:17:26 +0000 (16:17 +0100)]
; * etc/NEWS: Fix some file name quotations.
Robert Pluim [Wed, 15 Jan 2020 11:24:43 +0000 (12:24 +0100)]
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.
Stefan Kangas [Mon, 28 Oct 2019 16:33:22 +0000 (17:33 +0100)]
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)
Robert Pluim [Thu, 16 Jan 2020 09:39:40 +0000 (10:39 +0100)]
; etc/NEWS minor edits
Robert Pluim [Thu, 16 Jan 2020 09:34:37 +0000 (10:34 +0100)]
Describe --with-cairo non-support for bitmapped fonts.
* etc/NEWS: Mention Pango's removal of support for bitmapped fonts.
Robert Pluim [Thu, 16 Jan 2020 09:33:01 +0000 (10:33 +0100)]
Mention GTK font chooser changes in NEWS
* etc/NEWS: Mention GTK font chooser changes.
Simon Josefsson [Fri, 3 Jan 2020 17:41:03 +0000 (18:41 +0100)]
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.
* tests/lisp/net/sasl-scram-rfc-tests.el (sasl-scram-sha-256-test):
New function.
Glenn Morris [Thu, 16 Jan 2020 02:49:21 +0000 (18:49 -0800)]
; Unmaintain fortran elisp
Glenn Morris [Thu, 16 Jan 2020 02:47:51 +0000 (18:47 -0800)]
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.
Paul Eggert [Thu, 16 Jan 2020 01:53:43 +0000 (17:53 -0800)]
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.
Paul Eggert [Thu, 16 Jan 2020 01:41:42 +0000 (17:41 -0800)]
Refactor parse-time-string
* lisp/calendar/parse-time.el (parse-time--rfc-822ish):
Remove, and fold its body into its only caller.
Paul Eggert [Thu, 16 Jan 2020 01:36:59 +0000 (17:36 -0800)]
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.
Juri Linkov [Wed, 15 Jan 2020 23:30:33 +0000 (01:30 +0200)]
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'.
Stefan Monnier [Wed, 15 Jan 2020 21:50:50 +0000 (16:50 -0500)]
* 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`.
Stefan Kangas [Wed, 15 Jan 2020 19:01:25 +0000 (20:01 +0100)]
* admin/notes/font-backend: Remove outdated file. (Bug#34663)
Stefan Kangas [Wed, 15 Jan 2020 18:57:27 +0000 (19:57 +0100)]
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)
Stefan Kangas [Wed, 15 Jan 2020 18:20:38 +0000 (19:20 +0100)]
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)
Eli Zaretskii [Wed, 15 Jan 2020 16:28:44 +0000 (18:28 +0200)]
; Fix wording of a comment.
* nt/inc/ms-w32.h (BROKEN_DATAGRAM_SOCKETS): Fix wording of
commentary.
Glenn Morris [Wed, 15 Jan 2020 15:50:22 +0000 (07:50 -0800)]
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
Andreas Schwab [Wed, 15 Jan 2020 09:02:10 +0000 (10:02 +0100)]
Fix implicit declaration of getenv and atol
* src/gtkutil.c: Include <stdlib.h>.
YAMAMOTO Mitsuharu [Wed, 15 Jan 2020 08:10:30 +0000 (17:10 +0900)]
Fix build failure with --with-cairo --without-png
* src/image.c: Don't enable PNG section only by USE_CAIRO.
Stefan Kangas [Wed, 15 Jan 2020 01:20:01 +0000 (02:20 +0100)]
Add new node "Package Statuses" to manual
* doc/emacs/emacs.texi (Top):
* doc/emacs/package.texi (Package Menu): New node "Package
Statuses". (Bug#29420)
Juri Linkov [Wed, 15 Jan 2020 00:02:53 +0000 (02:02 +0200)]
* 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.
Eli Zaretskii [Tue, 14 Jan 2020 15:46:39 +0000 (17:46 +0200)]
; * lisp/simple.el (messages-buffer): Doc fix. (Bug#39124)
Michael Albinus [Tue, 14 Jan 2020 10:46:42 +0000 (11:46 +0100)]
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.