]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoByte compilation: handle case where the output file is a mountpoint.
Philipp Stephani [Sun, 13 Dec 2020 16:13:50 +0000 (17:13 +0100)]
Byte compilation: handle case where the output file is a mountpoint.

See Bug#44631.  While testing for a readonly output directory has
slightly different semantics, in practice they should cover cases
where Emacs is sandboxed and can only write to the destination file,
not its directory.

* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Handle the case
where the output directory is not writable.

* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--not-writable-directory)
(bytecomp-tests--dest-mountpoint): New unit tests.

3 years agoStop dropping the tag when creating the custom-variable widget
Mauro Aranda [Sun, 13 Dec 2020 13:44:30 +0000 (10:44 -0300)]
Stop dropping the tag when creating the custom-variable widget

* lisp/cus-edit.el (custom-variable-value-create): Obey the specified
tag format when creating the variable tag, but stop dropping the tag
format for the variable's type widget, since the tag can be used to
give useful information to the user about the variable.  (Bug#35133)

3 years agoMake dired-toggle-read-only query on read-only directories
Lars Ingebrigtsen [Sun, 13 Dec 2020 13:17:55 +0000 (14:17 +0100)]
Make dired-toggle-read-only query on read-only directories

* lisp/dired.el (dired-toggle-read-only): Query instead of
erroring out immediately (bug#29412).

3 years agoClarify Extended Menu Items a bit more
Lars Ingebrigtsen [Sun, 13 Dec 2020 12:49:25 +0000 (13:49 +0100)]
Clarify Extended Menu Items a bit more

* doc/lispref/keymaps.texi (Extended Menu Items): Expand a bit
more on how submenus are formed (bug#26428).

3 years ago* Fix `memory-report' for '--without-x' builds
Andrea Corallo [Sun, 13 Dec 2020 00:11:56 +0000 (01:11 +0100)]
* Fix `memory-report' for '--without-x' builds

* lisp/emacs-lisp/memory-report.el
(memory-report--image-cache): Don't call `image-cache-size' if
unbound.

3 years agoBump project.el version
Dmitry Gutov [Sun, 13 Dec 2020 02:12:35 +0000 (04:12 +0200)]
Bump project.el version

* lisp/progmodes/project.el: Bump the version.

3 years agovc-create-tag: use vc-revision-history variable
Andrii Kolomoiets [Fri, 11 Dec 2020 13:55:22 +0000 (15:55 +0200)]
vc-create-tag: use vc-revision-history variable

* lisp/vc/vc.el (vc-create-tag): Use 'vc-revision-history' variable.

3 years agoFix test failure
Dmitry Gutov [Sun, 13 Dec 2020 01:58:32 +0000 (03:58 +0200)]
Fix test failure

* test/lisp/vc/vc-tests.el (vc-test--working-revision):
Accept working revision -1, expected for older Hg (bug#36534).

3 years ago* lisp/emacs-lisp/bytecomp.el: Allow a nil destination file
Stefan Monnier [Sun, 13 Dec 2020 00:19:03 +0000 (19:19 -0500)]
* lisp/emacs-lisp/bytecomp.el: Allow a nil destination file

(byte-compile--default-dest-file): New function, extracted from
byte-compile-dest-file.
(byte-compile-dest-file): Use it.
(byte-compile-dest-file-function): Give it a non-nil default value.
(byte-recompile-file, byte-compile-file): Handle a nil return value
from `byte-compile-dest-file`.

* lisp/progmodes/elisp-mode.el (elisp-flymake--batch-compile-for-flymake):
Tell the compiler not to write the result, instead of writing it to
a dummy temp file.

3 years agoFix assertion on SVG load failure
Alan Third [Sat, 12 Dec 2020 23:52:00 +0000 (23:52 +0000)]
Fix assertion on SVG load failure

* src/image.c (svg_load_image): Move setting DPI to after rsvg_handle
error checking.

3 years agoRemove references to Emacs before version 22 from FAQ
Stefan Kangas [Sat, 12 Dec 2020 22:51:30 +0000 (23:51 +0100)]
Remove references to Emacs before version 22 from FAQ

* doc/misc/efaq.texi (Escape sequences in shell output): Remove
reference to versions before Emacs 21.
(Basic editing, Latest version of Emacs)
(Turning on abbrevs by default, Going to a line by number)
(Security risks with Emacs): Remove references to versions before
Emacs 22.

3 years agoDocument and enforce some properties for strings created by modules.
Philipp Stephani [Sat, 12 Dec 2020 22:21:18 +0000 (23:21 +0100)]
Document and enforce some properties for strings created by modules.

When creating multibyte or unibyte strings, we should guarantee the
following invariants:

- When creating empty strings, a NULL data pointer should be allowed.
  This often arises in practice if the string length isn't known in
  advance, and we don't want to unnecessarily trigger undefined
  behavior.  Since functions like memcpy might not accept NULL
  pointers, use the canonical empty string objects in this case.

- Nonzero strings should be guaranteed to be unique and mutable.
  These are the same guarantees expected from Lisp functions such as
  'make-string' or 'unibyte-string'.  On the other hand, empty strings
  might not be unique.

* src/emacs-module.c (module_make_string)
(module_make_unibyte_string): Correctly handle empty strings.

* test/src/emacs-module-resources/mod-test.c (Fmod_test_make_string):
New test function.
(emacs_module_init): Expose it.

* test/src/emacs-module-tests.el (mod-test-make-string/empty)
(mod-test-make-string/nonempty): New unit tests.

* doc/lispref/internals.texi (Module Values): Document properties and
corner cases for strings.

3 years agoFix BSD .include etc syntax in Makefiles
Lars Ingebrigtsen [Sat, 12 Dec 2020 20:59:08 +0000 (21:59 +0100)]
Fix BSD .include etc syntax in Makefiles

* lisp/progmodes/make-mode.el (makefile-bsdmake-statements): Fix
the BSD conditional syntax (bug#24000).
(makefile-make-font-lock-keywords): Allow calling without keywords.
(makefile-bsdmake-font-lock-keywords): Add the conditional syntax.

     Makefile inclusion, conditional structures and for loops reminiscent of
     the C programming language are provided in make.  All such structures are
     identified by a line beginning with a single dot (`.') character.
     Whitespace characters may follow this dot, e.g.,

           .include <file>
     and
           .   include <file>

     are identical constructs

3 years agoBind `C-c C-d' to rmail-epa-decrypt in rmail
Lars Ingebrigtsen [Sat, 12 Dec 2020 20:19:26 +0000 (21:19 +0100)]
Bind `C-c C-d' to rmail-epa-decrypt in rmail

* doc/emacs/rmail.texi (Rmail Display): Mention the key
binding (bug#25411).

* lisp/mail/rmail.el (rmail-mode-map): Bind C-c C-d to
rmail-epa-decrypt.
(rmail-mode): Mention it.
(rmail-epa-decrypt): Don't mark a mail as decrypted unless we're
replacing it.

* lisp/mail/rmailsum.el (rmail-summary-mode-map): Bind C-c C-d.
(rmail-summary-epa-decrypt): New command.

3 years agoNew option gnus-registry-register-all
Eric Abrahamsen [Thu, 3 Dec 2020 23:58:57 +0000 (15:58 -0800)]
New option gnus-registry-register-all

* lisp/gnus/gnus-registry.el (gnus-registry-register-all): If nil,
the registry won't automatically create new entries for all seen
messages. Defaults to t to preserve previous behavior.
(gnus-registry-handle-action): Don't automatically create entries; if
one doesn't exist, don't handle anything.
(gnus-registry-register-message-ids): Only register if this option is
t.
(gnus-registry-get-or-make-entry): Add optional no-create argument.
(gnus-registry-get-id-key): This "get" operation should only create an
entry if this option is t.
* doc/misc/gnus.texi: Documentation and news.

3 years ago* lisp/emacs-lisp/package.el (package-buffer-info): Improve error message
Stefan Monnier [Sat, 12 Dec 2020 16:50:00 +0000 (11:50 -0500)]
* lisp/emacs-lisp/package.el (package-buffer-info): Improve error message

(package-strip-rcs-id): Return canonicalized version string.

3 years ago* src/fns.c (hash_string): Tweak the code further
Stefan Monnier [Sat, 12 Dec 2020 15:59:50 +0000 (10:59 -0500)]
* src/fns.c (hash_string): Tweak the code further

Merge the two main branches; remove the `max` test and thus reduce
the "most steps" to 8 as written

3 years ago* lisp/vc/log-edit.el: Keep separator line thin even with line-numbers
Stefan Monnier [Sat, 12 Dec 2020 15:37:42 +0000 (10:37 -0500)]
* lisp/vc/log-edit.el: Keep separator line thin even with line-numbers

(log-edit-font-lock-keywords): Disable line-number display on
the thin separator line.
(log-edit-mode): Adjust `font-lock-extra-managed-props` accordingly.
(log-edit-changelog-entries): Don't use a nil buffer-local
`change-log-default-name`.

3 years agoFollowup to recent changes in keyboard.c
Eli Zaretskii [Sat, 12 Dec 2020 15:32:55 +0000 (17:32 +0200)]
Followup to recent changes in keyboard.c

* src/keyboard.c (prev_kbd_event): Now defined only if HAVE_X11.

* lisp/subr.el (while-no-input-ignore-events): Remove
'buffer-switch': no longer used or defined.  (Bug#5803)

3 years agoRemove some unused process.c variables
Lars Ingebrigtsen [Sat, 12 Dec 2020 15:24:12 +0000 (16:24 +0100)]
Remove some unused process.c variables

* src/process.c (wait_reading_process_output): Remove some
variables that are unused after the previous patch.

3 years agoNew variable `redisplay_adhoc_scroll_in_resize_mini_windows`
Stefan Monnier [Sat, 12 Dec 2020 15:16:42 +0000 (10:16 -0500)]
New variable `redisplay_adhoc_scroll_in_resize_mini_windows`

* src/xdisp.c (syms_of_xdisp): Define it.
(resize_mini_window): Obey it.

3 years ago* src/keyboard.c: Fix bug#5803.
Stefan Monnier [Sat, 12 Dec 2020 14:56:04 +0000 (09:56 -0500)]
* src/keyboard.c: Fix bug#5803.

A long time ago, `read_key_sequence` used to read the keymaps at the
start, so if something happened between this start and the moment
the user actually hits a key, `read_key_sequence` could end up using
the wrong keymaps.  To work around this problem, the code used
`record_asynch_buffer_change` to try and trigger `read_key_sequence`
to re-read the keymaps in some known cases.

Several years ago, `read_key_sequence` was changed so as to read the keymaps
only once the user hits a key, making this machinery now redundant
(and also harmful apparently in bug#5803 because it introduces
"spurious" events).

So we here remove `record_asynch_buffer_change` and the
`BUFFER_SWITCH_EVENT` and `Qbuffer_switch` pseudo-events it generated.

* src/termhooks.h (enum event_kind): Delete `BUFFER_SWITCH_EVENT`.
* src/keyboard.c: (record_asynch_buffer_change): Delete function.
(syms_of_keyboard): Delete `Qbuffer_switch`.
(force_auto_save_soon, readable_events)
(kbd_buffer_store_buffered_event, kbd_buffer_get_event)
(make_lispy_event):
* src/xterm.c (handle_one_xevent):
* src/w32term.c (w32_read_socket):
* src/process.c (wait_reading_process_output)
(read_and_dispose_of_process_output, exec_sentinel): Simplify accordingly.

3 years agoCC Mode: Handle several K&R parameters per declaration
Alan Mackenzie [Sat, 12 Dec 2020 14:38:38 +0000 (14:38 +0000)]
CC Mode: Handle several K&R parameters per declaration

This fixes bug #45160.

* lisp/progmodes/cc-engine.el (c-in-knr-argdecl): Reformulate the latter part
of this function using c-do-declarators.

3 years agoAlter the "Redundant pcase patter" warning message
Lars Ingebrigtsen [Sat, 12 Dec 2020 13:22:58 +0000 (14:22 +0100)]
Alter the "Redundant pcase patter" warning message

* lisp/emacs-lisp/pcase.el (pcase--expand): Make the "Redundant
pcase pattern" warning less vague (bug#31350).

3 years agoMake elint load `require'd packages
Lars Ingebrigtsen [Sat, 12 Dec 2020 13:13:32 +0000 (14:13 +0100)]
Make elint load `require'd packages

* lisp/emacs-lisp/elint.el (elint-require-form): New function to
load files that are `require'd (bug#27006).
(elint-special-forms): Add function.

3 years ago; * lisp/info.el (Info-toc-build): Fix last change. (Bug#28074)
Eli Zaretskii [Sat, 12 Dec 2020 13:05:26 +0000 (15:05 +0200)]
; * lisp/info.el (Info-toc-build): Fix last change.  (Bug#28074)

3 years agoExplicitly specify svg base_uri using `:base-uri' image property
Zajcev Evgeny [Thu, 3 Dec 2020 15:37:18 +0000 (18:37 +0300)]
Explicitly specify svg base_uri using `:base-uri' image property

* src/image.c (svg_load): Check `:base-uri' image property to
explicitly set base_uri for images embedded into SVG
(enum svg_keyword_index):
(svg_format): Add :base-uri.
* lisp/svg.el (svg-embed-base-uri-image): New function to embed images
located relative to images `:base-uri'

3 years agoRevert "Explicitly specify svg base_uri using `:base-uri' image property"
Alan Third [Sat, 12 Dec 2020 12:30:57 +0000 (12:30 +0000)]
Revert "Explicitly specify svg base_uri using `:base-uri' image property"

This reverts commit a8e2143a5c03785742464406306fda7fce6caf04.

I applied the incorrect version of the patch.

3 years agoOffer to save tutorial position on Emacs exit
Lars Ingebrigtsen [Sat, 12 Dec 2020 12:46:33 +0000 (13:46 +0100)]
Offer to save tutorial position on Emacs exit

* lisp/tutorial.el (tutorial--buffer): New variable (bug#27998).
(tutorial--save-on-kill): Use it.
(help-with-tutorial): Set it and add new function to
kill-emacs-query-functions.

3 years agoUpdate Info-toc-build parsing
Lars Ingebrigtsen [Sat, 12 Dec 2020 12:33:09 +0000 (13:33 +0100)]
Update Info-toc-build parsing

* lisp/info.el (Info-toc-build): Update to understand EMDASH
instead of a hyphen in the detailed node listing (bug#28074).

3 years agoPrefer setq-local in python.el
Stefan Kangas [Sat, 12 Dec 2020 12:27:35 +0000 (13:27 +0100)]
Prefer setq-local in python.el

* lisp/progmodes/python.el: Require Emacs 24.2 instead of 24.1.
(python-indent-guess-indent-offset)
(python-shell-font-lock-with-font-lock-buffer)
(python-shell-font-lock-turn-on)
(python-shell-font-lock-turn-off, python-shell-font-lock-toggle)
(python-shell-comint-watch-for-first-prompt-output-filter)
(inferior-python-mode, python-shell-completion-native-turn-off)
(python-shell-completion-native-turn-on)
(python-pdbtrack-comint-output-filter-function, python-mode):
Prefer setq-local.

3 years agoPreserve point in dired buffers in dired-*-find-file* commands
Lars Ingebrigtsen [Sat, 12 Dec 2020 11:48:53 +0000 (12:48 +0100)]
Preserve point in dired buffers in dired-*-find-file* commands

* lisp/dired.el (dired--find-file): New function (bug#28949).
(dired-find-file): Use it.
(dired-mouse-find-file): Ditto.
(dired-find-file-other-window): Ditto.

3 years agoMake dired-toggle-read-only check whether the directory is writable
Lars Ingebrigtsen [Sat, 12 Dec 2020 11:32:15 +0000 (12:32 +0100)]
Make dired-toggle-read-only check whether the directory is writable

* lisp/dired.el (dired-toggle-read-only): Check that the directory
is writable (bug#29412).

3 years agoUnbreak the MS-Windows build broken by recent changes
Eli Zaretskii [Sat, 12 Dec 2020 11:25:35 +0000 (13:25 +0200)]
Unbreak the MS-Windows build broken by recent changes

* src/image.c (rsvg_handle_set_dpi_x_y) [WINDOWSNT]: DEF_DLL_FN it.
(init_svg_functions): LOAD_DLL_FN rsvg_handle_set_dpi_x_y.
<rsvg_handle_set_dpi_x_y>: Define as a macro

3 years agoImprove the documentation of marker handling when reverting
Lars Ingebrigtsen [Sat, 12 Dec 2020 11:20:38 +0000 (12:20 +0100)]
Improve the documentation of marker handling when reverting

* doc/lispref/backups.texi (Reverting): Mention markers from
non-file sources (bug#30028).

* lisp/files.el (revert-buffer): Mention what happens with markers
(bug#30028).

* src/fileio.c (Finsert_file_contents): Say a bit more about what
markers are restored (bug#30028).

3 years agoImprove support for 'memory-report' on MS-Windows
Eli Zaretskii [Sat, 12 Dec 2020 11:12:57 +0000 (13:12 +0200)]
Improve support for 'memory-report' on MS-Windows

* src/w32term.c (w32_image_size): New function.
* src/image.c (image_frame_cache_size) [HAVE_NTGUI]: Support
reporting the size of frame image cache.
(image_frame_cache_size, Fimage_cache_size): The total size is
now of the type 'size_t', not 'int'.

3 years agoAllow customizing the Gnus summary thread indicators
Pankaj Jangid [Sat, 12 Dec 2020 10:47:12 +0000 (11:47 +0100)]
Allow customizing the Gnus summary thread indicators

* doc/misc/gnus.texi (Summary Buffer Lines): Document them.

* lisp/gnus/gnus-sum.el (gnus-summary-prepare-threads): Use them.

* lisp/gnus/gnus-sum.el (gnus-sum-opening-bracket)
(gnus-sum-closing-bracket, gnus-sum-opening-bracket-adopted)
(gnus-sum-closing-bracket-adopted): New variables.

3 years agoImprove some NS drawing code
Alan Third [Fri, 11 Dec 2020 19:52:20 +0000 (19:52 +0000)]
Improve some NS drawing code

* src/nsterm.m (ns_update_end): There's no need to schedule a redraw
if nothing has been changed.
(ns_set_vertical_scroll_bar):
(ns_set_horizontal_scroll_bar): Fix the logic for clearing under the
scrollbars.
(ns_clear_under_internal_border): No need to clip, the default
clipping rectangle will be fine.

3 years agoUse real DPI when rendering SVGs (bug#45124)
Alan Third [Wed, 9 Dec 2020 00:02:44 +0000 (00:02 +0000)]
Use real DPI when rendering SVGs (bug#45124)

* src/image.c (svg_css_length_to_pixels): Pass in a DPI value instead
of using a hard coded value.
(svg_load_image): Set the DPI on the rsvg_handle, and pass it to
svg_css_length_to_pixels.

3 years agoExplicitly specify svg base_uri using `:base-uri' image property
Zajcev Evgeny [Thu, 3 Dec 2020 15:37:18 +0000 (18:37 +0300)]
Explicitly specify svg base_uri using `:base-uri' image property

* src/image.c (svg_load): Check `:base-uri' image property to
  explicitly set base_uri for images embedded into SVG

3 years ago* lisp/emacs-lisp/thunk.el (thunk-let*): Don't modify `bindings`
Stefan Monnier [Sat, 12 Dec 2020 00:26:43 +0000 (19:26 -0500)]
* lisp/emacs-lisp/thunk.el (thunk-let*): Don't modify `bindings`

3 years ago* lisp/play/dunnet.el: Make it so loading the file is harmless
Stefan Monnier [Sat, 12 Dec 2020 00:06:55 +0000 (19:06 -0500)]
* lisp/play/dunnet.el: Make it so loading the file is harmless

Move comments into docstrings while at it.

(dun-batch): New function.

3 years agoFix copyright line
Lars Ingebrigtsen [Fri, 11 Dec 2020 22:18:01 +0000 (23:18 +0100)]
Fix copyright line

3 years agobutton-buttonize doc string clarification
Lars Ingebrigtsen [Fri, 11 Dec 2020 20:30:25 +0000 (21:30 +0100)]
button-buttonize doc string clarification

* lisp/button.el (button-buttonize): Clarify what happens when
DATA isn't present.

3 years agoFix image-cache-size crash
Lars Ingebrigtsen [Fri, 11 Dec 2020 20:16:04 +0000 (21:16 +0100)]
Fix image-cache-size crash

* src/image.c (image_frame_cache_size): Ensure that img->pixmap is
in use before trying to access it.

3 years ago* src/fns.c (Fbuffer_hash): Doc fix. (Bug#45178)
Stefan Kangas [Fri, 11 Dec 2020 19:08:24 +0000 (20:08 +0100)]
* src/fns.c (Fbuffer_hash): Doc fix.  (Bug#45178)

3 years ago; cperl-mode: Eliminate fallbacks if font-lock isn't loaded
Harald Jörg [Fri, 11 Dec 2020 16:48:30 +0000 (17:48 +0100)]
; cperl-mode: Eliminate fallbacks if font-lock isn't loaded

* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres):
Eliminate conditionals which always evaluate to true if
font-lock is preloaded (since Emacs 22.1).  (Bug#45183)

3 years agoAlso sort the totals section by size
Lars Ingebrigtsen [Fri, 11 Dec 2020 17:58:41 +0000 (18:58 +0100)]
Also sort the totals section by size

* lisp/emacs-lisp/memory-report.el (memory-report): Sort the
totals by size, too.

3 years agoTweak memory-report--format
Lars Ingebrigtsen [Fri, 11 Dec 2020 17:48:44 +0000 (18:48 +0100)]
Tweak memory-report--format

* lisp/emacs-lisp/memory-report.el (memory-report--format): Make
everything line up, even when there's "1023.4kB".

3 years agoAppend incremental message segments in socks-filter
F. Jason Park [Fri, 11 Dec 2020 15:36:02 +0000 (16:36 +0100)]
Append incremental message segments in socks-filter

* lisp/net/socks.el (socks-filter): Preserve the order data arrive
instead of semi-reversing it (bug#45162).

Copyright-paperwork-exempt: yes

3 years agodocstring: If FRAME is nil, it defaults to selected frame.
Pankaj Jangid [Fri, 11 Dec 2020 15:31:48 +0000 (16:31 +0100)]
docstring: If FRAME is nil, it defaults to selected frame.

* src/frame.c (Fset_frame_size): Clarify what a nil FRAME
parameter means (bug#45170).

3 years agoClarify fortran-beginning-of-subprogram doc string after change
Lars Ingebrigtsen [Fri, 11 Dec 2020 15:17:31 +0000 (16:17 +0100)]
Clarify fortran-beginning-of-subprogram doc string after change

* lisp/progmodes/fortran.el (fortran-beginning-of-subprogram):
Clarify doc string (bug#33208).

3 years ago* lisp/progmodes/python.el: Bump version.
Stefan Kangas [Fri, 11 Dec 2020 15:16:36 +0000 (16:16 +0100)]
* lisp/progmodes/python.el: Bump version.

3 years agoFix compilation of image.c on non-Cairo systems
Lars Ingebrigtsen [Fri, 11 Dec 2020 15:02:50 +0000 (16:02 +0100)]
Fix compilation of image.c on non-Cairo systems

* src/image.c (image_frame_cache_size): pixmap->width etc is only
defined on Cairo.  Return 0 for now on other systems.

3 years agobibtex-autokey-get-year: Follow iso8601
Roland Winkler [Fri, 11 Dec 2020 15:00:26 +0000 (09:00 -0600)]
bibtex-autokey-get-year: Follow iso8601

* lisp/textmodes/bibtex.el (bibtex-autokey-get-year): Follow
iso8601 (bug#36252).

3 years agoFix object-interval tests
Lars Ingebrigtsen [Fri, 11 Dec 2020 14:21:44 +0000 (15:21 +0100)]
Fix object-interval tests

* test/src/fns-tests.el (object-intervals): Fix tests.

3 years agoFix parsing error in exif
Lars Ingebrigtsen [Fri, 11 Dec 2020 14:16:05 +0000 (15:16 +0100)]
Fix parsing error in exif

* lisp/image/exif.el (exif--parse-exif-chunk): The offset is a
four-byte number.  Reported by Alan Light <lightalan@gmail.com>.

3 years agoAdd a new command `memory-report'
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:49:53 +0000 (14:49 +0100)]
Add a new command `memory-report'

* doc/lispref/internals.texi (Garbage Collection): Document it.
* lisp/emacs-lisp/memory-report.el: New package.

3 years agoAdd new function `object-intervals'
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:40:20 +0000 (14:40 +0100)]
Add new function `object-intervals'

* doc/lispref/text.texi (Examining Properties): Document it.
* src/fns.c (Fobject_intervals): New defun.
(collect_interval): New function.

3 years agoAdd new function 'image-cache-size'
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:30:44 +0000 (14:30 +0100)]
Add new function 'image-cache-size'

* src/image.c (Fimage_cache_size): New defun.
(image_frame_cache_size): New function.

3 years agoAdd a new function `button-buttonize'
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:25:20 +0000 (14:25 +0100)]
Add a new function `button-buttonize'

* doc/lispref/display.texi (Manipulating Buttons): Document it.

* lisp/button.el (button-buttonize): Implement it.

3 years ago* lisp/battery.el (battery--upower-devices): Protect the D-Bus call.
Michael Albinus [Fri, 11 Dec 2020 10:31:10 +0000 (11:31 +0100)]
* lisp/battery.el (battery--upower-devices): Protect the D-Bus call.

(Bug#45163)

3 years agoFix quoting in gnus-buffer-configuration
Basil L. Contovounesios [Fri, 11 Dec 2020 01:50:17 +0000 (01:50 +0000)]
Fix quoting in gnus-buffer-configuration

* lisp/gnus/gnus-win.el (gnus-buffer-configuration): Include
shell-command-buffer-name value rather than symbol in pipe
configuration.  (Bug#39138, bug#45154)

3 years agoBe more graceful about handling Gnus search errors
Eric Abrahamsen [Fri, 13 Nov 2020 04:03:05 +0000 (20:03 -0800)]
Be more graceful about handling Gnus search errors

One search may be applied to several servers: don't let one server's
error derail the whole process.

* lisp/gnus/gnus-search.el (gnus-search-config-error): Define new
error.
(gnus-search-run-search, gnus-search-server-to-engine): Raise this
specific error as appropriate.
(gnus-search-run-query): Catch this error and effectively demote it.

3 years agoRemove some ancient Emacs compat code from cperl-mode
Stefan Kangas [Thu, 10 Dec 2020 16:42:50 +0000 (17:42 +0100)]
Remove some ancient Emacs compat code from cperl-mode

This variable has this value by default since Emacs 19.34.

* lisp/progmodes/cperl-mode.el (cperl-mode): Remove some compat code.

3 years agoPrefer setq-local in cperl-mode.el
Stefan Kangas [Thu, 10 Dec 2020 16:34:05 +0000 (17:34 +0100)]
Prefer setq-local in cperl-mode.el

* lisp/progmodes/cperl-mode.el (cperl-mode, cperl-info-buffer)
(cperl-setup-tmp-buf, cperl-emulate-lazy-lock): Prefer setq-local.

3 years agoPrefer setq-local in bibtex-style.el
Stefan Kangas [Thu, 10 Dec 2020 08:44:25 +0000 (09:44 +0100)]
Prefer setq-local in bibtex-style.el

* lisp/textmodes/bibtex-style.el (bibtex-style-mode): Prefer
setq-local.

3 years agoAvoid segfaults in pos_visible_p
Eli Zaretskii [Thu, 10 Dec 2020 15:10:06 +0000 (17:10 +0200)]
Avoid segfaults in pos_visible_p

* src/xdisp.c (pos_visible_p): Don't try accessing the glyphs
produced by iterator whose glyph_row was set to NULL; instead,
record the X coordinate before the display string when moving past
it, and use the recorded coordinate if needed.  (Bug#45156)

3 years agoFupcase no longer maps ?ß to itself (bug#11309)
Mattias Engdegård [Thu, 10 Dec 2020 09:57:16 +0000 (10:57 +0100)]
Fupcase no longer maps ?ß to itself (bug#11309)

* test/src/casefiddle-tests.el (casefiddle-tests-char-casing):
(upcase ?ß) now returns ?ẞ (U+7838), partly for technical reasons but
the previous behaviour was arbitrary and arguably less useful.
Correct upcasing of ß is normally SS, which is what Fupcase returns if
given a string, or (for special purposes) ẞ.

3 years agoAllow creating a new tab from the minibuffer (bug#45072)
Juri Linkov [Thu, 10 Dec 2020 08:28:32 +0000 (10:28 +0200)]
Allow creating a new tab from the minibuffer (bug#45072)

* lisp/tab-bar.el (tab-bar-new-tab-to): Select the original window
when selected window is the minibuffer.

3 years agoValentin Gatien-Baron <valentin.gatienbaron@gmail.com>
Dmitry Gutov [Thu, 10 Dec 2020 00:31:39 +0000 (02:31 +0200)]
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>

* lisp/vc/vc-hg.el (vc-hg-working-revision):
Use 'hg log -T' instead of 'hg parent' (bug#36534).

Copyright-paperwork-exempt: yes

3 years agoFix thinko in my previous commit
Stefan Kangas [Wed, 9 Dec 2020 21:40:31 +0000 (22:40 +0100)]
Fix thinko in my previous commit

* lisp/pcomplete.el (pcomplete-comint-setup): Fix thinko in my
previous commit.  This was not a quoted symbol but a variable, and
therefore cannot use setq-local.

3 years ago* lisp/progmodes/xref.el: Bump the version.
Dmitry Gutov [Wed, 9 Dec 2020 21:37:53 +0000 (23:37 +0200)]
* lisp/progmodes/xref.el: Bump the version.

3 years ago; Fix typo in my previous commit
Stefan Kangas [Wed, 9 Dec 2020 21:24:43 +0000 (22:24 +0100)]
; Fix typo in my previous commit

* lisp/pcomplete.el (pcomplete-comint-setup): Fix typo.

3 years agoAllow specifying the project to switch to programmatically
Dmitry Gutov [Wed, 9 Dec 2020 20:56:12 +0000 (22:56 +0200)]
Allow specifying the project to switch to programmatically

* lisp/progmodes/project.el (project-switch-project):
Allow specifying the project to switch to programmatically
(bug#45134).

3 years agoAdd missing defcustom keywords to new variables
Dmitry Gutov [Wed, 9 Dec 2020 19:42:19 +0000 (21:42 +0200)]
Add missing defcustom keywords to new variables

* lisp/progmodes/xref.el (xref-search-program-alist)
(xref-search-program): Add :version and :package-version.

3 years agoClarify `scroll-preserve-screen-position' doc string
Lars Ingebrigtsen [Wed, 9 Dec 2020 19:40:03 +0000 (20:40 +0100)]
Clarify `scroll-preserve-screen-position' doc string

* src/window.c (syms_of_window): Clarify the doc string (bug#7910).

3 years agoRemove isearch-input-method-local-p and always set buffer-local input-method
Juri Linkov [Wed, 9 Dec 2020 19:30:47 +0000 (21:30 +0200)]
Remove isearch-input-method-local-p and always set buffer-local input-method

* lisp/isearch.el (isearch-input-method-local-p): Remove defvar.
(isearch-mode): Don't set isearch-input-method-local-p.
Set buffer-local input-method-function to nil.
(isearch-done): When isearch-input-method-function is still non-nil,
set the buffer-local value of input-method-function.  (Bug#45005)

* lisp/international/isearch-x.el (isearch-toggle-specified-input-method)
(isearch-toggle-input-method, isearch-transient-input-method):
Don't set isearch-input-method-local-p to t.  Set buffer-local
input-method-function to nil.

* lisp/language/korea-util.el (isearch-toggle-korean-input-method)
(isearch-hangul-switch-symbol-ksc, isearch-hangul-switch-hanja):
Don't set isearch-input-method-local-p to t.  Set buffer-local
input-method-function to nil.

3 years agoSupport highlighting of ripgrep output (bug#44983)
Juri Linkov [Wed, 9 Dec 2020 19:16:03 +0000 (21:16 +0200)]
Support highlighting of ripgrep output (bug#44983)

* etc/grep.txt: Add ripgrep samples.

* lisp/progmodes/grep.el (grep-match-regexp): Highlight ripgrep matches too.
(grep-regexp-alist): Remove $ to highlight ripgrep binary file matches.

3 years agoStricter gradle-kotlin message pattern
Mattias Engdegård [Sun, 6 Dec 2020 15:22:09 +0000 (16:22 +0100)]
Stricter gradle-kotlin message pattern

* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Rule 'gradle-kotlin': don't be more forgiving than necessary; we know
exactly what the output looks like (see
https://github.com/JetBrains/kotlin/commit/\
ffe8ae3840d7b9bdc82170c8181031f05ced68bd) and there is no reason to
risk mismatches or expensive backtracking (bug#18109).  Recognise
'info' level messages.  Convert to rx.

3 years agoInclude the keymap in the gud-mode doc string
Lars Ingebrigtsen [Wed, 9 Dec 2020 17:42:36 +0000 (18:42 +0100)]
Include the keymap in the gud-mode doc string

* lisp/progmodes/gud.el (gud-mode): Add the gud keymap to the end
of the doc string for easier access (bug#31406).

3 years ago`pdb' doc string clarification
Lars Ingebrigtsen [Wed, 9 Dec 2020 17:36:41 +0000 (18:36 +0100)]
`pdb' doc string clarification

* lisp/progmodes/gud.el (pdb): Mention that this command is for
debugging Python scripts.

3 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 9 Dec 2020 16:50:12 +0000 (08:50 -0800)]
; Merge from origin/emacs-27

The following commit was skipped:

809b22d18d (origin/emacs-27) Fix crash (segfault) in etags on generat...

3 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 9 Dec 2020 16:50:12 +0000 (08:50 -0800)]
Merge from origin/emacs-27

c0b3e38d7c Update publicsuffix.txt from upstream
3fe6cea6e0 * lisp/vc/vc.el: Update args of backend API calls in the h...

3 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 9 Dec 2020 16:50:12 +0000 (08:50 -0800)]
; Merge from origin/emacs-27

The following commit was skipped:

a40be60ec8 Backport Handle read-char-from-minibuffer and y-or-n-p fro...

3 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 9 Dec 2020 16:50:12 +0000 (08:50 -0800)]
Merge from origin/emacs-27

32090a3de4 Improve documentation of streams in batch mode
34feded008 Support ks_c_5601-1987 encoding
da00a6f317 Fix Xaw widget text disappearing when built with cairo (bu...
6916e7954a Improve documentation of 'ps-print-color-p'
6663b2f211 ; * lisp/simple.el (move-beginning-of-line): Doc fix.
a4dd03ebe9 ; * src/charset.c (Fmap_charset_chars): Doc fix.
d86cc3ffcb ; * src/chartab.c, src/lisp.h: Fix typos in comments.

3 years agoFix mark-defun in fortran-mode
Lars Ingebrigtsen [Wed, 9 Dec 2020 16:35:59 +0000 (17:35 +0100)]
Fix mark-defun in fortran-mode

* lisp/progmodes/fortran.el (fortran-beginning-of-subprogram):
Make mark-defun work (bug#33208).

3 years agoImprove predictability of 'scroll-preserve-screen-position'
Eli Zaretskii [Wed, 9 Dec 2020 16:13:35 +0000 (18:13 +0200)]
Improve predictability of 'scroll-preserve-screen-position'

* src/window.c (window_scroll_pixel_based): Compute the new
window-start more precisely when 'scroll-preserve-screen-position'
is non-nil.  (Bug#8355)

3 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Wed, 9 Dec 2020 15:18:01 +0000 (17:18 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

3 years agoUpdate docs of 'defvar' and 'defface'
Eli Zaretskii [Wed, 9 Dec 2020 15:17:09 +0000 (17:17 +0200)]
Update docs of 'defvar' and 'defface'

* doc/lispref/display.texi (Defining Faces):
* doc/lispref/variables.texi (Defining Variables): Update the
descriptions of 'defvar' and 'defface' per recent changes in
'eval-last-sexp'.  (Bug#45125)

3 years agoFix info mode fontification of built-in (*note Built-ins::)
Lars Ingebrigtsen [Wed, 9 Dec 2020 15:07:50 +0000 (16:07 +0100)]
Fix info mode fontification of built-in (*note Built-ins::)

* lisp/info.el (Info-fontify-node): Don't interpret things like
"built-in" as being the word "in" (bug#34661).

3 years agoFix crash (segfault) in etags on generating tags for Erlang files
Serge Tupchii [Tue, 8 Dec 2020 20:22:34 +0000 (21:22 +0100)]
Fix crash (segfault) in etags on generating tags for Erlang files

* lib-src/etags.c: Set allocated and lastlen to zero, after
freeing last ptr in Erlang_functions to prevent dereferencing NULL
pointer (bug#45122).

Copyright-paperwork-exempt: yes

(cherry picked from commit 2d8f0364fcd1d5dad2b82dd3a9af870b03854547)

3 years agoRecognise ß properly as a lower-case letter (bug#11309)
Mattias Engdegård [Wed, 9 Dec 2020 12:27:16 +0000 (13:27 +0100)]
Recognise ß properly as a lower-case letter (bug#11309)

ß was incorrectly treated as a caseless character and thus not matched
by the regexp [[:lower:]] (or, in case-folding mode, [[:upper:]]).
The reason is that the upcase table maps it to itself, which can be
remedied by mapping it to ẞ (U+7838) instead.  Doing so does not
affect upcasing since the special-uppercase property maps it to SS.

* lisp/international/characters.el (tbl): Map ß to ẞ in the upcase
table.
* test/src/regex-emacs-tests.el (regexp-eszett): Uncomment previously
failing tests.  Add checks to make sure that case transformations
remain valid.

3 years agocl-pushnew manual clarification
Lars Ingebrigtsen [Wed, 9 Dec 2020 13:52:49 +0000 (14:52 +0100)]
cl-pushnew manual clarification

* doc/misc/cl.texi (Modify Macros): Don't claim that cl-pushnew
uses eql.
(Lists as Sets): Mention that eql is the default comparison function.

3 years agocl-defmethod doc string clarification
Lars Ingebrigtsen [Wed, 9 Dec 2020 13:51:48 +0000 (14:51 +0100)]
cl-defmethod doc string clarification

* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Clarify the doc
string, and give an example (bug#42322).

3 years agoClarify the default-boundp doc string
Lars Ingebrigtsen [Wed, 9 Dec 2020 13:18:28 +0000 (14:18 +0100)]
Clarify the default-boundp doc string

* src/data.c (Fdefault_boundp): Doc string clarification (bug#44141).

3 years agoMake ediff offer to create files it's inferring
Lars Ingebrigtsen [Wed, 9 Dec 2020 12:50:06 +0000 (13:50 +0100)]
Make ediff offer to create files it's inferring

* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Offer to create
the inferred file name (if it doesn't exist) (bug#8009).  This allows
applying a patch that creates a file.

3 years agoImprove tests for gio file notifications
Michael Albinus [Wed, 9 Dec 2020 13:49:58 +0000 (14:49 +0100)]
Improve tests for gio file notifications

* .gitlab-ci.yml (test-filenotify-gio): Call "make -k".

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
Set connection property "gio-file-monitor".

* lisp/net/tramp-sh.el (tramp-get-remote-gio-file-monitor): New defun.
(tramp-sh-handle-file-notify-add-watch): Use it.

* test/lisp/filenotify-tests.el (file-notify--test-read-event): Simplify.
(file-notify--test-monitor): Handle also remote "gio monitor".
(file-notify-test03-events, file-notify-test04-autorevert)
(file-notify-test05-file-validity, file-notify-test08-backup)
(file-notify-test09-watched-file-in-watched-dir):
Handle GKqueueFileMonitor.

3 years agoFilter revoked keys when saving files
Lars Ingebrigtsen [Wed, 9 Dec 2020 12:17:06 +0000 (13:17 +0100)]
Filter revoked keys when saving files

* lisp/epa-file.el (epa-file-write-region): Use it to select a
non-revoked key (bug#22359).

* lisp/epg.el (epg--filter-revoked-keys): New function.

3 years agoPrefer setq-local in most files
Stefan Kangas [Wed, 9 Dec 2020 08:44:38 +0000 (09:44 +0100)]
Prefer setq-local in most files

* lisp/apropos.el (apropos-print):
* lisp/buff-menu.el (Buffer-menu-mode):
* lisp/calc/calc.el (calc-trail-buffer):
* lisp/chistory.el (command-history-mode):
* lisp/dabbrev.el:
* lisp/dframe.el (dframe-frame-mode):
* lisp/doc-view.el (doc-view-presentation-mode):
* lisp/ebuff-menu.el (electric-buffer-menu-mode)
(electric-buffer-update-highlight):
* lisp/edmacro.el (edit-kbd-macro):
* lisp/face-remap.el (buffer-face-set, buffer-face-toggle):
* lisp/files.el:
(find-file-noselect-1, hack-local-variables-confirm)
(set-visited-file-name, revert-buffer--default):
* lisp/filesets.el (filesets-spawn-external-viewer):
* lisp/find-dired.el (find-dired):
* lisp/find-lisp.el (find-lisp-find-dired-internal):
* lisp/finder.el (finder-mode):
* lisp/font-core.el (font-lock-default-function):
* lisp/format.el (format-annotate-function):
* lisp/help-fns.el (describe-variable):
* lisp/help-mode.el (help-mode):
* lisp/icomplete.el (icomplete-minibuffer-setup)
(icomplete--in-region-setup):
* lisp/ido.el (ido-completion-help, ido-tidy):
* lisp/international/robin.el (robin-activate):
* lisp/leim/quail/hangul.el (hangul-input-method-activate):
* lisp/leim/quail/uni-input.el (ucs-input-activate):
* lisp/man.el (Man-mode):
* lisp/master.el (master-set-slave):
* lisp/minibuffer.el (minibuffer-completion-help)
(read-file-name-default):
* lisp/outline.el (outline-minor-mode):
* lisp/pcomplete.el (pcomplete-comint-setup):
* lisp/proced.el (proced-mode):
* lisp/recentf.el (recentf-edit-list, recentf-open-files-items):
* lisp/replace.el (occur-1):
* lisp/reveal.el (reveal-mode):
* lisp/ruler-mode.el (ruler--save-header-line-format):
* lisp/scroll-lock.el (scroll-lock-mode):
* lisp/startup.el (normal-top-level, normal-splash-screen):
* lisp/strokes.el (strokes-list-strokes):
* lisp/thumbs.el (thumbs-insert-image, thumbs-show-thumbs-list):
* lisp/tree-widget.el (tree-widget-set-theme):
* lisp/window.el (read-buffer-to-switch):
* lisp/xwidget.el (xwidget-webkit-begin-edit-textarea): Prefer
setq-local.