]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoClear the vc-state cache when returning nil
Dmitry Gutov [Tue, 10 Nov 2020 16:08:13 +0000 (18:08 +0200)]
Clear the vc-state cache when returning nil

* lisp/vc/vc-hg.el (vc-hg-registered):
Clear the vc-state cache when returning nil.

4 years agoRemove extra process call from vc-hg-registered
Tom Fitzhenry [Mon, 9 Nov 2020 11:19:10 +0000 (22:19 +1100)]
Remove extra process call from vc-hg-registered

Prefer vc-state to benefit from its caching (bug#44534)

This same technique is used in vc-git.el,
per commit 2018-06-28 "Remove extra process call from vc-git-find-file-hook"
93c41ce6aa64b14fc9bd7bdd0d909915a79191cd.

* lisp/vc/vc-hg.el (vc-hg-registered): Use vc-state rather than vc-hg-state.

4 years agoFix a recent change in image.c for MS-Windows
Eli Zaretskii [Tue, 10 Nov 2020 15:06:46 +0000 (17:06 +0200)]
Fix a recent change in image.c for MS-Windows

* src/image.c: Fix DEF_DLL_FN of
rsvg_handle_get_intrinsic_dimensions.  Reported by Andy Moreton
<andrewjmoreton@gmail.com>.

4 years agoOnly use nbutlast when we actually want to modify the original list
Steven Allen [Tue, 10 Nov 2020 09:02:15 +0000 (10:02 +0100)]
Only use nbutlast when we actually want to modify the original list

* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
Don't modify the byte array.
* lisp/net/tramp-integration.el (tramp-eshell-directory-change):
Don't modify the underlying exec-path.

4 years agoRemove ephemeral group on error or null result
Andrew G Cohen [Tue, 10 Nov 2020 00:19:43 +0000 (08:19 +0800)]
Remove ephemeral group on error or null result

* lisp/gnus/nnselect.el (nnselect-request-group): If an ephemeral
group is empty, there is nothing to see, so remove the group.
(nnselect-run): Catch and return an empty artlist on error.

4 years agoCC Mode: fix many compiler warnings which would appear with lexical binding
Alan Mackenzie [Mon, 9 Nov 2020 21:19:19 +0000 (21:19 +0000)]
CC Mode: fix many compiler warnings which would appear with lexical binding

* lisp/progmodes/cc-align.el (three places) prefix langelem with a _.

* lisp/progmodes/cc-{cmds,engine}.el: Remove superfluous local variables.

* lisp/progmodes/cc-defs.el (c-will-be-unescaped): Remove unused parameter
end.
* lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Remove unused
parameter containing-sexp.
(c-looking-at-special-brace-list); Remove unused parameter lim.
(c-add-class-syntax): Remove unused parameter paren-state.

4 years agoAdd test for substitute-command-keys with command remap
Stefan Kangas [Mon, 9 Nov 2020 20:43:53 +0000 (21:43 +0100)]
Add test for substitute-command-keys with command remap

* test/lisp/help-tests.el (help-tests-remap-map): New variable.
(help-tests-substitute-command-keys/remap): New test.
(help-tests-substitute-command-keys/keymaps)
(help-tests-substitute-command-keys/undefined-map): Fix indentation.

4 years agoshortdoc: prefer seq-contains-p over seq-contains
Brian Leung [Mon, 9 Nov 2020 16:38:18 +0000 (08:38 -0800)]
shortdoc: prefer seq-contains-p over seq-contains

* lisp/emacs-lisp/shortdoc.el (sequence): use seq-contains-p instead
of seq-contains, which is obsolete as of 27.1.  (Bug#44536)

Copyright-paperwork-exempt: yes

4 years agoSimplify getting value of text-quoting-style (Bug#44471)
Stefan Kangas [Thu, 5 Nov 2020 14:32:45 +0000 (15:32 +0100)]
Simplify getting value of text-quoting-style (Bug#44471)

* src/doc.c (text_quoting_style): Remove function by merging it...
(Ftext_quoting_style): ...here.  Rename from Fget_quoting_style.
(syms_of_doc): Update defsubr for Ftext_quoting_style.
* src/lisp.h (enum text_quoting_style): Remove enum.
* src/doprnt.c (doprnt):
* src/editfns.c (styled_format):
* lisp/help.el (substitute-command-keys): Update callers to use
text-quoting-style.

4 years ago* lisp/disp-table.el (make-glyph-code): Remove obsolete comment.
Philipp Stephani [Mon, 9 Nov 2020 17:15:12 +0000 (18:15 +0100)]
* lisp/disp-table.el (make-glyph-code): Remove obsolete comment.

4 years agoBetter warning suppression in rx-tests
Mattias Engdegård [Mon, 9 Nov 2020 17:05:08 +0000 (18:05 +0100)]
Better warning suppression in rx-tests

* test/lisp/emacs-lisp/rx-tests.el (rx-compat): Use with-no-warnings
instead of with-suppressed-warnings which complains when running
the test interactively.

4 years agoFix pcase rx form snag with '?' and '??' (bug#44532)
Mattias Engdegård [Mon, 9 Nov 2020 16:11:05 +0000 (17:11 +0100)]
Fix pcase rx form snag with '?' and '??' (bug#44532)

This is a regression from Emacs 26.
Reported by Phillip Stephani.

* lisp/emacs-lisp/rx.el (rx--pcase-transform): Process ? and ?? correctly.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test case.

4 years agoFix css length calculations
Alan Third [Mon, 9 Nov 2020 16:22:13 +0000 (16:22 +0000)]
Fix css length calculations

* src/image.c (svg_css_length_to_pixels): Put in missing breaks where
necessary.

4 years agoMake the SHOW parameter work again in `run-python'
Lars Ingebrigtsen [Mon, 9 Nov 2020 16:21:56 +0000 (17:21 +0100)]
Make the SHOW parameter work again in `run-python'

* lisp/progmodes/python.el (run-python): Make the SHOW parameter
work again after the fix for 31398 (bug#44421).

4 years agoUse a separate face for expanded log-view bodies
Protesilaos Stavrou [Mon, 9 Nov 2020 16:14:24 +0000 (17:14 +0100)]
Use a separate face for expanded log-view bodies

* lisp/vc/log-view.el (log-view-commit-body): Define new face.
(log-view-toggle-entry-display): Implement 'log-view-commit-body'
face (bug#44424).

4 years agoClarify Lisp warning about elements following other expressions
Lars Ingebrigtsen [Mon, 9 Nov 2020 15:50:45 +0000 (16:50 +0100)]
Clarify Lisp warning about elements following other expressions

* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Clarify warning in
help text (bug#44482).

4 years agoFix compilation of image.c on MS-Windows
Eli Zaretskii [Mon, 9 Nov 2020 15:35:52 +0000 (17:35 +0200)]
Fix compilation of image.c on MS-Windows

This is a followup to last change in image.c.
* src/image.c (rsvg_handle_get_intrinsic_dimensions): Define to
call fn_rsvg_handle_get_intrinsic_dimensions.
(svg_css_length_to_pixels): Compile only for librsvg >= 2.46.0, as
RsvgLength type was not defined before.

4 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 9 Nov 2020 14:57:03 +0000 (16:57 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

4 years agoFix crash in ns_mouse_position (bug#44313)
Alan Third [Sat, 31 Oct 2020 15:14:34 +0000 (15:14 +0000)]
Fix crash in ns_mouse_position (bug#44313)

* src/nsterm.m (ns_destroy_window): Close the window before freeing
the frame resources so we don't end up accessing the frame struct
after it's been freed.

4 years agoNS: Make s-<left/right> to move to beginning/end of line
Andrii Kolomoiets [Mon, 12 Oct 2020 11:24:25 +0000 (14:24 +0300)]
NS: Make s-<left/right> to move to beginning/end of line

* lisp/term/ns-win.el: Bind 's-<left>' to 'move-beginning-of-line';
bind 's-<right>' to 'move-end-of-line'.
* etc/NEWS: Mention new bindings.

4 years agoCalculate SVG image sizes more accurately (bug#44206)
Alan Third [Sun, 25 Oct 2020 15:45:07 +0000 (15:45 +0000)]
Calculate SVG image sizes more accurately (bug#44206)

* src/image.c (svg_css_length_to_pixels): New function.
(svg_load_image): Try more methods to work out the image size.

4 years agocperl-mode: Indentation of ')' follows customisation
Harald Jörg [Mon, 9 Nov 2020 14:25:47 +0000 (15:25 +0100)]
cperl-mode: Indentation of ')' follows customisation

* lisp/progmodes/cperl-mode.el (cperl-style-alist): Add
cperl-close-paren-offset to the settings for PBP style.

* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug19709):
New test to verify correct indentation of closing parentheses (Bug#19709).

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-19709.pl:
New test case with code from the bug report.

* test/lisp/progmodes/cperl-mode-resources/cperl-indent-styles.pl:
Add a new test clause for cperl-close-paren-offset.

4 years agoFix xwidget's webkitgtk widget overriding of Emacs SIGCHLD handler
Akira Kyle [Mon, 9 Nov 2020 13:51:48 +0000 (14:51 +0100)]
Fix xwidget's webkitgtk widget overriding of Emacs SIGCHLD handler

* src/xwidget.c (make-xwidget): Save and restore Emacs SIGCHLD signal
handler since glib doesn't (but should) do this.
Copyright-paperwork-exempt: yes

4 years agoRemove test for return value of set-keymap-parent
Stefan Kangas [Mon, 9 Nov 2020 10:35:32 +0000 (11:35 +0100)]
Remove test for return value of set-keymap-parent

* test/src/keymap-tests.el
(keymap-keymap-set-parent/returns-parent): Remove test for the return
value of set-keymap-parent.  It is not clear that returning the value
is a very good idea.
Problem pointed out by Stefan Monnier <monnier@iro.umontreal.ca>.

4 years agoAdd more protections to gnus-search query parsing
Eric Abrahamsen [Mon, 9 Nov 2020 00:32:10 +0000 (16:32 -0800)]
Add more protections to gnus-search query parsing

* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): If the query is coming in via
the old 'nnir-query-spec key, we know not to parse it.
* lisp/gnus/gnus-search.el (gnus-search-make-query-string): Check if
the query was sent in as '(query "query"), and not '(query . "query).
(gnus-search-imap-search-keys): Add x-gm-raw to imap search keys.
(gnus-search-prepare-query): If we know this query should be raw,
don't even try parsing it, as it probably won't work.

4 years ago* lisp/progmodes/project.el: Don't truncate the saved project list.
Juri Linkov [Sun, 8 Nov 2020 19:45:02 +0000 (21:45 +0200)]
* lisp/progmodes/project.el: Don't truncate the saved project list.

* lisp/progmodes/project.el (project--write-project-list):
Let-bind print-length and print-level to nil to not truncate the
saved project list with unreadable ellipsis.

4 years agoAnother backwards-compatibility fix for gnus-search
Eric Abrahamsen [Sun, 8 Nov 2020 16:37:03 +0000 (08:37 -0800)]
Another backwards-compatibility fix for gnus-search

* lisp/gnus/gnus-search.el (gnus-search-server-to-engine): Because of
the way we've set up the obsolete variable alias for
`nnir-method-default-engines', we may end up with its value in
`gnus-search-default-engines'. Make the check for "old style" values
general, so we catch them no matter where they came from.

4 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sun, 8 Nov 2020 14:51:13 +0000 (16:51 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

4 years agoDon't set the selected window to the miniwindow on a frame change.
Alan Mackenzie [Sun, 8 Nov 2020 13:28:55 +0000 (13:28 +0000)]
Don't set the selected window to the miniwindow on a frame change.

Intended to fix bug #44502.

* src/minibuf.c (move_minibuffer_onto_frame): Remove the lines of code which
set the selected window to the minibuffer.

4 years agoDoc fix
Dmitry Gutov [Sun, 8 Nov 2020 12:29:11 +0000 (14:29 +0200)]
Doc fix

* lisp/vc/vc.el (vc-deduce-fileset): Doc fix (bug#44420).

4 years agoMention which exact file is already registered
Dmitry Gutov [Sun, 8 Nov 2020 12:02:55 +0000 (14:02 +0200)]
Mention which exact file is already registered

* lisp/vc/vc.el (vc-register):
Mention which exact file is already registered (bug#44420).

4 years agoMerge from origin/emacs-27
Glenn Morris [Sat, 7 Nov 2020 17:57:56 +0000 (09:57 -0800)]
Merge from origin/emacs-27

f5d7fb3a2d (origin/emacs-27) Fix 'uudecode-decode-region-internal' in...
d4242177da Fix 'send-string-to-terminal' writing very long strings
9da0f4026c * lisp/subr.el (read-char-from-minibuffer): Doc fix.  (Bug...
9899f74e4e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
a6fcba783e Fix documentation of 'windmove-swap-states-default-keybind...
f4acd7a924 Split windows evenly when 'min-margins' parameter was set ...

4 years ago; Merge from origin/emacs-27
Glenn Morris [Sat, 7 Nov 2020 17:57:56 +0000 (09:57 -0800)]
; Merge from origin/emacs-27

The following commits were skipped:

0cdd6c9218 Handle Cairo errors in ftcrfont_open
29af10afe8 Backport: Fix exiting the finder-commentary buffer

4 years agoMerge from origin/emacs-27
Glenn Morris [Sat, 7 Nov 2020 17:57:56 +0000 (09:57 -0800)]
Merge from origin/emacs-27

53933cdf5c ; * lisp/international/mule.el (define-coding-system): Doc...
e90ffcf759 * src/w32fns.c (Fw32_register_hot_key): Doc fix.  (Bug#44456)
89740e9cb5 Prevent redisplay from moving point behind user's back
5932df7435 Document that the :match function for a widget takes an ex...
1b7ab9d0ac Don't render XML declaration of an HTML document (bug#44348)

# Conflicts:
# lisp/international/mule.el

4 years agoVarious fixes and backward compatibility for gnus-search
Eric Abrahamsen [Sat, 7 Nov 2020 17:40:40 +0000 (09:40 -0800)]
Various fixes and backward compatibility for gnus-search

* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): Check for and accept the old
nnir-* spec keys.
* lisp/gnus/gnus-search.el (shared-initialize): Use
generate-new-buffer instead of doing it ourselves.
(gnus-search-server-to-engine): Raise an informative error explicitly
if we can't find a search engine, rather than letting it fall through
to something less helpful.
(gnus-search-make-spec): Add `gnus-search--complete-key-data' to
`completion-at-point-functions' locally, not globally.

4 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 7 Nov 2020 15:26:45 +0000 (17:26 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

4 years ago* lisp/emacs-lisp/lisp-mode.el: Avoid false-positive "hidden arg" in strings
Stefan Monnier [Sat, 7 Nov 2020 15:15:22 +0000 (10:15 -0500)]
* lisp/emacs-lisp/lisp-mode.el: Avoid false-positive "hidden arg" in strings

(lisp--match-hidden-arg): Don't misfire in strings and comments.

Reported by: Andrii Kolomoiets <andreyk.mad@gmail.com>

4 years agoAdd test for recent change in enable-theme
Mauro Aranda [Sat, 7 Nov 2020 12:53:21 +0000 (09:53 -0300)]
Add test for recent change in enable-theme

* test/lisp/custom-tests.el (custom-test-enable-theme-keeps-settings):
Enabling a theme should not change the theme settings, so test for
that.  See
https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00232.html

4 years agoDon't leave lock files after 'replace-buffer-contents'
Eli Zaretskii [Sat, 7 Nov 2020 10:29:41 +0000 (12:29 +0200)]
Don't leave lock files after 'replace-buffer-contents'

* src/editfns.c (Freplace_buffer_contents): Unlock the buffer's
file if no changes have been made.  (Bug#44303)

4 years agoFix 'uudecode-decode-region-internal' in multibyte buffers
Kazuhiro Ito [Thu, 5 Nov 2020 10:48:08 +0000 (19:48 +0900)]
Fix 'uudecode-decode-region-internal' in multibyte buffers

* lisp/mail/uudecode.el (uudecode-decode-region-internal): Fix
inserting the decoded string into a multibyte buffer.  Optimize by
working with characters, not strings.  (Bug#44411)

Copyright-paperwork-exempt: yes

4 years agoFix 'send-string-to-terminal' writing very long strings
Eli Zaretskii [Sat, 7 Nov 2020 09:19:44 +0000 (11:19 +0200)]
Fix 'send-string-to-terminal' writing very long strings

* src/dispnew.c (Fsend_string_to_terminal): Prevent partial writes
by blocking SIGIO while 'fwrite' runs.  (Bug#44320)

4 years ago* lisp/subr.el (read-char-from-minibuffer): Doc fix. (Bug#44451)
Eli Zaretskii [Sat, 7 Nov 2020 09:10:36 +0000 (11:10 +0200)]
* lisp/subr.el (read-char-from-minibuffer): Doc fix.  (Bug#44451)

4 years agoMerge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27
Eli Zaretskii [Sat, 7 Nov 2020 08:57:48 +0000 (10:57 +0200)]
Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27

4 years agoFix documentation of 'windmove-swap-states-default-keybindings'
Earl Hyatt [Wed, 4 Nov 2020 12:26:06 +0000 (07:26 -0500)]
Fix documentation of 'windmove-swap-states-default-keybindings'

* doc/emacs/windows.texi (Window Convenience): Fix description of
'windmove-swap-states-default-keybindings' and related index
entry.  (Bug#44441)

4 years ago; * src/xdisp.c (redisplay_window): Add comment for a recent change.
Eli Zaretskii [Sat, 7 Nov 2020 08:44:30 +0000 (10:44 +0200)]
; * src/xdisp.c (redisplay_window): Add comment for a recent change.

4 years agoFix scrolling problems with misc-fixed fonts under Cairo
Eli Zaretskii [Sat, 7 Nov 2020 08:27:15 +0000 (10:27 +0200)]
Fix scrolling problems with misc-fixed fonts under Cairo

* src/ftcrfont.c (ftcrfont_glyph_extents): Avoid rounding up the
glyph ascent to a higher value than needed due to floating-point
roundoff errors.  (Bug#44284)

4 years agoSplit windows evenly when 'min-margins' parameter was set (Bug#44483)
Martin Rudalics [Sat, 7 Nov 2020 08:20:14 +0000 (09:20 +0100)]
Split windows evenly when 'min-margins' parameter was set (Bug#44483)

* lisp/window.el (split-window): Make new window inherit any
'min-margins' parameter from WINDOW so that horizontal splits
reliably produce windows of same width (Bug#44483).

4 years agoHandle Cairo errors in ftcrfont_open
Pip Cet [Thu, 22 Oct 2020 11:40:34 +0000 (13:40 +0200)]
Handle Cairo errors in ftcrfont_open

* src/ftcrfont.c (ftcrfont_open): Handle Cairo errors (bug#41627).

(cherry picked from commit 954a4decfcc8e41084789516773b22d0adc11d91)

4 years agoDelete outdated comment about C rewrite in apropos.el
Stefan Kangas [Sat, 7 Nov 2020 07:20:21 +0000 (08:20 +0100)]
Delete outdated comment about C rewrite in apropos.el

Maybe it made sense to rewrite apropos.el in C for speed in 1991, but
today the speed increase would not outweigh the maintenance burden.

* lisp/apropos.el: Delete outdated comment.

4 years agoAdd some more tests for keymap.c
Stefan Kangas [Sat, 7 Nov 2020 06:55:50 +0000 (07:55 +0100)]
Add some more tests for keymap.c

* test/src/keymap-tests.el (keymap-make-keymap)
(keymap-make-sparse-keymap, keymap-keymapp)
(keymap-keymap-parent, keymap-keymap-set-parent/returns-parent)
(keymap-copy-keymap/is-equal, keymap-copy-keymap/is-not-eq)
(keymap-lookup-key, keymap-apropos-internal)
(keymap-apropos-internal/predicate): New tests.
(keymap-tests--make-keymap-test): New defun.

4 years agoBackport: Fix exiting the finder-commentary buffer
Stefan Kangas [Tue, 3 Nov 2020 00:35:01 +0000 (01:35 +0100)]
Backport: Fix exiting the finder-commentary buffer

Do not merge to master.

* lisp/finder.el (finder-exit): Fix exiting the finder-commentary
buffer.  (Bug#44384)
(finder-buffer): New defconst.
(finder-list-keywords): Use above new defconst.

4 years agoRectify skip-set argument
Mattias Engdegård [Fri, 6 Nov 2020 22:02:29 +0000 (23:02 +0100)]
Rectify skip-set argument

* lisp/gnus/gnus-search.el (gnus-search-query-end-of-input):
Remove brackets that don't belong.  Found by relint.

4 years ago; * lisp/international/mule.el (define-coding-system): Doc fix.
Eli Zaretskii [Fri, 6 Nov 2020 20:13:50 +0000 (22:13 +0200)]
; * lisp/international/mule.el (define-coding-system): Doc fix.

4 years agoFix javac message parsing column number off-by-one
Mattias Engdegård [Fri, 6 Nov 2020 16:10:55 +0000 (17:10 +0100)]
Fix javac message parsing column number off-by-one

* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
'javac': Column numbers are 1-based by default; remove subtraction and
η-reduce.  Translate regexp to rx (mechanised).
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
Adapt 'javac' test cases to the change.

4 years agoFix --enable-check-lisp-object-type build
Glenn Morris [Fri, 6 Nov 2020 16:00:54 +0000 (08:00 -0800)]
Fix --enable-check-lisp-object-type build

* src/print.c (syms_of_print) <print-integers-as-characters>:
Fix type.

4 years agoUpdate gdb-mi-tests
Mattias Engdegård [Fri, 6 Nov 2020 14:37:17 +0000 (15:37 +0100)]
Update gdb-mi-tests

* test/lisp/progmodes/gdb-mi-tests.el (gdb-mi-parse-value):
Make test pass after the change in gdb-mi-decode-strings default value.

4 years ago* lisp/gnus/gnus-search.el (gnus-search-contact-tables): Fix type.
Mattias Engdegård [Fri, 6 Nov 2020 12:43:53 +0000 (13:43 +0100)]
* lisp/gnus/gnus-search.el (gnus-search-contact-tables): Fix type.

A more precise type is desirable but at it is now correct ('list' is not).

4 years agoChange the default value of gdb-mi-decode-strings to t (bug#44173)
Mattias Engdegård [Sat, 31 Oct 2020 13:44:58 +0000 (14:44 +0100)]
Change the default value of gdb-mi-decode-strings to t (bug#44173)

This is likely to be a more commonly wanted default value today.

* lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Change default.
* doc/emacs/building.texi (Source Buffers): Update manual.
* etc/NEWS: Announce.

4 years agoReduce integer-output-format to print-integers-as-characters
Mattias Engdegård [Mon, 2 Nov 2020 22:37:16 +0000 (23:37 +0100)]
Reduce integer-output-format to print-integers-as-characters

The variable now only controls whether characters are printed, not
the radix.  Control chars are printed in human-readable syntax
only when special escapes such as ?\n are available.  Spaces,
formatting and combining chars are excluded (bug#44155).
Done in collaboration with Juri Linkov.

* src/character.c (graphic_base_p):
* src/print.c (named_escape): New functions.
(print_object): Change semantics as described above.
(syms_of_print): Rename integer-output-format.  Update doc string.
* doc/lispref/streams.texi (Output Variables):
* etc/NEWS:
* test/src/print-tests.el (print-integers-as-characters):
Rename and update according to new semantics.  The test now passes.

4 years agoGo back to not using custom-push-theme when enabling a theme
Mauro Aranda [Fri, 6 Nov 2020 12:34:08 +0000 (09:34 -0300)]
Go back to not using custom-push-theme when enabling a theme

* lisp/custom.el (enable-theme): Relying on custom-push-theme to
handle theme settings and prior user settings was a mistake.  The
theme settings haven't changed between loading the theme and enabling
it, so we don't need all of what custom-push-theme does.  However, we
still need to save a user setting outside of Customize, in order to be
able to get back to it, so do that in enable-theme itself.

4 years agoImprove documentation of a recent change
Eli Zaretskii [Fri, 6 Nov 2020 11:49:07 +0000 (13:49 +0200)]
Improve documentation of a recent change

* doc/emacs/mule.texi (Select Input Method): Add an @anchor.
* doc/emacs/search.texi (Special Isearch): Add cross-reference and
improve wording.

4 years agoSupport transient input methods in Isearch mode (bug#44266)
Juri Linkov [Fri, 6 Nov 2020 08:31:58 +0000 (10:31 +0200)]
Support transient input methods in Isearch mode (bug#44266)

* doc/emacs/mule.texi (Select Input Method): Rename
transient-input-method to activate-transient-input-method.

* doc/emacs/search.texi (Special Isearch):
Document isearch-transient-input-method.

* lisp/international/isearch-x.el (isearch-transient-input-method):
New function.
(isearch-process-search-multibyte-characters):
Call 'deactivate-transient-input-method' after 'read-string'.

* lisp/international/mule-cmds.el (mule-menu-keymap): Remove
duplicate menu item 'describe-input-method'.  Add new menu item
'activate-transient-input-method'.
(default-transient-input-method): Rename from transient-input-method.
(current-transient-input-method)
(previous-transient-input-method): New buffer-local variables.
(deactivate-input-method): Don't add
current-transient-input-method to input-method-history.
(toggle-input-method): Call deactivate-transient-input-method
when current-transient-input-method is non-nil.
(activate-transient-input-method): Rename from transient-input-method.
(deactivate-transient-input-method): New function with body from
renamed function transient-input-method.

* lisp/isearch.el (isearch-menu-bar-map): Add new menu item
'isearch-transient-input-method'.
(isearch-mode-map): Bind 'C-x \' to isearch-transient-input-method.
(isearch-forward): Add isearch-transient-input-method to docstring.
(isearch-message-prefix): Use shorter string for narrowed buffer.

4 years ago; * etc/NEWS: Fix wording in a recently added entry.
Eli Zaretskii [Fri, 6 Nov 2020 05:51:07 +0000 (07:51 +0200)]
; * etc/NEWS: Fix wording in a recently added entry.

4 years agoAdd more tests for where-is-internal
Stefan Kangas [Fri, 6 Nov 2020 03:45:26 +0000 (04:45 +0100)]
Add more tests for where-is-internal

* test/src/keymap-tests.el (keymap-where-is-internal)
(keymap-where-is-internal/firstonly-t)
(keymap-where-is-internal/menu-item)
(keymap-where-is-internal/advertised-binding)
(keymap-where-is-internal/advertised-binding-respect-remap)
(keymap-where-is-internal/remap)
(keymap-where-is-internal/shadowed): New tests.
(keymap-where-is-internal/preferred-modifier-is-a-string):
Rename from keymap-where-is-internal-test.

4 years agoFixes and improvements to gnus-search
Eric Abrahamsen [Thu, 5 Nov 2020 05:13:03 +0000 (21:13 -0800)]
Fixes and improvements to gnus-search

* lisp/gnus/gnus-search.el (gnus-search-default-engines): Change type
from a list of two-element lists, to alist. This matches nnir's old
option type, and should make transition easier.
(nnir-imap-default-search-key): Note that variable is obsolete.
(gnus-search-transform-expression): Interpret the "attachment" key as
"body" in imap searches. Allow specifying larger/smaller message size
values in KB or MB units.
(gnus-search-server-to-engine): Fix error in this function, and
clarify somewhat.

4 years ago* doc/misc/gnus.texi (Selection Groups): Delete excessive paren
Katsumi Yamaoka [Thu, 5 Nov 2020 22:32:09 +0000 (22:32 +0000)]
* doc/misc/gnus.texi (Selection Groups): Delete excessive paren

4 years agoEnable/disable buttons, tool bar and menu items in Custom buffer (Bug#14398)
Mauro Aranda [Thu, 5 Nov 2020 21:56:29 +0000 (18:56 -0300)]
Enable/disable buttons, tool bar and menu items in Custom buffer (Bug#14398)

* lisp/cus-edit.el (custom-reset-extended-menu): Keymap menu for the
Revert... menu button.
(custom-reset-menu): Keep for backward compatibility, but default to
nil, so we prefer the keymap menu instead.
(custom-reset): Pass the new keymap menu to widget-choose.

(custom-commands): Add an element to each list item, to manage its
enable/disable state.  Add docstring.
(custom-command-buttons): New variable, to hold the buttons that act
on all options in a Custom buffer.
(custom-buffer-create-internal): When creating the command buttons,
add the optional :notify function to enable/disable them.  Add the
buttons to the new variable custom-command-buttons.
(customize-menu-create): Notify the command buttons after creating the
Custom buffer, so they are correctly enabled/disabled.
(custom-redraw-magic, custom-notify): Notify the command buttons and
update the tool bar when changing a widget to the modified state.

4 years agoFix coding system in eww-display-pdf
Basil L. Contovounesios [Thu, 5 Nov 2020 21:06:39 +0000 (21:06 +0000)]
Fix coding system in eww-display-pdf

* lisp/net/eww.el (eww-display-pdf): Make *eww pdf* buffer unibyte
before populating it to avoid conversions.  The binding for
coding-system-for-write is then no longer necessary, and can be
delegated to the viewer invoked by mailcap-view-mime.  Suggested by
Stefan Monnier <monnier@iro.umontreal.ca>.  (Bug#44338)

4 years ago* src/minibuf.c (move_minibuffer_onto_frame): Fix comparison
Philipp Stephani [Thu, 5 Nov 2020 20:11:14 +0000 (21:11 +0100)]
* src/minibuf.c (move_minibuffer_onto_frame): Fix comparison

4 years agoAllow minibuffer to stay in its original frame. Tidy up this area.
Alan Mackenzie [Thu, 5 Nov 2020 19:27:43 +0000 (19:27 +0000)]
Allow minibuffer to stay in its original frame.  Tidy up this area.

* doc/emacs/mini.texi (Basic Minibuffer): Add an entry for
minibuffer-follows-selected-frame.

* doc/lispref/minibuf.texi (Minibuffer Misc): Describe the new parameter to
minibufferp, LIVE.

* etc/NEWS: Add an entry describing the new minibuffer strategy.

* lisp/cus-start.el (minibuffer-prompt-properties--setter): Add an entry for
minibuffer-follows-selected-frame.

* lisp/minibuffer.el (minibuffer-message): Check for the current buffer being
an _active_ minibuffer rather than merely a minibuffer.

* src/frame.c (do_switch_frame): Call move_minibuffer_onto_frame.

* src/lisp.h (Top level): Add prototypes for move_minibuffer_onto_frame and
is_minibuffer.

* src/minibuf.c (minibuf_follows_frame): New function which ignores local and
let-bound values of minibuffer-follows-selected-frame.
(choose_minibuf_frame): Reformulate this function to reuse a minibuffer window
where possible, and to ensure no other frame has its minibuffer current, but
only when `minibuffer-follows-selected-frame'.
(move_minibuffer_onto_frame): New function.
(live_minibuffer_p): New function.
(Fminibufferp): Add a new &optional parameter LIVE.  Reformulate, possibly
calling live_minibuffer_p.
(read_minibuf): move the incrementation of minibuf_level to before the call of
choose_minibuf_frame.  Empty the miniwindows of frames without an active
minibuffer, rather than of all but the current frame.
(is_minibuffer): New function.
(read_minibuf_unwind): Note the miniwindow being restored and resize all other
miniwindows to zero size.
(minibuffer-follows-selected-frame): New configuration variable.

* src/window.c (candidate_window_p): In some scenarios, check the miniwindow
holds an active minibuffer.

* src/xdisp.c (get_window_cursor_type): Suppress the cursor for non-active
miniwindows, regardless of minibuf_level.

4 years ago* src/w32fns.c (Fw32_register_hot_key): Doc fix. (Bug#44456)
Eli Zaretskii [Thu, 5 Nov 2020 17:46:50 +0000 (19:46 +0200)]
* src/w32fns.c (Fw32_register_hot_key): Doc fix.  (Bug#44456)

4 years agoImprove eww support for externally viewed PDFs
Basil L. Contovounesios [Tue, 3 Nov 2020 22:54:34 +0000 (22:54 +0000)]
Improve eww support for externally viewed PDFs

The *eww pdf* buffer is only needed when viewing PDFs within Emacs,
e.g., with doc-view-mode.  External PDF viewers are called with a
temporary file, so the buffer is not needed in that case.  What's
more, mailcap-view-mime erased the buffer and left it in
fundamental-mode until now, so the user was left staring at a
useless, empty buffer.  To make things even worse, external viewers
were invoked synchronously until now, so the user could not browse
the PDF file and use Emacs simultaneously.

* lisp/net/mailcap.el (mailcap--async-shell): New function.
(mailcap-view-mime): Use it to invoke external viewers
asynchronously.  Mention erasure of current buffer in that case in
docstring.  Add a period between the temporary file name and its
extension.

* lisp/net/eww.el (eww-display-pdf): Simplify using
insert-buffer-substring.  Fix coding-system-for-write for a stream
of raw bytes.  Pop to *eww pdf* buffer only if it is used for
displaying a document; otherwise kill it.  (bug#44338)

4 years ago; Silence byte-compiler warnings in tests
Stefan Kangas [Thu, 5 Nov 2020 17:23:56 +0000 (18:23 +0100)]
; Silence byte-compiler warnings in tests

* test/lisp/emacs-lisp/easy-mmode-tests.el (easy-mmode--minor-mode):
* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393):
Silence byte-compiler.

4 years agoStill fixes for Tramp directory-files-*
Michael Albinus [Thu, 5 Nov 2020 16:36:04 +0000 (17:36 +0100)]
Still fixes for Tramp directory-files-*

* lisp/net/tramp.el (tramp-handle-directory-files):
* lisp/net/tramp-adb.el
(tramp-adb-handle-directory-files-and-attributes): Fix COUNT.

* lisp/net/tramp-crypt.el (tramp-crypt-handle-directory-files):
Implement COUNT.

* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
* lisp/net/tramp-integration.el (tramp-eshell-directory-change):
Use `nbutlast'.

* lisp/net/tramp-rclone.el (tramp-rclone-handle-delete-directory)
(tramp-rclone-handle-delete-file): Reorder cache flushing.
(tramp-rclone-handle-directory-files):
Use `tramp-compat-directory-files'.

* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
Fix NOSORT and COUNT.

* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Fix NOSORT.

* test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun.
(tramp-test05-expand-file-name-relative): Use it.
(tramp-test16-directory-files)
(tramp-test19-directory-files-and-attributes): Strengthen test.
(tramp-test20-file-modes): Simplify check.

4 years agoLet pdf-view-mode take precedence over doc-view-mode
Lars Ingebrigtsen [Tue, 3 Nov 2020 14:50:44 +0000 (15:50 +0100)]
Let pdf-view-mode take precedence over doc-view-mode

* lisp/net/mailcap.el (mailcap-mime-data): Note the order, and let
pdf-view-mode take precedence, since it's an optional package
(bug#44338).

4 years ago; Silence byte-compiler warning in xdisp-tests.el
Stefan Kangas [Thu, 5 Nov 2020 14:42:26 +0000 (15:42 +0100)]
; Silence byte-compiler warning in xdisp-tests.el

* test/src/xdisp-tests.el (xdisp-tests--minibuffer-scroll): Silence
byte-compiler.

4 years agoSync biblatex entries and fields with v3.15
Basil L. Contovounesios [Thu, 29 Oct 2020 22:48:12 +0000 (22:48 +0000)]
Sync biblatex entries and fields with v3.15

* lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist): Fix
abbreviation of PhD.
(bibtex-biblatex-entry-alist, bibtex-biblatex-field-alist): Sync
standard entry and field types with those described in the biblatex
v3.15 manual of 2020-08-19 (bug#44322).

4 years agoImprove display of tabulated list header line labels (bug#44068)
Stephen Berman [Wed, 4 Nov 2020 22:52:21 +0000 (23:52 +0100)]
Improve display of tabulated list header line labels (bug#44068)

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
Ensure sort indicator appears after the label of any selected
sortable column that is wide enough and enable label truncation
when narrowing a column.

* lisp/emacs-lisp/timer-list.el (timer-list-mode): Improve column
alignment.
(timer-list--function-predicate): Correct typo in doc string.

4 years agoPrevent redisplay from moving point behind user's back
Eli Zaretskii [Wed, 4 Nov 2020 20:10:06 +0000 (22:10 +0200)]
Prevent redisplay from moving point behind user's back

* src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
Bind inhibit-quit to a non-nil value around calls to
fast_looking_at, to prevent breaking out of redisplay_window,
which temporarily moves point in buffers shown in non-selected
windows.  (Bug#44448)

4 years ago* src/term.c (handle_one_term_event): Simplify.
Stefan Monnier [Wed, 4 Nov 2020 18:44:51 +0000 (13:44 -0500)]
* src/term.c (handle_one_term_event): Simplify.

Remove the `hold_quit` argument which was never used.
Streamline the control flow.
Thanks to Jared Finder <jared@finder.org> for pointing it out.

* src/keyboard.c (tty_read_avail_input): Simplify accordingly.

4 years agoAvoid use of eieio-oset-default
Eric Abrahamsen [Wed, 4 Nov 2020 06:31:42 +0000 (22:31 -0800)]
Avoid use of eieio-oset-default

* lisp/gnus/gnus-search.el: Replace with an :initform tag on the slot
definition. `symbol-value' is necessary, otherwise the defclass macro
will treat the option as a quoted symbol.

4 years ago* lisp-mode.el: Fix missing highlight of "hidden" string arg
Stefan Monnier [Wed, 4 Nov 2020 16:37:00 +0000 (11:37 -0500)]
* lisp-mode.el: Fix missing highlight of "hidden" string arg

* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
(lisp-cl-font-lock-keywords-2): Highlight "hidden arg" even if it
already has another face.

4 years ago* lisp/progmodes/project.el (project--files-in-directory): Fix formatting
Manuel Uberti [Wed, 4 Nov 2020 14:41:53 +0000 (15:41 +0100)]
* lisp/progmodes/project.el (project--files-in-directory): Fix formatting

Copyright-paperwork-exempt: yes

4 years agoUse lexical-binding in mule-charsets.el
Stefan Kangas [Wed, 4 Nov 2020 14:50:52 +0000 (15:50 +0100)]
Use lexical-binding in mule-charsets.el

* admin/charsets/mule-charsets.el: Use lexical-binding.
(mule-charsets-header): Rename from 'header' to silence byte-compiler.

4 years agoRemove unused variable in ispell.el (thanks, Stefan Kangas)
Reuben Thomas [Wed, 4 Nov 2020 08:50:25 +0000 (08:50 +0000)]
Remove unused variable in ispell.el (thanks, Stefan Kangas)

* lisp/textmodes/ispell.el (ispell-check-version): Remove unused
variable `speller'.

4 years agoFix warnings in url-irc.el
Stefan Kangas [Wed, 4 Nov 2020 06:40:16 +0000 (07:40 +0100)]
Fix warnings in url-irc.el

* lisp/url/url-irc.el (zenirc-server-alist, zenirc-buffer-name):
Declare to fix warnings.
(url-irc-rcirc): Silence warning by adding missing password argument
to rcirc-connect.

4 years ago* lisp/obsolete/nnir.el: Add "Obsolete-since" header.
Stefan Kangas [Wed, 4 Nov 2020 06:12:21 +0000 (07:12 +0100)]
* lisp/obsolete/nnir.el: Add "Obsolete-since" header.

4 years ago* lisp/cedet/srecode.el: Use lexical-binding.
Stefan Kangas [Tue, 3 Nov 2020 07:15:39 +0000 (08:15 +0100)]
* lisp/cedet/srecode.el: Use lexical-binding.

4 years agoFix misuses of `make-local-variable` on hooks
Stefan Monnier [Wed, 4 Nov 2020 05:24:45 +0000 (00:24 -0500)]
Fix misuses of `make-local-variable` on hooks

* lisp/vc/smerge-mode.el (smerge-ediff):
* lisp/progmodes/python.el (python-pdbtrack-setup-tracking):
* lisp/net/tramp-smb.el (tramp-smb-call-winexe):
* lisp/net/secrets.el (secrets-mode):
* lisp/mail/rmail.el (rmail-variables):
* lisp/ielm.el (inferior-emacs-lisp-mode):
* lisp/erc/erc-log.el (erc-log-setup-logging): Use `add-hook`.

* lisp/eshell/em-unix.el (eshell/diff):
* lisp/eshell/em-hist.el (eshell-hist-initialize): Don't
`make-local-variable` on hooks.

4 years agoRemove gmane search engine
Eric Abrahamsen [Sun, 1 Nov 2020 01:30:57 +0000 (18:30 -0700)]
Remove gmane search engine

Remove the gnus-search-gmane class and all associated methods.  If
search functionality is ever resurrected, then revert this commit.

* lisp/gnus/gnus-search.el: Delete code, and remove from default value
of `gnus-search-default-engines'.

4 years agoMove nnir.el to lisp/obsolete
Eric Abrahamsen [Fri, 16 Oct 2020 16:34:06 +0000 (09:34 -0700)]
Move nnir.el to lisp/obsolete

* lisp/obsolete/nnir.el: This is no longer used, but users might still
be requiring it.

4 years agoNew gnus-search library
Eric Abrahamsen [Thu, 15 Oct 2020 04:39:46 +0000 (21:39 -0700)]
New gnus-search library

This library provides a fundamental reworking of the search
functionality previously found in nnir.el.  It uses class-based search
engines to interface with external searching facilities, and a parsed
search query syntax that can search multiple engines.

* lisp/gnus/gnus-search.el: New library containing search
functionality for Gnus.
* doc/misc/gnus.texi: Document.
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): Remove references to nnir,
change meaning of prefix argument, change values of nnselect-function
and nnselect-args.
* lisp/gnus/nnselect.el: Replace references to nnir
(nnselect-request-article): Use gnus-search functions, and search
criteria.
(nnselect-request-thread, nnselect-search-thread): Use gnus-search
thread search.
(gnus-summary-make-search-group): Switch to use gnus-search function
and arguments.
* test/lisp/gnus/search-tests.el: Tests for new functionality.

4 years ago* lisp/progmodes/tcl.el: Use lexical-binding
Stefan Monnier [Wed, 4 Nov 2020 04:02:13 +0000 (23:02 -0500)]
* lisp/progmodes/tcl.el: Use lexical-binding

Remove redundant `:group` args.

4 years agoFix last change
Eli Zaretskii [Tue, 3 Nov 2020 19:48:23 +0000 (21:48 +0200)]
Fix last change

* lisp/mwheel.el (mwheel-scroll): Don't use passive tense in doc
string.

4 years agoHorizontal mouse wheel scrolling amount (bug#43568)
Juri Linkov [Tue, 3 Nov 2020 19:06:11 +0000 (21:06 +0200)]
Horizontal mouse wheel scrolling amount (bug#43568)

* lisp/mwheel.el (mouse-wheel-scroll-amount-horizontal): New defcustom.
(mwheel-scroll): Use it.

* doc/emacs/frames.texi (Mouse Commands): Update doc about horizontal
scrolling step.

4 years agoSome Tramp fixes for directory-files-* and delete-*
Michael Albinus [Tue, 3 Nov 2020 17:47:32 +0000 (18:47 +0100)]
Some Tramp fixes for directory-files-* and delete-*

* lisp/files.el (delete-directory): Simplify check for trash.

* lisp/net/ange-ftp.el (ange-ftp-delete-file): Implement TRASH.

* lisp/net/tramp-compat.el (tramp-compat-directory-files)
(tramp-compat-directory-files-and-attributes)
(tramp-compat-directory-empty-p): New defaliases.

* lisp/net/tramp.el (tramp-handle-directory-files-and-attributes)
(tramp-skeleton-delete-directory):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory): Use them.

* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
Implement COUNT.

* test/lisp/net/tramp-tests.el (tramp-test14-delete-directory):
Do not run trash test for ange-ftp.
(tramp-test16-directory-files)
(tramp-test19-directory-files-and-attributes): Check COUNT argument.

4 years agoFactor out some common code in ispell.el
Reuben Thomas [Mon, 2 Nov 2020 21:45:40 +0000 (21:45 +0000)]
Factor out some common code in ispell.el

* lisp/textmodes/ispell.el (ispell-with-safe-default-directory): Add
  macro.
  (ispell-call-process, ispell-call-process-region): Use it.

4 years agoSimplify ispell-check-version’s use of -vv flag
Reuben Thomas [Mon, 2 Nov 2020 21:41:05 +0000 (21:41 +0000)]
Simplify ispell-check-version’s use of -vv flag

* lisp/textmodes/ispell.el (ispell-check-version): All supported spell
checker programs accept -vv, including aspell for many years, so use
it.

4 years agocperl-mode: Fix indentation for Emacs 26
Harald Jörg [Tue, 3 Nov 2020 14:28:40 +0000 (15:28 +0100)]
cperl-mode: Fix indentation for Emacs 26

* lisp/progmodes/cperl-mode.el (cperl-mode): Add a fix
which is only required for Emacs versions older than 27.

* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393):
Add a test to verify correct indentation (bug#30393).

4 years agoFix customizing user options of type face
Mauro Aranda [Tue, 3 Nov 2020 13:02:51 +0000 (10:02 -0300)]
Fix customizing user options of type face

* lisp/cus-edit.el (face): Move the %f escape after the tag, because
otherwise customizing a face user option doesn't work:
custom-variable-value-create thinks that everything up until the first
":" is part of the tag, and the item widget doesn't know how to handle
the %f escape.