]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoOmit timestamp optimization invalid on 387 FPU
Paul Eggert [Wed, 18 Mar 2020 21:48:52 +0000 (14:48 -0700)]
Omit timestamp optimization invalid on 387 FPU

* src/timefns.c (frac_to_double): Omit optimization that is
invalid on machines with excess precision (e.g., gcc x86 with 387
FPU), because it double-rounds.  Found via ‘gcc -m32’ on x86-64.

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 18 Mar 2020 14:50:37 +0000 (07:50 -0700)]
Merge from origin/emacs-27

e92b8e535a (origin/emacs-27) Remove raw carriage return characters fr...
5747a59a88 Recalculate default font when switching font backend
a2dd8c4234 * lisp/tab-line.el: Fix tab-line-format and tab-line-forma...
a7b8291b6c * etc/NEWS: Make the `--eval` example slightly more precise
f8254aad14 * lisp/image/image-converter.el: Support more ImageMagick ...
5beb269505 Support Unicode 13.0
3a671ad7ed Fix regression in wisent-total-conflicts

# Conflicts:
# etc/NEWS

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 18 Mar 2020 14:50:36 +0000 (07:50 -0700)]
; Merge from origin/emacs-27

The following commit was skipped:

dcc943be0a * lisp/progmodes/cc-defs.el (c-version): update to 5.34.1 ...

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 18 Mar 2020 14:50:36 +0000 (07:50 -0700)]
Merge from origin/emacs-27

3a8a231810 * lisp/textmodes/fill.el (fill-nobreak-predicate): Fix doc...
cbe643104d Improve Package Menu hiding docstrings
8d28c98ae0 Fix display of Big5 characters when using Fontconfig

4 years ago* lisp/vc/smerge-mode.el (smerge-start-session): Don't re-enable
Stefan Monnier [Wed, 18 Mar 2020 14:20:13 +0000 (10:20 -0400)]
* lisp/vc/smerge-mode.el (smerge-start-session): Don't re-enable

Don't do anything if smerge-mode is already enabled.

4 years agoRemove raw carriage return characters from test file.
Philipp Stephani [Wed, 18 Mar 2020 11:37:47 +0000 (12:37 +0100)]
Remove raw carriage return characters from test file.

This protects against tools that mangle newline characters in text
files.

* test/lisp/electric-tests.el (electric-pair-mode-newline-between-parens)
(electric-layout-mode-newline-between-parens-without-e-p-m)
(electric-layout-mode-newline-between-parens-without-e-p-m-2): Escape
carriage return characters.

4 years agoDon't generate useless range table entries for ASCII chars
Mattias Engdegård [Tue, 17 Mar 2020 12:18:14 +0000 (13:18 +0100)]
Don't generate useless range table entries for ASCII chars

In multibyte regexps, each ASCII char or range in a character
alternative produces a nonsense range table entry in addition to the
correct bits in the ASCII bitmap.  Those entries do not match anything
but waste space and time.

* src/regex-emacs.c (regex_compile): Don't generate reversed intervals.

4 years agoRecalculate default font when switching font backend
Robert Pluim [Mon, 16 Mar 2020 16:21:02 +0000 (17:21 +0100)]
Recalculate default font when switching font backend

This is an updated version of the patch by Dmitry Antipov
<dmantipov@yandex.ru> in
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23386#43>.

Fixes Bug#23386

* src/dispextern.h (struct redisplay_interface): New member
default_font_parameter.
* src/xterm.h: Add prototype for x_default_font_parameter.
* src/xterm.c (x_redisplay_interface): Initialize
default_font_parameter member.
* src/xfns.c (x_default_font_parameter): Make non-static.
* src/w32term.h: Add prototype for w32_default_font_parameter
* src/w32fns.c (w32_default_font_parameter): Make non-static.
* src/w32term.c (w32_redisplay_interface): Initialize
default_font_parameter member.
* src/nsterm.m (ns_redisplay_interface): Add dummy
ns_default_font_parameter (there is currently only one possible font
backend on macOS).  Initialize default_font_parameter member.
* src/frame.c (gui_set_font_backend): Recalculate default font using
RIF default_font_parameter to avoid crash when changing font backend.

4 years ago* lisp/tab-line.el: Fix tab-line-format and tab-line-format-template.
Juri Linkov [Mon, 16 Mar 2020 23:11:27 +0000 (01:11 +0200)]
* lisp/tab-line.el: Fix tab-line-format and tab-line-format-template.

* lisp/tab-line.el (tab-line-format): Use buffer-name in the cache key
instead of just buffer object to invalidate the cache on buffer renaming.
(tab-line-format-template): Always leave the separator after the last tab
like tab-bar.el already does.

4 years ago* etc/NEWS: Make the `--eval` example slightly more precise
Stefan Monnier [Mon, 16 Mar 2020 17:12:52 +0000 (13:12 -0400)]
* etc/NEWS: Make the `--eval` example slightly more precise

4 years agoAdd store/restore window configuration feature for gdb-mi
Yuan Fu [Sun, 15 Mar 2020 15:47:43 +0000 (16:47 +0100)]
Add store/restore window configuration feature for gdb-mi

Add a feature that allows a user to save a gdb window
configuration (window layout) to a file with
'gdb-save-window-configuration' and load it back with
'gdb-load-window-configuration'.  Set a default window configuration
by setting 'gdb-default-window-configuration-file'.
Add an option to make gdb preserve the window configuration
that the user had before starting gdb.  In window.el, add
'with-window-non-dedicated'.

* lisp/progmodes/gdb-mi.el (top/level): Require 'pcase' and 'cl-seq'.
(gdb--window-configuration-before): New variable.
(gdb-restore-window-configuration-after-quit): New option.
(gdb-window-configuration-directory,
gdb-default-window-configuration-file): New variables.
(gdb): Save configuration on startup.
(gud-menu-map): Add "Load Layout" and "Save Layout" to menu.  Add
"Restore Layout After Quit" button to menu.  Rename "Restore Window
Layout" to "Restore Default Layout", add some help echo, and move it
from "GDB-MI" menu to "GDB-WINDOWs" menu.
(gdb-toggle-restore-window-configuration): New function.
(gdb-get-source-buffer): New function, extracted out of
'gdb-restore-window'.
(gdb-setup-windows): Add a condition branch that loads default window
configuration when available.  Fix docstring.
(gdb-buffer-p, gdb-function-buffer-p, gdb--buffer-type,
gdb-save-window-configuration, gdb-load-window-configuration): New
functions.
(gdb-restore-windows): Edit docstring to mention
'gdb-default-window-configuration-file'.
(gdb-reset): Restore window configuration after quit.
* lisp/window.el (with-window-non-dedicated): New macro.

4 years agoReverse the meaning of 2nd arg to 'live_buffer_holding'
Eli Zaretskii [Sun, 15 Mar 2020 14:47:54 +0000 (16:47 +0200)]
Reverse the meaning of 2nd arg to 'live_buffer_holding'

* src/alloc.c (live_buffer_holding): Rename ALL_BUFFERS ti
IGNORE_KILLED, and reverse the condition for returning killed
buffers.
(live_buffer_p): Add commentary.
(live_buffer_p, mark_maybe_object, mark_maybe_pointer): Reverse
the 2nd argument to live_buffer_holding.  (Bug#39962)

4 years agoMake sure we mark reachable killed buffers during GC
Pip Cet [Sat, 14 Mar 2020 18:26:33 +0000 (18:26 +0000)]
Make sure we mark reachable killed buffers during GC

* src/alloc.c (live_buffer_holding): Add ALL_BUFFERS argument for
returning killed buffers.
(mark_maybe_object, mark_maybe_pointer): Use the additional
argument.  (Bug#39962)

4 years ago* lisp/image/image-converter.el: Support more ImageMagick versions (bug#39994)
Juri Linkov [Sat, 14 Mar 2020 23:58:58 +0000 (01:58 +0200)]
* lisp/image/image-converter.el: Support more ImageMagick versions (bug#39994)

* lisp/image/image-converter.el (image-converter--probe): Match
a possible additional second column in some ImageMagick versions
of "convert -list format".

4 years ago* lisp/progmodes/sql.el: Try and avoid `eval`; use define-derived-mode
Stefan Monnier [Sat, 14 Mar 2020 19:39:31 +0000 (15:39 -0400)]
* lisp/progmodes/sql.el: Try and avoid `eval`; use define-derived-mode

Remove redundant `:group` args.

(sql-interactive-mode-map): `set-keymap-parent` is always fboundp.
(sql-get-product-feature): Prefer `symbol-value` over `eval`.
(sql--adjust-interactive-setup): New function, extracted from
`sql-interactive-mode`.
(sql-interactive-mode): Use it and `define-derived-mode`.
(sql-connect, sql-connection-menu-filter): Prefer `cl-progv` over `eval`.

4 years ago* lisp/textmodes/conf-mode.el (conf-mode): Use define-derived-mode
Stefan Monnier [Sat, 14 Mar 2020 19:16:51 +0000 (15:16 -0400)]
* lisp/textmodes/conf-mode.el (conf-mode): Use define-derived-mode

(conf--guess-mode): Extract from conf-mode.
(defcustoms): Remove redundant `:group` args.
(conf-mode, conf-mode-initialize, conf-javaprop-mode)
(conf-space-mode, conf-space-keywords, conf-space-mode-internal)
(conf-colon-mode): Use `setq-local`.

4 years ago* lisp/emacs-lisp/package.el (package-activate-1): Avoid duplicates
Stefan Monnier [Sat, 14 Mar 2020 18:59:45 +0000 (14:59 -0400)]
* lisp/emacs-lisp/package.el (package-activate-1): Avoid duplicates

in `Info-directory-list`.

4 years agoSupport Unicode 13.0
Eli Zaretskii [Sat, 14 Mar 2020 12:54:59 +0000 (14:54 +0200)]
Support Unicode 13.0

* admin/unidata/BidiBrackets.txt:
* admin/unidata/BidiMirroring.txt:
* admin/unidata/Blocks.txt:
* admin/unidata/NormalizationTest.txt:
* admin/unidata/SpecialCasing.txt:
* admin/unidata/UnicodeData.txt:
* admin/unidata/copyright.html:
* test/manual/BidiCharacterTest.txt: Updated files imported from
Unicode v13.0.

* admin/unidata/blocks.awk: Add "Symbols for Legacy Computing" to
known aliases.

* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Add new scripts.
* lisp/international/characters.el: Set syntax for Symbols for
Legacy Computing characters.  Update setting of char-width-table.
* lisp/international/mule-cmds.el (ucs-names): Update ranges of
characters for which we want names in 'ucs-names'.

* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--failing-lines-part1)
(ucs-normalize-tests--failing-lines-part2): Update according to
'ucs-normalize-check-failing-lines'.

4 years ago* lisp/progmodes/cc-defs.el (c-version): update to 5.34.2 for master branch
Alan Mackenzie [Sat, 14 Mar 2020 12:27:20 +0000 (12:27 +0000)]
* lisp/progmodes/cc-defs.el (c-version): update to 5.34.2 for master branch

4 years agoFix regression in wisent-total-conflicts
Lars Ingebrigtsen [Sat, 14 Mar 2020 12:17:57 +0000 (13:17 +0100)]
Fix regression in wisent-total-conflicts

* lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
There may not be a current source file.  In that case, don't try
to keep track of the number of expected conflicts (bug#39911).

4 years agoMake previous mml-expand-html-into-multipart-related fix more general
Jeremy Compostella [Sat, 14 Mar 2020 11:44:55 +0000 (12:44 +0100)]
Make previous mml-expand-html-into-multipart-related fix more general

* lisp/gnus/mml.el (mml-expand-html-into-multipart-related): This is
function is now called by a recursive
engine (mml-expand-all-html-into-multipart-related).  The structure of
the returned value should be identical between an untouched part and a
expanded multipart (bug#39230).

4 years ago* lisp/progmodes/cc-defs.el (c-version): update to 5.34.1 for Emacs 27.1
Alan Mackenzie [Sat, 14 Mar 2020 11:39:40 +0000 (11:39 +0000)]
* lisp/progmodes/cc-defs.el (c-version): update to 5.34.1 for Emacs 27.1

Don't merge to master.

4 years ago* lisp/textmodes/fill.el (fill-nobreak-predicate): Fix documentation.
Philipp Stephani [Sat, 14 Mar 2020 10:25:57 +0000 (11:25 +0100)]
* lisp/textmodes/fill.el (fill-nobreak-predicate): Fix documentation.

4 years agoAdd charsets to 'w32-charset-info-alist'
Eli Zaretskii [Sat, 14 Mar 2020 10:00:46 +0000 (12:00 +0200)]
Add charsets to 'w32-charset-info-alist'

* lisp/w32-fns.el: Add a few more charsets to
w32-charset-info-alist.

4 years agoImprove Package Menu hiding docstrings
Stefan Kangas [Sat, 14 Mar 2020 09:03:09 +0000 (10:03 +0100)]
Improve Package Menu hiding docstrings

* lisp/emacs-lisp/package.el (package-menu-toggle-hiding): Add
reference to 'package-menu-hidden-regexps'.
* lisp/emacs-lisp/package.el (package-menu-hide-package): Improve
docstring to say that hiding is saved in a user option.  Fix a
typo.  (Bug#39436)

4 years agoAvoid regexp stack overflow in GDB string matching (bug#22149)
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.

4 years agoFix display of Big5 characters when using Fontconfig
Eli Zaretskii [Sat, 14 Mar 2020 08:31:01 +0000 (10:31 +0200)]
Fix display of Big5 characters when using Fontconfig

* src/ftfont.c (fc_charset_table): Fix the value of the big-5
representative codepoint.  Reported by Brian Schack
<bschack-cocoa@usa.net>.  (Bug#40057)

* src/macfont.m (cf_charset_table): Adjust the comment.

4 years agoMerge from origin/emacs-27
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

4 years ago; * etc/NEWS: Explain how to get back old behavior with --eval.
Eli Zaretskii [Fri, 13 Mar 2020 10:32:52 +0000 (12:32 +0200)]
; * etc/NEWS: Explain how to get back old behavior with --eval.

4 years agoFix a recent documentation change
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)

4 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Fri, 13 Mar 2020 09:55:27 +0000 (10:55 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

4 years ago* lisp/net/tramp.el (tramp-accept-process-output): Propagate `quit' signal.
Michael Albinus [Fri, 13 Mar 2020 09:54:56 +0000 (10:54 +0100)]
* lisp/net/tramp.el (tramp-accept-process-output): Propagate `quit' signal.

4 years ago* lisp/emacs-lisp/package.el (package-menu--generate): Fix doc string.
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).

4 years agoFix last change
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.

4 years agoMake cl-equalp a bit more efficient at comparing strings
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.

4 years agorcirc: Match NickServ messages case-insensitively (Bug#39345)
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.

4 years ago* lisp/tab-bar.el: Last-minute changes.
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.

4 years agoFix NS child frame in native fullscreen (bug#36672)
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.

4 years ago* lisp/emacs-lisp/eldoc.el: Remove redundant `:group` arguments
Stefan Monnier [Thu, 12 Mar 2020 22:21:19 +0000 (18:21 -0400)]
* lisp/emacs-lisp/eldoc.el: Remove redundant `:group` arguments

4 years ago* lisp/emacs-lisp/eldoc.el (eldoc--supported-p): Understand the "old" API
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

4 years ago* lisp/subr.el (cancel-change-group): Undo accidental change
Stefan Monnier [Thu, 12 Mar 2020 14:03:14 +0000 (10:03 -0400)]
* lisp/subr.el (cancel-change-group): Undo accidental change

4 years ago* lisp/subr.el (cancel-change-group): Fix bug#39680
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.

4 years ago* lisp/net/tramp-sh.el (tramp-find-shell): Skip for asynchronous processes.
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.

4 years agoImprove docs for horizontal scrolling with mouse and touchpad (Bug#39979)
İ. 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.

4 years agoRemove XEmacs exclusive face from themes
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'.

4 years agoRemove more XEmacs compat code from eshell
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.

4 years ago* lisp/emacs-lisp/cl-macs.el: More care with `eval` and with `cl-typep`
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.

4 years ago* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Simplify result
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.

4 years ago* lisp/window.el: Avoid `called-interactively-p`.
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.

4 years ago* lisp/ido.el: Remove redundant `:group`s
Stefan Monnier [Tue, 10 Mar 2020 16:03:11 +0000 (12:03 -0400)]
* lisp/ido.el: Remove redundant `:group`s

4 years ago* lisp/subr.el (dlet): New macro
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.

4 years ago* lisp/emacs-lisp/package.el (package-install): Fix typo in docstring.
Juri Linkov [Mon, 9 Mar 2020 23:41:15 +0000 (01:41 +0200)]
* lisp/emacs-lisp/package.el (package-install): Fix typo in docstring.

4 years agoImprove new-frame logic of windmove-display-in-direction (bug#39875)
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.

4 years agoIn vc-print-branch-log use root instead of the default directory (bug#39704)
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.

4 years agoPort .gdbinit to clang with -gdwarf-4
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).

4 years agoFinish implementation of set-file-times FLAG arg in Tramp
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.

4 years agoSimplify rx example in manual
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.

4 years ago; * etc/NEWS: Fix typo.
Michael Albinus [Mon, 9 Mar 2020 14:49:05 +0000 (15:49 +0100)]
; * etc/NEWS: Fix typo.

4 years agoMerge from origin/emacs-27
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.

4 years ago; * src/timefns.c: Fix typo in previous change.
Paul Eggert [Sun, 8 Mar 2020 23:49:32 +0000 (16:49 -0700)]
; * src/timefns.c: Fix typo in previous change.

4 years ago* src/timefns.c: Add comments.
Paul Eggert [Sun, 8 Mar 2020 23:43:54 +0000 (16:43 -0700)]
* src/timefns.c: Add comments.

4 years ago* lisp/term/rxvt.el: Enable backeted paste and window title
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.

4 years agoCC Mode: allow specified directives (e.g. pragma) to be indented as statements
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.

4 years agoFix the MinGW build as followup to recent "nofollow" changes
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.

4 years agoSimplify run-at-time
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).

4 years agoMerge from origin/emacs-27
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.

4 years ago* src/timefns.c: Add comments.
Paul Eggert [Sun, 8 Mar 2020 08:16:17 +0000 (00:16 -0800)]
* src/timefns.c: Add comments.

4 years ago* lisp/emacs-lisp/bytecomp.el: Drop warning for loading into Emacs<23
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`.

4 years ago; lisp/emacs-lisp/seq.el: Explain why we don't use cl-lib here
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

4 years agoEliminate use of cl-concatenate in 'seq' package
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

4 years agoSkip filenotify tests on hydra.nixos.org
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.

4 years agoAdd ‘nofollow’ flag to set-file-times
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).

4 years agoUpdate from Gnulib
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.

4 years agoFix bug with JIT stealth timers
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).

4 years ago* doc/lispref/os.texi (time-subtract): Doc fix.
Paul Eggert [Sat, 7 Mar 2020 17:30:19 +0000 (09:30 -0800)]
* doc/lispref/os.texi (time-subtract): Doc fix.

4 years agoMerge from origin/emacs-27
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

4 years agoNS port documentation updates
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.

4 years ago; * etc/NEWS: correctly describe what fido-mode is
João Távora [Sat, 7 Mar 2020 13:47:07 +0000 (13:47 +0000)]
; * etc/NEWS: correctly describe what fido-mode is

4 years agoLet fido-mode users force a minibuffer-exit
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)

4 years agoicomplete-fido-exit: New command for the M-j binding
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).

4 years agominibuffer-force-complete-and-exit: Allow input with no matches
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.

4 years ago; * etc/NEWS: Mark 2 entries as fully documented.
Eli Zaretskii [Sat, 7 Mar 2020 12:55:43 +0000 (14:55 +0200)]
; * etc/NEWS: Mark 2 entries as fully documented.

4 years ago; * etc/NEWS: Fix the 'mml-secure-openpgp-sign-with-sender' entry.
Eli Zaretskii [Sat, 7 Mar 2020 12:50:50 +0000 (14:50 +0200)]
; * etc/NEWS: Fix the 'mml-secure-openpgp-sign-with-sender' entry.

4 years ago; * etc/NEWS: 'thunk-let' and 'thunk-let*' are fully documented.
Eli Zaretskii [Sat, 7 Mar 2020 12:48:33 +0000 (14:48 +0200)]
; * etc/NEWS: 'thunk-let' and 'thunk-let*' are fully documented.

4 years ago; * etc/NEWS: No need to document vc-hg and mergebase changes.
Eli Zaretskii [Sat, 7 Mar 2020 12:42:19 +0000 (14:42 +0200)]
; * etc/NEWS: No need to document vc-hg and mergebase changes.

4 years ago; * etc/NEWS: No need to document changes in Octave mode.
Eli Zaretskii [Sat, 7 Mar 2020 12:39:29 +0000 (14:39 +0200)]
; * etc/NEWS: No need to document changes in Octave mode.

4 years ago; * etc/NEWS: No need to document changes in map.el and seq.el.
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.

4 years ago; * etc/NEWS: No need to document Ido news.
Eli Zaretskii [Sat, 7 Mar 2020 12:33:16 +0000 (14:33 +0200)]
; * etc/NEWS: No need to document Ido news.

4 years ago; * etc/NEWS: No need to document news of doc-view.el.
Eli Zaretskii [Sat, 7 Mar 2020 12:32:06 +0000 (14:32 +0200)]
; * etc/NEWS: No need to document news of doc-view.el.

4 years agoDocument that 'byte-compile-dynamic' is obsolete
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.

4 years ago; * etc/NEWS: No need to document 'goto-address-uri-schemes-ignored'.
Eli Zaretskii [Sat, 7 Mar 2020 12:10:14 +0000 (14:10 +0200)]
; * etc/NEWS: No need to document 'goto-address-uri-schemes-ignored'.

4 years ago; * etc/NEWS: Formatting fixes.
Eli Zaretskii [Sat, 7 Mar 2020 12:05:52 +0000 (14:05 +0200)]
; * etc/NEWS: Formatting fixes.

4 years ago; * etc/NEWS: No need to document deprecation of 'cl'.
Eli Zaretskii [Sat, 7 Mar 2020 11:55:37 +0000 (13:55 +0200)]
; * etc/NEWS: No need to document deprecation of 'cl'.

4 years ago; * etc/NEWS: No need to document the change in 'list-processes'.
Eli Zaretskii [Sat, 7 Mar 2020 11:54:03 +0000 (13:54 +0200)]
; * etc/NEWS: No need to document the change in 'list-processes'.

4 years ago; * etc/NEWS: 'backup-by-copying-when-privileged-mismatch' is documented.
Eli Zaretskii [Sat, 7 Mar 2020 11:48:06 +0000 (13:48 +0200)]
; * etc/NEWS: 'backup-by-copying-when-privileged-mismatch' is documented.

4 years ago; * etc/NEWS: Mark 'byte-count-to-string-function' as undocumented.
Eli Zaretskii [Sat, 7 Mar 2020 11:46:06 +0000 (13:46 +0200)]
; * etc/NEWS: Mark 'byte-count-to-string-function' as undocumented.

4 years ago; * etc/NEWS: Mark 'completion-common-part' face entry as not documented.
Eli Zaretskii [Sat, 7 Mar 2020 11:42:35 +0000 (13:42 +0200)]
; * etc/NEWS: Mark 'completion-common-part' face entry as not documented.

4 years agoDocument the changes in 'read-answer'
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.

4 years agoDocument changes in lexical-binding
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.

4 years agoUpdate ERC mailing list address
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>.