]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoMerge remote-tracking branch 'origin/scratch/noverlay-wip' into noverlay
Stefan Monnier [Wed, 28 Sep 2022 15:57:16 +0000 (11:57 -0400)]
Merge remote-tracking branch 'origin/scratch/noverlay-wip' into noverlay

2 years agoAvoid nested iteration over intervals (bug#58144)
Gerd Möllmann [Wed, 28 Sep 2022 14:38:04 +0000 (16:38 +0200)]
Avoid nested iteration over intervals (bug#58144)

* src/xdisp.c (strings_with_newlines): Call
buffer_overlay_iter_finish.

2 years agoAdd debugging help for nested iterators (nug#58144)
Gerd Möllmann [Wed, 28 Sep 2022 14:30:34 +0000 (16:30 +0200)]
Add debugging help for nested iterators (nug#58144)

When starting an iteration, store __FILE__ and __LINE__ where this
happens in the interval_tree structure.

* src/buffer.h (buffer_overlay_iter_start): New macro adding __FILE
and __LINE__.
(buffer_overlay_iter_start1): Renamed from ..._start.
* src/itree.h (struct interval_tree): Add file and line info.
* src/itree.c: (interval_tree_contains, interval_tree_nodes,
interval_tree_insert_gap): Pass __FILE__ and __LINE__ to iter_start.
(interval_tree_iter_start): Record file and line info in tree.

2 years agoFix last change
Gerd Möllmann [Wed, 28 Sep 2022 10:10:30 +0000 (12:10 +0200)]
Fix last change

2 years agoFix macOS build (bug#58108)
Gerd Möllmann [Tue, 27 Sep 2022 10:45:16 +0000 (12:45 +0200)]
Fix macOS build (bug#58108)

* src/itree.h (struct interval_tree): Rename member nil to null.
* src/itree.c: Use null instead of nil
* src/pdumper.c (dump_buffer): Use null instead of nil.
* src/itree.c: Fix copyright.
* src/itree.h: Fix copyright.

2 years ago* src/buffer.c (overlays_in): Fix confusion Z-vs-ZV
Stefan Monnier [Mon, 26 Sep 2022 02:24:35 +0000 (22:24 -0400)]
* src/buffer.c (overlays_in): Fix confusion Z-vs-ZV

This fixes test failures in `test-overlays-in-2` and `test-remove-overlays`.

2 years agoMerge 'master' into noverlay
Stefan Monnier [Sun, 25 Sep 2022 20:15:16 +0000 (16:15 -0400)]
Merge 'master' into noverlay

2 years agoMerge remote-tracking branch 'refs/remotes/origin/master'
Stefan Monnier [Sat, 24 Sep 2022 15:09:25 +0000 (11:09 -0400)]
Merge remote-tracking branch 'refs/remotes/origin/master'

2 years agohideshow.el: Improve hs-toggle-hiding behavior
kobarity [Mon, 19 Sep 2022 04:43:33 +0000 (13:43 +0900)]
hideshow.el: Improve hs-toggle-hiding behavior

* lisp/progmodes/hideshow.el
(hs-find-block-beginning-match): New function to be used in
`hs-already-hidden-p'.
(hs-already-hidden-p): Add check if beginning of line is inside a
block.
(hs-toggle-hiding): Don't change to selected-window's buffer when
event arg is absent.

* test/lisp/progmodes/hideshow-tests.el
(hideshow-tests-with-temp-buffer-selected): New helper macro.
(hideshow-tests-make-event-at): New helper function.
(hideshow-already-hidden-p-1): New test.
(hideshow-toggle-hiding-1): New test.
(hideshow-mouse-toggle-hiding-1): New test (bug#52092).

2 years agoRegenerated ldefs-boot.el
Lars Ingebrigtsen [Sat, 24 Sep 2022 14:51:37 +0000 (16:51 +0200)]
Regenerated ldefs-boot.el

2 years agoRemove "manual" package--builtin-versions updates
Lars Ingebrigtsen [Sat, 24 Sep 2022 14:46:22 +0000 (16:46 +0200)]
Remove "manual" package--builtin-versions updates

* lisp/emacs-lisp/nadvice.el:
* lisp/emacs-lisp/cl-generic.el: Don't push to
package--builtin-versions "manually", because loaddefs-gen does
this correctly now.

2 years ago* lisp/net/tramp-docker.el: New file.
Brian Cully [Sat, 24 Sep 2022 14:48:01 +0000 (16:48 +0200)]
* lisp/net/tramp-docker.el: New file.

2 years ago(event-start/end): Fix part of bug#52092
Stefan Monnier [Sat, 24 Sep 2022 14:38:09 +0000 (10:38 -0400)]
(event-start/end): Fix part of bug#52092

When synthesizing a posn for keyboard events, make sure the `posn-point`
i the same as `point`.

* lisp/subr.el (event--posn-at-point): New function.
(event-start, event-end): Use it.

2 years agoMerge branch 'emacs-28'
Stefan Monnier [Sat, 24 Sep 2022 14:32:39 +0000 (10:32 -0400)]
Merge branch 'emacs-28'

2 years ago* lisp/progmodes/hideshow.el (hs-toggle-hiding): Fix `interactive` form
Stefan Monnier [Sat, 24 Sep 2022 14:24:54 +0000 (10:24 -0400)]
* lisp/progmodes/hideshow.el (hs-toggle-hiding): Fix `interactive` form

This fixes the first part of bug#52092, which is a regression
introduced by commit d0e9113de97.

2 years agoMake dired-do-rename refuse to rename . and ..
Lars Ingebrigtsen [Sat, 24 Sep 2022 13:27:50 +0000 (15:27 +0200)]
Make dired-do-rename refuse to rename . and ..

* lisp/dired-aux.el (dired-do-rename): Refuse to rename . and ..
(bug#52004).  This used to error out after renaming.

2 years agoAdd a new command vc-pull-and-push
Lars Ingebrigtsen [Sat, 24 Sep 2022 13:17:23 +0000 (15:17 +0200)]
Add a new command vc-pull-and-push

* lisp/vc/vc-svn.el (vc-exec-after):
* lisp/vc/vc-hg.el (vc-exec-after):
* lisp/vc/vc-git.el (vc-exec-after):
* lisp/vc/vc-cvs.el (vc-exec-after):
* lisp/vc/vc-bzr.el (vc-exec-after):
* lisp/org/org-macro.el (vc-exec-after):
* lisp/obsolete/vc-mtn.el (vc-exec-after):
* lisp/obsolete/vc-arch.el (vc-exec-after): Update declaration.
* lisp/vc/vc-dispatcher.el (vc--process-sentinel): Allow running
code only on success.
(vc-exec-after): Ditto.
(vc--inhibit-change-window-start): New variable.
(vc-do-async-command): Use it to allow chaining commands without
moving window point.  Return the process instead of the buffer,
since the process may have exited already, and then we can't get
at the process.

* lisp/vc/vc-git.el (vc-git--pushpull): Return the process object.
(vc-git-pull-and-push): New function.

* lisp/vc/vc.el (vc-pull-and-push): New command (bug#51964).

2 years agoTweak binding of `+' in vc-dir
Lars Ingebrigtsen [Sat, 24 Sep 2022 13:07:17 +0000 (15:07 +0200)]
Tweak binding of `+' in vc-dir

* lisp/vc/vc-dir.el (vc-dir-mode-map): Point to the actual
function instead of the alias.  This makes *Help* more helpful.

2 years agoCC Mode. Make AWK Mode work with electric-pair-mode
Alan Mackenzie [Sat, 24 Sep 2022 12:23:32 +0000 (12:23 +0000)]
CC Mode.  Make AWK Mode work with electric-pair-mode

Also fix some minor anomalies with other CC Mode modes in electric-pair-mode.
This fixes bug #53446.

* lisp/progmodes/cc-mode.el (c-open-string-opener): New buffer local
variable.
(c-after-change-mark-abnormal-strings): Set c-open-string-opener when an
unbalanced string is detected.
(c-before-change): Initilize c-open-string-opener to nil, each buffer change.
(c-electric-pair-inhibit-predicate): Use the value of c-open-string-opener to
flag an unbalaced string rather than trying to calculate it again.

* lisp/progmodes/cc-awk.el (c-awk-syntax-tablify-string): Set
c-open-string-opener when an unbalanced string is detected.

2 years agodocview: Use svg images when using mupdf for conversion
Visuwesh [Sat, 24 Sep 2022 12:09:53 +0000 (14:09 +0200)]
docview: Use svg images when using mupdf for conversion

* lisp/doc-view.el (doc-view-mupdf-use-svg, doc-view-svg-background)
(doc-view-svg-foreground): New user options.
(doc-view-insert-image): Add :background and :foreground image
attributes when display svg images.
(doc-view-set-up-single-converter): Produce svg images when using
mupdf (bug#58041).

2 years agoimage-dired: Prefer command remapping
Stefan Kangas [Sat, 24 Sep 2022 12:07:55 +0000 (14:07 +0200)]
image-dired: Prefer command remapping

* lisp/image/image-dired.el (image-dired-thumbnail-mode-map):
Prefer command remapping to binding keys directly.

2 years agoimage-dired: Fix C-a/C-e in thumbnail buffer
Stefan Kangas [Sat, 24 Sep 2022 11:36:39 +0000 (13:36 +0200)]
image-dired: Fix C-a/C-e in thumbnail buffer

* lisp/image/image-dired.el
(image-dired--movement-ensure-point-pos): New function, and...
(image-dired--movement-command): ...new macros broken out from...
(image-dired-next-line, image-dired-previous-line)
(image-dired-beginning-of-buffer, image-dired-end-of-buffer):
...here.
(image-dired-move-beginning-of-line)
(image-dired-move-end-of-line): New commands.
(image-dired-thumbnail-mode-map): Remap 'move-beginning-of-line'
and 'move-beginning-of-line' to above new commands.

2 years agoMake thumbs.el obsolete
Stefan Kangas [Sat, 24 Sep 2022 11:22:59 +0000 (13:22 +0200)]
Make thumbs.el obsolete

* lisp/obsolete/thumbs.el: Add Obsolete-since.
* etc/NEWS: Announce obsoletion of thumbs.el.  (Bug#57779)

2 years agoMove thumbs.el to lisp/obsolete
Stefan Kangas [Sat, 24 Sep 2022 11:18:38 +0000 (13:18 +0200)]
Move thumbs.el to lisp/obsolete

* lisp/thumbs.el:
* test/lisp/thumbs-tests.el: Move from here...
* lisp/obsolete/thumbs.el:
* test/lisp/obsolete/thumbs-tests.el: ...to here.  (Bug#57779)

2 years agoimage-dired: Regenerate old thumbnails when needed
Stefan Kangas [Sat, 24 Sep 2022 11:08:11 +0000 (13:08 +0200)]
image-dired: Regenerate old thumbnails when needed

* lisp/image/image-dired.el
(image-dired--get-create-thumbnail-file): Rename from
'image-dired-get-thumbnail-image'.  Update callers and make old
name into an obsolete alias.
(image-dired-display-thumbs): Use above function to simplify and
regenerate the thumbnail if it's outdated.

2 years agoimage-dired: Improve performance of marking commands
Stefan Kangas [Sat, 24 Sep 2022 10:44:11 +0000 (12:44 +0200)]
image-dired: Improve performance of marking commands

* lisp/image/image-dired.el (image-dired-thumbnail-storage): Mark
(image-dired--thumb-update-mark-at-point): New function.
(image-dired--thumb-update-marks):
(image-dired--do-mark-command):  Use it.
(image-dired--thumb-update-marks): Rename from
'image-dired-thumb-update-marks'.  Update all callers and make the
old name into an obsolete alias.

2 years agoimage-dired: Mark 'per-directory' as :safe
Stefan Kangas [Sat, 24 Sep 2022 10:38:41 +0000 (12:38 +0200)]
image-dired: Mark 'per-directory' as :safe

* lisp/image/image-dired.el (image-dired-thumbnail-storage): Mark
'per-directory' value as :safe.

2 years agoAdd new macro image-dired--with-dired-buffer
Stefan Kangas [Sat, 24 Sep 2022 09:49:46 +0000 (11:49 +0200)]
Add new macro image-dired--with-dired-buffer

* lisp/image/image-dired-util.el
(image-dired--with-dired-buffer): New macro.
* lisp/image/image-dired.el (image-dired-track-original-file)
(image-dired--on-file-in-dired-buffer)
(image-dired--do-mark-command)
(image-dired--on-file-in-dired-buffer)
(image-dired-jump-original-dired-buffer)
(image-dired-thumb-file-marked-p, image-dired-delete-marked):
Use above new macro to simplify and improve error handling.
(image-dired-show-all-from-dir): Simplify removing Dired marks.
(image-dired-thumb-update-marks): Avoid triggering above new error
handling.

2 years agoTweak how :override advice is formatted in *Help*
Lars Ingebrigtsen [Sat, 24 Sep 2022 12:06:26 +0000 (14:06 +0200)]
Tweak how :override advice is formatted in *Help*

* lisp/emacs-lisp/nadvice.el (advice--make-single-doc): Format
:overrides specially (bug#57974).
(advice--make-docstring): Put overrides at the front.

2 years agoRename file-name-directory
Lars Ingebrigtsen [Sat, 24 Sep 2022 10:44:44 +0000 (12:44 +0200)]
Rename file-name-directory

* lisp/emacs-lisp/shortdoc.el (file-name):
* doc/lispref/files.texi (Directory Names): Adjust.
* lisp/files.el (file-name-parent-directory): Rename from
`file-name-directory' (bug#58039).

2 years agoEnsure that cus-load doesn't add things twice
Lars Ingebrigtsen [Sat, 24 Sep 2022 10:15:58 +0000 (12:15 +0200)]
Ensure that cus-load doesn't add things twice

* lisp/cus-dep.el (custom-make-dependencies): Use it.

* lisp/custom.el (custom--add-custom-loads): New function.

2 years ago`append' doc string clarification
Lars Ingebrigtsen [Sat, 24 Sep 2022 09:43:04 +0000 (11:43 +0200)]
`append' doc string clarification

* src/fns.c (Fappend): Clarify whether arguments are copied.

2 years agoClarify message-newline-and-reformat doc string
Lars Ingebrigtsen [Sat, 24 Sep 2022 09:36:28 +0000 (11:36 +0200)]
Clarify message-newline-and-reformat doc string

* lisp/gnus/message.el (message-newline-and-reformat): Clarify the
DWIM-ness in the doc string (bug#57986).

2 years ago; * lisp/image/image-dired.el: Improve sectioning.
Stefan Kangas [Sat, 24 Sep 2022 09:10:29 +0000 (11:10 +0200)]
; * lisp/image/image-dired.el: Improve sectioning.

2 years ago; Make 'M-x image-dired' prompt even clearer
Stefan Kangas [Sat, 24 Sep 2022 09:07:45 +0000 (11:07 +0200)]
; Make 'M-x image-dired' prompt even clearer

* lisp/image/image-dired.el (image-dired-show-all-from-dir):
Make prompt even clearer.
Suggested by Eli Zaretskii <eliz@gnu.org>.

2 years agoImprove image-dired-thumbnail-display-external
Stefan Kangas [Sat, 24 Sep 2022 09:06:51 +0000 (11:06 +0200)]
Improve image-dired-thumbnail-display-external

* lisp/image/image-dired.el: (image-dired-external-viewer): Add more
image viewers and slightly re-arrange.
(image-dired-thumbnail-display-external): Correctly handle
external viewers with spaces or flags.

2 years ago* lisp/emacs-lisp/shortdoc.el (file-name): Improve examples.
Stefan Kangas [Sat, 24 Sep 2022 00:15:53 +0000 (02:15 +0200)]
* lisp/emacs-lisp/shortdoc.el (file-name): Improve examples.

2 years agoimage-dired: Use command substitution for tags bindings
Stefan Kangas [Fri, 23 Sep 2022 23:45:54 +0000 (01:45 +0200)]
image-dired: Use command substitution for tags bindings

* lisp/image/image-dired-tags.el
(image-dired-dired-edit-comment-and-tags): Use substitute-command-keys

2 years agoimage-dired: Various code clean ups
Stefan Kangas [Fri, 23 Sep 2022 21:47:23 +0000 (23:47 +0200)]
image-dired: Various code clean ups

* lisp/image/image-dired.el
(image-dired--display-thumb-properties-fun): Delete function.
(image-dired-forward-image): Immediately update header line.  Improve
docstring.
(image-dired-backward-image, image-dired-next-line)
(image-dired-previous-line, image-dired-beginning-of-buffer)
(image-dired-end-of-buffer, image-dired-display-image): Improve
docstring.
(image-dired-comment-thumbnail): Fix interactive declaration.

2 years agoReduce complexity of scroll bar window protection code
Po Lu [Sat, 24 Sep 2022 08:27:42 +0000 (16:27 +0800)]
Reduce complexity of scroll bar window protection code

It turns out my previous theories of why ClientMessages were
generated were wrong, and they are just generated so we can set
finish to X_EVENT_GOTO_OUT to have them delivered immediately.

This allows for the code to be simplified greatly, by not
unpacking pointers to the raw window into the client messages.

* src/xterm.c (x_unprotect_window_for_callback): Return the
window removed from the queue, or nil if none.
(x_scroll_bar_to_input_event)
(x_horizontal_scroll_bar_to_input_event): Use window provided by
x_unprotect_window_for_callback.
(handle_one_xevent): Pass dpyinfo to functions that need it.
(x_free_frame_resources): Remove "first scroll bar request"
code.

* src/xterm.h (struct x_display_info): Likewise.

2 years agoNew Flymake backend using the shellcheck program
Augusto Stoffel [Sat, 17 Sep 2022 16:30:04 +0000 (18:30 +0200)]
New Flymake backend using the shellcheck program

See bug#57884.

* lisp/progmodes/sh-script.el: Require let-alist and subr-x when
compiling.
(sh--json-read): Helper function to deal with possible absence of
json-parse-buffer.
(sh-shellcheck-program, sh--shellcheck-process,
sh-shellcheck-flymake): Variables and function defining a Flymake
backend.
(sh-mode): Add it to 'flymake-diagnostic-functions'.

2 years ago; * src/keyboard.c (Fposn_at_point): Doc fix. (Bug#52092)
Eli Zaretskii [Sat, 24 Sep 2022 06:22:45 +0000 (09:22 +0300)]
; * src/keyboard.c (Fposn_at_point): Doc fix.  (Bug#52092)

2 years agovc-git--pushpull: Restore handling of vc-git-program
Sean Whitton [Fri, 23 Sep 2022 17:43:31 +0000 (10:43 -0700)]
vc-git--pushpull: Restore handling of vc-git-program

* lisp/vc/vc-git.el (vc-git--pushpull): Restore handling of
vc-git-program before recent change: respect a buffer-local value of
vc-git-program, and don't ignore user edits to the git program name
when PROMPT.

2 years ago* lisp/emacs-lisp/eieio.el (defclass): Fix bug#51068
Stefan Monnier [Fri, 23 Sep 2022 21:42:55 +0000 (17:42 -0400)]
* lisp/emacs-lisp/eieio.el (defclass): Fix bug#51068

Accept (defclass <class> <superclasses> (.. <slotname> ..)) without
having to wrap the slot name within parentheses.

2 years agoimage-dired: Rewrite and extend slideshow feature
Stefan Kangas [Fri, 23 Sep 2022 21:12:10 +0000 (23:12 +0200)]
image-dired: Rewrite and extend slideshow feature

* lisp/image/image-dired.el
(image-dired--slideshow-start-timer)
(image-dired--slideshow-stop-timer)
(image-dired--slideshow-show-message): New functions.
(image-dired--slideshow-current-delay): New variable.
(image-dired--slideshow-initial): Delete variable.
(image-dired-slideshow-start): Simplify and ensure we display the
image at start.
* lisp/image/image-dired.el (image-dired--slideshow-stop): Add support
for pausing, and going backwards and forwards during slideshow.

2 years agoimage-dired: Mark two slideshow defuns as internal
Stefan Kangas [Fri, 23 Sep 2022 18:18:17 +0000 (20:18 +0200)]
image-dired: Mark two slideshow defuns as internal

* lisp/image/image-dired.el (image-dired--slideshow-step)
(image-dired--slideshow-stop): Rename from
'image-dired--slideshow-step' and 'image-dired--slideshow-stop'.
Update callers and make old names into obsolete aliases.

2 years agocconv.el: Fix interactive closure bug#51695
Stefan Monnier [Fri, 23 Sep 2022 20:36:16 +0000 (16:36 -0400)]
cconv.el: Fix interactive closure bug#51695

Make cconv.el detect when a closure's interactive form needs to
capture variables from the context and tweak the code accordingly
if so.

* lisp/emacs-lisp/cconv.el (cconv--interactive-form-funs): New var.
(cconv-convert): Handle the case where the interactive form captures
vars from the surrounding context.  Remove left over handling of
`declare` which was already removed from the cconv-analyze` phase.
(cconv-analyze-form): Adjust analysis of interactive forms accordingly.

* lisp/emacs-lisp/oclosure.el (cconv--interactive-helper): New type and
function.
* lisp/simple.el (function-documentation, oclosure-interactive-form):
Add methods for it.

* test/lisp/emacs-lisp/cconv-tests.el
(cconv-tests-interactive-closure-bug51695): New test.

2 years agoMake Gnus respect mode-line-buffer-identification-keymap
Visuwesh [Fri, 23 Sep 2022 16:21:55 +0000 (18:21 +0200)]
Make Gnus respect mode-line-buffer-identification-keymap

* lisp/gnus/gnus-group.el (gnus-group-set-mode-line): Use
'propertized-buffer-identification' to buttonise and fontify the
buffer name.
* lisp/gnus/gnus-sum.el (gnus-set-mode-line):
* lisp/gnus/gnus.el (gnus-mode-line-buffer-identification): Adjust
calls to above.
* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Add missing
'gnus-modeline-buffer-identification' call (bug#57977).

2 years agoMake bounding box of 'image-crop' more noticeable
Visuwesh [Fri, 23 Sep 2022 16:11:25 +0000 (18:11 +0200)]
Make bounding box of 'image-crop' more noticeable

* lisp/image/image-crop.el (image-crop--crop-image-1): Darken the
selected region to make the bounding-box more noticable in images
which are mostly white (bug#58004).

2 years agoDon't overwrite cus-load dependencies
Lars Ingebrigtsen [Fri, 23 Sep 2022 16:06:38 +0000 (18:06 +0200)]
Don't overwrite cus-load dependencies

* lisp/cus-dep.el (custom-make-dependencies): Don't overwrite
elements added by packages (bug#58015).

2 years agoMake loaddefs-gen register parent :groups from defcustom
Lars Ingebrigtsen [Fri, 23 Sep 2022 15:58:41 +0000 (17:58 +0200)]
Make loaddefs-gen register parent :groups from defcustom

* lisp/emacs-lisp/loaddefs-gen.el
(loaddefs-generate--make-autoload): Also register parent :groups from
`defgroup' entries (bug#58015).

2 years agoFix syntax check in python-info-looking-at-beginning-of-defun
kobarity [Fri, 23 Sep 2022 15:39:53 +0000 (17:39 +0200)]
Fix syntax check in python-info-looking-at-beginning-of-defun

* lisp/progmodes/python.el
(python-info-looking-at-beginning-of-defun): Check syntax after moving
to the beginning of line.
* test/lisp/progmodes/python-tests.el (python-nav-beginning-of-defun-6)
(python-end-of-defun-1, python-info-looking-at-beginning-of-defun-3):
New tests (bug#58023).

2 years agoInhibit image-crop when there's overlays
Lars Ingebrigtsen [Fri, 23 Sep 2022 15:34:46 +0000 (17:34 +0200)]
Inhibit image-crop when there's overlays

* lisp/image/image-crop.el (image-crop): Don't mess with overlays,
because they're a pain to reconstruct (bug#58027).

2 years agoDelete the correct region after cropping an image
Lars Ingebrigtsen [Fri, 23 Sep 2022 15:31:23 +0000 (17:31 +0200)]
Delete the correct region after cropping an image

* lisp/image/image-crop.el (image-crop): Delete the correct region
after editing (bug#58027).

2 years agoimage-dired: Disable 'image-map' in thumbnail buffer
Stefan Kangas [Fri, 23 Sep 2022 15:22:47 +0000 (17:22 +0200)]
image-dired: Disable 'image-map' in thumbnail buffer

These bindings are more likely to mess up the buffer than to be
helpful here; image manipulation is better done in the display buffer.

* lisp/image/image-dired.el (image-dired-insert-thumbnail): Disable
`image-map' in thumbnail buffer.

2 years agoUpdate manual for recent image-dired changes
Stefan Kangas [Fri, 23 Sep 2022 15:10:15 +0000 (17:10 +0200)]
Update manual for recent image-dired changes

* doc/emacs/dired.texi (Image-Dired): Update to reflect recent
changes.

2 years ago* lisp/files.el (risky-local-variable): Remove max-specpdl-size.
Mattias Engdegård [Fri, 23 Sep 2022 14:12:29 +0000 (16:12 +0200)]
* lisp/files.el (risky-local-variable): Remove max-specpdl-size.

2 years agoRemove max-specpdl-size overrun test
Mattias Engdegård [Fri, 23 Sep 2022 13:26:13 +0000 (15:26 +0200)]
Remove max-specpdl-size overrun test

* test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
(eval-exceed-specbind-with-signal-hook): Remove test that is
no longer useful, since there is no longer any specpdl limit
to overrun.  (The test still passed but vacuously so, by
hitting the max-lisp-eval-depth limit instead.)
This silences an obsoletion warning.

2 years ago; Fix :type of image-dired-thumbnail-storage
Stefan Kangas [Fri, 23 Sep 2022 14:08:03 +0000 (16:08 +0200)]
; Fix :type of image-dired-thumbnail-storage

* lisp/image/image-dired.el (image-dired-thumbnail-storage): Fix
:type for recent change.

2 years ago* lisp/bookmark.el (bookmark-make-record): Fix thinko.
Michael Albinus [Fri, 23 Sep 2022 14:07:07 +0000 (16:07 +0200)]
* lisp/bookmark.el (bookmark-make-record): Fix thinko.

2 years ago; Fix warnings in --without-x build
Stefan Kangas [Fri, 23 Sep 2022 13:14:17 +0000 (15:14 +0200)]
; Fix warnings in --without-x build

* lisp/image/image-crop.el (image-scaling-factor)
(image-property, image-size, imagep):
* test/src/image-tests.el (image-size, image-mask-p)
(image-metadata): Declare.

2 years agoImprove prompt of 'image-dired' command
Stefan Kangas [Fri, 23 Sep 2022 13:10:33 +0000 (15:10 +0200)]
Improve prompt of 'image-dired' command

* lisp/image/image-dired.el (image-dired-show-all-from-dir):
Improve prompt.

2 years agoRename 'image-dired-db-file' to 'image-dired-tags-db-file'
Stefan Kangas [Fri, 23 Sep 2022 13:01:36 +0000 (15:01 +0200)]
Rename 'image-dired-db-file' to 'image-dired-tags-db-file'

* lisp/image/image-dired.el (image-dired-tags-db-file): Rename
from 'image-dired-db-file'.  Update all uses and make old name
into an obsolete variable alias.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Fri, 23 Sep 2022 12:56:54 +0000 (14:56 +0200)]
Merge from origin/emacs-28

60ac12d21f Fix shaping with bitmap-only fonts on HarfBuzz 5.2.0 (Bug#...
9f65e52362 ; Minor copyedits of elisp.texi

2 years agoFix more toolkit scroll bar window protection issues
Po Lu [Fri, 23 Sep 2022 12:41:24 +0000 (20:41 +0800)]
Fix more toolkit scroll bar window protection issues

* src/xterm.c (handle_one_xevent): Ignore outdated scroll bar
events.
(x_free_frame_resources): Clear protected windows and invalidate
previous scroll bar events.
* src/xterm.h (struct x_display_info): New field
`first_valid_scroll_bar_req'.

2 years agoAutoload wallpaper-set
Stefan Kangas [Fri, 23 Sep 2022 09:50:28 +0000 (11:50 +0200)]
Autoload wallpaper-set

* lisp/image/wallpaper.el (wallpaper-set): Autoload.
* lisp/image-mode.el (wallpaper):
* lisp/image/image-dired.el (wallpaper):
* lisp/thumbs.el (wallpaper): Don't require.

2 years agoSupport Noto Emoji font as fallback
Eli Zaretskii [Fri, 23 Sep 2022 06:36:24 +0000 (09:36 +0300)]
Support Noto Emoji font as fallback

The black-and-white emoji font is back under active development,
see https://github.com/googlefonts/noto-emoji.  So this adds
that font as fallback for systems that don't have the capability
of using color fonts.
* lisp/international/fontset.el (setup-default-fontset): Support
black-and-white Noto Emoji font as fallback for Emoji display.

2 years agoFix shaping with bitmap-only fonts on HarfBuzz 5.2.0 (Bug#57976)
YAMAMOTO Mitsuharu [Fri, 23 Sep 2022 05:17:12 +0000 (14:17 +0900)]
Fix shaping with bitmap-only fonts on HarfBuzz 5.2.0 (Bug#57976)

* src/ftcrfont.c (ftcrhbfont_begin_hb_font): Undo last change for
HarfBuzz 5.2.0.

2 years ago; * lisp/image/wallpaper.el: Fix last commit.
Stefan Kangas [Fri, 23 Sep 2022 03:40:42 +0000 (05:40 +0200)]
; * lisp/image/wallpaper.el: Fix last commit.

2 years agoSupport several new DEs in wallpaper.el
Stefan Kangas [Fri, 23 Sep 2022 01:24:13 +0000 (03:24 +0200)]
Support several new DEs in wallpaper.el

* lisp/image/wallpaper.el (wallpaper--default-commands)
(wallpaper--check-command, wallpaper-command): Add support for Unity,
Pantheon, Budgie, LXQt, and LXDE.  Also add support for Lubuntu,
Xubuntu, and Pop!_OS.

2 years agoimage-dired: Obsolete two unused functions
Stefan Kangas [Thu, 22 Sep 2022 19:52:15 +0000 (21:52 +0200)]
image-dired: Obsolete two unused functions

* lisp/image/image-dired-util.el (image-dired-display-window)
(image-dired-associated-dired-buffer-window): Make obsolete; they are
currently unused.

2 years ago; * Makefile.in: Make install depend on actual-all. Fixes bug#57959.
Gregory Heytings [Thu, 22 Sep 2022 21:54:57 +0000 (23:54 +0200)]
; * Makefile.in: Make install depend on actual-all. Fixes bug#57959.

2 years ago; Minor copyedits of elisp.texi
Eli Zaretskii [Thu, 22 Sep 2022 16:43:15 +0000 (19:43 +0300)]
; Minor copyedits of elisp.texi

* doc/lispref/variables.texi (Setting Generalized Variables):
Improve wording.

2 years agoDon't rewrite `set` to `setq` of lexical variables
Mattias Engdegård [Thu, 22 Sep 2022 12:15:56 +0000 (14:15 +0200)]
Don't rewrite `set` to `setq` of lexical variables

Only perform the rewrite

   (set 'VAR X) -> (setq VAR X)

for dynamic variables, as `set` isn't supposed to affect
lexical vars (and never does so when interpreted).

* lisp/emacs-lisp/byte-opt.el (byte-optimize-set):
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--xx): New.
(bytecomp-tests--test-cases): Add test cases.
* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-nonvariable.el:
Remove obsolete test.

2 years agoimage-dired: Improve minor mode docstring
Stefan Kangas [Thu, 22 Sep 2022 12:29:39 +0000 (14:29 +0200)]
image-dired: Improve minor mode docstring

* lisp/image/image-dired-dired.el (image-dired-minor-mode):
Improve docstring.

2 years agoimage-dired: Remove redundant keybindings
Stefan Kangas [Thu, 22 Sep 2022 12:28:35 +0000 (14:28 +0200)]
image-dired: Remove redundant keybindings

* lisp/image/image-dired-dired.el (image-dired-minor-mode-map):
Don't redundantly bind keys that are already bound in dired.

2 years agoFix failing image-dired test
Stefan Kangas [Thu, 22 Sep 2022 12:17:08 +0000 (14:17 +0200)]
Fix failing image-dired test

* test/lisp/image/image-dired-util-tests.el (ert-x, xdg): Require.
(image-dired-thumb-name/): Delete test.
(image-dired-thumb-name/standard)
(image-dired-thumb-name/image-dired)
(image-dired-thumb-name/per-directory): New tests.

2 years agoAdd X-Hashcash to the end of mail headers
Stefan Kangas [Thu, 22 Sep 2022 11:56:31 +0000 (13:56 +0200)]
Add X-Hashcash to the end of mail headers

* lisp/mail/hashcash.el (mail-add-payment): Move headers to the end of
the headers.

2 years ago; * lisp/mail/hashcash.el: Remove redundant :group args.
Stefan Kangas [Thu, 22 Sep 2022 11:46:45 +0000 (13:46 +0200)]
; * lisp/mail/hashcash.el: Remove redundant :group args.

2 years agoImprove don't save bookmark context from encrypted files
Michael Albinus [Thu, 22 Sep 2022 11:14:46 +0000 (13:14 +0200)]
Improve don't save bookmark context from encrypted files

* etc/NEWS: Mention 'bookmark-inhibit-context-functions'.
Fix typos.

* lisp/bookmark.el (bookmark-inhibit-context-functions): New defcustom.
(bookmark-make-record): Use it.

* lisp/auth-source-pass.el (auth-source-pass-file-name-p):
* lisp/auth-source.el (auth-source-file-name-p): New defuns.  Add
them to `bookmark-inhibit-context-functions'.

* lisp/epa-hook.el (epa-file-name-p):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-p): Add them to
`bookmark-inhibit-context-functions'.

2 years agoWork around rare crash when turning scroll wheel
Po Lu [Thu, 22 Sep 2022 09:06:36 +0000 (17:06 +0800)]
Work around rare crash when turning scroll wheel

* src/xterm.c (handle_one_xevent): Don't allow devices to be
added twice handling hierarcy events.

2 years agoAdd support for user edits to VC command arguments
Sean Whitton [Sun, 18 Sep 2022 21:47:23 +0000 (14:47 -0700)]
Add support for user edits to VC command arguments

* lisp/vc/vc-dispatcher.el (vc-pre-command-functions): New hook.
(vc-want-edit-command-p): New variable.
(vc-do-command): If vc-want-edit-command-p is non-nil, prompt the user
to edit the VC command & arguments before execution.  Run the new hook.
(vc-do-async-command): Use the new hook to insert into BUFFER the
command that's next to be run.
* lisp/vc/vc-git.el (vc-git--pushpull): Drop prompting code.  Bind
vc-want-edit-command-p so that vc-do-command handles the prompting.
Use the new hook to update compile-command with the edited command.
* lisp/vc/vc.el (vc-print-branch-log): A non-nil prefix argument now
means vc-want-edit-command-p is bound to a non-nil value (bug#57807).

2 years agoPrefer command remapping in image-dired-minor-mode
Stefan Kangas [Wed, 21 Sep 2022 16:02:51 +0000 (18:02 +0200)]
Prefer command remapping in image-dired-minor-mode

* lisp/image/image-dired-dired.el (image-dired-minor-mode-map):
Prefer command remapping.
(image-dired-minor-mode): Improve docstring.

2 years agoObsolete image-mode--images-in-directory
Stefan Kangas [Wed, 21 Sep 2022 15:38:30 +0000 (17:38 +0200)]
Obsolete image-mode--images-in-directory

* lisp/image-mode.el (image-mode--images-in-directory): Make
unused function obsolete.

2 years agoUpdate version tag of rmail-retry-ignored-headers
Robert Pluim [Wed, 21 Sep 2022 15:18:34 +0000 (17:18 +0200)]
Update version tag of rmail-retry-ignored-headers

* lisp/mail/rmail.el (rmail-retry-ignored-headers): Set :version to "29.1".

2 years ago; * lisp/emacs-lisp/gv.el (gv-synthetic-place): Doc fix.
Eli Zaretskii [Wed, 21 Sep 2022 14:18:40 +0000 (17:18 +0300)]
; * lisp/emacs-lisp/gv.el (gv-synthetic-place): Doc fix.

2 years ago* test/lisp/image/image-dired-util-tests.el: New file.
Stefan Kangas [Wed, 21 Sep 2022 13:13:40 +0000 (15:13 +0200)]
* test/lisp/image/image-dired-util-tests.el: New file.

2 years agoAdd more headers to default value of rmail-retry-ignored-headers.
Richard Stallman [Wed, 21 Sep 2022 12:43:29 +0000 (08:43 -0400)]
Add more headers to default value of rmail-retry-ignored-headers.

* rmail.el (rmail-retry-ignored-headers): Add more headers to default.
Don't bother with `purecopy'.  Split value readably.

2 years ago; Explicitly declare linum-mode obsolete
Stefan Kangas [Wed, 21 Sep 2022 12:22:26 +0000 (14:22 +0200)]
; Explicitly declare linum-mode obsolete

* lisp/obsolete/linum.el (linum-mode, global-linum-mode):
Explicitly declare obsolete to warn the user, and recommend using
'display-line-numbers-mode' instead.
Suggested by Philip Kaludercic <philipk@posteo.net>.

2 years agoAdd new function xdg-session-type to xdg.el
Stefan Kangas [Wed, 21 Sep 2022 12:00:23 +0000 (14:00 +0200)]
Add new function xdg-session-type to xdg.el

* lisp/xdg.el (xdg-session-type): New function.

2 years agoCorrect the usage of `image-file-name-regexps'
Thuna [Wed, 21 Sep 2022 11:51:53 +0000 (13:51 +0200)]
Correct the usage of `image-file-name-regexps'

* lisp/image-file.el (image-file-name-regexp): Treat
`image-file-name-regexps' as a list of regexps (as documented) in
addition to a regexp string (bug#57971).

Copyright-paperwork-exempt: yes

2 years agoFix handling of nil device names
Po Lu [Wed, 21 Sep 2022 11:49:31 +0000 (19:49 +0800)]
Fix handling of nil device names

* lisp/frame.el (device-class):
* lisp/term/pgtk-win.el (pgtk-device-class):
* lisp/term/x-win.el (x-device-class): Handle `nil'
correctly.  (bug#57969)

2 years agoSmall adjustments to precision pixel scrolling
Po Lu [Wed, 21 Sep 2022 11:31:45 +0000 (19:31 +0800)]
Small adjustments to precision pixel scrolling

* lisp/pixel-scroll.el
(pixel-scroll-precision-interpolation-factor): Adjust for
increased accuracy.
(pixel-scroll-precision-interpolate): Slightly decrease accuracy
in exchange for consing less floats.
(pixel-scroll-interpolate-down, pixel-scroll-interpolate-up):
Fix usage of function.

2 years agoImprove scroll interpolation in pixel-s-precision-mode
Po Lu [Wed, 21 Sep 2022 11:24:06 +0000 (19:24 +0800)]
Improve scroll interpolation in pixel-s-precision-mode

* lisp/pixel-scroll.el (pixel-scroll-precision-interpolate): New
arg FACTOR.  Use it to determine the interpolation factor if
non-nil.  Also, clear scroll remainder if direction changes, and
determine deltas based on the absolute amount of time passed.
(bug#57967)
(pixel-scroll-interpolate-down, pixel-scroll-interpolate-up):
Pass factor of 0 to scroll exactly 1 page.

2 years agoMake emacs-build-description into a command
Lars Ingebrigtsen [Wed, 21 Sep 2022 11:13:39 +0000 (13:13 +0200)]
Make emacs-build-description into a command

* lisp/mail/emacsbug.el (report-emacs-bug, submit-emacs-patch):
Adjust callers.
(emacs-build-description): Rename from
`emacs-bug--system-description' and make into a command.

2 years ago; * Makefile.in: Minor improvements of failure messages.
Gregory Heytings [Wed, 21 Sep 2022 08:37:09 +0000 (10:37 +0200)]
; * Makefile.in: Minor improvements of failure messages.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Wed, 21 Sep 2022 08:24:25 +0000 (10:24 +0200)]
Merge from origin/emacs-28

478b786d5a ; * doc/lispref/windows.texi (Window Hooks): Fix a typo (b...
5085351645 * lisp/text-modes/tex-mode.el (tex-mode): Fix AUCTeX regre...
ee6f8598ca Add vc-annotate-switches to manual
616dcf27e5 ; Fix typos in Lisp symbols
5405852541 Remove mention of non-existent `annotate-switches'
191505b8a3 Mention that src/macuvs.h sometimes needs committing
10373c4b68 ; More comment fixes in font.h (bug#57935)
c2595b8dcc ; * src/font.h (struct font_driver): Comment fix.
97b928ce09 MacOS ld warning from native compilation (bug#57849)

2 years ago* admin/gitmerge.el (gitmerge): Use substitute-command-keys.
Stefan Kangas [Wed, 21 Sep 2022 08:11:15 +0000 (10:11 +0200)]
* admin/gitmerge.el (gitmerge): Use substitute-command-keys.

2 years agoBind 'n'/'p' in gitmerge-mode to line scroll
Stefan Kangas [Wed, 21 Sep 2022 08:10:22 +0000 (10:10 +0200)]
Bind 'n'/'p' in gitmerge-mode to line scroll

* admin/gitmerge.el (gitmerge-mode-map): Bind 'n' and 'p' to
'next-line' and 'previous-line'.

2 years agoFix substitute-command-keys for global binding lookup
Robert Pluim [Wed, 21 Sep 2022 07:12:53 +0000 (09:12 +0200)]
Fix substitute-command-keys for global binding lookup

The previous change forgot to account for the (rare) case of doing a
lookup for a global binding when a specific keymap is in force.

* lisp/help.el (substitute-command-keys): Redo lookup in global map if
lookup in specific map fails.
*
test/lisp/help-tests.el (help-tests-substitute-command-keys/keymap-change):
Add testcase for specific map overriding advertised-binding.