Juanma Barranquero [Sun, 20 Nov 2022 09:25:59 +0000 (10:25 +0100)]
; Fix typos
* doc/lispref/display.texi (Size of Displayed Text):
* lisp/net/trampver.el (tramp-inside-emacs): Fix typos in docstrings.
Eli Zaretskii [Sat, 19 Nov 2022 19:34:07 +0000 (21:34 +0200)]
Fix encoding and display of messages sent by server to emacsclient
* lisp/server.el (server-start): Use 'locale-coding-system' to
encode messages sent back to the client.
* lib-src/emacsclient.c (main): Print '-error' messages via
'message', not directly via 'fprintf'. This shows the error on
MS-Windows when the client is invoked as 'emacsclientw', since
stderr goes to the bit bucket in that case.
Thomas Fitzsimmons [Sat, 19 Nov 2022 16:39:21 +0000 (11:39 -0500)]
EUDC: Add BBDB test
* test/lisp/net/eudc-tests.el (eudcb-ldap): Call skip-unless with
slapd check.
(eudcb-bbdb): New test.
Gregory Heytings [Sat, 19 Nov 2022 15:46:46 +0000 (15:46 +0000)]
Fix global face scaling bug due to rounding.
* lisp/face-remap.el (global-text-scale-adjust): Try again if the face
height should have changed but did not actually change. Update the
docstring to clarify the difference with 'text-scale-adjust'.
(global-text-scale-adjust--increment-factor): New internal variable.
Fixes bug#59122.
(text-scale-adjust): Update the docstring to clarify the difference
with 'global-text-scale-adjust'.
Brent Westbrook [Sat, 19 Nov 2022 14:23:57 +0000 (09:23 -0500)]
EUDC: Fix a void-variable error
* lisp/net/eudcb-mailabbrev.el (eudc-mailabbrev-query-internal):
Check if symbol is bound before taking its value. (Bug#59369)
Gregory Heytings [Sat, 19 Nov 2022 14:00:17 +0000 (14:00 +0000)]
; * Makefile.in: Add option to disable advice on failure.
Philip Kaludercic [Sat, 19 Nov 2022 11:19:37 +0000 (12:19 +0100)]
* lisp/emacs-lisp/package.el (package-maintainers): Improve error handling
Eli Zaretskii [Sat, 19 Nov 2022 12:43:51 +0000 (14:43 +0200)]
; Avoid byte-compiler warning in startup.el
* lisp/startup.el (startup--load-user-init-file): Avoid
byte-compiler warnings about 'comp-eln-to-el-h'. (Bug#59334)
Stefan Kangas [Sat, 19 Nov 2022 11:51:31 +0000 (12:51 +0100)]
; Fix typos in bs.el
* lisp/bs.el: Fix typos.
(bs-define-sort-function, bs-cycle-next, bs-cycle-previous): Fix
variable name typo.
Mattias Engdegård [Sat, 19 Nov 2022 11:29:46 +0000 (12:29 +0100)]
* Makefile.in: Escape literal asterisks in regexps
Discovered by Po Lu.
Po Lu [Sat, 19 Nov 2022 10:46:07 +0000 (18:46 +0800)]
Fix error trapping in x_set_mouse_color
* src/xfns.c (x_set_mouse_color): Use
x_uncatch_errors_after_check right after x_had_errors_p. Then,
trap errors around FreeCursor requests, since some of the IDs
may not name valid cursors.
Eli Zaretskii [Sat, 19 Nov 2022 09:52:06 +0000 (11:52 +0200)]
; Improve doc strings of Ethiopic support functions and variables
* lisp/language/ethio-util.el (ethio-primary-language)
(ethio-secondary-language, ethio-use-colon-for-colon)
(ethio-use-three-dot-question, ethio-quote-vowel-always)
(ethio-W-sixth-always, ethio-sera-to-fidel-buffer)
(ethio-sera-to-fidel-region, ethio-sera-to-fidel-marker)
(ethio-fidel-to-sera-buffer, ethio-fidel-to-sera-region)
(ethio-fidel-to-sera-marker, ethio-get-consonant)
(ethio-fidel-to-tex-buffer, ethio-tex-to-fidel-buffer)
(ethio-fidel-to-java-buffer, ethio-java-to-fidel-buffer)
(ethio-find-file, ethio-write-file, ethio-gemination)
("ethiopic-sera"): Doc fixes.
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)
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.
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.
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.)
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)
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.
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.
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.
Mattias Engdegård [Fri, 18 Nov 2022 18:50:33 +0000 (19:50 +0100)]
; gnus-icalendar-tests: revert erroneous 'typo fix'
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)
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.
Stefan Monnier [Fri, 18 Nov 2022 15:45:29 +0000 (10:45 -0500)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic-variable-bind): Typo
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.
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 '_'.
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.
Stefan Kangas [Fri, 18 Nov 2022 14:48:22 +0000 (15:48 +0100)]
; Fix typos
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.
Stefan Kangas [Fri, 18 Nov 2022 12:06:55 +0000 (13:06 +0100)]
; Fix typos (prefer US spelling)
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.
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.
Juri Linkov [Fri, 18 Nov 2022 07:19:23 +0000 (09:19 +0200)]
* lisp/repeat.el (describe-repeat-maps): More outlines and page separators.
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.
Stefan Monnier [Thu, 17 Nov 2022 23:48:38 +0000 (18:48 -0500)]
Merge remote-tracking branch 'origin/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.
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.
Philip Kaludercic [Thu, 17 Nov 2022 16:39:46 +0000 (17:39 +0100)]
* lisp/emacs-lisp/package-vc.el: Autoload package-vc-update{,-all}
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.
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
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.
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.
Philip Kaludercic [Tue, 15 Nov 2022 19:19:33 +0000 (20:19 +0100)]
; * lisp/emacs-lisp/package-vc.el: Update TODO
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.
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'.
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'.
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.
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)
Philip Kaludercic [Tue, 15 Nov 2022 10:00:14 +0000 (11:00 +0100)]
Add missing elpa-package.eld to package test resources
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.
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.
Philip Kaludercic [Mon, 14 Nov 2022 13:24:14 +0000 (14:24 +0100)]
* lisp/vc/vc.el (vc-default-last-change): Use 'vc-call'
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'.
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.
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.
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.
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.
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.
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'.
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.
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.
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'.
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.
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.
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.
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.
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.
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"
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'.
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.
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.
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.
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.
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'.
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'.
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.
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.
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č.
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.
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.
Juri Linkov [Thu, 17 Nov 2022 17:54:33 +0000 (19:54 +0200)]
* lisp/repeat.el (describe-repeat-maps): Use fill-region-as-paragraph.
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.
Robert Pluim [Thu, 17 Nov 2022 15:58:34 +0000 (16:58 +0100)]
; Fix previous rmailsum change
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.
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.
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.
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.
Eli Zaretskii [Thu, 17 Nov 2022 10:34:06 +0000 (12:34 +0200)]
; * lisp/progmodes/elisp-mode.el (eval-defun): Doc fix.
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)
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)
Eli Zaretskii [Thu, 17 Nov 2022 09:47:34 +0000 (11:47 +0200)]
* lisp/progmodes/eglot.el (eglot-server-programs): Remove Intelephense.
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.
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)
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)
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)
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)
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)
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)
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)
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