]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years ago; * doc/emacs/package.texi: Rename to "Fetching Package Sources"
Philip Kaludercic [Fri, 4 Nov 2022 17:17:02 +0000 (18:17 +0100)]
; * doc/emacs/package.texi: Rename to "Fetching Package Sources"

2 years agoDocument 'package-vc-selected-packages'
Philip Kaludercic [Fri, 4 Nov 2022 17:04:35 +0000 (18:04 +0100)]
Document 'package-vc-selected-packages'

* doc/emacs/package.texi: Expand documentation and give example.
* etc/NEWS: Mention 'package-vc-selected-packages'.
* lisp/emacs-lisp/package-vc.el (package-vc--select-packages): Remove
function.
(package-vc-ensure-packages): Add function based on
'package-vc--select-packages'.
(package-vc-selected-packages): Call 'package-vc-ensure-packages' from
custom setter.

2 years agoAutoload all entry functions
Philip Kaludercic [Thu, 3 Nov 2022 22:15:12 +0000 (23:15 +0100)]
Autoload all entry functions

2 years ago; Mention that 'package-vc-checkout' open a directory
Philip Kaludercic [Thu, 3 Nov 2022 18:41:46 +0000 (19:41 +0100)]
; Mention that 'package-vc-checkout' open a directory

* lisp/emacs-lisp/package-vc.el (package-vc-checkout): Mention it in
the docstring.

2 years ago; Explicitly mark internal functions as such
Philip Kaludercic [Thu, 3 Nov 2022 18:38:34 +0000 (19:38 +0100)]
; Explicitly mark internal functions as such

2 years ago* lisp/emacs-lisp/package-vc.el (package-vc-version): Use main file
Philip Kaludercic [Thu, 3 Nov 2022 18:28:47 +0000 (19:28 +0100)]
* lisp/emacs-lisp/package-vc.el (package-vc-version): Use main file

2 years agoAdd command 'package-vc-checkout'
Philip Kaludercic [Thu, 3 Nov 2022 18:26:21 +0000 (19:26 +0100)]
Add command 'package-vc-checkout'

* doc/emacs/package.texi: Document feature.
* etc/NEWS: Mention feature.
* lisp/emacs-lisp/package-vc.el (package-vc-clone): Extract
functionality out of 'package-vc-unpack'.
(package-vc-unpack): Extract functionality out to 'package-vc-clone'.
(package-vc-checkout): Add command.

2 years ago; Update TODO section
Philip Kaludercic [Wed, 2 Nov 2022 16:16:39 +0000 (17:16 +0100)]
; Update TODO section

2 years ago; Handle case that was forgotten in the last commit
Philip Kaludercic [Wed, 2 Nov 2022 12:58:14 +0000 (13:58 +0100)]
; Handle case that was forgotten in the last commit

2 years agoTrack file name in 'package--downloads-in-progress'
Philip Kaludercic [Wed, 2 Nov 2022 10:56:42 +0000 (11:56 +0100)]
Track file name in 'package--downloads-in-progress'

* lisp/emacs-lisp/package.el (package--download-one-archive): Move
'cl-pushnew' call from 'package--download-one-archive' and cons file
name onto the archive.
(package--download-one-archive): Cons the file name onto the archive.
(package--download-and-read-archives): Remove 'cl-pushnew' call.

2 years ago; Replace 'let*' with 'let' where possible
Philip Kaludercic [Wed, 2 Nov 2022 09:15:28 +0000 (10:15 +0100)]
; Replace 'let*' with 'let' where possible

* lisp/emacs-lisp/package-vc.el (package-vc--select-packages): Do it.
(package-vc--read-archive-data): Do it.

2 years agoEnsure 'package-vc-update' runs 'package-vc-unpack-1' only once
Philip Kaludercic [Tue, 1 Nov 2022 15:35:23 +0000 (16:35 +0100)]
Ensure 'package-vc-update' runs 'package-vc-unpack-1' only once

* lisp/emacs-lisp/package-vc.el (package-vc-update): Use
'vc-sourced-packages-list' and other hacks.

2 years ago; Avoid loading package-vc in 'package-load-descriptor'
Philip Kaludercic [Mon, 31 Oct 2022 09:51:40 +0000 (10:51 +0100)]
; Avoid loading package-vc in 'package-load-descriptor'

* lisp/emacs-lisp/package.el (package-load-descriptor): Remove the
:commit check.

The property is mostly unused anyway, and this unnecessarily slows
down initialisation if a package is installed from source.

2 years ago; Actually check if NAME-OR-URL is a string
Philip Kaludercic [Mon, 31 Oct 2022 08:59:48 +0000 (09:59 +0100)]
; Actually check if NAME-OR-URL is a string

* lisp/emacs-lisp/package-vc.el (package-vc-install): Use stringp as
predicate instead of binding it as a variable.

2 years agoAllow specifying and pinning source packages to be installed
Philip Kaludercic [Mon, 31 Oct 2022 08:58:37 +0000 (09:58 +0100)]
Allow specifying and pinning source packages to be installed

* lisp/emacs-lisp/package-vc.el (package-vc--select-packages): Add
custom setter for 'package-vc-selected-packages'.
(package-vc-selected-packages): Add user option.

2 years ago; Update TODO section
Philip Kaludercic [Sun, 30 Oct 2022 20:12:48 +0000 (21:12 +0100)]
; Update TODO section

2 years agoMerge remote-tracking branch 'origin/master' into feature/package+vc
Philip Kaludercic [Sun, 30 Oct 2022 17:45:37 +0000 (18:45 +0100)]
Merge remote-tracking branch 'origin/master' into feature/package+vc

2 years agoHave 'last-change' accept a line number instead of a range
Philip Kaludercic [Sun, 30 Oct 2022 15:52:08 +0000 (16:52 +0100)]
Have 'last-change' accept a line number instead of a range

* lisp/emacs-lisp/package-vc.el (package-vc-release-rev): Use new
signature.
* lisp/vc/vc-git.el (vc-git-last-change): Update signature
* lisp/vc/vc.el (vc-default-last-change): Update signature and use
'annotate-command'.

2 years agoDisplay a message after installing source packages
Philip Kaludercic [Sun, 30 Oct 2022 13:50:09 +0000 (14:50 +0100)]
Display a message after installing source packages

* lisp/emacs-lisp/package-vc.el (package-vc-unpack-1): Print message
and return t.

2 years agoPrefer "Package-Version" over "Version" if available
Philip Kaludercic [Sun, 30 Oct 2022 13:43:10 +0000 (14:43 +0100)]
Prefer "Package-Version" over "Version" if available

* lisp/emacs-lisp/package-vc.el (package-vc-release-rev): Search for
both in sequence.

2 years ago* lisp/url/url-util.el (url-insert-entities-in-string): Simplify
Stefan Monnier [Sun, 30 Oct 2022 13:39:45 +0000 (09:39 -0400)]
* lisp/url/url-util.el (url-insert-entities-in-string): Simplify

2 years agodom-print: Fix missing entities quoting
Stefan Monnier [Sun, 30 Oct 2022 13:37:23 +0000 (09:37 -0400)]
dom-print: Fix missing entities quoting

Also use `?\s` for the space character.

* lisp/dom.el (dom-print): Properly quote special characters to avoid
generating invalid HTML/XML.
(dom-tag, dom-attributes, dom-children, dom-node)
(dom-add-child-before): Simplify.
(dom-set-attribute): Add at beginning rather than at end (slightly
more efficient and less destructive).

2 years agoelide-head: Make trailing "/" in URL optional
Stefan Kangas [Sun, 30 Oct 2022 13:30:56 +0000 (14:30 +0100)]
elide-head: Make trailing "/" in URL optional

* lisp/elide-head.el (elide-head-headers-to-hide): Make trailing
"/" in the gnu.org URL optional for the GPL.
* test/lisp/elide-head-tests.el
(elide-head--test-headers-to-hide/gpl3-5): New test.

2 years agoMake previous-buffer and next-buffer repeatable
Damien Cassou [Wed, 26 Oct 2022 15:12:14 +0000 (17:12 +0200)]
Make previous-buffer and next-buffer repeatable

* lisp/bindings.el (buffer-navigation-repeat-map): Add new map.
* lisp/bindings.el (previous-buffer, next-buffer): Mark as
repeatable.  (Bug#58800)

2 years ago; Avoid a type error on malformed "elpa-packages.eld" input
Philip Kaludercic [Sun, 30 Oct 2022 13:07:56 +0000 (14:07 +0100)]
; Avoid a type error on malformed "elpa-packages.eld" input

* lisp/emacs-lisp/package-vc.el: Use 'eq' instead of '='

2 years agoExtract last source package release from local VCS data
Philip Kaludercic [Sun, 30 Oct 2022 10:43:11 +0000 (11:43 +0100)]
Extract last source package release from local VCS data

* lisp/emacs-lisp/package-vc.el (package-vc-archive-spec-alist):
Unmention :release-rev
(package-vc-desc->spec): Fall back on other archives if a
specification is missing.
(package-vc-main-file): Add new function, copying the behaviour of
elpa-admin.el.
(package-vc-generate-description-file): Use 'package-vc-main-file'.
(package-vc-unpack): Handle special value ':last-release'.
(package-vc-release-rev): Add new function using 'last-change'.
(package-vc-install): Pass ':last-release' as REV instead of a
release.
* lisp/vc/vc-git.el (vc-git-last-change): Add Git 'last-change'
implementation.
* lisp/vc/vc.el (vc-default-last-change): Add default 'last-change'
implementation.

This attempts to replicate the behaviour of elpa-admin.el's
"elpaa--get-last-release-commit".

2 years ago; Fix unclean code in w32fns.c
Eli Zaretskii [Sun, 30 Oct 2022 12:45:18 +0000 (14:45 +0200)]
; Fix unclean code in w32fns.c

* src/w32fns.c (setup_w32_kbdhook): Fix a typo and check errors
from the call to StringFromGUID2.  Reported by Juanma Barranquero
<lekktu@gmail.com>.

2 years agoMake winner key sequences repeatable in repeat-mode
Damien Cassou [Wed, 26 Oct 2022 14:53:23 +0000 (16:53 +0200)]
Make winner key sequences repeatable in repeat-mode

* lisp/winner.el (winner-repeat-map): New variable.
(winner-undo, winner-redo): Put 'repeat-map' property with
'winner-repeat-map'.  (Bug#58799)

2 years agoPrefer defvar-keymap in etags.el
Stefan Kangas [Sun, 30 Oct 2022 12:14:57 +0000 (13:14 +0100)]
Prefer defvar-keymap in etags.el

* lisp/progmodes/etags.el (select-tags-table-mode-map): Prefer
defvar-keymap.

2 years ago; Change parent language-environment of Kharoshthi
Eli Zaretskii [Sun, 30 Oct 2022 11:16:30 +0000 (13:16 +0200)]
; Change parent language-environment of Kharoshthi

* lisp/language/misc-lang.el ("Kharoshthi"): Change its parent to
"Indian".  (Bug#58376)
* lisp/international/mule-cmds.el (set-language-info-alist): Fix
indentation.

2 years agoFix set-language-info-alist when multiple PARENTS are given
Visuwesh [Mon, 10 Oct 2022 18:19:06 +0000 (23:49 +0530)]
Fix set-language-info-alist when multiple PARENTS are given

* lisp/international/mule-cmds.el (set-language-info-setup-keymap):
Function factored out from...
(set-language-info-alist): ...here.  Do not mess up the keymaps when
multiple parents are given in PARENTS.  (Bug#58376)

2 years ago; * src/sqlite.c (Fsqlite_select): Doc fix. (Bug#58885)
Eli Zaretskii [Sun, 30 Oct 2022 08:31:00 +0000 (10:31 +0200)]
; * src/sqlite.c (Fsqlite_select): Doc fix.  (Bug#58885)

2 years ago* lisp/tab-bar.el: Minibuffer follows selected tabs (bug#58728)
Juri Linkov [Sun, 30 Oct 2022 07:33:38 +0000 (09:33 +0200)]
* lisp/tab-bar.el: Minibuffer follows selected tabs (bug#58728)

(tab-bar-select-tab): Set set-window-configuration
arg DONT-SET-MINIWINDOW to t.  Reselect the previously active minibuffer
and unselect unnecessarily selected minibuffer.
(tab-bar-history-back, tab-bar-history-forward): Set set-window-configuration
arg DONT-SET-MINIWINDOW to t.

2 years agoPlug big leaks upon display IO error
Po Lu [Sun, 30 Oct 2022 05:13:28 +0000 (13:13 +0800)]
Plug big leaks upon display IO error

Frame GCs are still leaked, but there is nothing that can be
done in that case because the display connection is dead.

* src/xterm.c (x_delete_terminal): Always free xkb desc and
modmap.

2 years ago; Silence warning in last hierarchy.el change.
Basil L. Contovounesios [Sat, 29 Oct 2022 21:44:44 +0000 (00:44 +0300)]
; Silence warning in last hierarchy.el change.

2 years ago; * lisp/dired.el (dired--make-directory-clickable): Fix typo.
Eli Zaretskii [Sat, 29 Oct 2022 16:52:48 +0000 (19:52 +0300)]
; * lisp/dired.el (dired--make-directory-clickable): Fix typo.

2 years agoSet 'native-comp-debug' to zero on MS-Windows
Eli Zaretskii [Sat, 29 Oct 2022 15:59:04 +0000 (18:59 +0300)]
Set 'native-comp-debug' to zero on MS-Windows

* lisp/emacs-lisp/comp.el (native-comp-debug): Don't emit debug
symbols on MS-Windows.  The default was originally made 1 because
without that, C backtraces on Windows would not show
natively-compiled functions correctly, or would even stop short of
reaching the topmost call frame.  But that turned out to be due to
a bug in GDB, which was meanwhile fixed in GDB 12.  So we can now
reset the value back to zero, and gain smaller *.eln files on
MS-Windows.

2 years agoPrefer defvar-keymap in ps-mode.el
Stefan Kangas [Sat, 29 Oct 2022 15:08:51 +0000 (17:08 +0200)]
Prefer defvar-keymap in ps-mode.el

* lisp/progmodes/ps-mode.el (ps-mode-map, ps-run-mode-map): Prefer
defvar-keymap.

2 years ago; Remove redundant declares of w3m-minor-mode-map
Stefan Kangas [Sat, 29 Oct 2022 15:02:27 +0000 (17:02 +0200)]
; Remove redundant declares of w3m-minor-mode-map

* lisp/gnus/gnus-art.el (w3m-minor-mode-map):
* lisp/net/newst-backend.el (w3m-minor-mode-map): Don't declare.

2 years ago; * etc/NEWS: Add entry about more performant overlays.
Eli Zaretskii [Sat, 29 Oct 2022 13:34:08 +0000 (16:34 +0300)]
; * etc/NEWS: Add entry about more performant overlays.

2 years agoFix the subr-arity returned by native compiled functions with lots of args
Alan Mackenzie [Sat, 29 Oct 2022 13:21:39 +0000 (13:21 +0000)]
Fix the subr-arity returned by native compiled functions with lots of args

This fixes bug #58739.  Make subr-arity return, e.g., (12 . 12) rather than
(12 . many) for a function with a fixed number of arguments more than 8.

* lisp/emacs-lisp/comp.el (comp-prepare-args-for-top-level): Only return a cdr
of 'many when there are &rest arguments.

* src/eval.c (eval_sub): Also check for a fixed number of args over 8 when
using the nargs + *args calling convention.
(funcall_subr): Also check numargs <= 8 before using the fixed args calling
convention.  Include the case numargs > 8 in the aMany calling convention.

* src/lisp.h (DEFUN): Amend the comment about MANY.

2 years agoMake Dired header clickable on non-Posix systems as well
Eli Zaretskii [Sat, 29 Oct 2022 13:16:06 +0000 (16:16 +0300)]
Make Dired header clickable on non-Posix systems as well

* lisp/dired.el (dired--make-directory-clickable): Support
MS-Windows and MS-DOS absolute directory names with drive letters
and UNCs.  (Bug#21973)

2 years agoDisplay the Dired buffer as unmodified initially
Eli Zaretskii [Sat, 29 Oct 2022 13:02:35 +0000 (16:02 +0300)]
Display the Dired buffer as unmodified initially

* lisp/dired.el (dired-readin): Make sure a newly-created Dired
buffer is shown as unmodified.  (Bug#58863)

2 years agoFix another GCC warning
Po Lu [Sat, 29 Oct 2022 10:21:51 +0000 (18:21 +0800)]
Fix another GCC warning

* src/nsterm.m (ns_draw_glyphless_glyph_string_foreground): Fix
another compiler warning.

2 years agoFix crash destroying NS frame tool bar
Po Lu [Sat, 29 Oct 2022 10:21:09 +0000 (18:21 +0800)]
Fix crash destroying NS frame tool bar

* src/nsterm.m (ns_draw_glyphless_glyph_string_foreground): Work
around silly GCC bug causing splurious warnings.
([EmacsWindow dealloc]): Detach tool bar before dealloc'ing
window.  (bug#58857)

2 years agoc-get-fontification-context: Refine the last non-default arm of the cond
Alan Mackenzie [Sat, 29 Oct 2022 10:04:37 +0000 (10:04 +0000)]
c-get-fontification-context: Refine the last non-default arm of the cond

This fixes bug #58772.

* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Make the function
return (decl . nil) when MATCH-POS is in the second paren list of something
like DEFUN (..) (..).  Tidy up untidy code with save-excursion's for greater
accuracy.  Set a c-type text property value c-decl-arg-start to speed up
future calls.  Reindent the entire function.

2 years agoPrefer defvar-keymap in help.el
Stefan Kangas [Sat, 29 Oct 2022 05:44:07 +0000 (07:44 +0200)]
Prefer defvar-keymap in help.el

* lisp/help.el (help-key): New function.
(help-map): Prefer defvar-keymap.

2 years agoPrefer defvar-keymap in page-ext.el
Stefan Kangas [Sat, 29 Oct 2022 01:57:55 +0000 (03:57 +0200)]
Prefer defvar-keymap in page-ext.el

* lisp/textmodes/page-ext.el (pages--ctl-x-ctl-p-map)
(pages-directory-mode-map): Prefer defvar-keymap.

2 years ago; Minor cleanups in make-mode.el
Stefan Kangas [Sat, 29 Oct 2022 01:42:46 +0000 (03:42 +0200)]
; Minor cleanups in make-mode.el

* lisp/progmodes/make-mode.el
(makefile-query-one-target-method-function)
(makefile-insert-macro, makefile-insert-target)
(makefile-insert-target-ref, makefile-backslash-region)
(makefile-browser-next-line, makefile-browser-previous-line)
(makefile-remember-target): Minor cleanups.

2 years agoFix last change
Po Lu [Sat, 29 Oct 2022 00:55:40 +0000 (08:55 +0800)]
Fix last change

* src/itree.c (struct itree_iterator):
(itree_iterator_next): Fix some fields and const confusion.

2 years agoFix function declarations in itree headers
Po Lu [Sat, 29 Oct 2022 00:48:58 +0000 (08:48 +0800)]
Fix function declarations in itree headers

* src/itree.h: Make all declarations `extern'.

2 years agoFix coding style of latest feature branch merge
Po Lu [Sat, 29 Oct 2022 00:47:16 +0000 (08:47 +0800)]
Fix coding style of latest feature branch merge

* src/itree.c (interval_stack_ensure_space)
(interval_stack_push_flagged, struct itree_iterator)
(struct check_subtree_result, check_subtree, check_tree)
(itree_newlimit, interval_tree_inherit_offset)
(interval_tree_propagate_limit, itree_node_init, itree_node_begin)
(itree_node_end, itree_create, interval_tree_rotate_left)
(interval_tree_rotate_right, interval_tree_insert_fix)
(interval_tree_insert, itree_insert, itree_node_set_region)
(interval_tree_contains, interval_tree_subtree_min)
(interval_tree_remove_fix, interval_tree_replace_child)
(interval_tree_transplant, itree_remove, itree_iterator_start)
(itree_insert_gap, itree_delete_gap, interval_node_intersects)
(itree_iterator_next, itree_iterator_narrow): Tabify.  Fix
comment and code coding style.

2 years agoInclude Cairo FreeType header when available
Po Lu [Sat, 29 Oct 2022 00:38:09 +0000 (08:38 +0800)]
Include Cairo FreeType header when available

* src/xsettings.c: Include cairo-ft.h if CAIRO_HAS_FT_FONT.
(bug#58830)

2 years agoMerge remote-tracking branch 'origin/feature/noverlay'
Stefan Monnier [Fri, 28 Oct 2022 21:44:44 +0000 (17:44 -0400)]
Merge remote-tracking branch 'origin/feature/noverlay'

2 years agoFix warning in xsettings.c
Stefan Kangas [Fri, 28 Oct 2022 21:08:36 +0000 (23:08 +0200)]
Fix warning in xsettings.c

* src/xsettings.c [USE_CAIRO]: Include cairo-ft.h.
Thanks to Vincent Bernat <bernat@luffy.cx>.

2 years ago; Fix sit-for calling convention in zone.el
Stefan Kangas [Fri, 28 Oct 2022 20:34:24 +0000 (22:34 +0200)]
; Fix sit-for calling convention in zone.el

* lisp/play/zone.el (zone-pgm-2nd-putz-with-case)
(zone-pgm-putz-with-case): Don't use obsolete calling convention for
'sit-for'.

2 years agoRemove redundant requires from make-mode.el
Stefan Kangas [Fri, 28 Oct 2022 20:30:31 +0000 (22:30 +0200)]
Remove redundant requires from make-mode.el

* lisp/progmodes/make-mode.el (imenu, dabbrev, add-log): Remove
redundant requires.

2 years agoUse new sit-for calling convention in zone.el
Stefan Kangas [Fri, 28 Oct 2022 20:20:56 +0000 (22:20 +0200)]
Use new sit-for calling convention in zone.el

* lisp/play/zone.el (zone-exploding-remove): Don't use obsolete
calling convention for 'sit-for'.

2 years agoMinor doc fixes in make-mode.el
Stefan Kangas [Fri, 28 Oct 2022 00:36:04 +0000 (02:36 +0200)]
Minor doc fixes in make-mode.el

* lisp/progmodes/make-mode.el:
(makefile-insert-macro, makefile-pickup-everything)
(makefile-backslash-region): Minor doc fixes.
(makefile-browse): Use substitute-command-keys.

2 years agoPrefer defvar-keymap in make-mode.el
Stefan Kangas [Fri, 28 Oct 2022 00:33:33 +0000 (02:33 +0200)]
Prefer defvar-keymap in make-mode.el

* lisp/progmodes/make-mode.el (makefile-mode-map)
(makefile-browser-map): Prefer defvar-keymap.

2 years agoPrefer make-temp-name in make-mode.el
Stefan Kangas [Fri, 28 Oct 2022 00:17:58 +0000 (02:17 +0200)]
Prefer make-temp-name in make-mode.el

* lisp/progmodes/make-mode.el
(makefile-generate-temporary-filename): Make obsolete in favor of
'make-temp-name'.  Simplify.
(makefile-save-temporary): Don't use above obsolete function.

2 years agoEnsure temp file is deleted in makefile overview
Stefan Kangas [Fri, 28 Oct 2022 00:26:44 +0000 (02:26 +0200)]
Ensure temp file is deleted in makefile overview

* lisp/progmodes/make-mode.el (makefile-create-up-to-date-overview):
Ensure temp file is always deleted.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Fri, 28 Oct 2022 19:51:44 +0000 (21:51 +0200)]
Merge from origin/emacs-28

510020d30d ; Improve doc strings in whitespace.el

# Conflicts:
# lisp/whitespace.el

2 years ago; * doc/lispref/frames.texi (Drag and Drop): Fix typos and wording.
Eli Zaretskii [Fri, 28 Oct 2022 19:06:31 +0000 (22:06 +0300)]
; * doc/lispref/frames.texi (Drag and Drop): Fix typos and wording.

2 years agoExplicitly handle :vc-backend in a package specification
Philip Kaludercic [Fri, 28 Oct 2022 18:13:28 +0000 (20:13 +0200)]
Explicitly handle :vc-backend in a package specification

* lisp/emacs-lisp/package-vc.el (package-vc-archive-spec-alist):
Document the feature.
(package-vc-unpack): Check for :vc-backend in both PKG-SPEC and the
archive specification data.

2 years agoEnsure that package specifications are always fetched
Philip Kaludercic [Fri, 28 Oct 2022 18:10:30 +0000 (20:10 +0200)]
Ensure that package specifications are always fetched

* lisp/emacs-lisp/package-vc.el (package-vc--archives-initialize): Add
new function, extending 'package--archives-initialize'.
(package-vc-install): Use new function.
(package-vc-link-directory): Use new function.

2 years agoAllow specifying the VC backend used by 'package-vc-install'
Philip Kaludercic [Fri, 28 Oct 2022 18:01:48 +0000 (20:01 +0200)]
Allow specifying the VC backend used by 'package-vc-install'

* lisp/emacs-lisp/package-vc.el (package-vc-install): Add argument BACKEND.

2 years agoUpdate handling for new elpa-packages.eld format
Philip Kaludercic [Fri, 28 Oct 2022 17:58:05 +0000 (19:58 +0200)]
Update handling for new elpa-packages.eld format

* lisp/emacs-lisp/package-vc.el (package-vc-elpa-packages-version):
Add constant.
(package-vc-archive-data-alist): Add variable.
(package-vc--read-archive-data): Separate package specifications from
metadata.
(package-vc-unpack): Check archive metadata.

2 years agoCC Mode: Fontify cast types without adding them to c-found-types
Alan Mackenzie [Fri, 28 Oct 2022 17:50:33 +0000 (17:50 +0000)]
CC Mode: Fontify cast types without adding them to c-found-types

* lisp/progmodes/cc-engine.el (c-forward-type): Test for the special new
value `just-one' of c-promote-possible-types, and if found, fontify the type,
but don't add it to c-found-types.
(c-forward-decl-or-cast-1): Add the new &optional parameter inside-macro.
Whilst checking for a cast construct, analyze the text following the closing
paren more rigorously.
Check for, and allow, the closing paren of a macro arglist before the putative
cast construct.

* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): In the lambda
function, pass the parameter inside-macro to c-forward-decl-or-cast-1.

* lisp/progmodes/cc-langs.el (c-primary-expr-regexp-details): New
c-lang-defvar which calculates `c-primary-expr-regexp' and three match
numbers for various sub-expressions in the regexp.
(c-primary-expr-regexp): Now extracted from `c-primary-expr-regexp-details'.
(c-per-++---match, c-per-&*+--match, c-per-\(-match): New
c-lang-defconsts/vars extracted from `c-primary-expr-regexp-details'.

2 years agocconv.el: Fix regression in cconv-tests-interactive-closure-bug51695
Stefan Monnier [Fri, 28 Oct 2022 15:33:24 +0000 (11:33 -0400)]
cconv.el: Fix regression in cconv-tests-interactive-closure-bug51695

The new code to make interpreted closures safe-for-space introduced
a regression in `cconv-tests-interactive-closure-bug51695`, only seen
when using TEST_LOAD_EL.
A few other issues were found and fixed along the way.

* lisp/emacs-lisp/cconv.el (cconv-fv): Change calling convention and
focus on finding the free variables.
(cconv-make-interpreted-closure): New function.

* lisp/loadup.el: Use `compiled-function-p` rather than
`byte-code-function-p` so we also use safe-for-space interpreted
closures when we build with native compilation.
(internal-make-interpreted-closure-function):
Use `cconv-make-interpreted-closure`.

* src/eval.c (syms_of_eval): Rename `internal-filter-closure-env-function`
to `internal-make-interpreted-closure-function`.
(Ffunction): Let that new var build the actual closure.

* test/lisp/emacs-lisp/cconv-tests.el
(cconv-tests-interactive-closure-bug51695): Test specifically the
interpreted case.

2 years ago* lisp/transient.el: Update to package version v0.3.7-173-g81b29ca
Jonas Bernoulli [Fri, 28 Oct 2022 14:16:27 +0000 (16:16 +0200)]
* lisp/transient.el: Update to package version v0.3.7-173-g81b29ca

2 years agoImprove Drag and Drop preamble in the Lisp reference manual
Po Lu [Fri, 28 Oct 2022 14:22:59 +0000 (22:22 +0800)]
Improve Drag and Drop preamble in the Lisp reference manual

* doc/lispref/frames.texi (Drag and Drop): Reword contents and
clear up some ambiguities and redundancies.

2 years ago* lisp/emacs-lisp/re-builder.el: Cosmetic changes
Stefan Monnier [Fri, 28 Oct 2022 13:36:40 +0000 (09:36 -0400)]
* lisp/emacs-lisp/re-builder.el: Cosmetic changes

(reb-valid-string): Declare it risky so the mode-line will obey its
text-properties.
(reb-lisp-syntax-p): No need to make it `defsubst`.
(reb-target-value): New function to replace the
`reb-target-binding` macro.  Adjust all callers.
(reb-auto-update): Give a more informative error message than just
"invalid" and give it a warning face.
(reb-update-regexp): Always update `reb-regexp-src` (it's harmless),
rather than only when it's necessary (reduces the need for advice in pcre.el).

2 years agoInclude more information in error data for sqlite errors
Jonas Bernoulli [Fri, 21 Oct 2022 20:55:53 +0000 (22:55 +0200)]
Include more information in error data for sqlite errors

Introduce a new 'sqlite-error' and use it for all errors signaled in
'src/sqlite.c', except those that already used 'sqlite-locked-error'.
Include the values of 'sqlite3_errcode', 'sqlite3_extended_errcode',
'sqlite3_errstr' and 'sqlite3_errmsg' in the error data.

* src/sqlite.c (load_dll_functions): Load 'sqlite3_extended_errcode'.
(sqlite-load-extension): Use 'xsignal1' as required by argument type.
(syms_of_sqlite): Introduce a new error type 'sqlite-error'.
(check_sqlite, sqlite-open, bind_values, sqlite-execute)
(sqlite-select, sqlite-load-extension, sqlite-next): Use it.
(sqlite_prepare_errdata): New function.
(sqlite_prepare_errmsg): Remove function.
(sqlite-execute, sqlite-select): Use new function.
(sqlite-locked-error): Derive from 'sqlite-error'.

2 years agoCC Mode: Fix wrong fontification of enum foo bar; in Objective C Mode
Alan Mackenzie [Fri, 28 Oct 2022 12:13:08 +0000 (12:13 +0000)]
CC Mode: Fix wrong fontification of enum foo bar; in Objective C Mode

This fixes bug #58795 and bug #58796.

* lisp/progmodes/cc-langs.el (c-type-prefix-kwds): Add the missing entry for
objc.

2 years agoSimplify scroll valuator reset handling
Po Lu [Fri, 28 Oct 2022 12:06:06 +0000 (20:06 +0800)]
Simplify scroll valuator reset handling

* src/xterm.c (xi_populate_device_from_info)
(xi_reset_scroll_valuators_for_device_id, xi_handle_device_changed)
(handle_one_xevent):
* src/xterm.h (struct xi_scroll_valuator_t): Get rid of
`pending_enter_reset', which was extremely convoluted and kept
hitting server bugs.  Now, valuators are reset upon all crossing
events.

2 years agoClean up some xwidgets code
Po Lu [Fri, 28 Oct 2022 11:55:18 +0000 (19:55 +0800)]
Clean up some xwidgets code

* src/xterm.c (handle_one_xevent): [HAVE_XWIDGETS]: Fix coding
style and remove extra ifdefs.  Also avoid redundant frame
lookups in some cases.

2 years agoFix Haiku subprocess support
Po Lu [Fri, 28 Oct 2022 11:41:08 +0000 (11:41 +0000)]
Fix Haiku subprocess support

* src/callproc.c: Disable posix_spawn on Haiku until some things
are fixed.

2 years agoFix build without Cairo FreeType and fontconfig support
Po Lu [Fri, 28 Oct 2022 11:35:39 +0000 (19:35 +0800)]
Fix build without Cairo FreeType and fontconfig support

* src/xsettings.c (apply_xft_settings): Don't enable Xft code
unless Cairo FreeType support is present.  (bug#58830)

2 years agoFix failing test for package Hierarchy
Wamm K. D [Thu, 27 Oct 2022 19:07:03 +0000 (14:07 -0500)]
Fix failing test for package Hierarchy

This fixes a typo in one of the tests of Hierarchy which was causing
the test to fail.
* test/lisp/emacs-lisp/hierarchy-tests.el (hierarchy-delayed-add-trees):
Fix typo.

2 years agoFix detection of DPI changes in builds without Xft
Vincent Bernat [Tue, 25 Oct 2022 21:02:16 +0000 (23:02 +0200)]
Fix detection of DPI changes in builds without Xft

* src/xsettings.c (apply_xft_settings) [!HAVE_XFT]: Support
XSETTINGS changes in non-XFT builds.  (Bug#43128)

Copyright-paperwork-exempt: yes

2 years ago; * lisp/progmodes/gud.el (gud-gdb): Doc fix. (Bug#58826)
Eli Zaretskii [Fri, 28 Oct 2022 06:23:12 +0000 (09:23 +0300)]
; * lisp/progmodes/gud.el (gud-gdb): Doc fix.  (Bug#58826)

2 years agoUpdate to modus-themes version 3.0.0
Protesilaos Stavrou [Fri, 28 Oct 2022 04:51:55 +0000 (07:51 +0300)]
Update to modus-themes version 3.0.0

* doc/misc/modus-themes.org
(Option for red-green color deficiency or deuteranopia)
(Option for more bold constructs, Option for more italic constructs)
(Option for font mixing, Option for box buttons)
(Option for mode line presentation)
(Option for accented background in tab interfaces)
(Option for completion framework aesthetics, Option for mail citations)
(Option for line numbers, Option for mouseover effects)
(Option for diff buffer looks, Option for org-mode block styles)
(Option for Org agenda constructs)
(Option for the headings' overall style)
(Option for variable-pitch font in UI elements, Note on SHR fonts):
Revise markup of "non-nil" so that it is rendered properly in texinfo.

(Option for fringe visibility, Option for line highlighting): Reword
description of user option.

(Full support for packages or face groups): Update list of supported
packages or face groups.

(Note on ERC escaped color sequences)
(What is the best setup for legibility?)
(Port the Modus themes to other platforms?): Prefer American English.

(Note on pdf-tools link hints): Use double spacing between sentences

(Acknowledgements): Update list of names that have contributed to the
project, which was user feedback in this case.

* etc/themes/modus-themes.el (modus-themes, modus-themes-faces):
Reword doc string.
(modus-themes--version): Update to current version.
(modus-themes-version): Refine function definition.
(modus-themes-completion-standard-first-match)
(modus-themes-completion-standard-selected)
(modus-themes-completion-extra-selected)
(modus-themes-completion-key-binding, modus-themes-intense-markup)
(modus-themes--heading-weights, modus-themes--completion): Delete
obsolete forms, which were deprecated many months/version ago.
(modus-themes-fringes, modus-themes-completions)
(modus-themes-hl-line): Update default value and reword doc string
accordingly.
(modus-themes-faces): Update list of supported faces and their
attributes.

* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-vivendi-theme.el: Update version header.

Complete release notes: <https://protesilaos.com/codelog/2022-10-28-modus-themes-3-0-0/>.

2 years ago; Fix typos in symbol names
Stefan Kangas [Thu, 27 Oct 2022 21:04:37 +0000 (23:04 +0200)]
; Fix typos in symbol names

2 years agoAllow Hierarchy to delay computation of children
Wamm K. D [Thu, 4 Aug 2022 00:05:08 +0000 (19:05 -0500)]
Allow Hierarchy to delay computation of children

This adds an option to allow callers to specify that computing
the children of the hierarchy should be delayed to when the
user calls for them, by utilizing the tree-widget :expander
property.
* lisp/emacs-lisp/hierarchy.el (hierarchy-add-tree)
(hierarchy-add-trees): Add parameter 'delay-children-p'.
* lisp/emacs-lisp/hierarchy.el
(hierarchy--create-delayed-tree-widget): Add function.
* lisp/emacs-lisp/hierarchy.el (hierarchy-convert-to-tree-widget):
Utilize ':expander' if delaying children.  (Bug#55900)

* test/lisp/emacs-lisp/hierarchy-tests.el: Add tests for
delayed-children functionality.

2 years ago; * lisp/subr.el (keyboard-translate): Doc fix. (Bug#58805)
Eli Zaretskii [Thu, 27 Oct 2022 16:57:33 +0000 (19:57 +0300)]
; * lisp/subr.el (keyboard-translate): Doc fix.  (Bug#58805)

2 years agoDisable completion/ElDoc/FFAP when Python program is running
kobarity [Sat, 22 Oct 2022 12:36:15 +0000 (21:36 +0900)]
Disable completion/ElDoc/FFAP when Python program is running

* lisp/progmodes/python.el (python-completion-at-point)
(python-ffap-module-path, python-eldoc--get-doc-at-point): Add check
using `python-util-comint-end-of-output-p'.
(python-util-comint-end-of-output-p): New function.
* test/lisp/progmodes/python-tests.el (python-tests-shell-wait-for-prompt):
Use `python-util-comint-end-of-output-p'.
(python-completion-at-point-while-running-1)
(python-ffap-module-path-1)
(python-ffap-module-path-while-running-1)
(python-eldoc--get-doc-at-point-1)
(python-eldoc--get-doc-at-point-while-running-1): New tests.
(Bug#58713)

2 years ago; (rmail-summary-apply-filters-consecutively): Add :version.
Eli Zaretskii [Thu, 27 Oct 2022 15:45:28 +0000 (18:45 +0300)]
; (rmail-summary-apply-filters-consecutively): Add :version.

2 years agoAllow applying Rmail summary filters consecutively
Andrea Monaco [Thu, 27 Oct 2022 14:25:16 +0000 (17:25 +0300)]
Allow applying Rmail summary filters consecutively

* lisp/mail/rmailsum.el (rmail-summary-currently-displayed-msgs):
New variable.
(rmail-summary-apply-filters-consecutively): New user option.
(rmail-summary-fill-displayed-messages, rmail-summary-negate): New
functions.
(rmail-summary-by-labels, rmail-summary-by-recipients)
(rmail-summary-by-regexp, rmail-summary-by-topic)
(rmail-summary-by-senders): Obey
'rmail-summary-apply-filters-consecutively'.
KEEP-FILTERING, to narrow the existing filtered summary.

* etc/NEWS: Announce the change.

2 years agoRevert "Allow applying filters to summary consecutively"
Eli Zaretskii [Thu, 27 Oct 2022 14:15:51 +0000 (17:15 +0300)]
Revert "Allow applying filters to summary consecutively"

This reverts commit c8b9ba5fa1bf3a20b9b08a553ad088ca33f3d1ba.

2 years agoAllow applying filters to summary consecutively
Andrea Monaco [Thu, 27 Oct 2022 13:56:12 +0000 (16:56 +0300)]
Allow applying filters to summary consecutively

* lisp/mail/rmailsum.el (rmail-summary-currently-displayed-msgs):
New variable.
(rmail-summary-fill-displayed-messages, rmail-summary-negate): New
functions.
(rmail-summary-by-labels, rmail-summary-by-recipients)
(rmail-summary-by-regexp, rmail-summary-by-topic)
(rmail-summary-by-senders): Accept an additional argument
KEEP-FILTERING, to narrow the existing filtered summary.

* etc/NEWS: Announce the change.

2 years ago; * src/keyboard.c (command_loop_1): Remove unused variable.
Eli Zaretskii [Thu, 27 Oct 2022 12:29:46 +0000 (15:29 +0300)]
; * src/keyboard.c (command_loop_1): Remove unused variable.

2 years agoAvoid recentering when point enters invisible text at BOL
Eli Zaretskii [Thu, 27 Oct 2022 12:24:53 +0000 (15:24 +0300)]
Avoid recentering when point enters invisible text at BOL

* src/xdisp.c (try_cursor_movement): Don't say we must scroll when
point is inside invisible text at beginning of a glyph row.
(Bug#58793)

2 years agoFix reporting of iconic state on old window managers
Po Lu [Thu, 27 Oct 2022 11:14:56 +0000 (19:14 +0800)]
Fix reporting of iconic state on old window managers

* src/xterm.c (x_handle_wm_state): Handle IconicState if the
window manager does not support _NET_WM_STATE_HIDDEN.

2 years ago; Fix quoting of non-nil in texinfo sources
Stefan Kangas [Thu, 27 Oct 2022 11:09:49 +0000 (13:09 +0200)]
; Fix quoting of non-nil in texinfo sources

2 years agoFix auto-insert-alist ada-mode entry to match current ELPA ada-mode
Stephen Leake [Thu, 27 Oct 2022 10:29:20 +0000 (03:29 -0700)]
Fix auto-insert-alist ada-mode entry to match current ELPA ada-mode

2 years ago; Improve doc strings in whitespace.el
Eli Zaretskii [Thu, 27 Oct 2022 07:28:34 +0000 (10:28 +0300)]
; Improve doc strings in whitespace.el

* lisp/whitespace.el (whitespace-hspace-regexp)
(whitespace-space-regexp, whitespace-tab-regexp)
(whitespace-trailing-regexp, whitespace-space-before-tab-regexp)
(whitespace-indentation-regexp, whitespace-empty-at-bob-regexp)
(whitespace-empty-at-eob-regexp)
(whitespace-space-after-tab-regexp)
(whitespace-big-indent-regexp, whitespace-line-column)
(whitespace-display-mappings, whitespace-global-modes)
(whitespace-action, whitespace-style, whitespace-space)
(whitespace-hspace, whitespace-tab, whitespace-trailing)
(whitespace-space-before-tab, whitespace-indentation)
(whitespace-big-indent, whitespace-empty)
(whitespace-space-after-tab): Doc fixes.

2 years ago; Simplify wording in Eglot manual
Eli Zaretskii [Thu, 27 Oct 2022 06:21:04 +0000 (09:21 +0300)]
; Simplify wording in Eglot manual

* doc/misc/eglot.texi (Customizing Eglot): Simplify wording.
Reported by Pedro Andres Aranda Gutierrez <paaguti@gmail.com>.

2 years ago; Fix several symbol name typos
Stefan Kangas [Wed, 26 Oct 2022 20:41:09 +0000 (22:41 +0200)]
; Fix several symbol name typos

2 years ago; Use auto-generated docstring in gnus-custom-mode
Stefan Kangas [Wed, 26 Oct 2022 20:39:56 +0000 (22:39 +0200)]
; Use auto-generated docstring in gnus-custom-mode

* lisp/gnus/gnus-cus.el (gnus-custom-mode): Change docstring to prefer
text auto-generated by 'define-derived-mode' instead.