1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00
Commit graph

167461 commits

Author SHA1 Message Date
Po Lu
08f90dc005 Fix bug#64445
* doc/emacs/android.texi (Android Environment): Document that
Emacs also receives READ_EXTERNAL_STORAGE by default on old
versions of Android.
* java/AndroidManifest.xml.in: Request READ_EXTERNAL_STORAGE.
(bug#64445)
2023-07-05 20:16:14 +08:00
Po Lu
d09fc890e0 ; * doc/emacs/emacs.texi (Emacs and Android): Fix menu. 2023-07-05 16:36:21 +08:00
Po Lu
d373ab1fee ; Update Android port
* doc/emacs/android.texi (Android): Fix discrepancies between
menu and sectioning.
2023-07-05 16:34:51 +08:00
Po Lu
257e49ff0d Fix crash between Android 4.0 and Android 5.1
* java/org/gnu/emacs/EmacsService.java (detectMouse): Don't use
function that is not present on Android 4.0.
2023-07-05 14:57:15 +08:00
Po Lu
9e91422497 Update Android port
* doc/lispref/commands.texi (Misc Events): Correctly index
`set-text-conversion-style'.
* lisp/tool-bar.el (tool-bar-event-apply-alt-modifier)
(tool-bar-event-apply-super-modifier)
(tool-bar-event-apply-hyper-modifier)
(tool-bar-event-apply-shift-modifier)
(tool-bar-event-apply-control-modifier)
(tool-bar-event-apply-meta-modifier): Pass t when restoring text
conversion style.
* src/keyboard.c (restore_reading_key_sequence): New function.
(read_key_sequence): Set `reading_key_sequence' where necessary.
* src/keyboard.h: Declare variable.
* src/textconv.c (check_postponed_buffers): New function.
(Fset_text_conversion_style): New argument.  If set, and a key
sequence is being read, postpone resetting the IME until the key
sequence is read.
(syms_of_textconv): Clear new variable and add staticpro.
* src/textconv.h: Update prototypes.
2023-07-05 11:39:45 +08:00
Po Lu
2443f4ec77 Merge remote-tracking branch 'origin/master' into feature/android 2023-07-05 08:45:06 +08:00
Eliza Velasquez
cb674ab40c Fix `async-shell-command-display-buffer' display
* lisp/simple.el (shell-command): If `async-shell-command-display-buffer'
was nil, it did not respect `display-buffer-alist' entries with
`display-buffer-no-window'.  This behavior has been fixed (bug#64394).
2023-07-04 20:54:15 +03:00
Robert Pluim
393958ea63 Grammar fixes in 'remote-file-name-access-timeout' descriptions
* doc/emacs/files.texi (File Conveniences): Grammar fix.
* doc/emacs/misc.texi (Saving Emacs Sessions): Grammar fix.
2023-07-04 19:03:56 +02:00
Robert Pluim
f2f1fef072 ; Minor grammar fixes to tramp manual
* doc/misc/tramp.texi (Frequently Asked Questions): Grammar fixes.
2023-07-04 19:03:56 +02:00
Robert Pluim
a2db9b426b Improve remote-file-name-access-timeout NEWS entries
* etc/NEWS: Improve recentf and desktop mode entries.
2023-07-04 19:03:56 +02:00
Eli Zaretskii
85ac3b84af ; * etc/NEWS: Fix recently added entry. 2023-07-04 19:35:28 +03:00
Eli Zaretskii
6d1e6f7f11 Improve documentation of 'remote-file-name-access-timeout'
* lisp/desktop.el (desktop-files-not-to-save): Mention
'remote-file-name-access-timeout' in the doc string.  (Bug#64401)
2023-07-04 19:28:09 +03:00
Harald Jörg
0e6ac3ffd4 ; cperl-mode: Avoid excessive regexp backtracking (Bug#8077)
* lisp/progmodes/cperl-mode.el (defconst): Add a word-start
assertion to cperl--single-attribute-rx
(cperl-after-sub-regexp): Dito
(cperl-init-faces): shorten matches of incomplete sub declarations
2023-07-04 17:43:59 +02:00
Alan Mackenzie
753aaeb99c objc-mode: Handle (de)propertization of < and >.
* lisp/progmodes/cc-langs.el
(c-get-state-before-change-functions)
(c-before-font-lock-functions): Separate the C and objc
versions, and add (to the first) c-unmark-<>-around-region and
c-before-change-check-<>-operators, (to the second)
c-unmark-<>-around-region and c-restore-<>-properties into the
objc versions of these lang variables.
2023-07-04 15:29:53 +00:00
Michael Albinus
b34f9a4439 Apply remote-file-name-access-timeout in desktop.el and recentf.el
* doc/emacs/files.texi (File Conveniences):
* doc/emacs/misc.texi (Saving Emacs Sessions):
Mention remote-file-name-access-timeout.

* doc/misc/tramp.texi (Frequently Asked Questions): Add note.

* etc/NEWS: Explain use of 'remote-file-name-access-timeout' in
desktop.el and recentf.el.

* lisp/desktop.el (desktop-access-file): New defun.
(desktop-restore-file-buffer): Use it.

* lisp/recentf.el (recentf-access-file): New defun.
(recentf-keep-default-predicate): Use it.

* lisp/net/tramp.el (tramp-handle-access-file): Improve error handling.
2023-07-04 15:27:03 +02:00
Alan Mackenzie
793a416653 objc-mode: Fix exceptions in fontification.
These exceptions ("Invalid search bound (wrong side of point)")
were observed in test suite file class-24.m when moving point
up and down a line at a time.

* lisp/progmodes/cc-engine.el (c-forward-declarator): In the
c-syntactic-re-search-forward ~30 lines from the end of the
function amend the regexp for objc-mode such that "@end"
terminates the search, but "<" doesn't.

* lisp/progmodes/cc-fonts.el
(c-make-font-lock-search-function): supply a non-nil
CHECK-POINT argument to c-make-font-lock-search-form.
2023-07-04 12:43:31 +00:00
Mattias Engdegård
ec89acba5f ; * test/lisp/progmodes/cperl-mode-tests.el: add missing backslashes 2023-07-04 10:49:48 +02:00
Po Lu
8ed8f08ed2 Implement a tool bar containing modifier keys
* doc/emacs/frames.texi (Tool Bars): Describe modifier bars.
* doc/lispref/keymaps.texi (Extended Menu Items, Tool Bar):
Document changes to tool bar menu item handling and secondary
tool bars.
* etc/NEWS: Announce changes.
* lisp/simple.el (event-apply-modifier): Correctly apply Ctrl
and Shift modifiers to lower case ASCII key events that already
have other modifiers applied.
* lisp/tool-bar.el (tool-bar--cache-key)
(tool-bar--secondary-cache-key): New defsubsts.
(tool-bar--flush-cache): Flush secondary tool bar cache.
(tool-bar-make-keymap): Include secondary tool bar if necessary.
(tool-bar-make-keymap-1): New arg MAP.  Generate a keymap for
that map if specified, else default to tool-bar-map.
(set-text-conversion-style, tool-bar-apply-modifiers)
(overriding-text-conversion-style)
(tool-bar-event-apply-alt-modifier)
(tool-bar-event-apply-super-modifier)
(tool-bar-event-apply-hyper-modifier)
(tool-bar-event-apply-shift-modifier)
(tool-bar-event-apply-control-modifier)
(tool-bar-event-apply-meta-modifier, modifier-bar-mode): New
functions.
* src/dispextern.h (enum tool_bar_item_idx): Add
TOOL_BAR_ITEM_WRAP.
* src/frame.c (make_frame): Clear new field `tool_bar_wraps_p'.
* src/frame.h (struct frame): New field `tool_bar_wraps_p'.
* src/keyboard.c (parse_tool_bar_item): Handle QCwrap properties
in tool bar menu items.
(syms_of_keyboard): New defsym QCwrap.
* src/xdisp.c (build_desired_tool_bar_string): Clear
f->tool_bar_wraps_p and set it appropriately.  Insert new line
characters in the tool bar string upon encountering a wrap
character.
(display_tool_bar_line): Stop at EOB, not line end.  Reseat on
the next line upon encountering EOL characters.
(redisplay_tool_bar): Allow rows to be different heights if
explicit new lines are present upon the tool bar string.
2023-07-04 16:40:20 +08:00
Po Lu
2963924d80 ; * src/sfnt.c (sfnt_decompose_compound_glyph): Pacify warning. 2023-07-04 08:53:37 +08:00
Po Lu
79207a055f Merge remote-tracking branch 'origin/master' into feature/android 2023-07-04 08:52:29 +08:00
Harald Jörg
4d49b9bad4 cperl-mode: Announce the news in etc/NEWS
* etc/NEWS: add to the entry "CPerl mode".
2023-07-03 23:06:49 +02:00
Harald Jörg
766784f186 cperl-mode.el: Add support for new Perl syntax in Perl 5.36 and 5.38
Perl 5.38 was released on 2023-07-03.  This patch supports the new features
for 5.36 and 5.38 for font-lock, indentation, and imenu index creation.

* lisp/progmodes/cperl-mode.el (cperl-praise): Mention classes.
(defconst): Fix typo in docstring of cperl--single-attribute-rx.
Add "class" to cperl--package-rx, and adjust its docstring.
New rx sequence cperl--class-for-imenu-rx to capture classes,
use this in cperl--imenu-entries-rx.
Add "method" to cperl--sub-name-for-imenu-rx.
Add "class" to cperl--block-declaration-rx.
(cperl-sub-keywords): Add "method".
(cperl-mode): Add "ADJUST" to defun-prompt-regexp.
(cperl-after-block-p): Add new keywords for Perl 5.36 and 5.38.
(cperl-indent-exp): Add "field" to expression starters.
(cperl-imenu--create-perl-index): Rename variables refering to
"package", because they also contain classes.
(cperl-init-faces): Add new keywords for Perl 5.36 and 5.38.
(cperl-find-tags): Add support for "class".
(cperl-short-docs): Add new keywords for Perl 5.36 and 5.38.
(cperl-indent-exp): Add new keywords for Perl 5.36 and 5.38.

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-class): New test for fontification of class
elements.
(cperl-test-imenu-index): Add tests for (nested) class
definitions.

* test/lisp/progmodes/cperl-mode-resources/cperl-indents.erts:
Add test cases for try/catch/finally, defer, class, method

* test/lisp/progmodes/cperl-mode-resources/perl-class.pl: New
resource for fontification tests of class elements.

* test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add some
classes to the test resource.
2023-07-03 23:05:10 +02:00
Michael Albinus
32b092c142 ; * lisp/misc.el (duplicate-region-final-position): Fix version info. 2023-07-03 18:25:40 +02:00
Michael Albinus
c565a6c62c Add user option remote-file-name-access-timeout
* doc/lispref/files.texi (Testing Accessibility):
Add user option remote-file-name-access-timeout.

* doc/misc/tramp.texi (Frequently Asked Questions):
Explain remote-file-name-access-timeout.

* etc/NEWS: Mention 'remote-file-name-access-timeout'.

* lisp/files.el (remote-file-name-access-timeout): New defcustom.
(remote-file-name-inhibit-auto-save-visited)
(remote-file-name-inhibit-locks, remote-file-name-inhibit-cache)
(remote-file-name-inhibit-delete-by-moving-to-trash):
* lisp/simple.el (remote-file-name-inhibit-auto-save): Add group `tramp'.

* lisp/net/tramp.el (with-tramp-timeout, with-tramp-suspended-timers):
New defmacros.
(tramp-dont-suspend-timers): New defvar.
(tramp-handle-access-file): Implement handling of
`remote-file-name-access-timeout'.  (Bug#64401)
(tramp-action-show-and-confirm-message, tramp-process-actions)
(with-tramp-locked-connection, tramp-wait-for-regexp)
(tramp-read-passwd, tramp-read-passwd-without-cache): Use the macros.

* test/lisp/net/tramp-tests.el (remote-file-name-access-timeout):
Declare.
(tramp-test18-file-attributes): Extend test.
2023-07-03 18:24:11 +02:00
Eli Zaretskii
0b060faf2e Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2023-07-03 19:04:13 +03:00
Eli Zaretskii
997b2c90ef Remove files in the nt/ directory that are unused for a long time
* nt/configure.bat:
* nt/ftime-nostartup.bat:
* nt/ftime.bat:
* nt/preprep.c: Remove old unused files.
2023-07-03 19:02:16 +03:00
F. Jason Park
d0325e2309 Revert "Account for leading timestamps in erc-match"
This reverts commit 99d74dcd45 but keeps
the test file test/lisp/erc/erc-scenarios-match.el.  It also
implements a partial alternative solution by undoing the reordering of
insert hooks owned by the `stamp' and `match' modules.  The initial
reordering stems from d880a08f "Cement ordering of essential hook
members in ERC" and was intended to address the problem of timestamps
not being hidden in matched "fool" messages.  However, a more
comprehensive solution is being pursued as part of bug#64301.  The
following changes differ from those in a pure revert.

* erc/ERC-NEWS: Fix erroneous claim about relative hook ordering
pre-5.6.
* lisp/erc/erc-match.el (erc-match-mode, erc-match-enable): Lower hook
depth of `erc-match-message' in `erc-insert-modify-hook' from 60 to
50.
(erc-text-matched-hook): Retain cleaned-up portion of revised doc
string instead of reverting completely.
* lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable): Raise
depth of `erc-add-timestamp' in `erc-insert-modify-hook' and
`erc-send-modify-hook' from 50 to 60.
* test/lisp/erc/erc-scenarios-match.el
(erc-scenarios-match--stamp-left-current-nick
erc-scenarios-match--stamp-left-fools-invisible): Temporarily disable
the latter and fix expected hook ordering.
* test/lisp/erc/erc-tests.el (erc--essential-hook-ordering): Fix
expected order of default insert hooks.  (Bug#60936)
2023-07-03 07:30:32 -07:00
Stephen Berman
14ae210141 Fix and improve setting priority of todo-mode items (bug#64433)
* lisp/calendar/todo-mode.el (todo-set-item-priority): Bugfixes:
Prevent interactively setting item priority to its current
priority in the same category and prompt user for a different
priority (but allow using the same priority when item is moved to
another category).  Ensure that the priority passed as a prefix
argument is suitable: if it is not an integer between 1 and the
highest item number, signal a user error.  New feature: Use the
sequence of numbers of the category's items as the minibuffer
history.

* doc/misc/todo-mode.texi (Inserting New Items):
(Reprioritizing Items): Document using the minibuffer history.

* test/lisp/calendar/todo-mode-tests.el
(todo-test-item-insertion-with-priority-1)
(todo-test-item-insertion-with-priority-2)
(todo-test-item-insertion-with-priority-3): New tests.
2023-07-03 14:19:41 +02:00
Mattias Engdegård
3ac4b2de77 * etc/NEWS: Announce addition of duplicate-region-final-position. 2023-07-03 13:15:53 +02:00
Po Lu
a273b95fa5 Merge remote-tracking branch 'origin/master' into feature/android 2023-07-03 14:30:12 +08:00
Po Lu
d679f9e388 Fix leak when quit arrives during incremental selection transfer
* src/xselect.c (x_free_selection_data): New function.
(x_get_window_property_as_lisp_data): Free `data' reliably
if receive_incremental_selection quits.
2023-07-03 11:45:04 +08:00
Po Lu
30f83e3093 Provide move-toolbar in a more appropriate place
* src/frame.c (syms_of_frame): Provide `move-toolbar' here...
* src/keyboard.c (syms_of_keyboard): ..instead of here.
2023-07-03 08:56:21 +08:00
Po Lu
3a07511f1b ; * src/keyboard.c (syms_of_keyboard): Fix typo. 2023-07-03 08:42:39 +08:00
Po Lu
d0c1e97397 Always provide `move-toolbar' when its position can be changed
* src/keyboard.c (syms_of_keyboard): Make `move-toolbar' a
defsym.  Provide that feature if Emacs uses its internal tool
bars or GTK+.
* src/xfns.c (syms_of_xfns): Stop provide `move-toolbar' here.
2023-07-03 08:42:24 +08:00
Po Lu
61a38b470d Merge remote-tracking branch 'origin/master' into feature/android 2023-07-03 08:05:55 +08:00
Andreas Schwab
a5bf0ae661 sh-script: improve fontification of RPM spec files
Fontifiy only macros at line beginning as keywords, otherwise as
variables.  Add more accurate match for macros.

* lisp/progmodes/sh-script.el (sh-font-lock-keywords-var): Add
more accurate patterns for rpm macros.  Also fontify parenthesized
word after keyword.
2023-07-03 00:08:21 +02:00
Mark A. Hershberger
667348682b
Fix a minor typo
* lisp/xml.el: Correct a minor typo found by flandrew.
2023-07-02 15:15:17 -04:00
Harald Jörg
777c4dfa30 ; cperl-mode: Fix a wide docstring which causes warnings when compiling
* lisp/progmodes/cperl-mode.el (defconst): Fix wide docstring for '
cperl--sloppy-signature-rx' (thanks Mattias Engdegård for reviewing)
2023-07-02 13:06:50 +02:00
João Távora
c2e4c68333 Eglot: another tweak to eglot--sig-info
Going to the start of the first param and skipping non-word syntax
backward would seem to be the right thing to do, for traditional
C-style languages and also languages like Ocaml where function
signatures don't start the param list with '('.

See also https://github.com/joaotavora/eglot/discussions/1251.

* lisp/progmodes/eglot.el (eglot--sig-info): Rework again.
2023-07-02 11:58:04 +01:00
Mattias Engdegård
59a350cb91 Warn about misplaced :success in condition-case (bug#64404)
* lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case):
Warn if :success is part of a list of conditions (it must come alone).
2023-07-02 11:53:36 +02:00
Stephen Berman
a2ccab18ca Fix todo-mode commands to move items and categories (bug#64298)
* lisp/calendar/todo-mode.el (todo-move-category): Restore display
of selected category in source file, so internal file structure is
not visible if user is prompted to choose a new category name in
target file, and widen again to delete moved category from source
file.
(todo-move-item): Don't use todo-forward-item when moving done
items, to avoid mislocation if done items sections of the the
target category was empty before moving.
(todo-forward-item): Remove commented out code meant to have the
effect of the above change in todo-move-item, but it did not work.
2023-07-02 11:49:08 +02:00
Eli Zaretskii
f893ace835 Fix display of wide characters on TTY frame's mode line
* src/xdisp.c (pad_mode_line): New function.
(display_string): Use it instead of 'produce_special_glyphs' to
replace a character that's too wide to fit on the mode/header/tab
line, but which occupies some columns that do fit.  (Bug#64395)
2023-07-02 11:10:59 +03:00
Po Lu
2baf2c5fd9 Merge remote-tracking branch 'origin/master' into feature/android 2023-07-02 08:26:54 +08:00
Harald Jörg
9b9dcc146b ; cperl-mode.el: Fix two indentation bugs (Bug#11733)
* lisp/progmodes/cperl-mode.el (cperl-sniff-for-indent): Detect
whether we have a label or a regex/string.
(cperl-calculate-indent): Check for things which look like labels
but aren't.

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-11733):
Test the examples provided in the bug report.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-11733.pl:
Examples from the bug report.
2023-07-02 00:37:10 +02:00
João Távora
a371e1def7 Eglot: fix broken indentation of eglot--sig-info
* lisp/progmodes/eglot.el (eglot--sig-info): Fix.
2023-07-01 22:49:49 +01:00
João Távora
f6e6d6c730 Eglot: bail out of eglot-imenu if no server capability (bug#64274)
* lisp/progmodes/eglot.el (eglot-imenu): Bail out if no
capability.
2023-07-01 22:49:49 +01:00
João Távora
03d4ca6f6b Eglot: improve heuristic to highlight function names in signatures
* lisp/progmodes/eglot.el (eglot--sig-info): Rework.

See https://github.com/joaotavora/eglot/discussions/1251.
2023-07-01 22:49:48 +01:00
Harald Jörg
ce8e6cea42 cperl-mode.el: Support Perl 5.38 syntax for subroutine signatures
* lisp/progmodes/cperl-mode.el (defconst): New rx sequence
describing a signature with initialization.
(cperl-init-faces): integrate the new rx sequence into the
font-lock-defaults init routine (Bug#64190) (Bug#64364).

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl: Add
test data for a signature with initialization (tests indentation).

* test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl: Add
test data for a signature with initialization (tests fontification).
2023-07-01 21:40:46 +02:00
Jim Porter
75278855f4 Document optional Eshell modules
* lisp/eshell/em-rebind.el (eshell-rebind): Correct/reword docstring.

* doc/misc/eshell.texi (Built-ins): Move disabled-by-default commands
to...
(Tramp extensions, Extra built-in commands): ...here
(Optional modules, Key rebinding, Smart scrolling): Add documentation.
(Bug and ideas): Documentation is no longer incomplete!
2023-07-01 12:03:56 -07:00
Jim Porter
77f13edab0 Correct the Eshell documentation about how to write new modules
* doc/misc/eshell.texi (Writing a module): Fix the documentation.
'eshell-defgroup' doesn't exist anymore.
2023-07-01 12:03:56 -07:00