]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years ago; Explain why some files are encoded in utf-8-emacs
Eli Zaretskii [Sat, 19 Nov 2022 09:25:25 +0000 (11:25 +0200)]
; Explain why some files are encoded in utf-8-emacs

* lisp/international/titdic-cnv.el:
* lisp/language/ethio-util.el:
* lisp/language/ethiopic.el:
* lisp/language/ind-util.el:
* lisp/language/tibetan.el:
* lisp/language/tibet-util.el:
* lisp/leim/quail/ethiopic.el:
* lisp/leim/quail/tibetan.el: Add commentary explaining why these
files are encoded in utf-8-emacs.  (Bug#59341)

2 years agoFixes to fast mouse position reporting
Po Lu [Sat, 19 Nov 2022 07:24:25 +0000 (15:24 +0800)]
Fixes to fast mouse position reporting

* src/xterm.c (x_fast_mouse_position): New function.  Factor out
most of the fast mouse position code here.  Correctly port some
Haiku code to take into account multiple displays.  Report
scroll bar coordinates correctly.
(XTmouse_position): Call it.

2 years agoEUDC: Add LDAP tests
Thomas Fitzsimmons [Sat, 19 Nov 2022 07:05:36 +0000 (02:05 -0500)]
EUDC: Add LDAP tests

* test/lisp/net/eudc-resources/slapd.conf: New file.
* test/lisp/net/eudc-resources/dc=gnu,dc=org.ldif: Likewise.
* test/lisp/net/eudc-resources/dc=gnu,dc=org: New files.
* test/lisp/net/eudc-tests.el (eudcb-ldap): New test.

2 years agoFix automatic DPI adjustment and add workarounds for some systems
Po Lu [Sat, 19 Nov 2022 05:59:53 +0000 (13:59 +0800)]
Fix automatic DPI adjustment and add workarounds for some systems

* lisp/faces.el (x-create-frame-with-faces): New field
`delayed-font'.  Set the `font-parameter' property to `font' in
the given parameter list after face-set-after-frame-default is
called.
* src/fontset.c (Fset_fontset_font): Avoid changing
`font-parameter' with the call to Fmodify_frame_parameters.
* src/frame.c (gui_set_frame_parameters_1): New function.
Factor out gui_set_frame_parameters here, and add an argument
DEFAULT_PARAMETER.  If the `font' parameter is set, and
`default_parameter' is not, then set the `font-parameter' frame
parameter to the `font' parameter as well, to keep track of
which user-specified `font' frame parameter set the default
face's font on the frame.
(gui_set_frame_parameters): Call gui_set_frame_parameters_1 with
new arg set to false.
(gui_set_font): Remove broken implementation of
`font-parameter'.
(gui_default_parameter): If the default value was used, then
call gui_set_frame_parameters_1 with the new argument set to
false.  This is because no font was specified as a frame
parameter by the user, so Freconsider_frame_fonts is free to do
anything it wants.
(Freconsider_frame_fonts): If `font-parameter' is set, then use
it.
(syms_of_frame): New defsym Qfont_parameter.

* src/frame.h: Update prototypes.

* src/haikuterm.c (haiku_default_font_parameter):
* src/pgtkfns.c (pgtk_default_font_parameter):
* src/w32fns.c (w32_default_font_parameter): Stop setting
`font-parameter' here.  This code resulted in decades of
automatic font rescaling not working correctly.

* src/xfaces.c (set_font_frame_param): Clear the
`font-parameter' frame parameter.
(Finternal_merge_in_global_face):
* src/xfns.c (x_default_font_parameter): Avoid changing
`font-parameter' in response to changes to face attributes.
* src/xsettings.c (apply_xft_settings): Add workaround for
Cairo.  (bug#59371, bug#59347, bug#59283, bug#59271, bug#59285,
bug#59306.)

2 years agoFix bug#59371
Po Lu [Sat, 19 Nov 2022 03:19:41 +0000 (11:19 +0800)]
Fix bug#59371

* src/frame.c (Freconsider_frame_fonts): If a font parameter was
set, create a params alist with it.  Then, pass it to both
default_font_parameter and face-set-after-frame-default.
(bug#59371)

2 years agoFix earlier changes to keyboard.c
Po Lu [Sat, 19 Nov 2022 03:13:15 +0000 (11:13 +0800)]
Fix earlier changes to keyboard.c

* src/keyboard.c (coords_in_menu_bar_window): New function.
(make_lispy_event): Do not process menu bar events on window
system frames if there is no menu bar window or the click lies
outside.

2 years agoFix build with ext menu bar
Po Lu [Sat, 19 Nov 2022 00:42:56 +0000 (08:42 +0800)]
Fix build with ext menu bar

* src/keyboard.c (make_lispy_event): Don't access
menu_bar_window when !HAVE_EXT_MENU_BAR.

2 years agoFix click position to menu bar entry with no-toolkit
Manuel Giraud [Fri, 18 Nov 2022 08:24:55 +0000 (09:24 +0100)]
Fix click position to menu bar entry with no-toolkit

* src/keyboard.c (make_lispy_event): Use x_y_to_hpos_vpos to
compute correct menu bar position should the menu face change.
* src/xdisp.c (x_y_to_hpos_vpos): Not static anymore.
* src/dispextern.h: Export x_y_to_hpos_vpos.

2 years ago; gnus-icalendar-tests: revert erroneous 'typo fix'
Mattias Engdegård [Fri, 18 Nov 2022 18:50:33 +0000 (19:50 +0100)]
; gnus-icalendar-tests: revert erroneous 'typo fix'

2 years agoEUDC: Revert eudc-server-hotlist default change
Thomas Fitzsimmons [Thu, 17 Nov 2022 14:22:08 +0000 (09:22 -0500)]
EUDC: Revert eudc-server-hotlist default change

* etc/NEWS: Remove eudc-server-hotlist default change.
* lisp/net/eudc-vars.el (eudc-server-hotlist): Set to nil.
(Bug#59314)

2 years agoitree: Make sure a deleted overlay has NULL pointer fields
Stefan Monnier [Fri, 18 Nov 2022 16:11:46 +0000 (11:11 -0500)]
itree: Make sure a deleted overlay has NULL pointer fields

* src/buffer.c (delete_all_overlays): Use POST_ORDER to set the node's
pointers to NULL, as god intended.

* src/itree.c (itree_insert_node): Uncomment the assertion accordingly.

2 years ago* lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic-variable-bind): Typo
Stefan Monnier [Fri, 18 Nov 2022 15:45:29 +0000 (10:45 -0500)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic-variable-bind): Typo

2 years agoImprove 'defvar-keymap' docstring
Robert Pluim [Fri, 18 Nov 2022 15:05:05 +0000 (16:05 +0100)]
Improve 'defvar-keymap' docstring

* etc/NEWS: Improve ':repeat' entry for 'defvar-keymap'.
* lisp/keymap.el (defvar-keymap): Improve description of ':repeat'
keyword.

2 years agoSilence rmailsum byte compiler warnings
Robert Pluim [Fri, 18 Nov 2022 15:02:32 +0000 (16:02 +0100)]
Silence rmailsum byte compiler warnings

* lisp/mail/rmailsum.el (rmail-summary-by-thread): Prefix unused
lambda args with '_'.

2 years agoUse boolean values directly in rmailsum
Robert Pluim [Thu, 17 Nov 2022 15:45:36 +0000 (16:45 +0100)]
Use boolean values directly in rmailsum

* lisp/mail/rmailsum.el (rmail-summary-invert):
(rmail-summary-direct-descendants):
(rmail-summary--walk-thread-message-recursively):
(rmail-summary-by-thread):
(rmail-summary-by-labels):
(rmail-summary-by-recipients):
(rmail-summary-by-regexp):
(rmail-summary-by-topic):
(rmail-summary-by-senders): Use the boolean values in
'rmail-summary-currently-displayed-msgs' and similar directly instead
of comparing them to t and nil.

2 years ago; Fix typos
Stefan Kangas [Fri, 18 Nov 2022 14:48:22 +0000 (15:48 +0100)]
; Fix typos

2 years agoAvoid `user-init-file' being set to an eln file (bug#59334)
Juanma Barranquero [Fri, 18 Nov 2022 12:57:00 +0000 (13:57 +0100)]
Avoid `user-init-file' being set to an eln file (bug#59334)

* lisp/startup.el (startup--load-user-init-file): If possible,
point `user-init-file' to the source file if the init file was
native-compiled.

2 years ago; Fix typos (prefer US spelling)
Stefan Kangas [Fri, 18 Nov 2022 12:06:55 +0000 (13:06 +0100)]
; Fix typos (prefer US spelling)

2 years agoFix simple-tests when run noninteractively
Mattias Engdegård [Fri, 18 Nov 2022 11:09:46 +0000 (12:09 +0100)]
Fix simple-tests when run noninteractively

* test/lisp/simple-tests.el
(simple-execute-extended-command--describe-binding-msg):
Bind text-quoting-style explicitly to ensure consistent behaviour
whether or not the test is run interactively.

2 years agoAvoid raw control characters in grm-wy-boot.el
Stefan Kangas [Fri, 18 Nov 2022 10:59:07 +0000 (11:59 +0100)]
Avoid raw control characters in grm-wy-boot.el

* lisp/cedet/semantic/grm-wy-boot.el
(semantic-grammar-wy--parse-table): Don't use raw control characters.

2 years ago* lisp/repeat.el (describe-repeat-maps): More outlines and page separators.
Juri Linkov [Fri, 18 Nov 2022 07:19:23 +0000 (09:19 +0200)]
* lisp/repeat.el (describe-repeat-maps): More outlines and page separators.

2 years agoAdd knob to make `mouse-position' faster on X
Po Lu [Fri, 18 Nov 2022 01:08:59 +0000 (09:08 +0800)]
Add knob to make `mouse-position' faster on X

* etc/PROBLEMS (Improving performance with slow X connections):
Add new advice.
* src/xterm.c (XTmouse_position): Add alternative
implementations for slow connections.
(syms_of_xterm): Add new variable to enable them.
* src/xterm.h (struct x_display_info): Update commentary.

2 years agoMerge remote-tracking branch 'origin/scratch/noverlay'
Stefan Monnier [Thu, 17 Nov 2022 23:48:38 +0000 (18:48 -0500)]
Merge remote-tracking branch 'origin/scratch/noverlay'

2 years agoitree.c: Get rid of the old iterator code scratch/noverlay
Stefan Monnier [Thu, 17 Nov 2022 23:09:37 +0000 (18:09 -0500)]
itree.c: Get rid of the old iterator code

Only use the new iterator which relies on a fixed size (and small)
state in the iterator.
This makes non-local exits safe within ITREE_FOREACH loops.

* src/itree.c (make_nav, nav_nodeptr, nav_flag, itree_stack_clear)
(itree_stack_push_flagged): Delete functions.
(nodeptr_and_flag): Delete type.
(struct itree_stack): Make the array hold plain pointers instead.
(itree_stack_push): Inline the former code of `itree_stack_push_flagged`.
(itree_stack_pop): Change return type.
(itree_contains): Don't call `ITREE_FOREACH_ABORT` any more.
(itree_insert_gap): Simplify access to the stack of nodes.
(itree_delete_gap, itree_insert_gap): Adjust code to new return type of
`itree_stack_pop`.
(itree_iterator_finish): Delete function.
(itree_iterator_start): Don't setup the `stack` field any more.
(itree_iterator_next): Delete function.
(itree_iter_next): Rename to `itree_iterator_next` and make it non-static.
(itree_iterator_narrow): Don't check the `running` flag any more.

* src/itree.h (itree_iterator_finish): Remove declaration.
(struct itree_iterator): Remove the `stack` and `running` fields.
(ITREE_FOREACH_ABORT): Delete macro.
(ITREE_FOREACH): Don't call `itree_iterator_finish` any more.

* src/xdisp.c (strings_with_newlines):
* src/buffer.c (overlays_in, next_overlay_change, overlay_touches_p):
Don't call `ITREE_FOREACH_ABORT` any more.

2 years agoitree.c: Make the iterator reentrant (bug#59183)
Stefan Monnier [Thu, 17 Nov 2022 22:00:22 +0000 (17:00 -0500)]
itree.c: Make the iterator reentrant (bug#59183)

Get rid of the global iterator object and instead allocate
a separate iterator for every loop.  This still uses the "duplicate
iterator" code, including the old iterator which needs a stack,
make ITREE_FOREACH a bit more expensive than we'd like.

* src/itree.h (init_itree, forget_itree, itree_iterator_busy_p):
Delete declarations.
(itree_iterator_start): Add iterator arg and remove `line` and `file` args.
(struct itree_iterator): Move from `itree.c`.  Remove `line` and
`file` fields.
(ITREE_FOREACH): Stack allocate an iterator object and pass it to
`itree_iterator_start`.

* src/itree.c (struct itree_iterator): Move to itree.h.
(iter): Delete global variable.
(itree_iterator_create, init_itree, forget_itree, itree_iterator_busy_p):
Delete functions.
(itree_contains): Adjust assertion.
(itree_iterator_finish): Deallocate the iterator's stack.
(itree_iterator_start): Take the (uninitialized) iterator as argument.
Allocate a fresh new stack.  Remove `file` and `line` arguments.
Don't check `running` any more since the iterator is not expected to be
initialized at all.

* src/eval.c (signal_or_quit):
* src/alloc.c (garbage_collect): Don't check `itree_iterator_busy_p`
any more.

* src/emacs.c (main): No need to `init_itree` any more.
(Fdump_emacs): No need to `forget_itree` any more.

2 years ago* lisp/emacs-lisp/package-vc.el: Autoload package-vc-update{,-all}
Philip Kaludercic [Thu, 17 Nov 2022 16:39:46 +0000 (17:39 +0100)]
* lisp/emacs-lisp/package-vc.el: Autoload package-vc-update{,-all}

2 years ago; Clarify what a package specification is
Philip Kaludercic [Wed, 16 Nov 2022 09:59:53 +0000 (10:59 +0100)]
; Clarify what a package specification is

* lisp/emacs-lisp/package-vc.el (package-vc-selected-packages): Expand
docstring.

2 years agoEnsure 'package-vc-prepare-patch' runs in the right directory
Philip Kaludercic [Wed, 16 Nov 2022 09:46:43 +0000 (10:46 +0100)]
Ensure 'package-vc-prepare-patch' runs in the right directory

* lisp/emacs-lisp/package-vc.el (package-vc-prepare-patch): Bind
'default-directory'.p

2 years agoAvoid duplicate source packages in 'package-alist'
Philip Kaludercic [Wed, 16 Nov 2022 09:37:10 +0000 (10:37 +0100)]
Avoid duplicate source packages in 'package-alist'

* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Remove all
other source packages before installing the new package description.

2 years agoFix issues related to 'package-vc-install-from-checkout'
Philip Kaludercic [Wed, 16 Nov 2022 09:28:14 +0000 (10:28 +0100)]
Fix issues related to 'package-vc-install-from-checkout'

* lisp/emacs-lisp/package-vc.el (package-vc--main-file): Ensure the
package name is a string.
(package-vc--unpack-1): Use pkg-dir instead of the empty return value
of 'package-lisp-dir'.
(package-vc-install-from-checkout): Fix file name handling.

2 years ago; * lisp/emacs-lisp/package-vc.el: Update TODO
Philip Kaludercic [Tue, 15 Nov 2022 19:19:33 +0000 (20:19 +0100)]
; * lisp/emacs-lisp/package-vc.el: Update TODO

2 years agoAllow the direct installation of package specifications
Philip Kaludercic [Tue, 15 Nov 2022 19:05:33 +0000 (20:05 +0100)]
Allow the direct installation of package specifications

* lisp/emacs-lisp/package-vc.el (package-vc-install): Handle package
specifications as an argument.

2 years agoOnly fetch elpa-packages.eld when necessary
Philip Kaludercic [Tue, 15 Nov 2022 14:40:58 +0000 (15:40 +0100)]
Only fetch elpa-packages.eld when necessary

* lisp/emacs-lisp/package-vc.el: Remove hook from
'package-refresh-contents-hook'.

2 years agoRemove duplicate package descriptions after updating
Philip Kaludercic [Tue, 15 Nov 2022 13:36:26 +0000 (14:36 +0100)]
Remove duplicate package descriptions after updating

* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Ensure there
is always just one instance of a package description in 'package-alist'.

2 years agoRemove temporary .texi files if used to build documentation
Philip Kaludercic [Tue, 15 Nov 2022 12:27:59 +0000 (13:27 +0100)]
Remove temporary .texi files if used to build documentation

* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Remember if a temporary file was generated and delete it afterwards.

2 years agoFix the behaviour of 'byte-compile-ignore-files'
Philip Kaludercic [Tue, 15 Nov 2022 10:03:58 +0000 (11:03 +0100)]
Fix the behaviour of 'byte-compile-ignore-files'

* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Negate the
'string-match-p' check.  (Bug#59139)

2 years agoAdd missing elpa-package.eld to package test resources
Philip Kaludercic [Tue, 15 Nov 2022 10:00:14 +0000 (11:00 +0100)]
Add missing elpa-package.eld to package test resources

2 years agoAvoid destructive manipulation of 'package-vc--archive-spec-alist'
Philip Kaludercic [Tue, 15 Nov 2022 09:46:23 +0000 (10:46 +0100)]
Avoid destructive manipulation of 'package-vc--archive-spec-alist'

* lisp/emacs-lisp/package-vc.el (package-vc--desc->spec): Replace
'mapcar' with 'apply'.  This is done to avoid unintentional cycles.

2 years agoImprove robustness of 'package-vc-update'
Philip Kaludercic [Tue, 15 Nov 2022 09:20:01 +0000 (10:20 +0100)]
Improve robustness of 'package-vc-update'

* lisp/emacs-lisp/package-vc.el (package-vc-update): Ensure that the
command is only invoked with installed packages. that the hook is
always removed and that 'vc-pull' is always called in the right
directory.

2 years ago* lisp/vc/vc.el (vc-default-last-change): Use 'vc-call'
Philip Kaludercic [Mon, 14 Nov 2022 13:24:14 +0000 (14:24 +0100)]
* lisp/vc/vc.el (vc-default-last-change): Use 'vc-call'

2 years agoHave 'vc-prepare-patch' handle prefix arguments.
Philip Kaludercic [Sun, 13 Nov 2022 16:05:20 +0000 (17:05 +0100)]
Have 'vc-prepare-patch' handle prefix arguments.

* lisp/emacs-lisp/package-vc.el (package-vc-prepare-patch): Use
'vc-prepare-patch-prompt-revisions'.
* lisp/vc/vc.el (vc-prepare-patch-prompt-revisions): Extract common
function and handle prefix arguments.
(vc-prepare-patch): Pull logic out to
'vc-prepare-patch-prompt-revisions'.

2 years agoExplain that 'package-vc-install' doesn't remove tarball packages
Philip Kaludercic [Sun, 13 Nov 2022 07:18:49 +0000 (08:18 +0100)]
Explain that 'package-vc-install' doesn't remove tarball packages

* lisp/emacs-lisp/package-vc.el (package-vc-install): Expand documentation.

2 years agoMention package name when package is lacking VC data
Philip Kaludercic [Sun, 13 Nov 2022 07:17:07 +0000 (08:17 +0100)]
Mention package name when package is lacking VC data

* lisp/emacs-lisp/package-vc.el (package-vc-install): Add package name.
(package-vc-checkout): Add package name.

2 years agoAdd new command 'package-vc-update-all'
Philip Kaludercic [Sun, 13 Nov 2022 07:12:18 +0000 (08:12 +0100)]
Add new command 'package-vc-update-all'

* lisp/emacs-lisp/package-vc.el (package-vc-update-all): Add command
(package-vc-update): Add an assertion to verify this.

2 years agoRaise 'wrong-type-argument' when installing package nil
Philip Kaludercic [Sat, 12 Nov 2022 08:18:19 +0000 (09:18 +0100)]
Raise 'wrong-type-argument' when installing package nil

* lisp/emacs-lisp/package-vc.el (package-vc-install): Check if the
package is nil.

2 years agoHave 'package-vc-selected-packages' consider all installed packages
Philip Kaludercic [Sat, 12 Nov 2022 08:14:33 +0000 (09:14 +0100)]
Have 'package-vc-selected-packages' consider all installed packages

* lisp/emacs-lisp/package-vc.el
(package-vc-install-selected-packages): Consider more than just one
value in `package-alist', in case there are multiple installations.

2 years agoFix indefinite loading of asynchronous downloads
Philip Kaludercic [Fri, 11 Nov 2022 17:34:14 +0000 (18:34 +0100)]
Fix indefinite loading of asynchronous downloads

* lisp/emacs-lisp/package.el (package--download-one-archive): Only add
the archive that is actually being downloaded to
'package--downloads-in-progress'.

2 years agoFix edebug spec for 'package--with-response-buffer'
Philip Kaludercic [Fri, 11 Nov 2022 17:32:13 +0000 (18:32 +0100)]
Fix edebug spec for 'package--with-response-buffer'

* lisp/emacs-lisp/package.el (package--with-response-buffer): Add a
spec that makes the macro debuggable.

2 years agoImprove robustness of documentation generation
Philip Kaludercic [Thu, 10 Nov 2022 23:09:46 +0000 (00:09 +0100)]
Improve robustness of documentation generation

* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation): Log
output and display error messages if anything goes wrong.

2 years agoRemove unused variable in 'package-vc--unpack'
Philip Kaludercic [Thu, 10 Nov 2022 20:55:30 +0000 (21:55 +0100)]
Remove unused variable in 'package-vc--unpack'

* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Remove 'url'.

2 years agoMove package spec documentation to 'package-vc-selected-packages'
Philip Kaludercic [Thu, 10 Nov 2022 20:52:46 +0000 (21:52 +0100)]
Move package spec documentation to 'package-vc-selected-packages'

* lisp/emacs-lisp/package-vc.el (package-vc-selected-packages): Add
documentation.
(package-vc--archive-spec-alist): Remove documentation.

2 years agoFix type error in package-vc prompt function
Philip Kaludercic [Thu, 10 Nov 2022 18:18:00 +0000 (19:18 +0100)]
Fix type error in package-vc prompt function

* lisp/emacs-lisp/package-vc.el (package-vc--read-package-name):  Pass
(not allow-url) as REQUIRE-MATCH, not as INITIAL-INPUT.

2 years agoRename 'package-vc-refresh' to 'package-vc-rebuild'
Philip Kaludercic [Sat, 12 Nov 2022 23:59:35 +0000 (00:59 +0100)]
Rename 'package-vc-refresh' to 'package-vc-rebuild'

* doc/emacs/package.texi (Fetching Package Sources): Update documentation.
* lisp/emacs-lisp/package-vc.el (package-vc-refresh): Rename from.
(package-vc-rebuild): Rename to.

This intends to clarify the intention and avoid confusion with
'package-refresh-contents'.  Thanks to Rudolf Adamkovič for the
suggestion.

2 years agoTrack 'default-directory' while updating source packages
Philip Kaludercic [Wed, 9 Nov 2022 08:35:11 +0000 (09:35 +0100)]
Track 'default-directory' while updating source packages

* lisp/emacs-lisp/package-vc.el (package-vc-update): Add the source
directory to the identifier list, in case the remaining
'vc-do-command' arguments are all read-time constants.

2 years agoRespect :lisp-dir in package specs by loading a sub-directory
Philip Kaludercic [Tue, 8 Nov 2022 22:45:35 +0000 (23:45 +0100)]
Respect :lisp-dir in package specs by loading a sub-directory

* lisp/emacs-lisp/package-vc.el (package-vc-repository-store): Remove
obsolete variable.
(package-vc--unpack-1): Respect :lisp-dir.
(package-vc--unpack): Add :lisp-dir to the package description if
necessary.
* lisp/emacs-lisp/package.el (package--delete-directory): Check if a
directory is a symbolic link.

2 years agoFix generation of documentation for source packages
Philip Kaludercic [Sun, 6 Nov 2022 20:53:32 +0000 (21:53 +0100)]
Fix generation of documentation for source packages

* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Call "makeinfo" before "install-info"

2 years agoRemove references to internal symbols from public docstrings
Philip Kaludercic [Sun, 6 Nov 2022 16:45:08 +0000 (17:45 +0100)]
Remove references to internal symbols from public docstrings

* lisp/emacs-lisp/package-vc.el (package-vc-repository-store):
Unmention 'package-vc--unpack'.
(package-vc-install): Unmention 'package-vc--guess-backend' in favour
of 'package-vc-heuristic-alist'.

2 years agoExpand 'package-vc--unpack-1' documentation
Philip Kaludercic [Sun, 6 Nov 2022 12:16:50 +0000 (13:16 +0100)]
Expand 'package-vc--unpack-1' documentation

* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Explain what
the function does.

2 years agoClarify 'package-vc--build-documentation' docstring
Philip Kaludercic [Sun, 6 Nov 2022 11:12:23 +0000 (12:12 +0100)]
Clarify 'package-vc--build-documentation' docstring

* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Rewrite the first line.

As suggested by Eli Zaretskii.

2 years agoFix the docstring for 'package-vc--version'
Philip Kaludercic [Sun, 6 Nov 2022 11:05:32 +0000 (12:05 +0100)]
Fix the docstring for 'package-vc--version'

* lisp/emacs-lisp/package-vc.el (package-vc--version): Replace
docstring.

It seems like this was just copied over from 'package-vc-commit', for
no good reason.

2 years agoFix 'package-vc-selected-packages' documentation
Philip Kaludercic [Sun, 6 Nov 2022 09:43:44 +0000 (10:43 +0100)]
Fix 'package-vc-selected-packages' documentation

* lisp/emacs-lisp/package-vc.el (package-vc-selected-packages): Remove
reference to non-existent function and add an explanation that the
value won't override an existing source package installation.

2 years agoMark 'package-vc-update' as interactive
Philip Kaludercic [Sun, 6 Nov 2022 09:24:56 +0000 (10:24 +0100)]
Mark 'package-vc-update' as interactive

* lisp/emacs-lisp/package-vc.el (package-vc--sourced-packages-list):
Remove function in favour of 'package-vc--read-package-name'.
(package-vc--read-package-name):
Extract out common functionality.
(package-vc--read-package-desc): Add auxiliary function based on
'package-vc--read-package-name'.
(package-vc-update): Add interactive spec using
'package-vc--read-package-desc'.
(package-vc-install): Use 'package-vc--read-package-desc'.
(package-vc-checkout): Use 'package-vc--read-package-desc'.
(package-vc--read-pkg): Remove in favour of 'package-vc--read-package-desc'.
(package-vc-refresh): Use 'package-vc--read-package-desc'.
(package-vc-prepare-patch): Use 'package-vc--read-package-desc'.

2 years agoAutoload 'package-vc-install-selected-packages'
Philip Kaludercic [Sun, 6 Nov 2022 08:52:57 +0000 (09:52 +0100)]
Autoload 'package-vc-install-selected-packages'

* lisp/emacs-lisp/package-vc.el (package-vc-ensure-packages): Add an
autoload cookie.
(package-vc-selected-packages): Set
:initialize to 'custom-initialize-default'.

2 years agoMark 'package-vc-install-selected-packages' as interactive
Philip Kaludercic [Sun, 6 Nov 2022 08:52:12 +0000 (09:52 +0100)]
Mark 'package-vc-install-selected-packages' as interactive

* lisp/emacs-lisp/package-vc.el (package-vc-ensure-packages): Add an
interactive spec.

2 years agoRename '-ensure-packages' to -install-selected-packages'
Philip Kaludercic [Sun, 6 Nov 2022 08:51:45 +0000 (09:51 +0100)]
Rename '-ensure-packages' to -install-selected-packages'

* doc/emacs/package.texi (Fetching Package Sources): Rename instances.
* lisp/emacs-lisp/package-vc.el (package-vc-ensure-packages): Rename
to 'package-vc-install-selected-packages'.
(package-vc-selected-packages): Call renamed function.

2 years agoHandle strings as keys in 'package-vc-ensure-packages'
Philip Kaludercic [Sun, 6 Nov 2022 08:47:39 +0000 (09:47 +0100)]
Handle strings as keys in 'package-vc-ensure-packages'

* lisp/emacs-lisp/package-vc.el (package-vc-ensure-packages): Inter
sting keys while processing 'package-vc-selected-packages'.

As requested by Rudolf Adamkovič.

2 years ago; Fix interactive spec for 'package-vc-refresh'
Philip Kaludercic [Sun, 6 Nov 2022 08:42:52 +0000 (09:42 +0100)]
; Fix interactive spec for 'package-vc-refresh'

* lisp/emacs-lisp/package-vc.el (package-vc-refresh):

Thanks to Rudolf Adamkovič for noticing the mistake.

2 years agoAvoid raw control characters in two files
Stefan Kangas [Thu, 17 Nov 2022 19:08:54 +0000 (20:08 +0100)]
Avoid raw control characters in two files

* lisp/net/rcirc.el (rcirc-format, rcirc-unformat)
(rcirc-format-bold, rcirc-format-italic, rcirc-format-underline)
(rcirc-format-strike-trough, rcirc-format-fixed-width):
* test/lisp/subr-tests.el (test-keymap-parse-macros): Don't use
raw control characters.

2 years ago* lisp/repeat.el (describe-repeat-maps): Use fill-region-as-paragraph.
Juri Linkov [Thu, 17 Nov 2022 17:54:33 +0000 (19:54 +0200)]
* lisp/repeat.el (describe-repeat-maps): Use fill-region-as-paragraph.

2 years agoUse mapc instead of mapcar when walking rmail threads
Robert Pluim [Thu, 17 Nov 2022 15:53:41 +0000 (16:53 +0100)]
Use mapc instead of mapcar when walking rmail threads

* lisp/mail/rmailsum.el (rmail-summary--walk-thread-message-recursively):
Use `mapc' instead of `mapcar'; we don't care about the results.

2 years ago; Fix previous rmailsum change
Robert Pluim [Thu, 17 Nov 2022 15:58:34 +0000 (16:58 +0100)]
; Fix previous rmailsum change

2 years agoitree.c: Add new "stateless" iterator code and post-order traversal
Stefan Monnier [Thu, 17 Nov 2022 14:08:24 +0000 (09:08 -0500)]
itree.c: Add new "stateless" iterator code and post-order traversal

This still uses the old iterator code, but runs the new code
alongside to make sure they behave identically.

* src/itree.c (struct itree_iterator): New field `node`.
(itree_iterator_create): Give it a sane default value.
(itree_iterator_busy_p, itree_iterator_start, itree_iterator_finish):
Move down to the "iterator" section of the file.
(itree_iter_next_in_subtree, itree_iterator_first_node)
(itree_iter_next): New functions.
(itree_iterator_start): Initialize the new `node` field.
(itree_iterator_next): Add post-order case.
Call the new "stateless" `itree_iter_next` function and check that it
agrees.

* src/itree.h (enum itree_order): New value for post-order traversals.

2 years agoNew Rmail summary "by thread"
Andrea Monaco [Tue, 15 Nov 2022 19:07:18 +0000 (20:07 +0100)]
New Rmail summary "by thread"

* lisp/mail/rmailsum.el (rmail-summary-subjects-hash-table)
(rmail-summary-message-parents-vector)
(rmail-summary-message-ids-hash-table): New variables.
(rmail-summary-fill-message-ids-hash-table)
(rmail-summary--split-header-field)
(rmail-summary-fill-message-parents-vector)
(rmail-summary-direct-descendants)
(rmail-summary--walk-thread-message-recursively)
(rmail-summary-by-thread): New functions.

* etc/NEWS: Announce the new Rmail features.

2 years agoImprove progressive summaries in Rmail
Andrea Monaco [Mon, 7 Nov 2022 14:13:13 +0000 (15:13 +0100)]
Improve progressive summaries in Rmail

* lisp/mail/rmailsum.el (rmail-summary-progressively-narrow):
Renamed from 'rmail-summary-apply-filters-consecutively'.  Doc
fix.
(rmail-summary-invert): Renamed from 'rmail-summary-negate'.  Doc
fix.
(rmail-summary-currently-displayed-msgs): Doc fix.
(rmail-summary--exists-1): New function.
(rmail-summary-by-labels, rmail-summary-by-recipients)
(rmail-summary-by-regexp, rmail-summary-by-topic)
(rmail-summary-by-senders): Call 'rmail-summary-exists' to verify
that the summary is usable.

2 years agoCC Mode: Make implicit int types following specifiers fontify correctly
Alan Mackenzie [Thu, 17 Nov 2022 10:34:41 +0000 (10:34 +0000)]
CC Mode: Make implicit int types following specifiers fontify correctly

This fixes bug #59267.  It applies to C Mode only, and refers to constructs
like "register count;" which are implicitly of int type.

* lisp/progmodes/cc-engine.el (c-forward-type): Use the new regexp
c-maybe-typeless-specifier-re in place of c-opt-type-modifier-prefix-key.  Add
an extra arm to the main cond form to handle the construct, and another to
handle "extern "C" foo_t my_foo;".
(c-forward-decl-or-cast-1): Adapt to handle the result no-id from
c-forward-type.

* lisp/progmodes/cc-langs.el (c-maybe-typeless-specifier-re): New lang
const/var.

2 years ago; * lisp/progmodes/elisp-mode.el (eval-defun): Doc fix.
Eli Zaretskii [Thu, 17 Nov 2022 10:34:06 +0000 (12:34 +0200)]
; * lisp/progmodes/elisp-mode.el (eval-defun): Doc fix.

2 years agoSupport multi-line C++11 strings in Ebrowse
Jan Stranik [Fri, 28 Oct 2022 20:13:42 +0000 (16:13 -0400)]
Support multi-line C++11 strings in Ebrowse

* lib-src/ebrowse.c (yylex): Support C++11 multi-line strings.
(bug#58847)

2 years agoMake VSIZE and RSS human-readable in Proced buffers
Laurence Warne [Sun, 13 Nov 2022 19:53:17 +0000 (19:53 +0000)]
Make VSIZE and RSS human-readable in Proced buffers

* lisp/proced.el (proced-format-memory): New function.
(proced-grammar-alist): Use proced-format-memory to format
VSIZE and RSS.  (Bug#59272)

2 years ago* lisp/progmodes/eglot.el (eglot-server-programs): Remove Intelephense.
Eli Zaretskii [Thu, 17 Nov 2022 09:47:34 +0000 (11:47 +0200)]
* lisp/progmodes/eglot.el (eglot-server-programs): Remove Intelephense.

2 years agoAdd Eglot alternatives for PHP language servers
USAMI Kenta [Fri, 11 Nov 2022 13:57:06 +0000 (22:57 +0900)]
Add Eglot alternatives for PHP language servers

* lisp/progmodes/eglot.el (eglot-server-programs): Add alternatives
for PHP.

2 years agoediff: Merges with ancestor: Fix computation of hunks and proposed merge
Olivier Certner [Thu, 10 Nov 2022 17:57:27 +0000 (18:57 +0100)]
ediff: Merges with ancestor: Fix computation of hunks and proposed merge

Hunks were not computed correctly because the diff3 command was
invoked with arguments in an incorrect order.  The correct order is
the local file first, the base (or "ancestor") second and the other
file third.  This erroneous behavior had two consequences.  First, the
output of diff3 would change, since it tries to merge chunks according
to maximal matches between the second and first files, and the second
and third files.  Second, ediff, more precisely, `ediff-do-merge',
would consequently try to merge the reverse of the changes from the
base to the other file.

* lisp/vc/ediff-diff.el (ediff-setup-diff-regions3): In the arguments
to `ediff-exec-process', swap the other file with the ancestor (only
when merging with an ancestor).

(ediff-extract-diffs3): Match the hunk data for the ancestor and the
other file correctly.  The local variable `three-way-comp' indicates
this is a merge with ancestors when it is nil.

(Bug#59182)

2 years agoshell: Add repeat-map for shell-{forward,backward}-prompt
Brian Leung [Wed, 9 Nov 2022 07:18:23 +0000 (23:18 -0800)]
shell: Add repeat-map for shell-{forward,backward}-prompt

* lisp/shell.el (shell-repeat-map): New defvar.  (Bug#59144)

2 years agoesh-mode: Add repeat-map for eshell-{forward,backward}-argument
Brian Leung [Wed, 9 Nov 2022 07:16:16 +0000 (23:16 -0800)]
esh-mode: Add repeat-map for eshell-{forward,backward}-argument

* lisp/eshell/esh-mode.el (eshell-command-repeat-map): New defvar.
(Bug#59144)

2 years agoem-prompt: Add repeat-map for eshell-{next,previous}-prompt
Brian Leung [Wed, 9 Nov 2022 06:11:15 +0000 (22:11 -0800)]
em-prompt: Add repeat-map for eshell-{next,previous}-prompt

* lisp/eshell/em-prompt.el (eshell-prompt-repeat-map): New keymap.
(Bug#59144)

2 years agocomint: Add repeat-map for comint-{next,previous}-prompt
Brian Leung [Wed, 9 Nov 2022 06:03:29 +0000 (22:03 -0800)]
comint: Add repeat-map for comint-{next,previous}-prompt

* lisp/comint.el (comint-repeat-map): New keymap.  (Bug#59144)

2 years agoFix display of mode line when the right divider is used
Eli Zaretskii [Thu, 17 Nov 2022 09:21:01 +0000 (11:21 +0200)]
Fix display of mode line when the right divider is used

* src/xdisp.c (init_iterator): For the mode-line, adjust
last_visible_x due to the right divider and the 'box' attribute,
if any, of the mode-line face.
(display_min_width): Update current_x after producing the stretch
glyph, to mimic PRODUCE_GLYPHS.
(display_mode_line): Widen the last glyph to account for adding
the right box line to it.  (Bug#5930)

2 years ago* lisp/emacs-lisp/shortdoc.el (sequence): Don't use cl-lib (bug#59319)
Juanma Barranquero [Thu, 17 Nov 2022 08:55:02 +0000 (09:55 +0100)]
* lisp/emacs-lisp/shortdoc.el (sequence): Don't use cl-lib (bug#59319)

2 years agoMerge from origin/emacs-28
Stefan Kangas [Thu, 17 Nov 2022 08:41:05 +0000 (09:41 +0100)]
Merge from origin/emacs-28

0636e1066b ; Don't unnecessarily use non-ASCII characters in Texinfo

# Conflicts:
# doc/emacs/custom.texi

2 years ago; Fix typos (duplicate words)
Stefan Kangas [Thu, 17 Nov 2022 08:31:46 +0000 (09:31 +0100)]
; Fix typos (duplicate words)

2 years agoPrefer defvar-keymap in window.el
Stefan Kangas [Wed, 16 Nov 2022 12:42:40 +0000 (13:42 +0100)]
Prefer defvar-keymap in window.el

* lisp/window.el (other-window-repeat-map)
(resize-window-repeat-map): Prefer defvar-keymap.

2 years ago; * lisp/*.el: Fix typos in docstrings
Juanma Barranquero [Thu, 17 Nov 2022 07:45:57 +0000 (08:45 +0100)]
; * lisp/*.el: Fix typos in docstrings

* lisp/gnus/nnrss.el (nnrss-use-local, nnrss-fetch, nnrss-find-el):
* lisp/leim/quail/japanese.el ("japanese"):
* lisp/org/ol.el (org-link-search-must-match-exact-headline):
* lisp/org/org-faces.el (org-column):
* lisp/progmodes/eglot.el (eglot--stay-out-of-p)
(eglot-workspace-configuration, eglot--read-execute-code-action):
* lisp/vc/vc.el (vc-clone): Fix typos in docstrings.

2 years ago* lisp/keymap.el (defvar-keymap): Don't use pcase.
Juri Linkov [Thu, 17 Nov 2022 07:38:59 +0000 (09:38 +0200)]
* lisp/keymap.el (defvar-keymap): Don't use pcase.

2 years ago* lisp/keymap.el (defvar-keymap): Add support for repeat-mode.
Juri Linkov [Thu, 17 Nov 2022 07:25:42 +0000 (09:25 +0200)]
* lisp/keymap.el (defvar-keymap): Add support for repeat-mode.

Put symbol properties 'repeat-map' on commands from the keymap
when a ':repeat' keyword is non-nil.  Also include/exclude commands
according to ':repeat (:enter (commands ...) :exit (commands ...))'.
https://lists.gnu.org/archive/html/emacs-devel/2022-11/msg00968.html

2 years ago* lisp/repeat.el (describe-repeat-maps): Improve the output.
Juri Linkov [Thu, 17 Nov 2022 07:20:15 +0000 (09:20 +0200)]
* lisp/repeat.el (describe-repeat-maps): Improve the output.

Print the table of keybindings and a list of commands that
enter and exit repeat-map.  Use default outline headings.
https://lists.gnu.org/archive/html/emacs-devel/2022-11/msg00969.html

2 years agoFix treatment of input focus on MPX setups
Po Lu [Thu, 17 Nov 2022 07:12:16 +0000 (15:12 +0800)]
Fix treatment of input focus on MPX setups

* src/xterm.c (x_ewmh_activate_frame): Use x_set_input_focus
instead of XSetInputFocus.
(x_set_input_focus): New function.  Take into account the
``client pointer'' chosen by Emacs.
(x_focus_frame): Use x_set_input_focus instead of
XSetInputFocus.

2 years ago; * lisp/emacs-lisp/seq.el (seq-filter): Fix typo in doc string.
Eli Zaretskii [Thu, 17 Nov 2022 06:48:14 +0000 (08:48 +0200)]
; * lisp/emacs-lisp/seq.el (seq-filter): Fix typo in doc string.

2 years agoImprove new connections in erc-handle-irc-url
F. Jason Park [Mon, 11 Jul 2022 12:14:57 +0000 (05:14 -0700)]
Improve new connections in erc-handle-irc-url

* doc/misc/erc.texi: Add new Integrations section to the info manual
under Advanced Usage.
* etc/ERC-NEWS: Add new section mentioning improved UX when clicking
on irc:// links.

* lisp/erc/erc.el (erc-handle-irc-url): Add optional "scheme"
parameter.  Fix `erc-open' invocation so that the server buffer is
named correctly by deferring to a new customizable opener.  Arrange
for JOINing a channel in a manner similar to ERC's autojoin module.
(erc-url-connect-function): Add new option for creating a new ERC
connection based on info parsed from a URL.
(erc--url-default-connect-function): New function to serve as an
interactive-only fallback when a user hasn't specified a URL connect
function.
* lisp/erc/erc-compat.el (erc-compat--29-browse-url--irc): Add new
compatibility function for `browse-url-irc' and include it in
`browse-url-default-handlers' on Emacs versions below 29.

* test/lisp/erc/erc-tests.el (erc-tests--make-server-buf,
erc-tests--make-client-buf): Add helpers for creating dummy ERC
buffers.
(erc-handle-irc-url): Add test.
* test/lisp/erc/erc-scenarios-misc.el (erc-scenarios-handle-irc-url):
Add new test.
* test/lisp/erc/resources/join/legacy/foonet.eld: Relax
timeout.  (Bug#56514.)

2 years agoAdd optional server param to erc-networks--determine
F. Jason Park [Mon, 11 Jul 2022 12:14:57 +0000 (05:14 -0700)]
Add optional server param to erc-networks--determine

* lisp/erc/erc-networks.el (erc-networks--determine): Accept optional
`server' argument.
* test/lisp/erc/erc-networks-tests.el (erc-networks--determine): Add
test.  (Bug#56514.)

2 years agoDefault to TLS port when calling erc-tls from lisp
F. Jason Park [Mon, 11 Jul 2022 12:14:57 +0000 (05:14 -0700)]
Default to TLS port when calling erc-tls from lisp

* lisp/erc/erc.el (erc-normalize-port): Add standard IANA port-name
mappings for 6667 and 6697.
(erc-open): Add note to doc string explaining that params `connect'
and `channel' are mutually exclusive.
(erc-tls): Call `erc-compute-port' with override.
(erc-compute-port): Call `erc-normalize-port' with result'.
* test/lisp/erc/erc-tests.el (erc-tls): Add simplistic test focusing
on default parameters.  (Bug#56514.)

2 years agoRefactor erc-select-read-args
F. Jason Park [Mon, 11 Jul 2022 12:14:57 +0000 (05:14 -0700)]
Refactor erc-select-read-args

* lisp/erc/erc-backend.el (erc--server-connect-dumb-ipv6-regexp): Add
liberal pattern for matching bracketed IPv6 addresses.
(erc-server-connect): Remove brackets from IPv6 hosts before
connecting.
* lisp/erc/erc.el (erc--ensure-url): Add compat adapter to massage
partial URLs given as input that may be missing the scheme:// portion.
(erc-select-read-args): Keep bracketed IPv6 hosts
intact.  Make this function fully URL-aware (was only partially so).
Accept optional `input' argument.
* lisp/erc/erc-tests.el (erc-tests--ipv6-examples,
erc--server-connect-dumb-ipv6-regexp, erc-select-read-args): Add test
reading user input during interactive invocations of entry points.
(Bug#56514.)