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

166993 commits

Author SHA1 Message Date
Po Lu
aed0a11147 Update Android port
* java/org/gnu/emacs/EmacsInputConnection.java
(EmacsInputConnection, performContextMenuAction): New function.
* java/org/gnu/emacs/EmacsNative.java (EmacsNative)
(performContextMenuAction): New function.
* src/android.c (android_get_gc_values): Implement more
efficiently.
* src/androidterm.c (android_handle_ime_event): Pass through
`update' argument to `finish_composing_text'.  Fix thinko.
* src/textconv.c (really_finish_composing_text)
(really_set_composing_text, really_set_composing_region)
(handle_pending_conversion_events_1, finish_composing_text): New
argument `update'.  Notify IME of conversion region changes if
set.
* src/textconv.h: Update structs and prototypes.
2023-06-01 15:16:02 +08:00
Po Lu
9a958c59a2 Update Android port
* java/org/gnu/emacs/EmacsInputConnection.java
(EmacsInputConnection): Add compatibility adjustments for
Samsung devices.
2023-06-01 10:05:42 +08:00
Po Lu
ce238de2b1 Correctly report start and end in extracted text
* src/androidterm.c (struct android_get_extracted_text_context):
New field `start_offset' and `end_offset'.  Delete `offset'.
(android_get_extracted_text, android_build_extracted_text):
Replace `offset' with new args `start_offset' and `end_offset'.
(NATIVE_NAME): Set `start_offset' and `end_offset'.
(android_update_selection): Likewise.
* src/textconv.c (get_extracted_text): Likewise.
* src/textconv.h: Update prototypes.
2023-06-01 08:29:48 +08:00
Po Lu
a964116008 Merge remote-tracking branch 'origin/master' into feature/android 2023-06-01 07:40:25 +08:00
Mattias Engdegård
dc3b3548b7 * lisp/composite.el (compose-gstring-for-terminal): Fix omitted var.
It may not make much of a difference since the code path is probably
only taken once for i=0 with no more glyphs in the input, but this
change avoids depending on such external invariants and makes
the code less mystifying to the reader (bug#63807).
2023-05-31 18:55:03 +02:00
Mattias Engdegård
ddf8587bb5 Disable unused-return-value warning for delq and delete, again
* lisp/emacs-lisp/bytecomp.el (important-return-value-fns):
Remove `delq` and `delete` since they resulted in false
positives that nobody was interested in silencing (bug#61730).
2023-05-31 17:09:12 +02:00
Mattias Engdegård
2df7b98de3 * lisp/net/shr.el (shr-dom-max-natural-width): Rewrite muddled code. 2023-05-31 17:09:12 +02:00
Mattias Engdegård
288c48bcd9 ; * test/src/comp-tests.el (non-locals): Repair botched test. 2023-05-31 17:09:12 +02:00
Eli Zaretskii
65b3d4d120 ; * lisp/misc.el (forward-to-word, backward-to-word): Doc fix. 2023-05-31 16:13:56 +03:00
Zaz Brown
5f6aa5a174 Make forward and backward-to-word arg optional
* lisp/misc.el (forward-to-word, backward-to-word): Make the
argument optional.  (Bug#63626)

Copyright-paperwork-exempt: yes
2023-05-31 16:10:32 +03:00
Po Lu
53f7cc2078 Fix build with Lisp_Object type checking
* configure.ac: Pass through `--enable-check-lisp-object-type'
on Android.
* src/alloc.c (android_make_lisp_symbol):
* src/android.c:
* src/androidfns.c (android_set_no_focus_on_map)
(android_set_no_accept_focus):
* src/androidfont.c (androidfont_match, androidfont_open_font):
* src/androidselect.c (Fandroid_get_clipboard)
(Fandroid_get_clipboard_targets):
* src/keyboard.c (make_lispy_event, syms_of_keyboard):
* src/sfntfont.c (sfnt_enum_font_1, sfntfont_list_1):
* src/textconv.c (really_set_point_and_mark): Fix Lisp_Object
and integer screw-ups.
2023-05-31 21:08:33 +08:00
Michael Albinus
5cace109d2 ; * etc/NEWS: Fix typos. 2023-05-31 08:45:08 +02:00
Michael Albinus
3e3c277870 Improve tree-sitter tests on emba
* test/infra/Dockerfile.emba (emacs-tree-sitter): Install only
grammars which are needed.

* test/infra/Makefile.in (subdir_template): Special handling of
progmodes.
(TREE-SITTER-FILES): New variable.
(tree-sitter-files-template): New rule.
(.PHONY, generate-test-jobs): Add it to dependencies.

* test/infra/gitlab-ci.yml (.tree-sitter-template):
Add test/lisp/progmodes/*-ts-mode-resources/**.
(test-tree-sitter): Extends also .tree-sitter-files-template.  Use
$tree-sitter-files.

* test/infra/test-jobs.yml: Regenerate.
2023-05-31 08:44:44 +02:00
Po Lu
69c4bbc0d6 Update Android port
* doc/emacs/input.texi (Other Input Devices, Touchscreens)
(On-Screen Keyboards):
* doc/lispref/commands.texi (Misc Events):
* src/android.c (android_faccessat): Improve word choices and
commentary.
* lisp/touch-screen.el (touch-screen-handle-scroll): Make
precision scrolling work better with horizontal movement.
2023-05-31 13:47:08 +08:00
Po Lu
b1f606f863 ; * src/android.c (android_copy_area): Pacify compiler warning. 2023-05-31 11:51:24 +08:00
Po Lu
456095ed31 Update Android port
* exec/exec.c (insert_args): New argument `arg3'.  Replace
argv[1] with that argument.
(exec_0): Pass file name of script to `insert_args'.
2023-05-31 11:27:19 +08:00
Po Lu
8db9573664 Update android.texi
* doc/emacs/android.texi (What is Android?):
(Android Startup):
(Android File System):
(Android Environment):
(Android Windowing):
(Android Troubleshooting): Improve wording and various other
issues.
2023-05-31 10:48:52 +08:00
Po Lu
822463ea5a Merge remote-tracking branch 'origin/master' into feature/android 2023-05-31 10:16:06 +08:00
Po Lu
57903519eb Update Android port
* java/debug.sh (is_root): Go back to using unix sockets; allow
adb to forward them correctly.
* java/org/gnu/emacs/EmacsInputConnection.java
(getExtractedText): Don't print text if NULL.
* java/org/gnu/emacs/EmacsService.java (EmacsService): New field
`imSyncInProgress'.
(updateIC): If an IM sync might be in progress, avoid deadlocks.
* java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
Set `imSyncInProgress' across synchronization point.
* src/android.c (android_check_query): Use __atomic_store_n.
(android_answer_query): New function.
(android_begin_query): Set `android_servicing_query' to 2.
Check once, and don't spin waiting for query to complete.
(android_end_query): Use __atomic_store_n.
(android_run_in_emacs_thread): Compare-and-exchange flag.  If
originally 1, fail.
* src/textconv.c (really_set_composing_text): Clear conversion
region if text is empty.
2023-05-31 10:13:04 +08:00
Andrea Corallo
ecc1d990d9 'describe-function' shows function inferred type when available
* lisp/help-fns.el (help-fns--signature): Print function type for
native compiled code.
* etc/NEWS: Add entry.
2023-05-30 18:28:25 +02:00
Mattias Engdegård
49c56f3335 Add function declarations
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
Add get-byte, string-width, unibyte-string, special-variable-p, frexp,
buffer-hash, buffer-line-statistics, load-average, md5, secure-hash,
string-collate-equalp, string-collate-lessp, string-to-unibyte,
string-version-lessp, current-cpu-time.
(side-effect-and-error-free-fns): Add equal-including-properties.
(pure-fns): Add equal-including-properties, string-version-lessp.
* lisp/emacs-lisp/bytecomp.el (important-return-value-fns):
Add match-data.
* lisp/subr.el (buffer-local-boundp, subr-primitive-p, gensym)
(frame-configuration-p, apply-partially, make-composed-keymap)
(keymap-canonicalize, listify-key-sequence, event-modifiers)
(event-basic-type, mouse-event-p, event-start, event-end)
(event-click-count, event-line-count, posnp, posn-window, posn-area)
(posn-point, posn-x-y, posn-col-row, posn-actual-col-row)
(posn-timestamp, posn-string, posn-image, posn-object)
(posn-object-x-y, posn-object-width-height, provided-mode-derived-p)
(derived-mode-p, autoloadp, locate-eln-file, symbol-file)
(process-lines-handling-status, process-lines)
(process-lines-ignore-status, process-get)
(copy-overlay, shell-quote-argument, field-at-pos):
Add appropriate function declarations.
2023-05-30 17:46:06 +02:00
Mattias Engdegård
27d68d790f ; * admin/cus-test.el (cus-test-apropos): remove TODO (already done) 2023-05-30 17:46:06 +02:00
Mattias Engdegård
845f97d475 ; * admin/admin.el (cusver-scan): remove broken warning
The call to `format-message` had no effect in itself, but it turns out
that actually emitting the result just results in useless warnings so
we remove it entirely.
2023-05-30 17:46:06 +02:00
Mattias Engdegård
9ae212fb1e xml.el: remove incorrect and botched attribute whitespace collapse
* lisp/xml.el (xml-parse-attlist): Don't attempt to collapse multiple
consecutive whitespace characters into a single space, which is wrong
to do a this point when attributes must be assumed to be CDATA.

The code was actually unintentionally correct since it forgot to use
the return value of `replace-regexp-in-string` (bug#63740).
2023-05-30 17:46:06 +02:00
Mattias Engdegård
6e255ddfff * test/lisp/dnd-tests.el (dnd-tests-begin-text-drag): Fix typo. 2023-05-30 17:46:06 +02:00
Mattias Engdegård
ace9f67755 Avoid using rx any for not-newline
Despite its name, `any` does not match any character (use `anychar`
for that) but is an old synonym for `not-newline` and `nonl`,
retained for compatibility with the obsolete `sregex` package.

(In SRE as defined by SRFI-115, `any` does match any character.)

There is also a mild but unnecessary confusion with the more
frequently used `any` construct for character alternatives.

* lisp/edmacro.el (edmacro-mode-font-lock-keywords):
* lisp/erc/erc.el (erc--ensure-url):
* lisp/org/org.el (org-fontify-meta-lines-and-blocks-1):
* lisp/progmodes/scheme.el (scheme-imenu-generic-expression):
* test/lisp/find-cmd-tests.el (find-cmd-test-find-cmd):
Replace uses of `any` with `nonl`.
2023-05-30 17:44:53 +02:00
Po Lu
733a6776f9 Merge remote-tracking branch 'origin/master' into feature/android 2023-05-30 19:16:32 +08:00
Mattias Engdegård
08291e6f17 Clean up defcustom type quote check
* lisp/emacs-lisp/bytecomp.el
(byte-compile--suspicious-defcustom-choice): Rename to...
(byte-compile--defcustom-type-quoted): ...this and rewrite to make
more sense.  All callers updated.
(byte-compile-nogroup-warn): Better warning message.
* test/lisp/emacs-lisp/bytecomp-tests.el
(test-bytecomp-defgroup-choice): This never failed because it wasn't
actually a test.  Turn it into...
(bytecomp-test-defcustom-type-quoted): ...this, which is.
2023-05-30 09:51:10 +02:00
Michael Albinus
f8a79c0055 * test/infra/gitlab-ci.yml (test-tree-sitter): Fix file list. 2023-05-30 09:46:46 +02:00
Protesilaos Stavrou
cb1ee63e2a
Update modus-themes to their version 4.2.0
* doc/misc/modus-themes.org: Update the manual.

* etc/themes/modus-operandi-tritanopia-theme.el:
* etc/themes/modus-vivendi-tritanopia-theme.el: Add new themes
  optimized for users with blue-yellow color deficiency (tritanopia).

* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el: Update theme files.

* etc/themes/modus-themes.el: Update main file to the latest version.

* etc/NEWS: Rephrase the announcement about the new Modus themes to
  also mention the tritanopia-optimized items.

Detailed release notes here:
<https://protesilaos.com/codelog/2023-05-30-modus-themes-4-2-0/>.
2023-05-30 09:37:24 +03:00
F. Jason Park
31a80f61ec Preserve prompt in erc-cmd-CLEAR
* etc/ERC-NEWS: Mention behavioral changes to functionality provided
by the `truncate' and `log' modules and also the "/CLEAR" command.
* lisp/erc/erc-log.el (erc-truncate-buffer-on-save): Deprecate option
because three's a crowd, and ERC already has a dedicated module as
well as a slash command for this purpose.  And although this commit
restores functionality, this option has been unusable since at least
the release of ERC 5.5, with no known complaints received thus far.
Also, the doc string of `erc-save-buffer-in-logs' makes no mention of
this feature WRT interactive invocations or otherwise.
(erc-log-mode, erc-log-enable, erc-log-disable): Subscribe to
new internal hook `erc--pre-clear-functions'.
(erc-log--save-in-progress-p): New variable to help restore
`erc-truncate-buffer-on-save' and promote code reuse.
(erc-logging-enabled): Guard with `erc-log--saved-in-progress-p'.
(erc-save-buffer-in-logs): Overload `buffer' parameter to allow
various hooks to supply a non-buffer as well.  Warn when people use
`erc-truncate-buffer-on-save', which is now deprecated.
* lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable,
erc-stamp-disable): Subscribe to `erc--pre-clear-functions'.
(erc-stamp--update-saved-position): New function for updating
last-logged marker on `erc-stamp--insert-date-function'.
(erc-stamp--reset-on-clear): New function to forget last inserted
stamps when truncating.
* lisp/erc/erc-truncate.el (erc-truncate-mode, erc-truncate-enable,
erc-truncate-disable): Use `erc-insert-done-hook' instead of
`erc-insert-post-hook', as implicitly suggested by an ancient comment,
which ponders whether truncating the buffer at the insertion phase may
be harmful to other hook members.
(erc-truncate-buffer-to-size): Set truncation boundary at message
break instead of line break.  Run `erc--pre-clear-functions'.
(erc-truncate-buffer): Save excursion.  This should probably be
handled by `erc-truncate-buffer-to-size' instead, but that's
likelier to cause breakage in third-party code.
* lisp/erc/erc.el (erc--pre-clear-functions): New internal hook.
(erc-cmd-CLEAR): Run `erc--pre-clear-functions' before clearing, and
don't blow away prompt.  The latter was a regression caused by
05f6fdb9e7 "Preserve ERC prompt and its bounding markers".
* test/lisp/erc/erc-scenarios-log.el: New file.  (Bug#60936)
2023-05-29 21:46:23 -07:00
F. Jason Park
4f93c52f7f Recompute erc-prompt when inserting messages
* lisp/erc/erc.el (erc--refresh-prompt): New function for redrawing
the prompt in a couple select places.
(erc-display-line-1, erc-display-msg): Replace the prompt after
inserting messages.
* test/lisp/erc/erc-tests.el (erc--refresh-prompt): New
test.  (Bug#60936)
2023-05-29 21:42:45 -07:00
F. Jason Park
8bef8a5566 Simplify erc-tab interface
* etc/ERC-NEWS: Improve section mentioning `erc-tab'.
* lisp/erc/erc-button.el (erc-button-alist): Restore a commented out
version of the "<URL ...>" entry, which was dropped in 5adda2f468
"Revise FORM-as-function interface in erc-button-alist" for being
redundant.  This may help unlikely objectors better adapt to the
churn.
(erc-button-next, erc-button-previous): Don't bother accommodating raw
prefix arguments; expect numeric arguments only.
* lisp/erc/erc.el (erc-tab): Change interactive spec to lowercase
"p".  (Bug#60933)
2023-05-29 21:42:41 -07:00
F. Jason Park
8a149966dd Add command to view ERC-NEWS
* etc/ERC-NEWS: Mention `erc-news' command.
* lisp/erc/erc.el (erc--news-url, erc--news-temp-file, erc-news): Add
new command and supporting variable.
2023-05-29 21:42:37 -07:00
F. Jason Park
7563bf5704 Document recommended way to use ERC over Tor
* doc/misc/erc.texi: Add new SOCKS section to the chapter on
Integrations.  Also bump version in front matter.
* lisp/erc/erc.el (erc-open-socks-tls-stream): New convenience
function to connect over Tor via SOCKS proxy.
2023-05-29 21:42:33 -07:00
Andrea Corallo
fbc96dcc4e Revert "* Nativecomp disable propagation of pre slot access type check..."
This reverts commit c8e527cbee as
56a8d57d03 fixes the root cause.
2023-05-29 18:07:20 +02:00
Andrea Corallo
56a8d57d03 comp: Recompute type slots after byte compilation for user types
* lisp/emacs-lisp/comp-cstr.el (comp--compute-typeof-types)
(comp--compute--pred-type-h): New functions.
(comp-cstr-ctxt): Make use of.
(comp-cstr-ctxt-update-type-slots): New function.

* lisp/emacs-lisp/comp.el (comp-spill-lap): Use
`comp-cstr-ctxt-update-type-slots'.
2023-05-29 18:04:30 +02:00
Michael Albinus
edcdb4c2ec Add tree-sitter tests to emba
* admin/notes/emba: Add docker image emacs-tree-sitter.  Improve
docker call.

* test/infra/Dockerfile.emba (emacs-tree-sitter): New image.

* test/infra/gitlab-ci.yml (.tree-sitter-template): New template.
(build-image-tree-sitter, test-tree-sitter): New jobs.
2023-05-29 17:26:46 +02:00
Po Lu
9e52188628 ; * src/android.c: Fix typos. 2023-05-29 18:19:52 +08:00
Po Lu
1a1cf6b86f Merge remote-tracking branch 'origin/master' into feature/android 2023-05-29 18:06:32 +08:00
Po Lu
1088a8e8da Update Android port
* src/android.c (android_blit_copy):
(android_blit_xor): Fix typos.
2023-05-29 17:59:48 +08:00
Po Lu
787c947028 ; * src/android.c (android_blit_copy): Fix typos. 2023-05-29 17:48:25 +08:00
Po Lu
7fdde02f32 Work around more problems with Bitmaps
* java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
function `blitRect'.
* java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
Use it on Android 8.x.
* src/android.c (blitRect): Implement new function.
2023-05-29 17:46:19 +08:00
Michael Albinus
77087eb170 Fix regression when saving tramp-default-proxies-alist
* lisp/net/tramp.el (tramp-add-hops): Suppress `signal-hook-function'.
Save `tramp-default-proxies-alist' only when changed.
2023-05-29 11:37:33 +02:00
Po Lu
9a35354593 Update Android port
* src/android.c (android_neon_mask_line): Fix iteration
over remainder.
(android_blit_copy): Be more paranoid.
2023-05-29 16:33:20 +08:00
Po Lu
00671b1843 Implement android_copy_area in C
* java/org/gnu/emacs/EmacsCopyArea.java: Remove file.
* java/org/gnu/emacs/EmacsService.java (EmacsService, copyArea):
Delete function.
* src/android.c (struct android_emacs_service)
(android_init_emacs_service): Remove `copy_area'.
(android_create_gc, android_change_gc, android_get_gc_values):
Record new GC values.
(android_neon_mask_line): New function.
(android_blit_copy, android_blit_xor): New functions.
(android_copy_area): Implement in C.
(android_lock_bitmap): Accept drawables instead of windows.
* src/android.h: Adjust prototype for `android_lock_bitmap'.
* src/androidgui.h (struct android_gc): Record last known GC
values.
2023-05-29 15:44:14 +08:00
Andrea Corallo
c8e527cbee * Nativecomp disable propagation of pre slot access type check (bug#63710)
* lisp/emacs-lisp/comp.el (comp-add-cond-cstrs): Temporary disable
propagation of pre slot access type check.
2023-05-28 15:07:31 +02:00
Laurence Warne
e6299d2783 Fix unstable proced test
Fix unstable proced test by omitting the revert parameter in
'proced-update'.  This was caused by the process being refined on
exiting between the initial 'proced' call and the successive
'proced-update' call.  This resulted in proced skipping the refinement
in 'proced-update', causing all processes to be shown again and the
test to fail.

* test/lisp/proced-tests.el (proced-refine-with-update-test): Do not
use revert parameter when calling 'proced-update'.
2023-05-28 13:35:25 +02:00
Po Lu
327d2d0131 Add extra thread-related checking
* java/org/gnu/emacs/EmacsService.java (EmacsService)
(checkEmacsThread): New function.
(fillPolygon, drawRectangle, drawLine, drawPoint, copyArea)
(clearArea):
* java/org/gnu/emacs/EmacsThread.java (EmacsThread):
* java/org/gnu/emacs/EmacsView.java (EmacsView, swapBuffers):
Call where appropriate.
2023-05-27 16:30:12 +08:00
Michael Albinus
4289044ccf Minor Tramp fixes
* lisp/net/tramp-sh.el (tramp-sh-handle-process-file): Set `env'
explicitly.
(tramp-barf-if-no-shell-prompt): Still add optional trailing
`ansi-color-control-seq-regexp'.

* lisp/net/tramp.el (tramp-make-tramp-file-name): Keep hop while
in file name completion.

* test/lisp/net/tramp-tests.el
(tramp-test26-interactive-file-name-completion): Adapt test.
2023-05-27 10:14:50 +02:00