]> git.eshelyaron.com Git - emacs.git/log
emacs.git
23 months agoAdd comment explaining gcc_jit_context_new_bitcast usage. feature/jit-improved-type-punning
Vibhav Pant [Tue, 4 Oct 2022 19:31:50 +0000 (01:01 +0530)]
Add comment explaining gcc_jit_context_new_bitcast usage.

23 months agoAddress styling comments.
Vibhav Pant [Sun, 2 Oct 2022 16:45:33 +0000 (22:15 +0530)]
Address styling comments.

23 months agocomp.c: Add declaration for gcc_jit_type_is_pointer.
Vibhav Pant [Tue, 27 Sep 2022 18:01:06 +0000 (23:31 +0530)]
comp.c: Add declaration for gcc_jit_type_is_pointer.

23 months agosrc/comp.c: Use libgccjit's bitcast API for type coercion, when available.
Vibhav Pant [Tue, 27 Sep 2022 17:08:45 +0000 (22:38 +0530)]
src/comp.c: Use libgccjit's bitcast API for type coercion, when available.

* (type_to_cast_index, define_type_punning, define_cast_from_to,
define_cast_functions): Define functions when
gcc_jit_context_new_bitcast is not available.

* (emit_coerce): Use gcc_jit_context_new_bitcast to coerce types, when
available.

23 months ago; * src/xfns.c (Fx_window_property): Fix markup.
Po Lu [Tue, 27 Sep 2022 12:04:11 +0000 (20:04 +0800)]
; * src/xfns.c (Fx_window_property): Fix markup.

23 months agoImprove doc of `x-window-property'
Po Lu [Tue, 27 Sep 2022 12:03:08 +0000 (20:03 +0800)]
Improve doc of `x-window-property'

* src/xfns.c (Fx_window_property): Fix errors in doc string and
document where to obtain documentation for standardized window
properties.

23 months agodocview: imenu access to table of contents
Jose A. Ortega Ruiz [Tue, 27 Sep 2022 11:53:24 +0000 (13:53 +0200)]
docview: imenu access to table of contents

* lisp/doc-view.el (doc-view-imenu-enabled): user option to disable
imenu generation.
* lisp/doc-view.el (doc-view--outline-rx):
(doc-view--pdf-outline, doc-view--imenu-subtree, doc-view-imenu-index):
functions implementing the imenu index generation via mutool.
* lisp/doc-view.el (doc-view-imenu-setup, doc-view-mode): setup of the
new functionality in doc-view mode.
* lisp/imenu.el (imenu-submenus-on-top):
(imenu--split-menu): new local variable to optionally inhibit
grouping of entries with children at the top of imenu menus.
* doc/emacs/misc.texi: documentation for the new functionality
(bug#58103).

23 months ago; whitespace: Add test case for read-only buffers (bug#58082)
Richard Hansen [Mon, 26 Sep 2022 06:12:41 +0000 (02:12 -0400)]
; whitespace: Add test case for read-only buffers (bug#58082)

23 months agoert-x: Improve realism of `ert-with-test-buffer-selected'
Richard Hansen [Mon, 26 Sep 2022 21:07:52 +0000 (17:07 -0400)]
ert-x: Improve realism of `ert-with-test-buffer-selected'

* lisp/emacs-lisp/ert-x.el (ert-with-test-buffer-selected): Set
`inhibit-read-only' and `buffer-read-only' to nil when executing the
body to provide a more realistic test environment.

23 months ago* lisp/progmodes/cc-defs.el (c-let*-maybe-max-specpdl-size): Fix glitches
Alan Mackenzie [Tue, 27 Sep 2022 10:02:27 +0000 (10:02 +0000)]
* lisp/progmodes/cc-defs.el (c-let*-maybe-max-specpdl-size): Fix glitches

23 months agoCC Mode: Don't bind max-specpdl-size when it doesn't exist or is obsolete
Alan Mackenzie [Tue, 27 Sep 2022 08:39:05 +0000 (08:39 +0000)]
CC Mode: Don't bind max-specpdl-size when it doesn't exist or is obsolete

This is part of the changes for bug #57911.

* lisp/progmodes/cc-defs.el (c-let*-maybe-max-specpdl-size): New macro.
(c-get-lang-constant): Use the new macro in place of let*.

23 months agoAvoid uninitialized variable warning
YAMAMOTO Mitsuharu [Tue, 27 Sep 2022 03:39:31 +0000 (12:39 +0900)]
Avoid uninitialized variable warning

* src/composite.c (composition_gstring_adjust_zero_width): Simplify
last change with respect to an exit condition.

23 months agoOptimize coordinate translation during event handling
Po Lu [Tue, 27 Sep 2022 02:50:34 +0000 (10:50 +0800)]
Optimize coordinate translation during event handling

These changes noticeably improve turning the mouse wheel on top of
scroll bars etc over slow network connections.

* src/xterm.c (x_dnd_note_self_position, x_dnd_note_self_wheel)
(x_dnd_note_self_drop): Use x_translate_coordinates.
(x_compute_root_window_offset): New function for calculating and
caching root window offsets of edit window.
(x_translate_coordinates): New function.  Use cached values
whenever possible.
(xi_compute_root_window_offset)
(xi_compute_root_window_offset_pinch): New wrappers for XI2
events.
(x_construct_mouse_click, handle_one_xevent): Use
x_translate_coordinates wherever appropriate.
* src/xterm.h (struct x_output): New fields for keeping track of
the root window offset of the edit window.

23 months agoAdjust zero-width grapheme clusters so they are displayed (Bug#50951)
YAMAMOTO Mitsuharu [Tue, 27 Sep 2022 00:20:58 +0000 (09:20 +0900)]
Adjust zero-width grapheme clusters so they are displayed (Bug#50951)

* src/composite.c (composition_gstring_adjust_zero_width): New function.
* src/composite.h: Declare it.
* src/font.c (Ffont_shape_gstring): Use it before putting gstring to cache.

23 months agoFix OBOE in image-dired--with-marked
Stefan Kangas [Tue, 27 Sep 2022 00:14:54 +0000 (02:14 +0200)]
Fix OBOE in image-dired--with-marked

* lisp/image/image-dired.el (image-dired--with-marked): Fix off-by-one
error.

23 months agovc-filter-command-function: Abbreviate default value
Sean Whitton [Mon, 26 Sep 2022 22:15:02 +0000 (15:15 -0700)]
vc-filter-command-function: Abbreviate default value

* lisp/vc/vc-dispatcher.el (vc-filter-command-function): Abbreviate
`(lambda (&rest args) args)' as just `list'.

23 months agoGet rid of default wallpaper-setter constructor
Stefan Kangas [Mon, 26 Sep 2022 19:32:55 +0000 (21:32 +0200)]
Get rid of default wallpaper-setter constructor

* lisp/image/wallpaper.el (wallpaper-setter): Actually get rid of
the default constructor.

23 months agoSet XFCE wallpaper also in single-workspace-mode
Stefan Kangas [Mon, 26 Sep 2022 19:26:50 +0000 (21:26 +0200)]
Set XFCE wallpaper also in single-workspace-mode

This fixes setting the wallpaper on XFCE whether or not the
"/backdrop/single-workspace-mode" setting is true or false.
That XFCE setting controls whether or not the same wallpaper is used
on all workspaces or not.

* lisp/image/wallpaper.el (wallpaper-setter)
(wallpaper-command-args, wallpaper-default-set-function): Allow
using a function for getting the command line arguments.
(wallpaper-xfce-command-args): New function.
(wallpaper--default-setters): Use above new function for XFCE.

23 months agoCC Mode: Handle C++20 concepts
Alan Mackenzie [Mon, 26 Sep 2022 19:16:33 +0000 (19:16 +0000)]
CC Mode: Handle C++20 concepts

* lisp/progmodes/cc-align.el (c-lineup-topmost-intro-cont): Amend so as not to
indent lines following a requires line.

* lisp/progmodes/cc-engine.el (c-forward-primary-expression)
(c-forward-c++-requires-clause): New functions.
(c-forward-declarator): Skip forward over any trailing requires clause.
(c-forward-decl-or-cast-1): Skip requires clauses before and after the type.
Amend the second element of the return list to include information on two
consecutive identifiers in <...>.
(c-looking-at-or-maybe-in-bracelist): Don't recognize braces in requires
expressions as brace lists.
(c-guess-basic-syntax): CASE 5D.7: New case to handle the continuation of a
"concept foo = " line.

* lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Add a new clause to
handle the declaration of a concept.
(c-get-fontification-context): Treat the arglist of a requires construct as a
declaration arglist.

* lisp/progmodes/cc-langs.el (c-equals-nontype-decl-kwds/key)
(c-fun-name-substitute-kwds/key, c-pre-concept-<>-kwds/key): New
c-lang-consts/vars.
(c-constant-key): New c-lang-var.
(c-type-decl-suffix-key): Include "requires" in the keywords matched.

* lisp/progmodes/cc-mode.el (c-fl-decl-start): Fix an off by one error.  Use
equal rather than eq to compare two syntax contexts.

23 months agoDon't auto-resize image if echo area is non-empty
Stefan Kangas [Mon, 26 Sep 2022 19:10:58 +0000 (21:10 +0200)]
Don't auto-resize image if echo area is non-empty

* lisp/image-mode.el (image-fit-to-window): Don't auto-resize
image if there's a message in the echo area.

23 months ago; * lisp/image/wallpaper.el (cl-macs): Require, to avoid warnings.
Eli Zaretskii [Mon, 26 Sep 2022 16:29:47 +0000 (19:29 +0300)]
; * lisp/image/wallpaper.el (cl-macs): Require, to avoid warnings.

23 months agoDisplay a message when wallpaper was set
Stefan Kangas [Mon, 26 Sep 2022 15:41:11 +0000 (17:41 +0200)]
Display a message when wallpaper was set

* lisp/image/wallpaper.el (wallpaper-default-set-function): Display a
message when the wallpaper was successfully set.

23 months agoFix setting the wallpaper in XFCE
Stefan Kangas [Mon, 26 Sep 2022 12:38:25 +0000 (14:38 +0200)]
Fix setting the wallpaper in XFCE

* lisp/image/wallpaper.el  (wallpaper-command-args)
(wallpaper-default-set-function): Support new format specifiers
%S for screen, %W for workspace, and %M for monitor.
(wallpaper--default-setters): Use above new specifiers for XFCE.
(wallpaper--format-arg): New defun broken out from...
(wallpaper-default-set-function): ...here.
(wallpaper--get-height-or-width): Support noninteractive use.
* test/lisp/image/wallpaper-tests.el (wallpaper--format-arg/filename)
(wallpaper--format-arg/filename-hex)
(wallpaper--format-arg/width, wallpaper--format-arg/screen)
(wallpaper--format-arg/monitor, wallpaper--format-arg/workspace):
New tests.

23 months agoRewrite wallpaper.el to use a cl-defstruct
Stefan Kangas [Sun, 18 Sep 2022 09:48:24 +0000 (11:48 +0200)]
Rewrite wallpaper.el to use a cl-defstruct

* lisp/image/wallpaper.el
(wallpaper--default-commands): Delete variable.
(wallpaper-setter): New cl-defstruct.
(wallpaper--default-methods-create): New macro.
(wallpaper--default-setters):
(wallpaper--current-setter): New variables.
(wallpaper--find-setter): New defun to pick a wallpaper-setter.
(wallpaper--find-command, wallpaper--find-command-args):
Use 'wallpaper--find-setter'.
(wallpaper-command): Doc fix.

* test/lisp/image/wallpaper-tests.el
(wallpaper--find-command/return-string)
(wallpaper--find-command-args/return-list)
(wallpaper--image-file-regexp/return-string): New tests.

23 months agoAdd log-edit-summary-separator face (bug#58092)
Protesilaos Stavrou [Mon, 26 Sep 2022 12:41:18 +0000 (15:41 +0300)]
Add log-edit-summary-separator face (bug#58092)

* lisp/vc/log-edit.el (log-edit-summary-separator): Add new face.
(log-edit-font-lock-keywords): Replace hardcoded face attributes with
named face.
* etc/NEWS: Announce the new face.

23 months agoAutoload image-dired-thumbnail-storage :safe property
Stefan Kangas [Mon, 26 Sep 2022 13:36:22 +0000 (15:36 +0200)]
Autoload image-dired-thumbnail-storage :safe property

* lisp/image/image-dired.el (image-dired-thumbnail-storage):
Autoload :safe property.

23 months agoFix (thing-at-point 'url) in eww forms
Lars Ingebrigtsen [Mon, 26 Sep 2022 13:16:16 +0000 (15:16 +0200)]
Fix (thing-at-point 'url) in eww forms

* lisp/net/eww.el (eww-tag-input): Don't claim to have an URL here
(bug#58091).

* lisp/net/shr.el (shr-next-link, shr-previous-link): Search for
shr-tab-stop instead of shr-url so that we can be more general.
(shr-urlify): Mark all links as tabbable-to.

23 months agoRescale images along with text in eww with `C-x C-+'
Lars Ingebrigtsen [Mon, 26 Sep 2022 11:53:10 +0000 (13:53 +0200)]
Rescale images along with text in eww with `C-x C-+'

* lisp/net/eww.el (eww--rescale-images): Also rescale images when
using `C-x C-+' etc (bug#58047).

23 months agoFix percentage width computation in vtable
Lars Ingebrigtsen [Mon, 26 Sep 2022 11:28:30 +0000 (13:28 +0200)]
Fix percentage width computation in vtable

* lisp/emacs-lisp/vtable.el (vtable--compute-width): Fix
percentage computation (bug#58067).

23 months agoKeep point in eww after hitting `g'
Lars Ingebrigtsen [Mon, 26 Sep 2022 11:20:59 +0000 (13:20 +0200)]
Keep point in eww after hitting `g'

* lisp/net/eww.el (eww-retrieve): Keep point after hitting `g'
(bug#58076).

23 months agoFix whitespace-mode in read-only buffers
Lars Ingebrigtsen [Mon, 26 Sep 2022 10:56:07 +0000 (12:56 +0200)]
Fix whitespace-mode in read-only buffers

* lisp/whitespace.el (whitespace--update-bob-eob): Don't bug out
in read-only buffers (bug#58082).

23 months ago; * etc/TODO: Add some new info to the stylistic-sets item.
Eli Zaretskii [Mon, 26 Sep 2022 06:51:14 +0000 (09:51 +0300)]
; * etc/TODO: Add some new info to the stylistic-sets item.

23 months agoMake average width computation on ftcr more permissive (Bug#43058)
YAMAMOTO Mitsuharu [Mon, 26 Sep 2022 00:57:23 +0000 (09:57 +0900)]
Make average width computation on ftcr more permissive (Bug#43058)

* src/ftcrfont.c (ftcrfont_open): Use only non-zero width glyphs for
computing average width.

23 months ago; Clarify wording of some doc strings in shortdoc.el
Eli Zaretskii [Sun, 25 Sep 2022 19:49:32 +0000 (22:49 +0300)]
; Clarify wording of some doc strings in shortdoc.el

* lisp/emacs-lisp/shortdoc.el (shortdoc-next, shortdoc-previous)
(shortdoc-next-section, shortdoc-previous-section): Clarify
wording.

23 months agotex-mode.el: Don't override AUCTeX modes
Stefan Monnier [Sun, 25 Sep 2022 17:51:30 +0000 (13:51 -0400)]
tex-mode.el: Don't override AUCTeX modes

* lisp/textmodes/tex-mode.el (TeX-mode, plain-TeX-mode, LaTeX-mode):
Only define them as aliases in `lisp/loaddefs.el` so we don't
override AUCTeX's own definitions when we load `tex-mode.el`.

23 months agoBoolean constant detection additions
Mattias Engdegård [Sun, 25 Sep 2022 15:47:39 +0000 (17:47 +0200)]
Boolean constant detection additions

* lisp/emacs-lisp/byte-opt.el (byte-opt--bool-value-form):
`set` is boolean identity in its second argument.
(byte-compile-trueconstp): `set-marker` is always true.

23 months ago; * src/fns.c (Fcopy_alist): More accurate error type
Mattias Engdegård [Sun, 25 Sep 2022 15:44:29 +0000 (17:44 +0200)]
; * src/fns.c (Fcopy_alist): More accurate error type

23 months agoRefactor system specific code in wallpaper.el
Stefan Kangas [Sun, 25 Sep 2022 15:27:20 +0000 (17:27 +0200)]
Refactor system specific code in wallpaper.el

* lisp/image/wallpaper.el (wallpaper-set-function): New defvar
containing system specific function for setting wallpaper.
(wallpaper-default-set-function): Factor out function from...
(wallpaper-set): ...here.  Use above new defvar.

(wallpaper-default-file-name-regexp): Delete defvar.
(wallpaper-image-file-extensions): New defvar.
(wallpaper--image-file-regexp): New defun that returns a regexp to
match for completion purposes.

(wallpaper--use-default-set-function-p): New defun.
(wallpaper--find-command, wallpaper--find-command-arguments):
Do nothing on MS-Windows and Haiku.

23 months agoDon't crash in copy-alist with non-list argument
Mattias Engdegård [Sun, 25 Sep 2022 15:03:32 +0000 (17:03 +0200)]
Don't crash in copy-alist with non-list argument

* src/fns.c (Fcopy_alist): Check argument type.
* test/src/fns-tests.el (fns--copy-alist): New test.

23 months agoAdd reasonable default to wallpaper-set
Stefan Kangas [Sun, 25 Sep 2022 14:16:51 +0000 (16:16 +0200)]
Add reasonable default to wallpaper-set

* lisp/image/wallpaper.el
(wallpaper-default-file-name-regexp): New variable.
(wallpaper--get-default-file): New function.
(wallpaper-set): Use above new function to set a default.
* test/lisp/image/wallpaper-tests.el: New file.

23 months agoAdd :buffer argument to ert-with-temp-file
Stefan Kangas [Sun, 25 Sep 2022 14:16:30 +0000 (16:16 +0200)]
Add :buffer argument to ert-with-temp-file

* lisp/emacs-lisp/ert-x.el (ert-with-temp-file): Add new keyword
argument :buffer SYMBOL to visit the file with `find-file-literally'
before running the body, and cleaning up after.

23 months agoImplement font-use-system-font on Haiku
Po Lu [Sun, 25 Sep 2022 13:22:45 +0000 (13:22 +0000)]
Implement font-use-system-font on Haiku

* doc/emacs/frames.texi (Fonts): Update documentation to say
what font-use-system-font really does and where it can be used.
* src/haiku_font_support.cc (language_code_points): Fix coding
style.
(font_style_to_flags, be_font_style_to_flags): Accept const char
*.
(be_send_font_settings, be_listen_font_settings)
(be_lock_font_defaults, be_unlock_font_defaults)
(be_get_font_default, be_get_font_size): New functions used to
retrieve default font data.

* src/haiku_io.c (haiku_len): Handle FONT_CHANGE_EVENT.
* src/haiku_support.h (enum haiku_event_type): New event type
FONT_CHANGE_EVENT.
(enum haiku_what_font): New enum.
(struct haiku_font_change_event): New struct.

* src/haikufont.c (Ffont_get_system_normal_font)
(Ffont_get_system_font, haiku_handle_font_change_event): New
functions.
(syms_of_haikufont): Provide `dynamic-setting' and define new
variables and subrs.

* src/haikuterm.c (haiku_default_font_parameter): Use system font.
(haiku_read_socket): Handle FONT_CHANGE_EVENTS.
(haiku_term_init): Start listening for font configuration changes.
* src/haikuterm.h: Update prototypes.

* src/xsettings.c (Ffont_get_system_normal_font)
(Ffont_get_system_font): Update doc string.
(syms_of_xsettings): Replace calls to intern with a static
string.

23 months agowallpaper: URI-encode gsettings argument
Stefan Kangas [Sun, 25 Sep 2022 12:57:28 +0000 (14:57 +0200)]
wallpaper: URI-encode gsettings argument

* lisp/image/wallpaper.el (wallpaper--default-commands)
(wallpaper-command-args, wallpaper-set): URI-encode gsettings
argument.

23 months agoImprove shortdoc documentation
Stefan Kangas [Sun, 25 Sep 2022 12:26:40 +0000 (14:26 +0200)]
Improve shortdoc documentation

* doc/emacs/help.texi (Name Help):
* doc/lispref/help.texi (Documentation Groups): Refer to
'shortdoc' convenience alias instead of 'shortdoc-display-group'.
* lisp/emacs-lisp/shortdoc.el: Add Commentary.
(shortdoc-next, shortdoc-previous)
(shortdoc-next-section, shortdoc-previous-section): Doc fixes.

23 months agoMake image-dired-thumb-name more portable
Stefan Kangas [Sun, 25 Sep 2022 12:22:06 +0000 (14:22 +0200)]
Make image-dired-thumb-name more portable

* lisp/image/image-dired-util.el
(image-dired-thumb-name): Create file names in a portable manner.
* test/lisp/image/image-dired-util-tests.el
(image-dired-thumb-name/standard)
(image-dired-thumb-name/image-dired)
(image-dired-thumb-name/per-directory): Expand tests.

23 months agoFix shortdoc movement commands
Stefan Kangas [Sun, 25 Sep 2022 11:54:37 +0000 (13:54 +0200)]
Fix shortdoc movement commands

* lisp/emacs-lisp/shortdoc.el (shortdoc--goto-section): Don't skip
over current function or section when searching.

23 months agoAdd new command 'shortdoc-copy-function-as-kill'
Stefan Kangas [Sun, 25 Sep 2022 11:48:12 +0000 (13:48 +0200)]
Add new command 'shortdoc-copy-function-as-kill'

* lisp/emacs-lisp/shortdoc.el
(shortdoc-copy-function-as-kill): New command.
(shortdoc-mode-map): Bind above new command to "w".

23 months ago* etc/NEWS.22: Belatedly announce 'dired-copy-filename-as-kill'.
Stefan Kangas [Sun, 25 Sep 2022 11:42:57 +0000 (13:42 +0200)]
* etc/NEWS.22: Belatedly announce 'dired-copy-filename-as-kill'.

23 months agoBind "N"/"P" to next/prev section in shortdoc
Stefan Kangas [Sun, 25 Sep 2022 11:22:17 +0000 (13:22 +0200)]
Bind "N"/"P" to next/prev section in shortdoc

* lisp/emacs-lisp/shortdoc.el (shortdoc-mode-map): Bind "N" and
"P" to 'shortdoc-next-section' and 'shortdoc-previous-section'.

23 months ago* lisp/bookmark.el (bookmark-rename): Improve prompt.
Stefan Kangas [Sun, 25 Sep 2022 10:49:23 +0000 (12:49 +0200)]
* lisp/bookmark.el (bookmark-rename): Improve prompt.

23 months agoAdd new command image-dired-copy-filename-as-kill
Stefan Kangas [Sat, 24 Sep 2022 22:37:40 +0000 (00:37 +0200)]
Add new command image-dired-copy-filename-as-kill

* lisp/image/image-dired.el
(image-dired-copy-filename-as-kill): New command.
(image-dired-thumbnail-mode-map): Bind above new command to "w".

23 months ago* lisp/net/rcirc.el (rcirc-print): Remove 'fill-region' call
Philip Kaludercic [Sun, 25 Sep 2022 08:29:40 +0000 (10:29 +0200)]
* lisp/net/rcirc.el (rcirc-print): Remove 'fill-region' call

See Bug#57376.

23 months agoAdd formatting commands to rcirc
Philip Kaludercic [Sun, 25 Sep 2022 08:22:25 +0000 (10:22 +0200)]
Add formatting commands to rcirc

* etc/NEWS: Mention new command
* lisp/net/rcirc.el (rcirc-format): Add new utility function.
(rcirc-unformat):  Add new command.
(rcirc-format-bold): Add new command.
(rcirc-format-italic): Add new command.
(rcirc-format-underline): Add new command.
(rcirc-format-strike-trough): Add new command.
(rcirc-format-fixed-width): Add new command.
(rcirc-mode-map): Bind formatting commands.
(rcirc-multiline-minor-mode-map): Bind formatting commands.

23 months agoTweak window handling in vc-pull-and-push
Lars Ingebrigtsen [Sat, 24 Sep 2022 20:43:26 +0000 (22:43 +0200)]
Tweak window handling in vc-pull-and-push

* lisp/vc/vc-dispatcher.el (vc--inhibit-async-window): Rename
variable.
(vc-do-async-command): Allow inhibiting all window changes.

* lisp/vc/vc-git.el (vc-git-pull-and-push): Don't pop up the
window asynchronously on the "pull" because that gets in the way
of doing other things.

23 months ago; Drop two obsolete defvars
Sean Whitton [Sat, 24 Sep 2022 19:06:47 +0000 (12:06 -0700)]
; Drop two obsolete defvars

* lisp/vc/vc-git.el (vc-want-edit-command-p)
* lisp/vc/vc.el (vc-want-edit-command-p): Drop obsolete defvar.

23 months ago; Simplify image-dired-forward-image
Stefan Kangas [Sat, 24 Sep 2022 18:18:48 +0000 (20:18 +0200)]
; Simplify image-dired-forward-image

* lisp/image/image-dired.el (image-dired-forward-image): Simplify.

23 months agoimage-dired: Add faces for header line
Stefan Kangas [Sat, 24 Sep 2022 18:08:25 +0000 (20:08 +0200)]
image-dired: Add faces for header line

* lisp/image/image-dired.el (image-dired-thumb-header-file-name)
(image-dired-thumb-header-directory-name)
(-image-dired-thumb-header-file-size)
(image-dired-thumb-header-image-count): New faces.
(image-dired-format-properties-string): Use above new faces.
(image-dired-thumb-mark, image-dired-thumb-flagged): Move
definition further down.

23 months agoimage-dired: Add new %-format specifiers for header line
Stefan Kangas [Sat, 24 Sep 2022 08:45:37 +0000 (10:45 +0200)]
image-dired: Add new %-format specifiers for header line

* lisp/image/image-dired.el
(image-dired-format-properties-string): Add new specifiers "%n", "%d",
and "%s".
(image-dired-display-properties-format): Change default format to use
above new specifiers.
(image-dired--number-of-thumbnails): New variable.
(image-dired-insert-thumbnail, image-dired-display-thumbs): Keep
track of file number when appending it into the thumbnail buffer.
(image-dired--update-header-line): Support above new format
specifiers.  Rename from 'image-dired-update-header-line' and
update callers.
* lisp/image/image-dired-dired.el
(image-dired-dired-display-properties): Support above new format
specifiers.

23 months agoGeneralize & simplify implementation of user edits to VC commands
Sean Whitton [Sat, 24 Sep 2022 17:39:52 +0000 (10:39 -0700)]
Generalize & simplify implementation of user edits to VC commands

* lisp/vc/vc-dispatcher.el (vc-pre-command-functions)
(vc-want-edit-command-p): Delete.
(vc-filter-command-function): New variable.
(vc-user-edit-command): Factor out of vc-do-command.
(vc-do-command, vc-do-async-command)
* lisp/vc/vc-git.el (vc-git--pushpull)
* lisp/vc/vc.el (vc-print-branch-log): Use vc-filter-command-function
in place of vc-pre-command-functions and vc-want-edit-command-p.

23 months ago* lisp/emacs-lisp/icons.el (icons--create): Use default rotation 0 (bug#57813)
Juri Linkov [Sat, 24 Sep 2022 17:17:28 +0000 (20:17 +0300)]
* lisp/emacs-lisp/icons.el (icons--create): Use default rotation 0 (bug#57813)

23 months agoAdapt tramp-docker integration
Michael Albinus [Sat, 24 Sep 2022 16:44:32 +0000 (18:44 +0200)]
Adapt tramp-docker integration

* doc/misc/tramp.texi (Inline methods): Add docker.
(Customizing Methods): Remove docker-tramp.  Adapt references to this.

* etc/NEWS: Mention new Tramp method "docker".  Fix typos.

* lisp/net/tramp-compat.el (docker-tramp): Warn, if that package is used.

* lisp/net/tramp-docker.el: Format header lines.
(tramp-docker): Remove custom group.
(tramp-docker-program, tramp-docker-method): Add
;;;###tramp-autoload cookie.
(tramp-docker-program): Change group to `tramp'.  Add version.
(tramp-docker--completion-function): Fix docstring.
(tramp-docker--add-method, tramp-docker--remove-method)
(tramp-docker-unload-function, tramp-docker-setup): Remove functions.
(tramp-methods, tramp-set-completion-function): Initialize via
`tramp--with-startup'.
(tramp-unload-hook):  Unload `tramp-docker'.

23 months agoimage-dired: Move menu definitions to keymaps
Stefan Kangas [Sat, 24 Sep 2022 16:27:35 +0000 (18:27 +0200)]
image-dired: Move menu definitions to keymaps

* lisp/image/image-dired.el (image-dired-thumbnail-mode-menu):
* lisp/image/image-dired-dired.el (image-dired-minor-mode-menu):
Delete variables and move menus to...
* lisp/image/image-dired.el (image-dired-thumbnail-mode-map):
* lisp/image/image-dired-dired.el(image-dired-minor-mode-map):
...here.

23 months agoEnsure no memory leaks of glyph_matrix
Manuel Giraud [Fri, 23 Sep 2022 15:14:44 +0000 (17:14 +0200)]
Ensure no memory leaks of glyph_matrix

; * src/dispnew.c (allocate_matrices_for_window_redisplay): Allocate
each glyph_matrix only when it's NULL.  (Bug#58028)

23 months 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'

23 months 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).

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

23 months 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.

23 months 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.

23 months 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.

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

23 months 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.

23 months 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.

23 months 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).

23 months 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.

23 months 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.

23 months 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).

23 months 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.

23 months 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.

23 months 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)

23 months 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)

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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).

23 months 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.

23 months 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.

23 months 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).

23 months 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.

23 months 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>.

23 months 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.

23 months 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.

23 months 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

23 months 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.

23 months 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.

23 months 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'.

23 months 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)

23 months 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.

23 months 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.