Juri Linkov [Wed, 19 Aug 2020 13:52:08 +0000 (15:52 +0200)]
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
behaviour from Emacs 23 that was lost in Emacs 24.
Grégoire Jadi [Wed, 19 Aug 2020 13:36:08 +0000 (15:36 +0200)]
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).
Robert Weiner [Wed, 19 Aug 2020 13:28:32 +0000 (15:28 +0200)]
Make etags-list-tags work with Exuberant ctags
* lisp/progmodes/etags.el (etags-list-tags): Make the function
work with Exuberant ctags (bug#23400).
Anders Lindgren [Wed, 19 Aug 2020 12:19:12 +0000 (14:19 +0200)]
Fix #'(lambda ...) font locking
* lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
Fontize #'(lambda ...) better (bug#23465).
Doug Gilmore [Wed, 19 Aug 2020 12:04:46 +0000 (14:04 +0200)]
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).
Mattias Engdegård [Wed, 19 Aug 2020 11:42:31 +0000 (13:42 +0200)]
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.)
Mattias Engdegård [Wed, 19 Aug 2020 11:39:18 +0000 (13:39 +0200)]
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.
Tino Calancha [Wed, 19 Aug 2020 11:52:21 +0000 (13:52 +0200)]
Make thingatpt recognise files names with @ in them
* lisp/thingatpt.el (thing-at-point-file-name-chars): Add @
(Bug#24606).
Basil L. Contovounesios [Wed, 19 Aug 2020 11:37:03 +0000 (12:37 +0100)]
; Fix last change to comint.el
* lisp/comint.el (comint-highlight-input): Add :version tag.
(comint-send-input): Fix indentation.
Tom Tromey [Wed, 19 Aug 2020 11:38:44 +0000 (13:38 +0200)]
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.
Michael Albinus [Wed, 19 Aug 2020 11:19:19 +0000 (13:19 +0200)]
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'.
Michael Albinus [Wed, 19 Aug 2020 11:18:08 +0000 (13:18 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Carlos Pita [Wed, 19 Aug 2020 11:13:46 +0000 (13:13 +0200)]
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.
Michael Albinus [Wed, 19 Aug 2020 11:12:14 +0000 (13:12 +0200)]
; * etc/NEWS: Fix typos.
Lars Ingebrigtsen [Wed, 19 Aug 2020 10:55:46 +0000 (12:55 +0200)]
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>.
Noam Postavsky [Wed, 19 Aug 2020 10:49:11 +0000 (12:49 +0200)]
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).
Lars Ingebrigtsen [Wed, 19 Aug 2020 10:45:05 +0000 (12:45 +0200)]
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).
Sebastian Urban [Wed, 19 Aug 2020 10:15:07 +0000 (12:15 +0200)]
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).
Lars Ingebrigtsen [Wed, 19 Aug 2020 09:37:26 +0000 (11:37 +0200)]
Remove some compat code from viper-cmd.el
Lars Ingebrigtsen [Wed, 19 Aug 2020 09:34:54 +0000 (11:34 +0200)]
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.
Lars Ingebrigtsen [Wed, 19 Aug 2020 09:32:56 +0000 (11:32 +0200)]
Remove some compat code from erc
* lisp/erc/erc.el (erc-mode): next-line-add-newlines is always
defined, so remove the check.
Alan Third [Mon, 17 Aug 2020 19:58:47 +0000 (20:58 +0100)]
Get rid of build-time checks around NS tabbar code (bug#33118)
* src/nsterm.m ([EmacsView initFrameFromEmacs:]): Get rid of version
checks.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:33:58 +0000 (23:33 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:23:42 +0000 (23:23 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:22:36 +0000 (23:22 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:18:50 +0000 (23:18 +0200)]
Remove some compat code from ps-print.el
* lisp/ps-print.el: Don't make a face-list alias.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:17:47 +0000 (23:17 +0200)]
Remove some compat code from forms.el
* lisp/forms.el (forms-mode): make-face always exists.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:15:09 +0000 (23:15 +0200)]
Remove some compat code from smiley.el
* lisp/gnus/smiley.el (smiley-style): face-attribute is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:12:39 +0000 (23:12 +0200)]
Remove some compat code from chart.el
* lisp/emacs-lisp/chart.el (chart-face-list):
set-face-background-pixmap is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:11:02 +0000 (23:11 +0200)]
Remove some compat code from htmlfontify.el
* lisp/htmlfontify.el (hfy-color-vals): color-values is always
defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:09:53 +0000 (23:09 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:05:22 +0000 (23:05 +0200)]
Remove some compat code from woman.el
* lisp/woman.el (woman-fontify): Don't check for functions always
defined.
Basil L. Contovounesios [Tue, 18 Aug 2020 20:29:41 +0000 (21:29 +0100)]
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.
Stefan Kangas [Tue, 18 Aug 2020 19:03:40 +0000 (21:03 +0200)]
* lisp/vt-control.el: Use lexical-binding.
Philip K [Tue, 18 Aug 2020 19:19:21 +0000 (21:19 +0200)]
Fix Libravatar federation handling
* lisp/image/gravatar.el (gravatar--service-libravatar): Implement
correct algorithm (bug#40354).
Philip K [Tue, 18 Aug 2020 19:18:06 +0000 (21:18 +0200)]
Fix Libravatar federation handling
* lisp/image/gravatar.el (gravatar--service-libravatar): Implement
correct algorithm (bug#40354).
Robert Pluim [Tue, 18 Aug 2020 18:31:37 +0000 (20:31 +0200)]
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).
Stefan Kangas [Sun, 9 Aug 2020 21:42:06 +0000 (23:42 +0200)]
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.
Stefan Kangas [Sat, 2 May 2020 14:08:33 +0000 (16:08 +0200)]
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.
Stefan Kangas [Sun, 26 Apr 2020 08:16:06 +0000 (10:16 +0200)]
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.
Stefan Kangas [Tue, 18 Aug 2020 18:16:06 +0000 (20:16 +0200)]
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).
Lars Ingebrigtsen [Tue, 18 Aug 2020 18:10:44 +0000 (20:10 +0200)]
srecode-utest-project test should now work on Hydra, hopefully
Lars Ingebrigtsen [Tue, 18 Aug 2020 18:06:48 +0000 (11:06 -0700)]
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.
Stefan Kangas [Tue, 18 Aug 2020 17:02:21 +0000 (19:02 +0200)]
* lisp/savehist.el: Doc fix.
Pip Cet [Tue, 18 Aug 2020 16:27:05 +0000 (18:27 +0200)]
Fix minor bugs in image.c
* test/src/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).
Philip K [Tue, 18 Aug 2020 16:06:13 +0000 (18:06 +0200)]
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).
Kalle Olavi Niemitalo [Tue, 18 Aug 2020 15:03:07 +0000 (17:03 +0200)]
Fix buffer overflow in x-send-client-message
* xselect.c (x_fill_property_data): Add parameter NELEMENTS_MAX.
* xterm.h (x_fill_property_data): Update prototype.
* xselect.c (Fx_send_client_event): Update call. This fixes
a buffer overflow in event.xclient.data.
* xfns.c (Fx_change_window_property): Update call (bug#23482).
Copyright-paperwork-exempt: yes
Glenn Morris [Tue, 18 Aug 2020 14:51:08 +0000 (07:51 -0700)]
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
Glenn Morris [Tue, 18 Aug 2020 14:51:07 +0000 (07:51 -0700)]
; Merge from origin/emacs-27
The following commit was skipped:
8ff5e346fe Regexps cannot infloop; fix manual
Glenn Morris [Tue, 18 Aug 2020 14:51:05 +0000 (07:51 -0700)]
Merge from origin/emacs-27
cf0ee6f49b ; spelling fixes
16f4f26632 Fix startup working dir bug on NeXTSTEP
Lars Ingebrigtsen [Tue, 18 Aug 2020 14:45:29 +0000 (16:45 +0200)]
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).
Clément Pit-Claudel [Tue, 18 Aug 2020 14:06:29 +0000 (16:06 +0200)]
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.
Stefan Kangas [Thu, 13 Aug 2020 00:59:11 +0000 (02:59 +0200)]
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)
Lars Ingebrigtsen [Tue, 18 Aug 2020 13:35:56 +0000 (15:35 +0200)]
Add NEWS entry for the count-lines change
Jen-Chieh Shen [Tue, 18 Aug 2020 13:25:21 +0000 (15:25 +0200)]
Add optional ALL-FRAMES arfument to count-windows
* lisp/window.el (count-windows): Allow counting the windows on
all frames (bug#42872).
Stefan Kangas [Tue, 18 Aug 2020 10:43:16 +0000 (12:43 +0200)]
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>.
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:31:22 +0000 (12:31 +0200)]
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).
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:12:02 +0000 (12:12 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:10:29 +0000 (12:10 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:08:11 +0000 (12:08 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:02:58 +0000 (12:02 +0200)]
Remove some compat code from python.el
* lisp/progmodes/python.el: Remove some compat function definitions.
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:01:09 +0000 (12:01 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:57:39 +0000 (11:57 +0200)]
Remove some compat code from ispell.el
* lisp/textmodes/ispell.el (ispell-check-version): Remove check
for temporary-file-directory, which is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:56:39 +0000 (11:56 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:55:29 +0000 (11:55 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:53:21 +0000 (11:53 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:32:06 +0000 (11:32 +0200)]
Remove some compat code from window.el
* lisp/window.el (window-fixed-size-p): Remove check for
window-size-fixed, which is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:27:17 +0000 (11:27 +0200)]
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.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:25:05 +0000 (11:25 +0200)]
Remove come compat code from rmailedit.el
* lisp/mail/rmailedit.el (rmail-edit-mode): Remove check for
mode-line-modified, which is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:23:47 +0000 (11:23 +0200)]
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.
Paul Eggert [Tue, 18 Aug 2020 00:54:44 +0000 (17:54 -0700)]
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.
Paul Eggert [Mon, 17 Aug 2020 23:21:36 +0000 (16:21 -0700)]
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).
Paul Eggert [Mon, 17 Aug 2020 22:05:05 +0000 (15:05 -0700)]
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.
Eli Zaretskii [Mon, 17 Aug 2020 16:43:29 +0000 (19:43 +0300)]
Don't use -Wsuggest-attribute=malloc by default
* configure.ac: Move -Wsuggest-attribute=malloc to the set used
only under --enable-gcc-warnings.
Eli Zaretskii [Mon, 17 Aug 2020 16:30:02 +0000 (09:30 -0700)]
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).
Eli Zaretskii [Mon, 17 Aug 2020 16:11:35 +0000 (19:11 +0300)]
; * etc/NEWS: Call out a recent change in 'count-words'. (Bug#41761)
Paul Eggert [Mon, 17 Aug 2020 15:28:36 +0000 (08:28 -0700)]
* etc/NEWS: Mention GnuPG 2.0 through 2.1.5 issue (Bug#42845).
Stefan Kangas [Fri, 14 Aug 2020 16:23:35 +0000 (18:23 +0200)]
Remove some obsolete items from PROBLEMS
* etc/PROBLEMS: Remove some obsolete items.
Stefan Kangas [Sun, 16 Aug 2020 19:40:28 +0000 (21:40 +0200)]
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.
Michael Albinus [Mon, 17 Aug 2020 09:41:46 +0000 (11:41 +0200)]
; * doc/lispref/tips.texi: Fix typo.
Robert Pluim [Mon, 17 Aug 2020 04:40:19 +0000 (21:40 -0700)]
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).
Paul Eggert [Sun, 16 Aug 2020 21:30:09 +0000 (14:30 -0700)]
Simplify format_time_string
* src/timefns.c (emacs_nmemftime, format_time_string):
Simplify on the basis of recent nstrftime changes.
Propagate nstrftime errno.
Paul Eggert [Sun, 16 Aug 2020 21:22:56 +0000 (14:22 -0700)]
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.
Jonas Bernoulli [Sun, 16 Aug 2020 20:24:59 +0000 (22:24 +0200)]
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.
Lars Ingebrigtsen [Sun, 16 Aug 2020 18:25:53 +0000 (20:25 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Lars Ingebrigtsen [Sun, 16 Aug 2020 18:25:44 +0000 (20:25 +0200)]
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.
João Távora [Sun, 16 Aug 2020 18:03:37 +0000 (19:03 +0100)]
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.
Stefan Kangas [Sat, 15 Aug 2020 00:53:35 +0000 (02:53 +0200)]
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.
Stefan Kangas [Sat, 15 Aug 2020 00:43:17 +0000 (02:43 +0200)]
Remove redundant :group args from flyspell.el
* lisp/textmodes/flyspell.el: Remove redundant :group args.
Stefan Kangas [Sat, 15 Aug 2020 02:55:35 +0000 (04:55 +0200)]
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.
Steven Allen [Sun, 16 Aug 2020 12:31:27 +0000 (14:31 +0200)]
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.
Mattias Engdegård [Sun, 16 Aug 2020 09:06:45 +0000 (11:06 +0200)]
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.
Stefan Monnier [Sun, 16 Aug 2020 02:44:16 +0000 (22:44 -0400)]
* lisp/net/eudc-bob.el (eudc-bob-pipe-object-to-external-program): Simplify
Use `with-temp-buffer`.
Stefan Monnier [Sat, 15 Aug 2020 21:30:11 +0000 (17:30 -0400)]
* 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`.
Paul Eggert [Sat, 15 Aug 2020 19:32:56 +0000 (12:32 -0700)]
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.
Paul Eggert [Sat, 15 Aug 2020 17:48:37 +0000 (10:48 -0700)]
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.
Paul Eggert [Sat, 15 Aug 2020 17:48:37 +0000 (10:48 -0700)]
Fdelete speed tweak for strings
* src/fns.c (Fdelete): Hoist FIXNUMP out of a loop,
and turn it into CHARACTERP.
Paul Eggert [Sat, 15 Aug 2020 17:48:36 +0000 (10:48 -0700)]
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.
Paul Eggert [Sat, 15 Aug 2020 17:48:36 +0000 (10:48 -0700)]
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.
Roland Kaufmann [Thu, 27 Dec 2018 14:51:49 +0000 (15:51 +0100)]
Allow build configuration on Apple ARM devices (bug#41994)
* configure.ac: Add arm as a port target for Darwin.
Copyright-paperwork-exempt: yes