1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-18 08:51:45 -08:00
Commit graph

170405 commits

Author SHA1 Message Date
Michael Albinus
83ee584052 ; Adapt TODO list of tramp-compat.el 2024-01-10 12:49:46 +01:00
Michael Albinus
cf887b7eb0 Fix file name completion with Tramp on MS Windoes
* doc/misc/trampver.texi:
* lisp/net/trampver.el (tramp-version): Adapt Tramp versions.

* lisp/net/tramp.el (tramp-build-completion-file-name-regexp):
Do not use `tramp-volume-letter-regexp'.  (Bug#68320)
(tramp-completion-handle-expand-file-name): Simplify regexp.

* test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion)
(tramp-test26-interactive-file-name-completion): Run also on MS Windows.
2024-01-10 12:49:08 +01:00
Philip Kaludercic
eb913c7501 Handle package versions that are not version strings
* lisp/emacs-lisp/package.el (package-menu--version-predicate): Ignore
any errors raised by 'version-to-list', thus falling back to the
default version list.  (Bug#68317)
2024-01-10 09:25:41 +01:00
Juri Linkov
7755f71727 Support :category in completion-extra-properties (bug#68214)
* doc/lispref/minibuf.texi (Completion Variables): Add :category
to the table of completion-extra-properties.

* lisp/minibuffer.el (completion--metadata-get-1): New internal function.
(completion-metadata-get): Use 'completion--metadata-get-1'.
Thanks to Daniel Mendler <mail@daniel-mendler.de>.
(completion-extra-properties): Mention :category in the docstring.

* lisp/calendar/calendar.el (calendar-read-date): Use more
user-friendly let-binding of completion-extra-properties
with :category.
2024-01-10 09:34:47 +02:00
Po Lu
3f303b9cb5 ; Minor edits to PROBLEMS and sfnt.c
* etc/PROBLEMS: Improve description of issues with Droid Sans
Mono.

* src/sfnt.c (sfnt_poly_edges_exact): Remove extraneous undef.
2024-01-10 11:38:54 +08:00
Harald Jörg
fccaeabc95 ; cperl-mode-tests.el: Adapt to recent changes in cperl-mode.el
The tests need to use the new command cperl-file-style to make
sure that settings don't bleed out to following tests.

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-indent-styles, cperl-test-bug-35925)
(cperl-test-bug-64364, cperl-test-bug-65834): use cperl-file-style
instead of cperl-set-style
2024-01-09 19:14:56 +01:00
Juri Linkov
aff1d53cd4 Support more metadata properties in completion-extra-properties (bug#68214)
* doc/lispref/minibuf.texi (Completion Variables): Add
to the table of completion-extra-properties new items:
`group-function', `display-sort-function', `cycle-sort-function'.

* lisp/icomplete.el (icomplete--augment): Remove unnecessary
plist-get from completion-extra-properties since now
completion-metadata-get does this.

* lisp/minibuffer.el (completion-metadata-get): Use plist-get to
get prop from completion-extra-properties and cache the keyword.
Thanks to Daniel Mendler <mail@daniel-mendler.de>.
(completion-extra-properties): Mention new properties in docstring.
(minibuffer-completion-help): Remove unnecessary
plist-get from completion-extra-properties since now
completion-metadata-get does this.

* lisp/net/eww.el (eww-switch-to-buffer):
* test/lisp/minibuffer-tests.el (completions-affixation-navigation-test):
Unquote lambda in completion-extra-properties.
2024-01-09 19:57:50 +02:00
Juri Linkov
29e59b835c * lisp/tab-bar.el: Fixes for point in window configuration (bug#68235)
(tab-bar--tab): Instead of 'point-marker', use 'copy-marker' with the TYPE
argument set to 'window-point-insertion-type'.  This will allow point to
follow the output after switching tabs when point is at the end of
a comint/compilation buffer.
(tab-bar-select-tab): Remove ad-hoc rule for the reverted dired buffer.
2024-01-09 19:22:40 +02:00
Harald Jörg
0a5ebd444a ; cperl-mode: Fix a compiler warning caused by my previous commit
* lisp/progmodes/cperl-mode.el (cperl-file-style): Replace
'make-variable-buffer-local' with 'make.local-variable'
2024-01-09 11:44:43 +01:00
Stefan Kangas
79510d81d8 Use min/max macros in a few more places
* src/bidi.c (bidi_set_sos_type):
* src/coding.c (consume_chars):
* src/dosfns.c (dos_memory_info):
* src/emacs.c (sort_args):
* src/insdel.c (count_combining_before)
(count_combining_after, replace_range, del_range_2):
* src/sort.c (tim_sort):
* src/w32.c (sys_write):
* src/xfaces.c (face_at_buffer_position)
(face_for_overlay_string): Prefer using 'min' and 'max' macros.
2024-01-09 07:55:51 +01:00
Harald Jörg
774c8ec74c cperl-mode.el: Make sure cperl-file-style is set buffer-local
* lisp/progmodes/cperl-mode.el (cperl-file-style): Add description
what the options actually do.
(cperl-menu): Split the menu entry "Indent styles" into "Default
indent styles" and "Indent styles for current buffer"
(cperl--set-file-style): call `cperl-file-style' instead of
`cperl-set-style'.  This completes the fix for Bug#17948.
(cperl-set-style): Explain when to use `cperl-file-style'.
Use `set-default-toplevel-value' instead of `set'.
(cperl-set-style-back): Use `set-default-toplevel-value' instead
of `set'.
(cperl-file-style): New command to set the file style for the
current buffer.

* etc/NEWS: Announce the new command cperl-file-style.
2024-01-08 16:12:19 +01:00
Michael Albinus
d9462e24a9 Make Tramp more robust
* lisp/net/tramp-sh.el (tramp-bundle-read-file-names): Check, that
the command finishes successfully.
2024-01-08 14:52:25 +01:00
Po Lu
e2be1987a2 ; Fix a crash in sfnt_read_fvar_table
* src/sfnt.c (sfnt_read_fvar_table): Derive padding from correct
type.
2024-01-08 15:51:51 +08:00
Po Lu
2656d75685 Properly instruct Italic Arial or BS Mono at small PPEM sizes
* src/sfnt.c (sfnt_read_simple_glyph): Correct alignment errors.
(PUSH2_UNCHECKED): Don't shift negative signed value to the
left.
(SLOOP): Permit LOOP to be set to 0, which inhibits the
execution of instructions it affects.
(sfnt_address_zp2, sfnt_address_zp1, sfnt_address_zp0): Permit X
and Y to be NULL.
(sfnt_dot_fix_14): Guarantee that the final value is rounded to
negative infinity, not zero.
(sfnt_project_zp1_zp0_org): New function.
(sfnt_interpret_mdrp): Avoid rounding issues by computing
original distance from unscaled coordinates, if at all possible.
(sfnt_interpret_simple_glyph, sfnt_interpret_compound_glyph_2):
Set zone->simple.
(all_tests) <LOOP>: Update test.
(sfnt_identify_instruction, main): Adjust tests.

* src/sfnt.h (struct sfnt_interpreter_zone): New field simple.
2024-01-08 15:51:51 +08:00
Po Lu
c946efe7b3 ; * etc/PROBLEMS: Remove several resolved problems. 2024-01-08 15:51:51 +08:00
Stefan Kangas
267c9b54b1 Remove redundant conversion from bool to bool
* src/xdisp.c (maybe_produce_line_number): Remove redundant conversion
of the value of an expression from bool to bool.
2024-01-08 07:23:52 +01:00
Stefan Kangas
c21995ff00 Support string literals in build_string.cocci
* admin/coccinelle/build_string.cocci: Support string literals.
2024-01-08 06:15:06 +01:00
Stefan Kangas
6fdf035f62 ; Delete a superfluous bitwise 'or'
* src/xterm.c (x_term_init): Avoid bitwise 'or' using the same
variable as both operands (X | X => X).
2024-01-08 06:15:06 +01:00
F. Jason Park
50f430ebcd Clarify purpose of module aliases in ERC
* doc/misc/erc.texi: Mention that aliases should not be defined for
new modules.
* lisp/erc/erc-common.el (define-erc-module): Refactor slightly for
readability.
(erc-with-all-buffers-of-server): Redo doc string.
* lisp/erc/erc-pcomplete.el: Declare `completion' module's feature and
group as being `erc-pcomplete'.
* test/lisp/erc/erc-tests.el (erc--find-group--real): Assert group
lookup works for "normalized" module name `completion' of
`erc-pcomplete-mode'.
2024-01-07 15:11:26 -08:00
F. Jason Park
37e87bc3ee Make ERC's format catalogs more extensible
* lisp/erc/erc-common.el (erc--define-catalog): Accept a `:parent'
keyword to allow for extending an existing catalog by overriding some
subset of defined entries.
(erc-define-message-format-catalog): Add edebug spec.
* lisp/erc/erc.el (erc-retrieve-catalog-entry): Check parent for
definition before looking to `default-toplevel-value'.
* test/lisp/erc/erc-tests.el (erc-retrieve-catalog-entry): Add test
case for inheritance.
* test/lisp/erc/resources/erc-tests-common.el
(erc-tests-common-pp-propertized-parts): Fix bug in convenience
command.  (Bug#67677)
2024-01-07 15:11:26 -08:00
F. Jason Park
d6f9379d1c Allow setting `erc-split-line-length' to zero
* etc/ERC-NEWS: Mention that `erc-flood-protect' no longer affects
line splitting.
* lisp/erc/erc-backend.el (erc-split-line-length): Mention ways for
modules to suppress line splitting entirely.
(erc--split-line): Exit loop instead of asserting progress has been
made.
* lisp/erc/erc.el (erc--split-lines): Don't split input when
option `erc-split-line-length' is zero.
* test/lisp/erc/erc-tests.el (erc--split-line): Assert behavior when
`erc-split-line-length' is 0.  (Bug#62947)
2024-01-07 15:11:26 -08:00
F. Jason Park
fad2d1e2ac Use global window hook for erc-keep-place-indicator
* lisp/erc/erc-goodies.el
(erc--keep-place-indicator-on-window-buffer-change): Expect a frame
instead of a window argument for the only parameter, which is now
ignored, and exit early when entering a minibuffer.
(erc--keep-place-indicator-setup): Remove function because local
modules don't need a separate setup function.
(erc-keep-place-indicator-mode): Add autoload cookie even though this
is a local module, since this particular one is intended for more
granular, interactive activation.  This is mostly a formality because
it only matters in the unlikely event `erc-modules' is missing all
other modules defined in `erc-goodies'.
(erc-keep-place-indicator-mode, erc-keep-place-indicator-enable,
erc-keep-place-indicator-disable): Move functionality from
`erc--keep-place-indicator-setup' into enable body.  Use global
instead of local members for `erc-keep-place-mode-hook' and
`window-buffer-change-functions'.
(erc--keep-place-indicator-on-global-module): Perform necessary action
in all ERC buffers, not just the current one, where the user has
ostensibly disabled `erc-keep-place-mode'.
* test/lisp/erc/erc-goodies-tests.el
(erc-goodies-tests--assert-kp-indicator-on,
erc-goodies-tests--assert-kp-indicator-off): Change expected hook
membership for dependencies from global to local.
(erc-goodies-tests--keep-place-indicator): Use new helpers from
the `erc-tests-common' library.  (Bug#59943)
2024-01-07 15:11:26 -08:00
F. Jason Park
74f022b279 ; Make erc--send-input-lines a normal function again
* lisp/erc/erc.el (erc--send-input-lines): Revert portion of
174b3dd9bd "Make nested input handling
more robust in ERC" that converted this from a function to a method.
Instead, defer change until it's needed, likely for bug#49860.  Also,
don't inadvertently allow overloading of `insertp' because user code
can legitimately set that to a function, which we then blindly call.
Instead, hard-code it to the only expected alternate display function.
2024-01-07 15:11:26 -08:00
F. Jason Park
94f760163e ; doc/misc/erc.texi: Improve SASL intro. 2024-01-07 15:11:26 -08:00
Juri Linkov
18de131222 Support more metadata properties in completion-category-overrides (bug#68214)
* doc/lispref/minibuf.texi (Completion Variables): Add
to the table of completion-category-overrides new items:
`cycle-sort-function', `group-function', `annotation-function',
`affixation-function'.

* lisp/minibuffer.el (completion-metadata-get): Try also to get
the property from completion-category-overrides by category.
Suggested by Daniel Mendler <mail@daniel-mendler.de>.
(completion-category-defaults): Add new properties to docstring.
(completion-category-overrides): Add customization for new
properties: `cycle-sort-function', `group-function',
`annotation-function', `affixation-function'.
(completion-metadata-override-get): Remove function.
(minibuffer-completion-help): Replace 'completion-metadata-override-get'
with 'completion-metadata-get' for 'display-sort-function'.
2024-01-07 20:04:06 +02:00
Michael Albinus
aadcb90609 Handle local default directory in connection-local-value
* lisp/files-x.el (connection-local-p, connection-local-value):
Handle local `default-directory'.

* test/lisp/files-x-tests.el (files-x-test-connection-local-value):
Extend test.
2024-01-07 12:39:47 +01:00
Stefan Monnier
f866c85ac4 (jsonrpc--log-event): Try and fix bug#68072
* lisp/jsonrpc.el (jsonrpc--log-event): Force the use of
`lisp-indent-function` in `pp-to-string`.
2024-01-07 00:02:08 -05:00
João Távora
b5de9ae801 Eglot: careful when invoking code actions on no symbol at all
Invoking code actions without a marked region or over a symbol
will trip certain servers up since BEG and END in eglot-code-actions
will be nil, causing 'eglot--pos-to-lsp-position' to assume point (which
is OK) but the 'flymake-diagnostics' call to return all diagnostics.

This causes an absolutely undecipherable JavaScript backtrace to be
sent back to Eglot from typescript-language-server.

Github-reference: https://github.com/joaotavora/eglot/issues/847

* lisp/progmodes/eglot.el (eglot--code-action-bounds): Avoid returning
  (list nil nil)
2024-01-06 18:12:14 -06:00
Stefan Monnier
73cb931e5b (describe-package-1): Fix bug#68288
Fix support for multiple maintainers in `describe-package` and
in `package-report-bug`.

* lisp/emacs-lisp/package.el (describe-package-1): There's no
`:maintainers:`, instead `:maintainer` can hold a list of maintainers.
(package-maintainers): Adapt to the possibility of having
multiple maintainers.
(package-report-bug): Don't burp if the package is not installed.
2024-01-06 18:50:25 -05:00
Paul Eggert
4411d98c47 Pacify Ubuntu GCC 13.2 in x_get_local_selection
* src/xselect.c: Ignore -Wanalyzer-null-dereference,
to work around GCC bug 102671.
2024-01-06 13:40:38 -08:00
Paul Eggert
0b312e310d Pacify Ubuntu GCC 13.2 in set_marker_internal
* src/marker.c (set_marker_internal): Ignore
-Wanalyzer-deref-before-check, to work around GCC bug 113253.
2024-01-06 13:40:38 -08:00
Michael Albinus
166b10e9f8 Complete change of ert-remote-temporary-file-directory
* lisp/emacs-lisp/ert-x.el: Adapt comment.

* test/lisp/net/tramp-tests.el (ert-remote-temporary-file-directory):
Make it a defvar.
2024-01-06 18:15:23 +01:00
Michael Albinus
3071f6981d Minor change in tramp.texi
* doc/misc/tramp.texi (Obtaining @value{tramp}): Mention the ELPA
Tramp manual.
2024-01-06 18:14:15 +01:00
Michael Albinus
e48a396d4b Adapt Tramp version
* doc/misc/trampver.texi:
* lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
2024-01-06 18:12:47 +01:00
Steven Allen
16162e0645 Make 'advice-remove' interactive
`ad-advice-remove' is already interactive, but it doesn't work with
new-style advice.

* lisp/emacs-lisp/nadvice.el (advice-remove): Make it
interactive (Bug#67926).

* doc/lispref/functions.texi (Advising Named Functions): Document that
'advice-remove' is now an interactive command.
2024-01-06 18:44:47 +02:00
Eli Zaretskii
6184e120c0 ; * doc/lispref/buffers.texi (Buffer List): Fix merge snafu. 2024-01-06 15:25:29 +02:00
Eli Zaretskii
5256b8dd4e Merge from origin/emacs-29
bf7034048c ; * doc/emacs/custom.texi (Changing a Variable): Update e...
466d1c98a9 Fix icons.el when icon does not exist as a file
2a861124e8 ; Improve documentation of 'buffer-match-p'
dc9d02f8a0 * lisp/isearch.el (isearch-search-and-update): Let-bind '...
9308d9a74a * src/comp.c (Fcomp__compile_ctxt_to_file): Fix hash tabl...
a2a6619b28 Provide decent documentation for 'help-quick'
ab66b749a2 ; * src/window.c (Fset_window_margins): Doc fix.
1a677d1429 treesit--pre-syntax-ppss: Fix args-out-of-range in intern...
2024-01-06 08:20:19 -05:00
Eli Zaretskii
bf7034048c ; * doc/emacs/custom.texi (Changing a Variable): Update example (bug#68279). 2024-01-06 13:45:33 +02:00
Eli Zaretskii
466d1c98a9 Fix icons.el when icon does not exist as a file
* lisp/emacs-lisp/icons.el (icons--create): Handle the case when
ICON is a file that doesn't exists or is unreadable.  Suggested by
David Ponce <da_vid@orange.fr>.  (Bug#66846)
2024-01-06 13:26:29 +02:00
Eli Zaretskii
d9dabcacef ; Minor copyedits of doc of 'handler-bind'
* doc/lispref/control.texi (Handling Errors): Fix wording and
punctuation.
2024-01-06 12:44:26 +02:00
Eli Zaretskii
409985288d Fix last change (bug#67930)
* lisp/progmodes/compile.el (compilation--expand-fn): Renamed from
'safe-expand-file-name'; all callers changed.  Doc fix.
2024-01-06 12:33:44 +02:00
Jurgen De Backer
471cc26002 Fix file-name resolution in *compilation* and *grep* buffers
Resolving symlinks in file names could lead to non-existent files
if some leading directory is a symlink to its parent.
In emacs 28 'expand-file-name' was replaced by 'file-truename' to
solve bug #8035.

* lisp/progmodes/compile.el (safe-expand-file-name): New function.
(compilation-find-file-1): Call 'safe-expand-file-name'.  (Bug#67930)
2024-01-06 12:23:51 +02:00
Martin Rudalics
d3a4fe5694 Fix use of 'display-buffer-alist' for Info buffers
* lisp/info.el (info-pop-to-buffer): New function.
(info-other-window, info, Info-find-node, Info-revert-find-node)
(Info-next, Info-prev, Info-up, info-display-manual): Call
'info-pop-to-buffer'.  (Bug#68081)
2024-01-06 11:49:36 +02:00
Eli Zaretskii
2a861124e8 ; Improve documentation of 'buffer-match-p'
* doc/lispref/buffers.texi (Buffer List):
* doc/lispref/windows.texi (Choosing Window): Add caveats for
calling 'buffer-match-p' too early, when CONDITION is
'derived-mode' or 'major-mode'.  (Bug#68081)
2024-01-06 11:15:31 +02:00
Po Lu
657275529e Revert "Add new swap macro and use it"
typeof is an extension which does not exist in Standard C, so macros
using it are unsuitable for inclusion in Emacs.

This reverts commit 3788952327.
2024-01-06 15:28:14 +08:00
Po Lu
2f59052602 Properly parse TTC tables with digital signatures
* src/sfnt.c (sfnt_read_ttc_header): Don't inadvertently
overwrite first two offsets while reading the digital signature.
2024-01-06 15:28:05 +08:00
Stefan Kangas
3788952327 Add new swap macro and use it
A `swap` macro prevents programming errors and is more concise.
It is a natural addition to our existing `min` and `max` macros.

* src/lisp.h (swap): New macro.
* lwlib/xlwmenu.c (draw_shadow_rectangle, draw_shadow_rhombus):
* src/androidterm.c (android_get_surrounding_text):
* src/buffer.c (Fmake_overlay, modify_overlay, Fmove_overlay):
* src/dispnew.c (swap_glyphs_in_rows, reverse_rows):
* src/editfns.c (Finsert_buffer_substring)
(Fcompare_buffer_substrings):
* src/eval.c (run_hook_wrapped_funcall):
* src/fns.c (extract_data_from_object):
* src/regex-emacs.c (forall_firstchar_1):
* src/textconv.c (textconv_query, get_extracted_text)
(get_surrounding_text):
* src/textprop.c (validate_interval_range)
(verify_interval_modification):
* src/w32uniscribe.c (OTF_INT16_VAL):
* src/xfaces.c (load_face_colors):
* src/xterm.c (SWAPCARD32): Prefer using above macro to open-coding.
2024-01-06 08:22:08 +01:00
Po Lu
2740a3cbfd ; Update Android port splash screen message
* lisp/term/android-win.el (android-after-splash-screen): Insert
missing newline.
2024-01-06 09:49:56 +08:00
Nicholas Vollmer
790b598217 Use special-mode in checkdoc status buffer
* lisp/emacs-lisp/checkdoc.el (checkdoc-display-status-buffer): Use
`special-mode'.  (Bug#68268)
2024-01-05 22:58:39 +01:00
Jeremy Bryant
f9acf12f6f * lisp/mail/rmail.el (rmail-epa-decrypt): Fix typo (bug#68248). 2024-01-05 09:57:41 +02:00