emacs.git
19 months agoFix minor typos in haikuterm.c
Po Lu [Wed, 1 May 2024 13:34:50 +0000 (21:34 +0800)]
Fix minor typos in haikuterm.c

* src/haikuterm.c (haiku_fill_underline)
(haiku_draw_text_decoration): Don't pass view to unused frame
parameter.

19 months agoImplement dots and dashes on Nextstep
Po Lu [Wed, 1 May 2024 14:02:15 +0000 (22:02 +0800)]
Implement dots and dashes on Nextstep

* src/Makefile.in (NON_OBJC_CFLAGS): Add -Wstrict-flex-arrays.

* src/nsterm.m (ns_draw_dash, ns_fill_underline): New functions.
(ns_draw_text_decoration): Port dash and dot display from X.

19 months ago; Silence obsoletion warning in mwheel-tests.
Basil L. Contovounesios [Wed, 1 May 2024 11:08:30 +0000 (13:08 +0200)]
; Silence obsoletion warning in mwheel-tests.

19 months ago; Update pvec_type hash for CHECK_STRUCTS
Basil L. Contovounesios [Wed, 1 May 2024 11:07:17 +0000 (13:07 +0200)]
; Update pvec_type hash for CHECK_STRUCTS

This follows commit 2fa839c1886 of 2024-04-28
"(COMPILED): Rename to CLOSURE".

19 months agoAssume match before calling help-xref-button
Basil L. Contovounesios [Tue, 30 Apr 2024 06:31:58 +0000 (08:31 +0200)]
Assume match before calling help-xref-button

help-xref-button fails if not preceded by a valid match, so a
preceding unconditional search should not be allowed to fail
silently.

* lisp/emacs-lisp/ert.el (ert-describe-test):
* lisp/help-fns.el (help-fns--compiler-macro)
(help-fns-function-description-header, describe-variable)
(help-fns--customize-variable, describe-face)
(help-fns--face-attributes, describe-keymap): Let unconditional
re-search-backward before help-xref-button fail early, as that would
indicate a logic bug, and the backtrace would more accurately point
to the actual source of the mistake.

19 months agoDisable on-screen keyboard outside fields in Custom buffers
Po Lu [Wed, 1 May 2024 07:57:29 +0000 (15:57 +0800)]
Disable on-screen keyboard outside fields in Custom buffers

* lisp/cus-edit.el (Custom-display-on-screen-keyboard-p): New
function.
(Custom-mode): Install it as the touch-screen-keyboard-function.

* lisp/touch-screen.el (touch-screen-keyboard-function): New
variable.
(touch-screen-handle-point-up): Don't special-case the splash
screen with respect to touch-screen-display-keyboard in keeping
with user feedback.

19 months ago; * src/androidselect.c (extract_fd_offsets): Fix typos.
Po Lu [Wed, 1 May 2024 04:03:26 +0000 (12:03 +0800)]
; * src/androidselect.c (extract_fd_offsets): Fix typos.

19 months agoFix compatibility issues with Android clipboards
Po Lu [Wed, 1 May 2024 03:45:53 +0000 (11:45 +0800)]
Fix compatibility issues with Android clipboards

* java/org/gnu/emacs/EmacsClipboard.java (getClipboardData):
Return an AssetFileDescriptor.

* java/org/gnu/emacs/EmacsContextMenu.java (onMenuItemClick):
Typo corrections in commentary.

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Raise
minimum version on which to read file descriptors from
ParcelFileDescriptor objects to Honeycomb.

* java/org/gnu/emacs/EmacsSdk11Clipboard.java
(getClipboardData): Return the asset file descriptor.

* java/org/gnu/emacs/EmacsSdk8Clipboard.java (getClipboardData):
Adjust return type to match.

* src/android.h (struct android_parcel_file_descriptor_class):
Move from androidselect.c.

* src/androidselect.c (fd_class): Export function.
(android_init_emacs_clipboard): Adjust signature of
getClipboardData.
(android_init_asset_file_descriptor, close_asset_fd)
(extract_fd_offsets): New functions.
(Fandroid_get_clipboard_data): Extract file descriptor and
offset from the AssetFileDescriptor here, rather than in
getClipboardData.
(init_androidselect): Call android_init_asset_file_descriptor.

* src/androidvfs.c (android_init_fd_class): Export and enable
calling this function more than once.

19 months ago; Fix widget button press cancellation
Po Lu [Wed, 1 May 2024 00:56:23 +0000 (08:56 +0800)]
; Fix widget button press cancellation

* lisp/wid-edit.el (widget-button--check-and-call-button): Throw
nil if a mouse-button-derived press is canceled.  Reported by
David Ponce <da_vid@orange.fr>.

19 months agoFix first appearance records for some misdated functions
Mattias Engdegård [Tue, 30 Apr 2024 16:01:52 +0000 (18:01 +0200)]
Fix first appearance records for some misdated functions

* etc/NEWS.unknown: Add approximate version records for
defsubst, mark, nreverse, let*, rassq, >=,
transpose-sexps, buffer-modified-p, current-column, downcase,
previous-line, catch, throw, and count-lines,
which all were given much more recent introduction versions
by describe-function.

19 months ago* lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): Simplify.
Mattias Engdegård [Tue, 30 Apr 2024 13:20:34 +0000 (15:20 +0200)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): Simplify.

19 months ago* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Simplify.
Mattias Engdegård [Tue, 30 Apr 2024 12:51:07 +0000 (14:51 +0200)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Simplify.

Remove the add-lambda argument.  All callers adapted.

19 months agoFix deletion of text holding `inhibit-read-only' properties
Po Lu [Tue, 30 Apr 2024 10:26:39 +0000 (18:26 +0800)]
Fix deletion of text holding `inhibit-read-only' properties

* src/intervals.h (INTERVAL_VISIBLE_P): Split into ...
(INTERVAL_GENERALLY_WRITABLE_P, INTERVAL_EXPRESSLY_WRITABLE_P):
... two new macros.

* src/textprop.c (verify_interval_modification): If the buffer
is read only, verify not that there is only a single exempting
interval spanning the area of a multiple-character operation,
but that every intervening interval in such an operation exempts
it from write restrictions, either by providing a read-only
property that appears in Vinhibit_read_only, or by providing an
inhibit-read-only property.

* test/src/textprop-tests.el (textprop-interval-immutability):
New test.

19 months agoWork around bad GCC diagnostic in select_window
Paul Eggert [Tue, 30 Apr 2024 08:20:13 +0000 (01:20 -0700)]
Work around bad GCC diagnostic in select_window

* src/textconv.c (select_window): Add an eassume to work
around GCC bug 114893.

19 months agoPacify GCC 14 -Wanalyzer-out-of-bounds in hbfont.c
Paul Eggert [Tue, 30 Apr 2024 08:20:13 +0000 (01:20 -0700)]
Pacify GCC 14 -Wanalyzer-out-of-bounds in hbfont.c

* src/hbfont.c (hbfont_shape): Add an eassume.

19 months agoPacify GCC 14 -Wstring-operflow in ftfont.c
Paul Eggert [Tue, 30 Apr 2024 08:20:13 +0000 (01:20 -0700)]
Pacify GCC 14 -Wstring-operflow in ftfont.c

* src/ftfont.c (ftfont_drive_otf): Do not crash if
spec->features[i] is nonnull but is empty.
Use gfeatures local to pacify GCC 14.

19 months agoPacify GCC 14 -Wnull-dereference in intervals.c
Paul Eggert [Tue, 30 Apr 2024 08:20:12 +0000 (01:20 -0700)]
Pacify GCC 14 -Wnull-dereference in intervals.c

* src/intervals.c (set_intervals_multibyte_1):
Add an eassume to pacify GCC.  Deparenthesisze.

19 months agoPacify GCC 14 -Wnull-dereference in tim_sort
Paul Eggert [Tue, 30 Apr 2024 08:20:12 +0000 (01:20 -0700)]
Pacify GCC 14 -Wnull-dereference in tim_sort

* src/lisp.h (tim_sort): Require array arg to be nonnull.
* src/sort.c (reverse_slice): Omit no-longer-needed eassert.
(tim_sort): Avoid undefined behavior when length == 0,
since reverse_slice would then compute &seq[-1].

19 months agoPacify GCC 14 -Wclobbered in eval.c
Paul Eggert [Tue, 30 Apr 2024 08:20:12 +0000 (01:20 -0700)]
Pacify GCC 14 -Wclobbered in eval.c

* src/eval.c: Ignore -Wclobbered.

19 months agoPacify GCC 14 -Wnull-dereference
Paul Eggert [Tue, 30 Apr 2024 08:20:12 +0000 (01:20 -0700)]
Pacify GCC 14 -Wnull-dereference

* src/xterm.c (x_dpyinfo): New function, which acts like
x_display_info_for_display except it always returns nonnull.
This simplifies callers and pacifies GCC 14.  All callers changed.

19 months agoPacify GCC 14 -Walloc-size
Paul Eggert [Tue, 30 Apr 2024 08:20:12 +0000 (01:20 -0700)]
Pacify GCC 14 -Walloc-size

* src/xfns.c (xic_string_conversion_callback): Allocate size 1, not 0.

19 months agoetags: work around GCC bug 114882
Paul Eggert [Tue, 30 Apr 2024 08:20:12 +0000 (01:20 -0700)]
etags: work around GCC bug 114882

* lib-src/etags.c: Ignore -Wanalyzer-use-of-uninitialized-value.
This applies to the whole source file, not just to areas where GCC
has bugs, as it was too tricky to ignore more selectively.

19 months agoetags: fix #line parsing (\\", long lines)
Paul Eggert [Tue, 30 Apr 2024 08:20:12 +0000 (01:20 -0700)]
etags: fix #line parsing (\\", long lines)

* lib-src/etags.c (readline): Don’t mishandle lines like
‘#line 1 "a//"’, which has an escaped backslash before ‘"’.
Don’t mishandle lines so long that sscanf overflows %n.

19 months agoSimplify etags.c by omitting a macro
Paul Eggert [Tue, 30 Apr 2024 08:20:12 +0000 (01:20 -0700)]
Simplify etags.c by omitting a macro

* lib-src/etags.c (xnew): Remove.  All uses removed.
xnew was confusing, as sometimes it was used with n=1,
sometimes with Type=char, and it’s easier just to use xmalloc
or xnmalloc.

19 months ago; etc/NEWS.unknown: Quote command invocation.
Michael Albinus [Tue, 30 Apr 2024 07:28:07 +0000 (09:28 +0200)]
; etc/NEWS.unknown: Quote command invocation.

19 months agoImprove treesitter tests on EMBA
Michael Albinus [Tue, 30 Apr 2024 07:25:53 +0000 (09:25 +0200)]
Improve treesitter tests on EMBA

* test/infra/Makefile.in (subdir_template):
* test/infra/gitlab-ci.yml (.tree-sitter-template): Check also
textmodes subdirectory for treesitter files.

* test/infra/test-jobs.yml: Regenerate.

19 months ago* test/README (EMACS_EXTRAOPT): Add environment variable.
Michael Albinus [Tue, 30 Apr 2024 07:25:07 +0000 (09:25 +0200)]
* test/README (EMACS_EXTRAOPT): Add environment variable.

19 months agoMinor adjustments to eww text field change handlers
Po Lu [Tue, 30 Apr 2024 05:21:59 +0000 (13:21 +0800)]
Minor adjustments to eww text field change handlers

* lisp/net/eww.el (eww-check-text-conversion): Fix doc string.
(eww-mode): Specify face, eww-form and field as nonsticky
properties by default.
(eww-tag-textarea, eww-form-text): Render properties
front-sticky.
(eww-process-text-input): Use field functions to compute field
bounds.

19 months agoUse the nthcdr byte-op for drop, and raise open-code limit
Mattias Engdegård [Mon, 29 Apr 2024 18:24:07 +0000 (20:24 +0200)]
Use the nthcdr byte-op for drop, and raise open-code limit

* lisp/emacs-lisp/byte-opt.el (byte-optimize-nthcdr):
Open-code for any integral N<5.  Always use the byte-op otherwise.

19 months agoAdd (semi-redundant) fix to nnatom backend declaration
Eric Abrahamsen [Mon, 29 Apr 2024 20:13:38 +0000 (13:13 -0700)]
Add (semi-redundant) fix to nnatom backend declaration

* lisp/gnus/gnus.el (gnus-valid-select-methods): We need a value for
post/mail/none in order to conform to the option type.
* lisp/gnus/nnatom.el: This call to gnus-declare-backend does the exact
same thing as above, and needs to be adjusted accordingly.

19 months ago(disassemble-internal): Handle new function values
Stefan Monnier [Mon, 29 Apr 2024 17:47:15 +0000 (13:47 -0400)]
(disassemble-internal): Handle new function values

* lisp/emacs-lisp/disass.el (disassemble-internal): Fix the
`interpreted-function` case.

19 months agooclosure-tests.el: Adjust to new `interpreted-function` type
Stefan Monnier [Mon, 29 Apr 2024 17:34:23 +0000 (13:34 -0400)]
oclosure-tests.el: Adjust to new `interpreted-function` type

* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-test-gen): Adjust to
new `interpreted-function` type.
(oclosure-test): Tweak accordingly.

19 months agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 29 Apr 2024 17:36:36 +0000 (20:36 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

19 months ago(byte-compile): Fix interaction with old `advice.el`
Stefan Monnier [Mon, 29 Apr 2024 17:14:31 +0000 (13:14 -0400)]
(byte-compile): Fix interaction with old `advice.el`

* lisp/emacs-lisp/bytecomp.el (byte-compile): Handle symbols whose
function "value" is a bare lambda expression (bug#70368).

19 months ago; Fix documentation of recent commits.
Eli Zaretskii [Mon, 29 Apr 2024 12:32:12 +0000 (15:32 +0300)]
; Fix documentation of recent commits.

* lisp/touch-screen.el (touch-screen-handle-point-up): Fix
comments.

* lisp/net/eww.el (eww-check-text-conversion, eww-select-file)
(eww-toggle-checkbox, eww-submit): Doc fixes.

* doc/emacs/input.texi (On-Screen Keyboards): Fix punctuation and
wording.

19 months agoDeclare the variable `rx-constituents` obsolete.
Mattias Engdegård [Mon, 29 Apr 2024 10:35:55 +0000 (12:35 +0200)]
Declare the variable `rx-constituents` obsolete.

It has been effectively obsolete since Emacs 27, when the modern
extension mechanism was introduced.

* lisp/emacs-lisp/rx.el (rx-constituents): Make obsolete.
* test/lisp/emacs-lisp/rx-tests.el (rx-constituents): Suppress warning.
* etc/NEWS: Announce.

19 months ago; * doc/lispref/objects.texi (Type Predicates): fix xrefs
Mattias Engdegård [Mon, 29 Apr 2024 09:44:48 +0000 (11:44 +0200)]
; * doc/lispref/objects.texi (Type Predicates): fix xrefs

19 months agoAdd NEWS.unknown file to correct versions of introduction
Mattias Engdegård [Sun, 28 Apr 2024 17:42:44 +0000 (19:42 +0200)]
Add NEWS.unknown file to correct versions of introduction

It is not intended for the human reader, but to give less wrong versions
of first appearance displayed by `describe-function` or
`describe-variable` that would otherwise be derived from a notice in a
more recent NEWS* file.

It is better to add items to this file than changing historical NEWS*
files when the actual version of introduction is not known.

* etc/NEWS.unknown: New file.  Add entry for `nthcdr`.

19 months agoAdd `drop` as alias for `nthcdr`
Mattias Engdegård [Sun, 28 Apr 2024 16:38:44 +0000 (18:38 +0200)]
Add `drop` as alias for `nthcdr`

It's a common name for this function and symmetric with respect to
`take`.  It's also a lot less awkward to type and say.

* lisp/subr.el (drop): New alias.
* doc/lispref/lists.texi (List Elements): Document.  Mention the
equation tying `take` and `drop` together.
* etc/NEWS: Announce.

19 months agoFix value< string comparison ungoodthink
Mattias Engdegård [Sun, 28 Apr 2024 21:17:48 +0000 (23:17 +0200)]
Fix value< string comparison ungoodthink

* src/fns.c (string_cmp): Fix bad comparisons for certain strings.
This only affected `value<` for aggregates, not `string<`.
* test/src/fns-tests.el (fns-value<-ordered): Add test cases.

19 months agoFix errors in 'shr-correct-dom-case'
Visuwesh [Sun, 28 Apr 2024 11:15:40 +0000 (16:45 +0530)]
Fix errors in 'shr-correct-dom-case'

* lisp/net/shr.el (shr-correct-dom-case): Don't assume each CHILD is
a cons cell.  (Bug#70626)

19 months agoAdapt eww to touch screens, mice and text conversion
Po Lu [Mon, 29 Apr 2024 12:01:59 +0000 (20:01 +0800)]
Adapt eww to touch screens, mice and text conversion

* doc/emacs/input.texi (On-Screen Keyboards): Update conditions
for displaying the virtual keyboard when t-s-d-k is enabled.

* etc/NEWS (Announce): Document changes.

* lisp/net/eww.el (eww-check-text-conversion): New function.
(eww-mode): Install it as a local post-command-hook.
(eww-submit-map, eww-submit-file, eww-checkbox-map): Bind
suitable commands to mouse-2.
(eww-form-submit, eww-form-checkbox, eww-form-file)
(eww-tag-select): Disguise inserted forms as buttons, that touch
event translation may prefer their bindings to mouse-2 over
mouse-1.
(eww-form-text, eww-tag-textarea): Insert field properties as
well.
(eww-select-file, eww-toggle-checkbox, eww-submit): New argument
EVENT, to whose position point is set.

* lisp/touch-screen.el (touch-screen-handle-point-up): Trivial
adjustments to the criteria for selecting mouse commands and
displaying the on screen keyboard.

19 months agoTake fields into account during text conversion
Po Lu [Sun, 21 Apr 2024 13:51:09 +0000 (21:51 +0800)]
Take fields into account during text conversion

* lisp/cus-edit.el (Custom-mode): Enable text conversion, now
that fields are correctly treated.

* src/alloc.c (mark_frame): Mark f->conversion.field.

* src/androidterm.c (android_update_selection): Adjust
conversion region and selection position by the field start and
end.

* src/editfns.c (find_field): Export function.

* src/frame.c (make_frame): Clear f->conversion.field.

* src/frame.h (struct text_conversion_state) <field>: New field.

* src/lisp.h (find_fields, reset_frame_conversion): Export
functions.

* src/minibuf.c (Fread_from_minibuffer): Reset frame conversion
if Voverriding_text_conversion_style is set.

* src/textconv.c (textconv_query): Narrow to field.
(reset_frame_conversion): New function.
(reset_frame_state): Clear conversion field.
(really_delete_surrounding_text): Narrow to field.
(locate_and_save_position_in_field): New function.
(really_request_point_update, really_set_point_and_mark)
(complete_edit_check, handle_pending_conversion_events_1)
(handle_pending_conversion_events, get_conversion_field)
(set_composing_region, textconv_set_point_and_mark, replace_text)
(get_extracted_text, get_surrounding_text, report_point_change):
Compute, narrow to and offset by the currently active field
whenever point is updated or a command is received.
(syms_of_textconv): Revise doc strings.

* src/textconv.h (get_conversion_field): Export function.

19 months ago; Delete obsolete commentary
Po Lu [Mon, 29 Apr 2024 01:21:02 +0000 (09:21 +0800)]
; Delete obsolete commentary

* java/org/gnu/emacs/EmacsDrawLine.java (perform): Delete
obsolete commentary.

19 months agoFix NEWS entries and documentation for underline styles
Po Lu [Mon, 29 Apr 2024 00:49:28 +0000 (08:49 +0800)]
Fix NEWS entries and documentation for underline styles

* doc/lispref/display.texi (Face Attributes):

* etc/NEWS: Revise to not mislead users as to where these
attributes are available.

19 months agoUse a dedicated type to represent interpreted-function values
Stefan Monnier [Mon, 11 Mar 2024 20:12:26 +0000 (16:12 -0400)]
Use a dedicated type to represent interpreted-function values

Change `function` so that when evaluating #'(lambda ...)
we return an object of type `interpreted-function` rather than
a list starting with one of `lambda` or `closure`.
The new type reuses the existing PVEC_CLOSURE (nee PVEC_COMPILED)
tag and tries to align the corresponding elements:

- the arglist, the docstring, and the interactive-form go in the
  same slots as for byte-code functions.
- the body of the function goes in the slot used for the bytecode string.
- the lexical context goes in the slot used for the constants of
  bytecoded functions.

The first point above means that `help-function-arglist`,
`documentation`, and `interactive-form`s don't need to
distinguish interpreted and bytecode functions any more.

Main benefits of the change:

- We can now reliably distinguish a list from a function value.
- `cl-defmethod` can dispatch on `interactive-function` and `closure`.
  Dispatch on `function` also works now for interpreted functions but still
  won't work for functions represented as lists or as symbols, of course.
- Function values are now self-evaluating.  That was alrready the case
  when byte-compiled, but not when interpreted since
  (eval '(closure ...)) signals a void-function error.
  That also avoids false-positive warnings about "don't quote your lambdas"
  when doing things like `(mapcar ',func ...)`.

* src/eval.c (Fmake_interpreted_closure): New function.
(Ffunction): Use it and change calling convention of
`Vinternal_make_interpreted_closure_function`.
(FUNCTIONP, Fcommandp, eval_sub, funcall_general, funcall_lambda)
(Ffunc_arity, lambda_arity): Simplify.
(funcall_lambda): Adjust to new representation.
(syms_of_eval): `defsubr` the new function.  Remove definition of `Qclosure`.

* lisp/emacs-lisp/cconv.el (cconv-make-interpreted-closure):
Change calling convention and use `make-interpreted-closure`.

* src/data.c (Fcl_type_of): Distinguish `byte-code-function`s from
`interpreted-function`s.
(Fclosurep, finterpreted_function_p): New functions.
(Fbyte_code_function_p): Don't be confused by `interpreted-function`s.
(Finteractive_form, Fcommand_modes): Simplify.
(syms_of_data): Define new type symbols and `defsubr` the two
new functions.

* lisp/emacs-lisp/cl-print.el (cl-print-object) <interpreted-function>:
New method.

* lisp/emacs-lisp/oclosure.el (oclosure): Refine the parent
to be `closure`.
(oclosure--fix-type, oclosure-type): Simplify.
(oclosure--copy, oclosure--get, oclosure--set): Adjust to
new representation.

* src/callint.c (Fcall_interactively): Adjust to new representation.

* src/lread.c (bytecode_from_rev_list):

* lisp/simple.el (function-documentation):
* lisp/help.el (help-function-arglist): Remove the old `closure` case
and adjust the byte-code case so it handles `interpreted-function`s.

* lisp/emacs-lisp/cl-preloaded.el (closure): New type.
(byte-code-function): Add it as a parent.
(interpreted-function): Adjust parent (the type itself was already
added earlier by accident).

* lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Adjust to
new representation.
(byte-compile): Use `interpreted-function-p`.

* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Adjust to
new representation.
(side-effect-free-fns): Add `interpreted-function-p` and `closurep`.

* src/profiler.c (trace_hash, ffunction_equal): Simplify.
* lisp/profiler.el (profiler-function-equal): Simplify.

* lisp/emacs-lisp/nadvice.el (advice--interactive-form-1):
Use `interpreted-function-p`; adjust to new representation; and take
advantage of the fact that function values are now self-evaluating.

* lisp/emacs-lisp/lisp-mode.el (closure):
Remove `lisp-indent-function` property.

* lisp/emacs-lisp/disass.el (disassemble-internal): Adjust to
new representation.
* lisp/emacs-lisp/edebug.el (edebug--strip-instrumentation):
Use `interpreted-function-p`.
* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers):
Add `closurep` and `interpreted-function-p`.

* test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Adjust to
more precise type info in `describe-function`.
* test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d--render-entries):
Use `interpreted-function-p`.
* test/lisp/emacs-lisp/macroexp-resources/vk.el (vk-f4, vk-f5):
Don't hardcode function values.

* doc/lispref/functions.texi (Anonymous Functions): Don't suggest that
function values are lists.  Reword "self-quoting" to reflect the
fact that #' doesn't return the exact same object.  Update examples
with the new shape of the return value.

* doc/lispref/variables.texi (Lexical Binding):
* doc/lispref/lists.texi (Rearrangement):
* doc/lispref/control.texi (Handling Errors): Update examples to reflect
new representation of function values.

19 months ago(COMPILED): Rename to CLOSURE
Stefan Monnier [Sun, 24 Mar 2024 22:32:25 +0000 (18:32 -0400)]
(COMPILED): Rename to CLOSURE

In preparation for the use of `PVEC_COMPILED` objects for
interpreted functions, rename them to use a more neutral name.

* src/lisp.h (enum pvec_type): Rename `PVEC_COMPILED` to `PVEC_CLOSURE`.
(enum Lisp_Compiled): Use `CLOSURE_` prefix i.s.o `COMPILED_`.
Also use `CODE` rather than `BYTECODE`.
(CLOSUREP): Rename from `COMPILEDP`.
(enum Lisp_Closure): Rename from `Lisp_Compiled`.

* src/alloc.c, src/bytecode.c, src/comp.c, src/data.c, src/eval.c,
* src/fns.c, src/lisp.h, src/lread.c, src/pdumper.c, src/print.c,
* src/profiler.c: Rename all uses accordingly.
* src/.gdbinit (xclosure): Rename from `xcompiled`.
(xcompiled): New obsolete alias.
(xpr): Adjust accordingly.  Also adjust to new PVEC_CLOSURE tag name.

19 months ago* src/comp.c (comp_hash_string): Count bytes, not chars.
Mattias Engdegård [Sun, 28 Apr 2024 13:24:46 +0000 (15:24 +0200)]
* src/comp.c (comp_hash_string): Count bytes, not chars.

19 months agoImplement dots and dashes on PGTK
Po Lu [Sun, 28 Apr 2024 13:30:52 +0000 (21:30 +0800)]
Implement dots and dashes on PGTK

* src/image.c (image_create_bitmap_from_file) [HAVE_PGTK]:
Remove unused variable.

* src/pgtkterm.c (pgtk_draw_dash, pgtk_fill_underline)
(pgtk_draw_glyph_string): New functions, ported from X.

19 months agoImplement dots and dashes on Haiku
Po Lu [Sun, 28 Apr 2024 12:57:33 +0000 (12:57 +0000)]
Implement dots and dashes on Haiku

* src/doc.c (store_function_docstring): Re-enable loading doc
strings of compiled functions from etc/DOC, which haiku-win,
ns-win, and the like require.

* src/haikuterm.c (haiku_draw_dash, haiku_fill_underline)
(haiku_draw_text_decoration): Port underline code from X.

19 months agoFix the Haiku build
Po Lu [Sun, 28 Apr 2024 11:52:27 +0000 (11:52 +0000)]
Fix the Haiku build

* src/haikuterm.c (haiku_draw_text_decoration): Remove stray
closing parenthesis.

19 months agoImplement dots and dashes on Android
Po Lu [Sun, 28 Apr 2024 08:58:58 +0000 (16:58 +0800)]
Implement dots and dashes on Android

* java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine)
(measureLine, polyDashPattern): New function.
(perform): Delegate to polyDashPattern if the line style is not
LineSolid.  Also simplify now that anti-aliasing need no longer
be taken into account.

* java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Mention
omission in commentary.

* java/org/gnu/emacs/EmacsGC.java (EmacsGC): Disable
anti-aliasing in default paint object.
<line_style, line>: New fields.
(markDirty): Apply stroke width.

* src/android.c (android_init_emacs_gc_class): Initialize new
fields.
(android_create_gc, android_free_gc, android_change_gc)
(android_set_dashes, android_get_gc_values):

* src/androidgui.h (enum android_line_style)
(enum android_gc_value_mask, struct android_gc): Introduce line
style, width, dash offset and dash GC attributes.

* src/androidterm.c (android_draw_dash, android_fill_underline)
(android_draw_glyph_string): Port from X.

* src/xterm.c (x_draw_dash): Delete redundant code.

19 months agoFix the MS-Windows build broken by a recent commit
Eli Zaretskii [Sun, 28 Apr 2024 08:52:09 +0000 (11:52 +0300)]
Fix the MS-Windows build broken by a recent commit

* src/w32term.c (w32_draw_glyph_string): Move 'foreground'
declaration to where it belongs.

19 months agoFix Android build
Po Lu [Sun, 28 Apr 2024 04:03:07 +0000 (12:03 +0800)]
Fix Android build

* src/androidterm.c (android_draw_glyph_string): Omit extraneous
argument to android_fill_rectangle.

19 months agoImplement dots and dashes on X
Po Lu [Thu, 1 Jan 1970 00:00:00 +0000 (00:00 +0000)]
Implement dots and dashes on X

* src/dispextern.h (enum face_underline_type): Indent and expand
commentary as to the new dependency on the order of its
enumerals.

* src/xfaces.c (realize_gui_face): Enable dots and dashes on
window systems.

* src/xterm.c (x_draw_underwave): Don't define unused variable
on Cairo builds.
(x_draw_dash): New function; implement for X and Cairo.
(x_fill_underline): New function.  Delegate to x_fill_rectangle
or x_draw_dash as appropriate.
(x_draw_glyph_string): Call x_fill_underline rather than
x_fill_rectangle.

19 months agoPort double-line underlines to GUI systems
Po Lu [Thu, 1 Jan 1970 00:00:00 +0000 (00:00 +0000)]
Port double-line underlines to GUI systems

* src/xterm.c (x_get_scale_factor): Replace display in first
argument with a pointer to dpyinfo.
(x_draw_underwave): Adjust to match.
(x_draw_glyph_string): Implement double-line underlines.

* src/androidterm.c (android_get_scale_factor)
(android_draw_glyph_string):

* src/haikuterm.c (haiku_draw_text_decoration):

* src/nsterm.m (ns_draw_text_decoration):

* src/pgtkterm.c (pgtk_draw_glyph_string):

* src/w32term.c (w32_draw_glyph_string): Synchronize with X.

* src/xfaces.c (realize_gui_face): Enable `double-line' on
window systems.

19 months ago; * src/term.c (turn_on_face): Fix coding style.
Po Lu [Sun, 28 Apr 2024 01:27:59 +0000 (09:27 +0800)]
; * src/term.c (turn_on_face): Fix coding style.

19 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 27 Apr 2024 19:21:13 +0000 (15:21 -0400)]
Merge from origin/emacs-29

cf839129ce0 Fix last change
3e68d413c1c ; Skip 'csharp-ts-mode' test if grammar is missing

19 months agoFix last change
Eli Zaretskii [Sat, 27 Apr 2024 19:12:14 +0000 (22:12 +0300)]
Fix last change

* test/lisp/progmodes/csharp-mode-tests.el
(csharp-ts-mode-test-indentation): If need to skip the tree-sitter
test, do so silently.  (Bug#70345)

19 months ago; Skip 'csharp-ts-mode' test if grammar is missing
john muhl [Sat, 27 Apr 2024 14:55:42 +0000 (09:55 -0500)]
; Skip 'csharp-ts-mode' test if grammar is missing

* test/lisp/progmodes/csharp-mode-tests.el
(csharp-ts-mode-test-indentation): Skip test instead of
failing.  (Bug#70345)

19 months agoRefine the Custom type of generated '*-modes' options
Eshel Yaron [Fri, 26 Apr 2024 09:43:29 +0000 (11:43 +0200)]
Refine the Custom type of generated '*-modes' options

* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Refine the Custom type of the '*-modes' option, generated when
this macro is given a ':predicate' argument.  (Bug#70589)

19 months agoFix ommissions in window scrolling commands that ought to clear vscroll
Po Lu [Sat, 27 Apr 2024 11:48:45 +0000 (19:48 +0800)]
Fix ommissions in window scrolling commands that ought to clear vscroll

* src/window.c (Fdelete_other_windows_internal)
(window_scroll_for_long_lines, Frecenter, Fmove_to_window_line):
Reset window vscroll, or, if force_start be set, just
preserve_vscroll_p, after moving window start to a position
computed from iterators for the window in question, so that
vscroll may be reliably reset again after the conditions for
redisplay's doing the same were corrected.  (bug#70386)

19 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 27 Apr 2024 10:23:46 +0000 (06:23 -0400)]
Merge from origin/emacs-29

f37f01b5046 Fix a typo in Introduction to Emacs Lisp (bug#70571).
d8687fd6cd8 Fix last change
494dfd9cf2b Fix indentation of if/else in 'csharp-ts-mode' (bug#70345)
1cc6322e612 ; * etc/PROBLEMS: Document crashes due to tree-sitter ABI...
42766f95e5c * build-aux/make-info-dir: Avoid bashism (bug#70484).
81476fa19e8 Improve documentation of selection and navigation in *xre...
2a533514929 Fix Widget manual typos, markup and omissions (bug#70502)
90be3015b4d ; Document bookmark fringe mark in the user manual
afd0b548fcc Fix python-ts-mode built-in functions and attributes (bug...
dc720decc3a Fix markup and indexing in the Calendar chapter of user m...
f593bf79a91 Fix the user manual for `calendar-time-zone-style'
aed2b7a3d82 Avoid assertion violations in 'push_prefix_prop'
c929532b469 Remove ert-equal-including-properties from manual
e3aae5fd385 ; Document 'filtered-frame-list'

19 months agoFix a typo in Introduction to Emacs Lisp (bug#70571).
Brad Howes [Thu, 25 Apr 2024 16:39:02 +0000 (18:39 +0200)]
Fix a typo in Introduction to Emacs Lisp (bug#70571).

Copyright-paperwork-exempt: yes

19 months agoFix `find-grep-dired' with default OpenBSD's Grep
Manuel Giraud [Wed, 24 Apr 2024 14:10:43 +0000 (16:10 +0200)]
Fix `find-grep-dired' with default OpenBSD's Grep

* lisp/find-dired.el (find-grep-options): Use '-q' on
OpenBSD as well.  (Bug#70550)

19 months ago; * test/lisp/jsonrpc-tests.el: Skip all tests on MS-Windows.
Eli Zaretskii [Sat, 27 Apr 2024 09:28:42 +0000 (12:28 +0300)]
; * test/lisp/jsonrpc-tests.el: Skip all tests on MS-Windows.

19 months ago; * lisp/jsonrpc.el (jsonrpc-shutdown): Doc fix.
Eli Zaretskii [Sat, 27 Apr 2024 09:19:28 +0000 (12:19 +0300)]
; * lisp/jsonrpc.el (jsonrpc-shutdown): Doc fix.

19 months agoShut down jsonrpc server more gracefully
Daniel Pettersson [Tue, 23 Apr 2024 16:58:06 +0000 (18:58 +0200)]
Shut down jsonrpc server more gracefully

* lisp/jsonrpc.el (jsonrpc-running-p): Avoid unnecessarily killing
the server process.  Suggested by Aaron Zeng <azeng@janestreet.com>.
(Bug#70522)

19 months agoFollowup changes for styled underline support
Eli Zaretskii [Sat, 27 Apr 2024 09:07:53 +0000 (12:07 +0300)]
Followup changes for styled underline support

* src/nsterm.m (ns_draw_text_decoration):
* src/pgtkterm.c (pgtk_draw_glyph_string):
* src/haikuterm.c (haiku_draw_text_decoration):
* src/androidterm.c (android_draw_glyph_string):
* src/w32term.c (w32_draw_glyph_string): Use new FACE_UNDER*
constants.  (Bug#62994)

19 months agoAdd support for colored and styled underlines on tty frames
Mohsin Kaleem [Thu, 20 Apr 2023 21:30:12 +0000 (22:30 +0100)]
Add support for colored and styled underlines on tty frames

* src/dispextern.h (face, face_underline_type, syms_of_xfacse)
(internal-set-lisp-face-attribute)
(gui_supports_face_attributes_p): Add definitions for new
underline styles of Double-line, Dots and Dashes.  Rename
FACE_UNDER_LINE and FACE_UNDER_WAVE to make definitions
consistent.  Delete tty_underline_p from the face struct and use
just underline going forward.  Add a flag to check whether styled
underlines are available.
* lisp/cus-face.el (custom-face-attributes): Add entries for
Double-line, Dots and Dashes so they can be set through
`customize'.
* src/termchar.c (tty_display_info): Add an entry for the escape
sequence to set the underline style and color on terminal frames.
* src/term.c (init_tty, tty_capable_p, turn_on_face): Read and
save the underline style escape sequence from the Smulx termcap
(alternatively if the Su flag is set use a default sequence).
Allow checking for support of styled underlines in the current
terminal frame.  Output the necessary escape sequences to activate
a styled underline on turn_on_face; this is currently only used
for the new special underline styles, a default straight underline
will still use the "us" termcap.  Output escape sequence to set
underline color when set in the face and supported by the tty.
Save a default value for this sequence on init_tty when styled
underlines are supported.
* src/xfaces.c (tty_supports_face_attributes_p, realize_tty_face)
(map_tty_color): Assert whether styled underlines are supported by
the current terminal on display-supports-face-attributes-p checks.
Populate the correct underline style and color in the face spec
when realizing a face.  Allow map_tty_color to map underline
colors alongside foreground and background.  The interface of
map_tty_color was amended to allow the caller to supply the
underline color instead of accessing it through the face
attributes.  (bug#62994)
* src/xterm.c (x_draw_glyph_string): Updated to use renamed
FACE_UNDERLINE_SINGLE and FACE_UNDERLINE_WAVE face_underline_type
enumerations.

19 months agoImprove documentation of 'package-enable-at-startup'
Eli Zaretskii [Sat, 27 Apr 2024 08:52:30 +0000 (11:52 +0300)]
Improve documentation of 'package-enable-at-startup'

* doc/emacs/package.texi (Package Installation): Clarify how to
customize 'package-enable-at-startup'.

* lisp/emacs-lisp/package.el (package-enable-at-startup): Add note
about customization.  (Bug#70402)

19 months agoFix c-ts-common--fill-paragraph for C
Yuan Fu [Sat, 27 Apr 2024 02:55:37 +0000 (19:55 -0700)]
Fix c-ts-common--fill-paragraph for C

This should fix the failing filling test for c-ts-mode.

* lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph): Don't
go back to indentation.

19 months agoEnable customization of the quit key on Android
Po Lu [Sat, 27 Apr 2024 02:47:12 +0000 (10:47 +0800)]
Enable customization of the quit key on Android

* doc/emacs/android.texi (Android Windowing):

* doc/emacs/input.texi (On-Screen Keyboards): Document various
tidbits related to the quit key.

* java/org/gnu/emacs/EmacsNative.java (getQuitKeycode): New
function.

* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): Rename
`lastVolumeButtonRelease' to `lastQuitKeyRelease'.
(onKeyUp): Treat value returned by getQuitKeycode as the quit
key rather than mandate KEYCODE_VOLUME_DOWN.

* src/android.c (getQuitKeycode): Implement new function.

* src/androidterm.c (syms_of_androidterm)
<android_quit_keycode>: New variable.

19 months agoFix gud-lldb-command-name
Gerd Möllmann [Fri, 26 Apr 2024 10:25:28 +0000 (12:25 +0200)]
Fix gud-lldb-command-name

* lisp/progmodes/gud.el (gud-gud-lldb-command-name): Change to
gud-lldb-command-name.
(lldb): Don't do stuff that is not needed for lldb.

19 months agoAlways update VC packages from a vc-dir buffer
Philip Kaludercic [Fri, 26 Apr 2024 06:21:37 +0000 (08:21 +0200)]
Always update VC packages from a vc-dir buffer

* lisp/emacs-lisp/package-vc.el (vc-dir-prepare-status-buffer):
Add a declaration.
(package-vc-upgrade): Prepare a dummy vc-dir buffer to ensure
that 'vc-pull' (or rather 'vc-deduce-fileset') can correctly
infer the VC backend to use.  (bug#70526)

19 months ago* lisp/tab-line.el: Fix tab-line-buffers in window-persistent-parameters.
Juri Linkov [Thu, 25 Apr 2024 17:39:56 +0000 (20:39 +0300)]
* lisp/tab-line.el: Fix tab-line-buffers in window-persistent-parameters.

Replace '(tab-line-buffers . writable)' with '(tab-line-buffers . t)'
in 'window-persistent-parameters' (bug#69993).

19 months agoSuppress warnings for obsolete display-comint-buffer-action (bug#69983)
Juri Linkov [Thu, 25 Apr 2024 17:34:28 +0000 (20:34 +0300)]
Suppress warnings for obsolete display-comint-buffer-action (bug#69983)

* lisp/cmuscheme.el (run-scheme, switch-to-scheme):
* lisp/shell.el (shell):
* lisp/eshell/eshell.el (eshell):
* lisp/progmodes/inf-lisp.el (inferior-lisp):
* lisp/progmodes/sh-script.el (sh-show-shell):
* lisp/textmodes/tex-mode.el (tex-display-shell)
(tex-recenter-output-buffer): Add 'with-suppressed-warnings'
to suppress warnings for obsolete options
'display-comint-buffer-action' and 'display-tex-shell-buffer-action'.

19 months agoFix 'mode-line-right-align-edge' with asymmetrical margins
Eli Zaretskii [Thu, 25 Apr 2024 16:34:42 +0000 (19:34 +0300)]
Fix 'mode-line-right-align-edge' with asymmetrical margins

* lisp/bindings.el (mode--line-format-right-align): Fix alignment
when window-margins are different on each side of the window.
Suggested by Charles Gonnaud <charles.gonnaud@gmail.com>.
(Bug#70485)

19 months agoFix last change
Eli Zaretskii [Thu, 25 Apr 2024 15:59:25 +0000 (18:59 +0300)]
Fix last change

* test/lisp/progmodes/csharp-mode-tests.el
(csharp-ts-mode-test-indentation): Move the test to here.
* test/lisp/progmodes/csharp-ts-mode-tests.el: Remove file.
* test/lisp/progmodes/csharp-ts-mode-resources/indent.erts: Move
to test/lisp/progmodes/csharp-mode-resources/indent-ts.erts.

19 months agoFix indentation of if/else in 'csharp-ts-mode' (bug#70345)
Jacob Leeming [Mon, 22 Apr 2024 08:49:15 +0000 (09:49 +0100)]
Fix indentation of if/else in 'csharp-ts-mode' (bug#70345)

* lisp/progmodes/csharp-mode.el (csharp-ts-mode--indent-rules):
Fix indentation rules for 'if' and 'else'.

* test/lisp/progmodes/csharp-ts-mode-tests.el:
* test/lisp/progmodes/csharp-ts-mode-resources/indent.erts: New
test files.

Copyright-paperwork-exempt: yes

19 months agoFix which-function error in 'lua-ts-mode' (bug#70515)
john muhl [Sun, 21 Apr 2024 02:19:27 +0000 (21:19 -0500)]
Fix which-function error in 'lua-ts-mode' (bug#70515)

* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Remove incorrect
usage of 'which-func-functions'.
* test/lisp/progmodes/lua-ts-mode-tests.el
(lua-ts-test-which-function): Add test.
* test/lisp/progmodes/lua-ts-mode-resources/which-function.lua:
New file.

19 months ago; Exclude more modes in 'global-completion-preview-mode'
Eshel Yaron [Wed, 24 Apr 2024 17:27:15 +0000 (19:27 +0200)]
; Exclude more modes in 'global-completion-preview-mode'

Avoid activating Completion Preview mode in a few more major
modes when 'global-completion-preview-mode' is enabled.

* lisp/completion-preview.el (global-completion-preview-mode):
By default, exclude a few more major modes for which Completion
Preview mode isn't suitable.

19 months ago; * etc/PROBLEMS: Document crashes due to tree-sitter ABI (bug#70438).
Eli Zaretskii [Thu, 25 Apr 2024 09:39:36 +0000 (12:39 +0300)]
; * etc/PROBLEMS: Document crashes due to tree-sitter ABI (bug#70438).

19 months agoBetter eval-when-compile example in manual
Mattias Engdegård [Thu, 25 Apr 2024 09:33:25 +0000 (11:33 +0200)]
Better eval-when-compile example in manual

* doc/lispref/compile.texi (Eval During Compile):
`regexp-opt` makes for a poor example because as a pure function it
doesn't need `eval-when-compile` for constant inputs.

19 months agoImprove custom button faces on monochrome displays
Po Lu [Thu, 25 Apr 2024 02:54:17 +0000 (10:54 +0800)]
Improve custom button faces on monochrome displays

* lisp/cus-edit.el (custom-button, custom-button-mouse)
(custom-button-pressed): Define raised boxes on monochrome
displays.

19 months agoDisable unsuitable XPM color selection mechanism on Android
Po Lu [Wed, 24 Apr 2024 08:33:33 +0000 (16:33 +0800)]
Disable unsuitable XPM color selection mechanism on Android

* src/image.c (xpm_load_image) [HAVE_ANDROID]: Always select
XPM_COLOR_KEY_C.

19 months agoFix tbreak for LLDB
Gerd Möllmann [Wed, 24 Apr 2024 07:33:50 +0000 (09:33 +0200)]
Fix tbreak for LLDB

* lisp/progmodes/gud.el (lldb): Use _regexp-tbreak command.

19 months agoFix handling of glyph codes in whitespace.el
Eli Zaretskii [Wed, 24 Apr 2024 07:02:22 +0000 (10:02 +0300)]
Fix handling of glyph codes in whitespace.el

* lisp/whitespace.el (whitespace-display-vector-p): Support glyph
codes, not just plain characters.  See
https://lists.gnu.org/archive/html/help-gnu-emacs/2024-04/msg00248.html
for the details.

19 months ago; Remove comment in eglot-tests.el
Michael Albinus [Wed, 24 Apr 2024 06:28:20 +0000 (08:28 +0200)]
; Remove comment in eglot-tests.el

19 months agoMake c-ts-common-comment-indent-new-line work for rust doc comment
Yuan Fu [Wed, 24 Apr 2024 05:28:25 +0000 (22:28 -0700)]
Make c-ts-common-comment-indent-new-line work for rust doc comment

* lisp/progmodes/c-ts-common.el (c-ts-common-comment-indent-new-line):
Support //! comment directives.

19 months agoMake c-ts-common--fill-paragraph work for rust line comment
Yuan Fu [Tue, 23 Apr 2024 23:28:20 +0000 (16:28 -0700)]
Make c-ts-common--fill-paragraph work for rust line comment

* lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph): Back to
BOL before checking for //.

19 months agoMore effectually prevent defun list wrapping in C-x C-w
Po Lu [Wed, 24 Apr 2024 03:45:31 +0000 (11:45 +0800)]
More effectually prevent defun list wrapping in C-x C-w

* lisp/vc/log-edit.el (log-edit-fill-entry): Match and replace
with NBSPs the opening defun list also.

* test/lisp/vc/log-edit-tests.el
(log-edit-fill-entry-no-defun-list-wrapping): New test.

19 months agoMiscellaneous fixes for Android port
Po Lu [Wed, 24 Apr 2024 03:42:48 +0000 (11:42 +0800)]
Miscellaneous fixes for Android port

* lisp/touch-screen.el (touch-screen-hold, touch-screen-drag):
Clear deactivate-mark if the mark is activated to prevent undue
deactivation after completion.

* lisp/wid-edit.el (widget-field, widget-single-line-field):
Insert specifications suitable for monochrome displays.

* src/androidfns.c (Fxw_display_color_p, Fx_display_grayscale_p):
Report color and/or grayscale properly.

* src/image.c (image_create_bitmap_from_file)
[HAVE_ANDROID]: If a file with no extension cannot be located,
append .xbm and retry.

19 months ago* build-aux/make-info-dir: Avoid bashism (bug#70484).
Ulrich Müller [Tue, 23 Apr 2024 05:37:17 +0000 (07:37 +0200)]
* build-aux/make-info-dir: Avoid bashism (bug#70484).

19 months ago; * lisp/progmodes/eglot.el (eglot-path-to-uri): Improve commentary.
Eli Zaretskii [Tue, 23 Apr 2024 18:28:09 +0000 (21:28 +0300)]
; * lisp/progmodes/eglot.el (eglot-path-to-uri): Improve commentary.

19 months agoGnus: Add back end for Atom feeds (nnatom)
Daniel Semyonov [Wed, 21 Jun 2023 07:05:04 +0000 (10:05 +0300)]
Gnus: Add back end for Atom feeds (nnatom)

* lisp/gnus/gnus.el (gnus-valid-select-methods): Add entry for nnatom.
* lisp/gnus/nnfeed.el: New file implementing an abstract web feed back
end.
* lisp/gnus/nnatom.el: New file implementing a back end for Atom feeds.
* doc/misc/gnus.texi (Browsing the Web, Back End Interface):
* etc/NEWS (Gnus): Document nnatom and nnfeed.

19 months agoRevert skip on eglot-tests.el
Michael Albinus [Tue, 23 Apr 2024 15:08:06 +0000 (17:08 +0200)]
Revert skip on eglot-tests.el

* test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink):
Comment out skip on EMBA.

19 months agoEglot: robustify eglot-test-basic-symlink test (bug#70036)
João Távora [Tue, 23 Apr 2024 13:43:06 +0000 (08:43 -0500)]
Eglot: robustify eglot-test-basic-symlink test (bug#70036)

The previous version of this test was brittle, unstable and
didn't really fail when supposed to (because we need main.cpp to
not be visited when visiting mainlink.cpp).  This new version is
faster and more secure.

* test/lisp/progmodes/eglot-tests.el (eglot--sniffing): Add to the
jsonrpc-event-hook at the end.
(eglot-test-basic-symlink): Robustify test.

19 months agoEglot: fix bug#70408 yet another way
João Távora [Mon, 22 Apr 2024 15:37:38 +0000 (16:37 +0100)]
Eglot: fix bug#70408 yet another way

The previous fix based on comparing the Eglot-provided didOpen URI to
the server-provided textDocument/publishDiagnostics URI didn't quite
work because the URI differs slightly in escaping conventions on certain
platforms.

This elephant-size bug is easily reproducible on Windows with clangd,
where every file is basically diagnostic-free.

* lisp/progmodes/eglot.el (eglot-path-to-uri): Rework.
(eglot--TextDocumentIdentifier-cache):
Rename from eglot--TextDocumentIdentifier-uri.
(eglot-handle-notification textDocument/publishDiagnostics): Tweak.
(eglot--TextDocumentIdentifier): Rework.
(eglot--signal-textDocument/didOpen): Tweak.

19 months agoRun admin/syncdoc-type-hierarchy.el
Andrea Corallo [Tue, 23 Apr 2024 13:39:28 +0000 (15:39 +0200)]
Run admin/syncdoc-type-hierarchy.el

* doc/lispref/elisp_type_hierarchy.jpg: Update.
* doc/lispref/elisp_type_hierarchy.txt: Likewise.