Mattias Engdegård [Fri, 13 Mar 2020 18:51:02 +0000 (19:51 +0100)]
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.
Glenn Morris [Fri, 13 Mar 2020 14:50:33 +0000 (07:50 -0700)]
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
Eli Zaretskii [Fri, 13 Mar 2020 10:32:52 +0000 (12:32 +0200)]
; * etc/NEWS: Explain how to get back old behavior with --eval.
Eli Zaretskii [Fri, 13 Mar 2020 10:24:25 +0000 (12:24 +0200)]
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)
Michael Albinus [Fri, 13 Mar 2020 09:55:27 +0000 (10:55 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Fri, 13 Mar 2020 09:54:56 +0000 (10:54 +0100)]
* lisp/net/tramp.el (tramp-accept-process-output): Propagate `quit' signal.
Pieter van Oostrum [Tue, 3 Mar 2020 15:27:21 +0000 (16:27 +0100)]
* lisp/emacs-lisp/package.el (package-menu--generate): Fix doc string.
Add REMEMBER-POS to docstring (bug#39861).
Eli Zaretskii [Fri, 13 Mar 2020 07:46:47 +0000 (09:46 +0200)]
Fix last change
* lisp/tab-bar.el (tab-bar-new-button-show): Fix wording of the
doc string.
Noam Postavsky [Fri, 13 Mar 2020 01:07:56 +0000 (21:07 -0400)]
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.
Noam Postavsky [Fri, 13 Mar 2020 01:03:45 +0000 (21:03 -0400)]
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.
Juri Linkov [Fri, 13 Mar 2020 00:10:55 +0000 (02:10 +0200)]
* 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.
Andrii Kolomoiets [Tue, 10 Mar 2020 08:14:59 +0000 (10:14 +0200)]
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.
Stefan Monnier [Thu, 12 Mar 2020 22:21:19 +0000 (18:21 -0400)]
* lisp/emacs-lisp/eldoc.el: Remove redundant `:group` arguments
Stefan Monnier [Thu, 12 Mar 2020 15:18:07 +0000 (11:18 -0400)]
* lisp/emacs-lisp/eldoc.el (eldoc--supported-p): Understand the "old" API
Stefan Monnier [Thu, 12 Mar 2020 14:03:14 +0000 (10:03 -0400)]
* lisp/subr.el (cancel-change-group): Undo accidental change
Stefan Monnier [Thu, 12 Mar 2020 14:01:54 +0000 (10:01 -0400)]
* lisp/subr.el (cancel-change-group): Fix bug#39680
Don't re-use 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.
Michael Albinus [Thu, 12 Mar 2020 10:44:38 +0000 (11:44 +0100)]
* lisp/net/tramp-sh.el (tramp-find-shell): Skip for asynchronous processes.
İ. Göktuğ Kayaalp [Sat, 7 Mar 2020 21:15:01 +0000 (00:15 +0300)]
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.
Stefan Kangas [Mon, 9 Mar 2020 01:24:55 +0000 (02:24 +0100)]
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'.
Stefan Kangas [Sun, 8 Mar 2020 23:33:53 +0000 (00:33 +0100)]
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.
Stefan Monnier [Tue, 10 Mar 2020 22:23:41 +0000 (18:23 -0400)]
* 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.
Stefan Monnier [Tue, 10 Mar 2020 22:08:54 +0000 (18:08 -0400)]
* 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.
Stefan Monnier [Tue, 10 Mar 2020 16:12:06 +0000 (12:12 -0400)]
* lisp/window.el: Avoid `called-interactively-p`.
(other-window, delete-other-windows, next-buffer, previous-buffer):
Use an `interactive` arg instead.
Stefan Monnier [Tue, 10 Mar 2020 16:03:11 +0000 (12:03 -0400)]
* lisp/ido.el: Remove redundant `:group`s
Stefan Monnier [Tue, 10 Mar 2020 16:00:51 +0000 (12:00 -0400)]
* lisp/subr.el (dlet): New macro
* lisp/calendar/calendar.el (calendar-dlet*): Use it.
Juri Linkov [Mon, 9 Mar 2020 23:41:15 +0000 (01:41 +0200)]
* lisp/emacs-lisp/package.el (package-install): Fix typo in docstring.
Juri Linkov [Mon, 9 Mar 2020 23:39:05 +0000 (01:39 +0200)]
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.
Juri Linkov [Mon, 9 Mar 2020 23:34:25 +0000 (01:34 +0200)]
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.
Paul Eggert [Mon, 9 Mar 2020 19:24:21 +0000 (12:24 -0700)]
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).
Michael Albinus [Mon, 9 Mar 2020 15:05:21 +0000 (16:05 +0100)]
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.
Mattias Engdegård [Mon, 9 Mar 2020 11:13:45 +0000 (12:13 +0100)]
Simplify rx example in manual
* doc/lispref/searching.texi (Rx Notation):
Use the 'not' shorthand introduced in Emacs 27.
Michael Albinus [Mon, 9 Mar 2020 14:49:05 +0000 (15:49 +0100)]
; * etc/NEWS: Fix typo.
Paul Eggert [Sun, 8 Mar 2020 23:57:41 +0000 (16:57 -0700)]
Merge from origin/emacs-27
cf223dc928 ; * src/timefns.c: Fix typo in previous change.
20d3d3a950 * src/timefns.c: Add comments.
Paul Eggert [Sun, 8 Mar 2020 23:49:32 +0000 (16:49 -0700)]
; * src/timefns.c: Fix typo in previous change.
Paul Eggert [Sun, 8 Mar 2020 23:43:54 +0000 (16:43 -0700)]
* src/timefns.c: Add comments.
Daniel Gröber [Sun, 8 Mar 2020 18:04:13 +0000 (14:04 -0400)]
* lisp/term/rxvt.el: Enable backeted paste and window title
rxvt-unicode uses the same escape sequences as xterm so just re-use
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.
Alan Mackenzie [Sun, 8 Mar 2020 16:21:15 +0000 (16:21 +0000)]
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.
Eli Zaretskii [Sun, 8 Mar 2020 15:00:10 +0000 (17:00 +0200)]
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.
Paul Eggert [Sun, 8 Mar 2020 08:25:15 +0000 (00:25 -0800)]
Simplify run-at-time
* lisp/emacs-lisp/timer.el (run-at-time):
Remove unnecessary test (Bug#39944).
Paul Eggert [Sun, 8 Mar 2020 08:20:57 +0000 (00:20 -0800)]
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.
Paul Eggert [Sun, 8 Mar 2020 08:16:17 +0000 (00:16 -0800)]
* src/timefns.c: Add comments.
Stefan Monnier [Sun, 8 Mar 2020 04:28:12 +0000 (23:28 -0500)]
* 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`.
Noam Postavsky [Sat, 7 Mar 2020 23:45:23 +0000 (18:45 -0500)]
; lisp/emacs-lisp/seq.el: Explain why we don't use cl-lib here
Andrew Eggenberger [Fri, 28 Feb 2020 03:43:47 +0000 (21:43 -0600)]
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.
Copyright-paperwork-exempt: yes
Glenn Morris [Sat, 7 Mar 2020 20:16:44 +0000 (12:16 -0800)]
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.
Paul Eggert [Sat, 7 Mar 2020 20:04:05 +0000 (12:04 -0800)]
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).
Paul Eggert [Sat, 7 Mar 2020 19:58:20 +0000 (11:58 -0800)]
Update from Gnulib
This incorporates:
2020-03-07 open, openat: port to (O_RDWR | O_RDONLY) != 0
* lib/open.c: Copy from Gnulib.
Paul Eggert [Sat, 7 Mar 2020 17:47:03 +0000 (09:47 -0800)]
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).
Paul Eggert [Sat, 7 Mar 2020 17:30:19 +0000 (09:30 -0800)]
* doc/lispref/os.texi (time-subtract): Doc fix.
Glenn Morris [Sat, 7 Mar 2020 15:50:28 +0000 (07:50 -0800)]
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
Alan Third [Sat, 7 Mar 2020 14:39:05 +0000 (14:39 +0000)]
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.
João Távora [Sat, 7 Mar 2020 13:47:07 +0000 (13:47 +0000)]
; * etc/NEWS: correctly describe what fido-mode is
João Távora [Sat, 7 Mar 2020 13:10:07 +0000 (13:10 +0000)]
Let fido-mode users force a minibuffer-exit
* lisp/icomplete.el (icomplete-fido-exit):
Add FORCE arg. Rewrite docstring. (bug#38992)
Dmitry Gutov [Wed, 4 Mar 2020 23:58:32 +0000 (01:58 +0200)]
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).
Dmitry Gutov [Wed, 4 Mar 2020 23:52:58 +0000 (01:52 +0200)]
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.
Eli Zaretskii [Sat, 7 Mar 2020 12:55:43 +0000 (14:55 +0200)]
; * etc/NEWS: Mark 2 entries as fully documented.
Eli Zaretskii [Sat, 7 Mar 2020 12:50:50 +0000 (14:50 +0200)]
; * etc/NEWS: Fix the 'mml-secure-openpgp-sign-with-sender' entry.
Eli Zaretskii [Sat, 7 Mar 2020 12:48:33 +0000 (14:48 +0200)]
; * etc/NEWS: 'thunk-let' and 'thunk-let*' are fully documented.
Eli Zaretskii [Sat, 7 Mar 2020 12:42:19 +0000 (14:42 +0200)]
; * etc/NEWS: No need to document vc-hg and mergebase changes.
Eli Zaretskii [Sat, 7 Mar 2020 12:39:29 +0000 (14:39 +0200)]
; * etc/NEWS: No need to document changes in Octave mode.
Eli Zaretskii [Sat, 7 Mar 2020 12:38:07 +0000 (14:38 +0200)]
; * etc/NEWS: No need to document changes in map.el and seq.el.
Eli Zaretskii [Sat, 7 Mar 2020 12:33:16 +0000 (14:33 +0200)]
; * etc/NEWS: No need to document Ido news.
Eli Zaretskii [Sat, 7 Mar 2020 12:32:06 +0000 (14:32 +0200)]
; * etc/NEWS: No need to document news of doc-view.el.
Eli Zaretskii [Sat, 7 Mar 2020 12:23:23 +0000 (14:23 +0200)]
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.
Eli Zaretskii [Sat, 7 Mar 2020 12:10:14 +0000 (14:10 +0200)]
; * etc/NEWS: No need to document 'goto-address-uri-schemes-ignored'.
Eli Zaretskii [Sat, 7 Mar 2020 12:05:52 +0000 (14:05 +0200)]
; * etc/NEWS: Formatting fixes.
Eli Zaretskii [Sat, 7 Mar 2020 11:55:37 +0000 (13:55 +0200)]
; * etc/NEWS: No need to document deprecation of 'cl'.
Eli Zaretskii [Sat, 7 Mar 2020 11:54:03 +0000 (13:54 +0200)]
; * etc/NEWS: No need to document the change in 'list-processes'.
Eli Zaretskii [Sat, 7 Mar 2020 11:48:06 +0000 (13:48 +0200)]
; * etc/NEWS: 'backup-by-copying-when-privileged-mismatch' is documented.
Eli Zaretskii [Sat, 7 Mar 2020 11:46:06 +0000 (13:46 +0200)]
; * etc/NEWS: Mark 'byte-count-to-string-function' as undocumented.
Eli Zaretskii [Sat, 7 Mar 2020 11:42:35 +0000 (13:42 +0200)]
; * etc/NEWS: Mark 'completion-common-part' face entry as not documented.
Eli Zaretskii [Sat, 7 Mar 2020 11:40:10 +0000 (13:40 +0200)]
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.
Eli Zaretskii [Sat, 7 Mar 2020 11:32:52 +0000 (13:32 +0200)]
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.
Amin Bandali [Fri, 6 Mar 2020 17:54:23 +0000 (12:54 -0500)]
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/archive/html/emacs-erc/2020-03/msg00001.html>.
Roland Winkler [Fri, 6 Mar 2020 08:37:55 +0000 (09:37 +0100)]
Use regexp-opt to define bibtex-autokey-transcriptions. (Bug#39686)
Eli Zaretskii [Fri, 6 Mar 2020 08:14:42 +0000 (10:14 +0200)]
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.
Eli Zaretskii [Fri, 6 Mar 2020 07:48:10 +0000 (09:48 +0200)]
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)
Glenn Morris [Fri, 6 Mar 2020 01:11:51 +0000 (17:11 -0800)]
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
Juri Linkov [Fri, 6 Mar 2020 00:27:32 +0000 (02:27 +0200)]
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".
Juri Linkov [Fri, 6 Mar 2020 00:19:00 +0000 (02:19 +0200)]
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.
Eli Zaretskii [Thu, 5 Mar 2020 15:57:21 +0000 (17:57 +0200)]
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)
Mattias Engdegård [Thu, 5 Mar 2020 11:49:26 +0000 (12:49 +0100)]
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.
Mattias Engdegård [Thu, 5 Mar 2020 11:10:51 +0000 (12:10 +0100)]
* lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix error string.
Justin Burkett [Thu, 5 Mar 2020 08:10:03 +0000 (09:10 +0100)]
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.
Copyright-paperwork-exempt: yes
João Távora [Fri, 28 Feb 2020 13:30:48 +0000 (13:30 +0000)]
Have pulse.el preserve existing overlay priorities
Fixes: bug#39821
* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Save
overlay priority.
(pulse-momentary-unhighlight): Restore.
Glenn Morris [Wed, 4 Mar 2020 21:57:58 +0000 (13:57 -0800)]
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...
Glenn Morris [Wed, 4 Mar 2020 21:57:58 +0000 (13:57 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
add0610ec9 Fix implicit declaration of getenv and atol
Glenn Morris [Wed, 4 Mar 2020 21:57:58 +0000 (13:57 -0800)]
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
Glenn Morris [Wed, 4 Mar 2020 21:57:57 +0000 (13:57 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
d096bab787 Bump Emacs version to 27.0.90
Glenn Morris [Wed, 4 Mar 2020 21:57:56 +0000 (13:57 -0800)]
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...
Paul Eggert [Wed, 4 Mar 2020 21:48:26 +0000 (13:48 -0800)]
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.
Alan Mackenzie [Wed, 4 Mar 2020 21:17:04 +0000 (21:17 +0000)]
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.
Alan Third [Wed, 4 Mar 2020 20:51:40 +0000 (20:51 +0000)]
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.
Alan Mackenzie [Wed, 4 Mar 2020 19:50:38 +0000 (19:50 +0000)]
Fix combine-change-calls-1 for when buffer-undo-list is t
* lisp/subr.c (combine-change-calls-1): Bind before/after-change-functions to
nil also when buffer-undo-list is t.
Mattias Engdegård [Wed, 4 Mar 2020 13:46:46 +0000 (14:46 +0100)]
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.
Stefan Kangas [Wed, 4 Mar 2020 03:37:38 +0000 (04:37 +0100)]
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.
Stefan Kangas [Wed, 4 Mar 2020 03:41:45 +0000 (04:41 +0100)]
Bump checkdoc-version to match library header
* lisp/emacs-lisp/checkdoc.el (checkdoc-version): Bump version.
Noam Postavsky [Thu, 27 Feb 2020 13:09:44 +0000 (08:09 -0500)]
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.
Noam Postavsky [Fri, 28 Feb 2020 02:09:59 +0000 (21:09 -0500)]
Fix describe-variable on values with circular syntax (Bug#39805)
* lisp/help-fns.el (describe-variable): Set syntax tables before
calling pp-buffer.
Daniel Colascione [Wed, 4 Mar 2020 02:27:51 +0000 (18:27 -0800)]
Ignore spurious focus events
* src/xterm.c (x_detect_focus_change): Ignore FocusIn and FocusOut
events from grabs