1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-07 04:10:27 -08:00
Commit graph

168361 commits

Author SHA1 Message Date
Po Lu
b411761cbb Repair desktop notification on Android 31
* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Provide FLAG_IMMUTABLE under Android S and later, not just
versions of Android after S.  (bug#65433)
2023-08-22 08:04:16 +08:00
Jim Porter
dc0839de9b Use generics to define Eshell output targets
This is more flexible than before, since third-party code can add new
output target types without advising these functions.  It also
resolves an issue where redirecting to a symbol that has a value in
its function slot doesn't work.

* lisp/eshell/esh-io.el (eshell-virtual-target): New struct.
(eshell-get-target, eshell-output-object-to-target): Reimplement via
'cl-defgeneric'.
(eshell-close-target): Reimplement via 'cl-defgeneric' and simplify
'process' method.
2023-08-21 11:43:24 -07:00
Jim Porter
1375cea157 ; Remove unused Eshell target type
Eshell creates all output targets in 'eshell-get-target', and that
function never returns a cons cell.

* lisp/eshell/esh-io.el (eshell-close-target)
(eshell-output-object-to-target): Remove 'consp' condition.
2023-08-21 11:43:24 -07:00
Jim Porter
cf52cdb121 Allow splicing Eshell globs in-place
This means that Eshell globs can now expand the same way as if the
user had typed each matching file individually.

* lisp/eshell/em-glob.el (eshell-glob-splice-results): New option.
(eshell-no-command-globbing, eshell-add-glob-modifier): Handle spliced
globs.
(eshell-extended-glob): Always return a list when splicing.

* lisp/eshell/em-pred.el (eshell-parse-arg-modifier): Ensure
'eshell-splice-args' is always at the end of the list of modifiers if
present.

* test/lisp/eshell/em-glob-tests.el
(em-glob-test/expand/splice-results)
(em-glob-test/expand/no-splice-results)
(em-glob-test/expand/explicitly-splice-results)
(em-glob-test/expand/explicitly-listify-results): New tests.
(em-glob-test/no-matches): Check result when
'eshell-glob-splice-results' is nil/non-nil.

* doc/misc/eshell.texi (Arguments): Expand explanation about argument
flattening.
(Globbing): Document splicing behavior of globs.

* etc/NEWS: Announce this change.
2023-08-21 11:42:46 -07:00
Mattias Engdegård
82d8732505 ; * test/lisp/cus-edit-tests.el: remove unused var (bug#63290) 2023-08-21 17:05:53 +02:00
Mattias Engdegård
f4fe820707 Don't describe lexbound uncompiled function as 'closures'
* lisp/help-fns.el (help-fns-function-description-header):
Describe lexbound uncompiled functions as functions.
Whether they technically close over any lexical variables isn't of
interest here.
2023-08-21 17:05:53 +02:00
Po Lu
fb5e1b21fb Properly enumerate GX fonts of the same family with divergent styles
* doc/emacs/android.texi (Android Fonts): Revise explanation of
GX font replacement during font enumeration.

* src/sfntfont.c (sfnt_replace_fonts_p): If PREV and DESC are of
the same family and both are GX fonts, restrict actions taken to
removing duplicate styles from PREV.  Reported by a user who
tried to install GX versions of Cascadia Mono, which are
distributed as two files providing the bold and italic variation
axes respectively.
2023-08-21 20:45:34 +08:00
Mattias Engdegård
c21103bb76 Explicitly disallow named-let in code using dynamic binding
There is no point in permitting named-let to be used in dynbound code;
our code transforms are simply not valid in that context, and it's not
worth the trouble to make it work (to the extent that it is at all
possible). (Bug#59576)

* lisp/emacs-lisp/subr-x.el (named-let):
Error if used with dynamic binding.
* doc/lispref/variables.texi (Local Variables): Amend manual.
2023-08-21 14:17:03 +02:00
Eli Zaretskii
f01a94fc58 ; * lisp/help-fns.el (help-display-function-type): Doc fix (bug#65288). 2023-08-21 15:14:26 +03:00
Po Lu
722559155d ; Adjust commentary
* src/androidterm.c (android_text_to_string)
(android_update_selection, android_reset_conversion)
(android_set_build_fingerprint): Refine wording in commentary
and correct typos.
2023-08-21 16:03:54 +08:00
Gerd Möllmann
18c85306ac Fix debug spec of cl-flet (bug#65344)
* lisp/emacs-lisp/cl-macs.el (cl-flet): Fix debug spec.
(cl-defun): Allow only symbols as function names in debug spec.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-flet/edebug): New test
case.
2023-08-21 09:27:49 +02:00
Po Lu
c74a99dcd1 ; * doc/lispref/os.texi (Desktop Notifications): Fix typo. 2023-08-21 14:51:39 +08:00
Po Lu
c63f178a30 Make the Emacs icon ``adaptive''
* java/AndroidManifest.xml.in (EmacsApplication): Set icon to
@mipmap/emacs_icon.

* java/org/gnu/emacs/EmacsService.java (onStartCommand): Pick a
better name for the persistent notification channel.

* java/res/drawable/emacs_background.xml:

* java/res/drawable/emacs_foreground.xml:

* java/res/mipmap/emacs_icon.png:

* java/res/mipmap-v26/emacs_icon.xml: New files, comprising an
``adaptive icon'' required by some Android launchers.
2023-08-21 14:39:51 +08:00
Po Lu
b1e498ac8c Enable providing icons for Android desktop notifications
* doc/lispref/os.texi (Desktop Notifications)
<android-notifications-notify>: Mention the :icon parameter.

* java/org/gnu/emacs/EmacsDesktopNotification.java
(EmacsDesktopNotification) <icon>: New field.
(<init>): New argument ICON.  Set this.icon to its value.
(display1): Use provided icon and always supply a pending intent
to open Emacs once the notification is clicked.

* java/res/layout/sdk8_notifications_view.xml
(sdk8_notifications_title, sdk8_notifications_content): Set
foreground color to #000000.

* src/androidselect.c (android_init_emacs_desktop_notification):
Update signature of <init>.
(android_locate_icon): New function.
(android_notifications_notify_1): New arg ICON.
(Fandroid_notifications_notify): New parameter icon.
(syms_of_androidselect): <QCicon>: New symbol.
2023-08-21 09:36:52 +08:00
Andrea Corallo
652e45b70d * Introduce `help-display-function-type' customizable var (bug#65288).
* lisp/help-fns.el (help-display-function-type): New
	customizable var.
	(help-fns--signature): Make use of.
2023-08-20 22:36:47 +02:00
Jens Schmidt
a563ea8963 * lisp/isearch.el (isearch-resume): Add isearch-push-state (bug#65379). 2023-08-20 20:36:49 +03:00
Stefan Kangas
c68d2581d5 Delete some Emacs 19/21 compat code
* lisp/erc/erc-goodies.el (erc-occur):
* lisp/net/newst-plainview.el (newsticker--buffer-redraw): Delete
Emacs 21 compat code.
* lisp/progmodes/sql.el (sql-accumulate-and-indent): Delete Emacs
19 compat code.
2023-08-20 18:39:51 +02:00
Stefan Kangas
fe0d134f48 * lisp/term.el (term--update-term-menu): Simplify. 2023-08-20 18:23:16 +02:00
Po Lu
392d00e0aa Repair desktop notification display on Android 2.3 and 2.2
* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Create a pending intent and set it as the contentIntent when
building a notification by hand.
2023-08-20 21:40:08 +08:00
Po Lu
5734c57851 ; * ChangeLog.android: Complete cleanup. 2023-08-20 20:53:13 +08:00
Po Lu
4f714dc081 Support desktop notifications on Android
* doc/emacs/android.texi (Android Environment): Correct list of
permissions granted by default.

* doc/lispref/os.texi (Desktop Notifications): Document the new
function `android-notifications-notify' and its limitations.

* java/AndroidManifest.xml.in: Request notification permissions.

* java/org/gnu/emacs/EmacsDesktopNotification.java: New file.

* java/res/layout/sdk8_notifications_view.xml: New file holding
substitute notification widget definitions for Android versions
prior to 3.0.

* java/res/values/strings.xml: Remove inadvertently introduced
tag attribute.

* lisp/org/org-clock.el (haiku-notifications-notify): Correct
file name in function declaration.
(android-notifications-notify): New declaration.
(org-show-notification): Use `android-notifications-notify'.

* src/androidselect.c (android_init_emacs_desktop_notification)
(android_notifications_notify_1, Fandroid_notifications_notify):
New functions.
(init_androidselect, syms_of_androidselect): Initialize new
class and define new subr.
2023-08-20 20:25:53 +08:00
Eli Zaretskii
321f6bd572 ; Fix documentation of last change
* lisp/net/eww.el (eww--open-url-in-new-buffer)
(eww-open-in-new-buffer):
* etc/NEWS:
* doc/misc/eww.texi (Basics): Improve the documentation of this
new feature.  (Bug#65346)
2023-08-20 11:48:03 +03:00
Lin Sun
bef68b7bbe Allow fetching URL at point without switching to it
* lisp/net/eww.el (eww-open-in-new-buffer):  Stay on current
buffer when invoked with prefix argument.  (Bug#65346)
2023-08-20 11:46:36 +03:00
Michael Albinus
6fb1d4bb1a ; Fix last change 2023-08-20 09:47:00 +02:00
Michael Albinus
efb276fef1 New user option pcomplete-remote-file-ignore
* etc/NEWS: Mention pcomplete-remote-file-ignore.

* lisp/pcomplete.el (pcomplete-remote-file-ignore):
New user option.
(pcomplete--entries): Use it.

* lisp/shell.el (shell-completion-vars):
Set 'pcomplete-remote-file-ignore'.
2023-08-20 09:41:07 +02:00
Po Lu
fd1479a0af Fix libselinux object leaks
* src/fileio.c (Fcopy_file, Fset_file_selinux_context): Call
freecon prior to signaling file errors.
2023-08-20 12:48:03 +08:00
Po Lu
15e498047f Update Android port
* src/sfnt.c (sfnt_decompose_compound_glyph): New argument
GET_METRICS.  Call this function to retrieve glyph metrics used
to compute phantom points when a component glyph's anchor point
is one.
(sfnt_decompose_glyph, sfnt_build_glyph_outline): Plumb
GET_METRICS these two functions.
(sfnt_interpret_shc): Don't shift the provided reference point.
(sfnt_transform_f26dot6): Eschew looping through X and Y if no
offsets are provided.
(sfnt_interpret_compound_glyph_2): Discontinue initializing
phantom points here.
(sfnt_interpret_compound_glyph_1): Do not incorporate phantom
points into the ultimately produced glyph outline.  Correctly
provide for phantom childanchor points.
(sfnt_test_get_metrics, main): Update tests.

* src/sfnt.h: Update prototypes.

* src/sfntfont.c (struct sfntfont_get_glyph_outline_dcontext):
New fields `hmtx', `hhea' and `maxp'.
(sfntfont_get_metrics): New function.
(sfntfont_get_glyph_outline): Provide new tables and the new
callback function.
2023-08-20 12:48:03 +08:00
Ken Brown
f58d01e01e Skip hanging tests on Cygwin (bug#65325)
* test/lisp/server-tests.el (server-tests/can-create-frames-p):
Define to be nil on Cygwin unless Emacs has at least one of the
features gfilenotify, dbus, or threads.  This causes three tests
to be skipped.

* test/src/keyboard-tests.el (keyboard-unread-command-events):
Skip on Cygwin unless Emacs has at least one of the features
gfilenotify, dbus, or threads.
2023-08-19 14:21:34 -04:00
Michael Albinus
44697457c6 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2023-08-19 19:32:29 +02:00
Michael Albinus
9ecd6553ad Extend T
* lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
Add `file-directory-p'.
(tramp-completion-handle-file-directory-p): New defun.
2023-08-19 19:32:09 +02:00
dalu
9e0524a882 Add "lexical" LSP server for Elixir to Eglot
* lisp/progmodes/eglot.el (eglot-server-programs): Add lexical.
It does not support MS-Windows currently.  (Bug#65359)

Copyright-paperwork-exempt: yes
2023-08-19 17:09:15 +03:00
Eli Zaretskii
a85f31c4a4 ; * src/androidterm.c (android_text_to_string): Fix commentary. 2023-08-19 14:29:25 +03:00
Stefan Kangas
dc8f09b3b0 Simplify dictionary-close even more
* lisp/net/dictionary.el (dictionary-close): Simplify.
Suggested by Philip Kaludercic <philipk@posteo.net>.
2023-08-19 13:09:08 +02:00
Stefan Kangas
89833430f1 Remove Emacs 24 compat code from reftex
* lisp/textmodes/reftex-index.el (reftex-display-index):
* lisp/textmodes/reftex-toc.el (reftex-toc): Assume that we have
'cursor-intangible-mode', which was added in Emacs 25.
2023-08-19 13:09:07 +02:00
Eli Zaretskii
8e8468c46d ; Cleanup comments and doc strings in textconv.c
* src/textconv.c (copy_buffer_text): Rename from 'copy_buffer'.
All callers changed.
(textconv_query, complete_edit_check, commit_text)
(finish_composing_text, set_composing_region)
(textconv_set_point_and_mark, delete_surrounding_text)
(request_point_update, textconv_barrier, get_extracted_text)
(get_surrounding_text, report_point_change)
(report_selected_window_change): Fix commentary.
(Fset_text_conversion_style, text-conversion-edits)
(overriding-text-conversion-style, text-conversion-face): Doc fix.
2023-08-19 13:32:48 +03:00
Stefan Kangas
7170f25d3d Remove XEmacs compat code from reftex
* lisp/textmodes/reftex-toc.el (reftex-toc, reftex-toc-dframe-p)
(reftex-toc-revert, reftex-toc-toggle-dedicated-frame): Delete
XEmacs compat code.
* lisp/textmodes/reftex.el (reftex-window-height): Make into
obsolete function alias of 'window-height'.  Update all callers.
(reftex-create-customize-menu): Assume recent version of cus-edit.el.
2023-08-19 12:22:04 +02:00
Philip Kaludercic
41ff369917 Add command to start Emacs with specific packages
* lisp/emacs-lisp/package.el (package--dependencies): Extend function
to handle and return package descriptors.
(package-isolate): Add new command.
* etc/NEWS: Announce new command.
2023-08-19 12:08:10 +02:00
Mauro Aranda
fa9197fcb0 Specialize default-get for alist widgets (Bug#63290)
* lisp/wid-edit.el (widget-list-default-get)
(widget-alist-default-get): New functions.
(list, alist): Use it.
* test/lisp/cus-edit-tests.el (cus-edit-test-bug63290-option)
(cus-edit-test-bug63290-option-2): New test options.
(cus-edit-test-bug63290): New test.
* test/lisp/wid-edit-tests.el (widget-test-alist-default-value-1)
(widget-test-alist-default-value-2)
(widget-test-alist-default-value-3)
(widget-test-alist-default-value-4): New tests.
2023-08-19 11:33:25 +03:00
Michael Albinus
cd3f163005 Adapt test in minibuffer-tests.el
* test/lisp/minibuffer-tests.el (test-completion-all-sorted-completions):
Simplify function declaration.
2023-08-19 10:11:32 +02:00
Michael Albinus
aa58f6e909 Adapt Tramp test
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test44-user-group-ids): Extend test.
2023-08-19 10:08:35 +02:00
Michael Albinus
fedaf25bb3 Simplify use of Tramp messages
* doc/misc/tramp.texi (Traces and Profiles): Don't require a
minimum `tramp-verbose' level when `tramp-debug-command-messages'
is non-nil.

* lisp/net/tramp-message.el (tramp-debug-command-messages):
Adapt docstring.
(tramp-message, with-tramp-debug-message): Don't require a minimum
`tramp-verbose' level when `tramp-debug-command-messages' is non-nil.
2023-08-19 10:08:05 +02:00
Eli Zaretskii
e3207b13ce Fix behavior of client frames when 'find-alternate-file' is used
* lisp/files.el (find-alternate-file-dont-kill-client): New var.
(find-alternate-file): Bind it to a special value when invoking
kill-buffer-hook.
* lisp/server.el (server-delete-client): If NOFRAME is
'dont-kill-client', don't kill the client and its terminals.
(server-buffer-done): Pass 'find-alternate-file-dont-kill-client'
to 'server-delete-client'.  (Bug#65277)
2023-08-19 10:34:07 +03:00
Eli Zaretskii
b12ce748d1 ; * src/fileio.c (Fset_file_acl): Don't leak memory. 2023-08-19 10:28:47 +03:00
Po Lu
b57a648648 ; * src/textconv.c (Fset_text_conversion_style): Fix typo. 2023-08-19 13:37:55 +08:00
Po Lu
2effd18c97 Make some file I/O operations more robust on Android
* src/android.h (android_readlinkat): New prototype.
* src/androidvfs.c (struct android_vops): New function pointer
`readlink'.
(unix_vfs_ops, android_unix_readlink, afs_vfs_ops)
(android_afs_readlink, content_vfs_ops, android_content_mkdir)
(android_content_chmod, authority_vfs_ops)
(android_authority_readlink, saf_root_vfs_ops)
(android_saf_root_readlink, saf_tree_vfs_ops)
(android_saf_tree_readlink, saf_file_vfs_ops, saf_new_vfs_ops)
(android_saf_new_readlink, root_vfs_ops): Implement new
`readlink' vops for each vnode type.
(android_readlinkat): New function.

* src/fileio.c (Fcopy_file): Be more flexible about SELinux
errors under Android.
(emacs_readlinkat): Use `android_readlink' when built as
libemacs.so.
2023-08-19 13:25:42 +08:00
Po Lu
ec8f330df6 ; Remove set but unused variable
* src/androidvfs.c (android_check_content_access): Delete
`length'.
2023-08-19 09:08:47 +08:00
Po Lu
449008a60f Disable text conversion inside read-char-exclusive
* src/lread.c (read_filtered_event): Disable text conversion if
merely ascii_required.  (bug#65370)
2023-08-19 08:51:44 +08:00
Po Lu
6a4b6c3e83 Disable text conversion within read-char-from-minibuffer
* lisp/subr.el (read-char-from-minibuffer): Disable text
conversion.  (bug#65370)
(y-or-n-p): Remove redundant binding of
`override-text-conversion-style', given that read-key already
disables text conversion.

* src/textconv.c (Fset_text_conversion_style): Always reset text
conversion for the selected frame in addition to any displaying
current_buffer.
2023-08-19 08:48:20 +08:00
Stefan Monnier
4f1ce5db12 (Fmake_local_variable): Fix bug#65209
* src/data.c (Fmake_local_variable): Don't delegate to `Fset` since
they have to obey `let_shadows_buffer_binding_p` whereas we don't.

* test/src/data-tests.el (data-tests--bug65209): New var.
(data-tests-make-local-bug65209): New test.
2023-08-18 19:22:17 -04:00
Mattias Engdegård
cc533f2338 Show duration of compilation when it stops (bug#65251)
Patch by Helmut Eller, lightly edited.

* lisp/progmodes/compile.el (compilation--start-time): New variable.
(compilation-start): Set it.
(compilation-handle-exit): Display duration.
2023-08-18 13:23:39 +02:00