1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-23 13:02:00 -08:00
Commit graph

171967 commits

Author SHA1 Message Date
Po Lu
d3e95fcae9 Switch to GXinvert in XTflash
* src/xterm.c (XTflash): Move to inverting the regions of the
display being flashed.  Suggested by Manuel Giraud
<manuel@ledu-giraud.fr>.
2024-05-02 10:23:09 +08:00
Po Lu
bcaf946cb1 ; * doc/emacs/android.texi (Android Startup): Correct wording. 2024-05-02 09:54:16 +08:00
Po Lu
08a38d6e7a ; Update commentary in intervals.h
* src/intervals.h (INTERVAL_GENERALLY_WRITABLE_P)
(INTERVAL_EXPRESSLY_WRITABLE_P): Mention significance of RO.
2024-05-02 09:51:31 +08:00
Andrea Corallo
468f3f1cb4 (disassemble): Fix case of (byte-code ...) argument
* lisp/emacs-lisp/disass.el (disassemble): Handle (byte-code ...) here..
(disassemble-internal): ...instead of here.
(disassemble-1): Adjust text to reflect the existence of other
compiled functions.
2024-05-01 14:14:01 -04:00
Philip Kaludercic
f68e917273 Add Compat as an Eglot dependency
* lisp/progmodes/eglot.el (eglot--format-markup): Remove fboundp
check for 'text-property-search-forward'.
(eglot-alternatives): Use Compat's 'executable-find'
(eglot--executable-find): Remove function.

Additionally this should make 'package-get-version' available
for releases of Emacs previous to 27.1.  (bug#62198)
2024-05-01 16:44:13 +02:00
Po Lu
83bdeee92b Fix minor typos in haikuterm.c
* src/haikuterm.c (haiku_fill_underline)
(haiku_draw_text_decoration): Don't pass view to unused frame
parameter.
2024-05-01 22:06:09 +08:00
Po Lu
a5f57a8634 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.
2024-05-01 22:02:47 +08:00
Basil L. Contovounesios
04635f399b ; Silence obsoletion warning in mwheel-tests. 2024-05-01 13:08:30 +02:00
Basil L. Contovounesios
f804a492bf ; Update pvec_type hash for CHECK_STRUCTS
This follows commit 2fa839c188 of 2024-04-28
"(COMPILED): Rename to CLOSURE".
2024-05-01 13:07:17 +02:00
Basil L. Contovounesios
65fa47e3fa 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.
2024-05-01 12:38:51 +02:00
Po Lu
54dbd8b4fa 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.
2024-05-01 15:57:29 +08:00
Po Lu
c00105626a ; * src/androidselect.c (extract_fd_offsets): Fix typos. 2024-05-01 12:03:26 +08:00
Po Lu
2451456695 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.
2024-05-01 11:46:31 +08:00
Po Lu
294335b230 ; 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>.
2024-05-01 11:46:30 +08:00
Mattias Engdegård
b094b2b9dc 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.
2024-04-30 18:08:03 +02:00
Mattias Engdegård
c15d67ecfc * lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): Simplify. 2024-04-30 16:22:48 +02:00
Mattias Engdegård
c3c2e3b4d3 * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Simplify.
Remove the add-lambda argument.  All callers adapted.
2024-04-30 16:20:45 +02:00
Po Lu
b36fd07560 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.
2024-04-30 18:28:05 +08:00
Paul Eggert
aad80e1934 Work around bad GCC diagnostic in select_window
* src/textconv.c (select_window): Add an eassume to work
around GCC bug 114893.
2024-04-30 01:26:24 -07:00
Paul Eggert
c57a03c75e Pacify GCC 14 -Wanalyzer-out-of-bounds in hbfont.c
* src/hbfont.c (hbfont_shape): Add an eassume.
2024-04-30 01:26:24 -07:00
Paul Eggert
59a11116e0 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.
2024-04-30 01:26:24 -07:00
Paul Eggert
750dbccc12 Pacify GCC 14 -Wnull-dereference in intervals.c
* src/intervals.c (set_intervals_multibyte_1):
Add an eassume to pacify GCC.  Deparenthesisze.
2024-04-30 01:26:24 -07:00
Paul Eggert
c2b2a38f70 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].
2024-04-30 01:26:23 -07:00
Paul Eggert
009a6ba71e Pacify GCC 14 -Wclobbered in eval.c
* src/eval.c: Ignore -Wclobbered.
2024-04-30 01:26:23 -07:00
Paul Eggert
62c2afe841 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.
2024-04-30 01:26:23 -07:00
Paul Eggert
98d0fc989a Pacify GCC 14 -Walloc-size
* src/xfns.c (xic_string_conversion_callback): Allocate size 1, not 0.
2024-04-30 01:26:22 -07:00
Paul Eggert
ca4f0705be 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.
2024-04-30 01:26:22 -07:00
Paul Eggert
7e2309c6fc 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.
2024-04-30 01:26:21 -07:00
Paul Eggert
de59c02c68 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.
2024-04-30 01:26:21 -07:00
Michael Albinus
d24981d27c ; etc/NEWS.unknown: Quote command invocation. 2024-04-30 09:28:07 +02:00
Michael Albinus
d844521abd 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.
2024-04-30 09:25:53 +02:00
Michael Albinus
c4eecbf684 * test/README (EMACS_EXTRAOPT): Add environment variable. 2024-04-30 09:25:07 +02:00
Po Lu
3555447b7e 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.
2024-04-30 13:21:59 +08:00
Mattias Engdegård
3000edc617 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.
2024-04-29 22:16:08 +02:00
Eric Abrahamsen
97a2710554 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.
2024-04-29 13:13:38 -07:00
Stefan Monnier
ccb49acd2a (disassemble-internal): Handle new function values
* lisp/emacs-lisp/disass.el (disassemble-internal): Fix the
`interpreted-function` case.
2024-04-29 13:47:15 -04:00
Stefan Monnier
7c835291dd 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.
2024-04-29 13:35:12 -04:00
Eli Zaretskii
4d079209f0 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2024-04-29 20:36:36 +03:00
Stefan Monnier
7cf767ef54 (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).
2024-04-29 13:14:31 -04:00
Eli Zaretskii
f6ae5939b9 ; 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.
2024-04-29 15:32:12 +03:00
Mattias Engdegård
3be382311f 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.
2024-04-29 14:29:53 +02:00
Mattias Engdegård
f906ce5543 ; * doc/lispref/objects.texi (Type Predicates): fix xrefs 2024-04-29 14:29:52 +02:00
Mattias Engdegård
495bf22727 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`.
2024-04-29 14:29:52 +02:00
Mattias Engdegård
8718a7c706 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.
2024-04-29 14:29:52 +02:00
Mattias Engdegård
9b1e44c7fb 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.
2024-04-29 14:29:52 +02:00
Visuwesh
05215177a6 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)
2024-04-29 15:14:35 +03:00
Po Lu
4c46066cb6 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.
2024-04-29 20:01:59 +08:00
Po Lu
430088c9cc 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.
2024-04-29 12:34:39 +08:00
Po Lu
ee2e0031d8 ; Delete obsolete commentary
* java/org/gnu/emacs/EmacsDrawLine.java (perform): Delete
obsolete commentary.
2024-04-29 09:21:02 +08:00
Po Lu
8cd9ca2236 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.
2024-04-29 08:49:47 +08:00