emacs.git
19 months agonxml-mode: Add schemas for Mono/.NET related files
Jostein Kjønigsen [Thu, 15 Feb 2024 20:54:14 +0000 (21:54 +0100)]
nxml-mode: Add schemas for Mono/.NET related files

* etc/schema/dotnet-appconfig.rnc:
* etc/schema/dotnet-packages-config.rnc:
* etc/schema/dotnet-packages-props.rnc:
* etc/schema/dotnet-resx.rnc:
* etc/schema/msbuild.rnc:
* etc/schema/nuget.rnc:
* etc/schema/nuspec.rnc: New files.
* etc/schema/README: Document copyright status of above new files.
* etc/schema/schemas.xml: Use above new files to support Mono/.NET
development related XML files.

This change was discussed in:
https://lists.gnu.org/r/emacs-devel/2024-02/msg00638.html

19 months ago; Fix typo (Bug#71043)
Stefan Kangas [Sat, 18 May 2024 18:33:16 +0000 (20:33 +0200)]
; Fix typo (Bug#71043)

19 months agoFix double periods in `doctor-symptoms`
Stefan Kangas [Sat, 18 May 2024 17:23:11 +0000 (19:23 +0200)]
Fix double periods in `doctor-symptoms`

* lisp/play/doctor.el (doctor-symptoms): Don't produce double periods.

19 months agoSimplify 32-bit Android bit fiddling
Paul Eggert [Sun, 12 May 2024 21:26:32 +0000 (14:26 -0700)]
Simplify 32-bit Android bit fiddling

* src/sfnt.c: Include stdbit.h.
(sfnt_count_leading_zero_bits) [!INT64_MAX]: Remove this function,
which was confusingly named as it actually returned 31 minus the
number of leading zero bits.
(sfnt_multiply_divide_2) [!INT64_MAX]: Use stdc_leading_zeros instead.

19 months agoPrefer stdbit.h to count-one-bits.h etc
Paul Eggert [Sun, 12 May 2024 21:22:58 +0000 (14:22 -0700)]
Prefer stdbit.h to count-one-bits.h etc

C23's <stdbit.h> in the long run should be better supported than
Gnulib's count-one-bits.h and similar headers, so switch to the
C23 primitives, with a Gnulib fallback for platforms lacking C23.
* admin/merge-gnulib (GNULIB_MODULES): Remove count-leading-zeros,
count-one-bits, count-trailing-zeros.  Add stdc_bit_width,
stdc_count_ones, stdc_trailing_zeros.
* lib/count-leading-zeros.c, lib/count-leading-zeros.h:
* lib/count-one-bits.c, lib/count-one-bits.h:
* lib/count-trailing-zeros.c, lib/count-trailing-zeros.h: Remove.
* lib/stdbit.c, lib/stdbit.in.h, lib/stdc_bit_width.c:
* lib/stdc_count_ones.c, lib/stdc_leading_zeros.c:
* lib/stdc_trailing_zeros.c, m4/stdbit_h.m4:
New files, copied from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* src/data.c: Do not include count-one-bits.h, count-trailing-zeros.h.
Instead, rely on lisp.h including stdbit.h.
(Flogcount, Fbool_vector_count_population)
(Fbool_vector_count_consecutive): Use stdbit.h macros instead of
count-one-bits.h and count-trailing-zeros.h macros.
(shift_right_ull, count_one_bits_word, pre_value)
(count_trailing_zero_bits): Remove; no longer needed.
* src/lisp.h: Include stdbit.h instead of count-leading-zeros.h.
(elogb): Use stdbit.h macro instead of count-leading-zeros.h macro.

19 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sat, 18 May 2024 16:33:03 +0000 (09:33 -0700)]
Update from Gnulib by running admin/merge-gnulib

19 months agoList Andrea Corallo as co-maintainer in ack.texi
Stefan Kangas [Sat, 18 May 2024 17:14:21 +0000 (19:14 +0200)]
List Andrea Corallo as co-maintainer in ack.texi

* doc/emacs/ack.texi (Acknowledgments): List Andrea Corallo as
co-maintainer from 29.3 onwards.

19 months agoNew functions '(set-)window-cursor-type'
Eshel Yaron [Sat, 27 Apr 2024 18:47:34 +0000 (20:47 +0200)]
New functions '(set-)window-cursor-type'

* src/window.h (struct window): Add 'cursor_type' slot.
(wset_cursor_type): New inline function.
* src/xdisp.c (get_window_cursor_type): Consult 'cursor_type'.
* src/window.c (make_window): Initialize 'cursor_type' to t.
(Fset_window_cursor_type, Fwindow_cursor_type): New functions.
(syms_of_window): List their symbols.
* doc/lispref/windows.texi (Window Point): Document them.
* doc/lispref/frames.texi (Cursor Parameters): Mention
new 'set-window-cursor-type'.
* etc/NEWS: Announce new functions.  (Bug#70622)

19 months agominibuffer-completion-help: Fix earlier mistake
Dmitry Gutov [Sat, 18 May 2024 13:30:23 +0000 (16:30 +0300)]
minibuffer-completion-help: Fix earlier mistake

* lisp/minibuffer.el (minibuffer-completion-help): Fix earlier
mistake.  Instead of altering a variable whose value is
immutable (and already captured in a saved list), move the
reference to said list to a lexical binding and alter that
list's second element instead.

https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00875.html

19 months agoHousekeeping around androidselect.c
Po Lu [Sat, 18 May 2024 12:45:35 +0000 (20:45 +0800)]
Housekeeping around androidselect.c

* java/org/gnu/emacs/EmacsClipboard.java (setClipboard)
(getClipboard):

* java/org/gnu/emacs/EmacsSdk11Clipboard.java (setClipboard)
(getClipboard):

* java/org/gnu/emacs/EmacsSdk8Clipboard.java (setClipboard)
(getClipboard): Save and return Strings rather than byte arrays.

* src/androidselect.c (android_init_emacs_clipboard)
(Fandroid_set_clipboard, Fandroid_get_clipboard): Adjust to
match.

19 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 18 May 2024 11:56:54 +0000 (07:56 -0400)]
Merge from origin/emacs-29

a4828155d8f ; * doc/lispintro/emacs-lisp-intro.texi (nthcdr): Whitesp...
df1a9e42ba4 Document :box attribute caveats when used on display strings
ca17bc8dd0b Improve documentation of 'movemail'
d47aa33bcdb Replace incorrect link in Rmail chapter of Emacs manual
35138b90dd2 ; * doc/lispref/parsing.texi (Parsing Program Source): Im...
3dd09516c9a ; Improve documentation of 'set-fontset-font'
042b58b5ff4 ; * doc/emacs/search.texi (Word Search): Add index entry.
60b1768dc50 ; * src/window.c (Fwindow_scroll_bars): Doc fix.

19 months ago; * doc/lispintro/emacs-lisp-intro.texi (nthcdr): Whitespace (bug#71033).
Eli Zaretskii [Sat, 18 May 2024 11:38:29 +0000 (14:38 +0300)]
; * doc/lispintro/emacs-lisp-intro.texi (nthcdr): Whitespace (bug#71033).

19 months agoAdd support for Rust compilation messages
Ergus [Wed, 15 May 2024 13:10:02 +0000 (15:10 +0200)]
Add support for Rust compilation messages

* etc/compilation.txt (Rust): Add Rust/cargo examples.

* lisp/progmodes/compile.el
(compilation-error-regexp-alist-alist): Add rust/cargo error and
warning patterns.  (Bug#70794)

19 months agouse-package: Add ':ignored-files' support to ':vc' keyword
Tony Zorman [Sun, 15 Oct 2023 14:51:00 +0000 (16:51 +0200)]
use-package: Add ':ignored-files' support to ':vc' keyword

* lisp/use-package/use-package-core.el (use-package-split-when):
New utility function to split a list whenever a specified
predicate returns t.
(use-package-vc-valid-keywords): A new defconst to gather all
allowed keywords.
(use-package-normalize--vc-arg): Properly normalize the
':ignored-files' keyword, in that the following are all valid
ways of entering files:
  :ignored-files "a"
  :ignored-files ("a")
  :ignored-files "a" "b" "c"
  :ignored-files ("a" "b" "c")
(use-package-normalize/:vc): Adjust normalization, now that we
do not necessarily receive a valid plist as an input.  (Bug#66567)

* test/lisp/use-package/use-package-tests.el
(use-package-test-normalize/:vc): Add tests for ':ignored-files'
keyword.

19 months agouse-package: Update list of valid :vc keywords
Tony Zorman [Sun, 15 Oct 2023 14:50:00 +0000 (16:50 +0200)]
use-package: Update list of valid :vc keywords

* lisp/use-package/use-package-core.el: Add ':shell-command'
and ':make' to valid keywords.  (Bug#66567)

19 months agoFix printing the result by 'eval-print-last-sexp'
Eli Zaretskii [Sat, 18 May 2024 09:55:34 +0000 (12:55 +0300)]
Fix printing the result by 'eval-print-last-sexp'

* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Record the
desired output stream before evaluating the expression.
(Bug#70931)

19 months agoAdding window-tool-bar package (bug#68765).
Jared Finder [Fri, 26 Jan 2024 23:44:12 +0000 (15:44 -0800)]
Adding window-tool-bar package (bug#68765).

* lisp/window-tool-bar.el: New file.

19 months agoAdd user option to only display default tool bar
Jared Finder [Fri, 26 Jan 2024 18:08:30 +0000 (10:08 -0800)]
Add user option to only display default tool bar

This works well with `window-tool-bar-mode', to be added in upcoming
commit.  Then the default tool bar is displayed frame-wide and
mode-specific tool bars are displayed in the window that mode is
active in.

* lisp/tool-bar.el (tool-bar-always-show-default): New user option.
(tool-bar--cache-key, tool-bar-make-keymap-1): Return default tool bar
when option is set.

19 months agoInform user when tab-line-mode command makes no change
Jared Finder [Mon, 13 May 2024 03:35:50 +0000 (20:35 -0700)]
Inform user when tab-line-mode command makes no change

* lisp/tab-line.el (tab-line-mode): Display message when command is
run on already altered tab-line-format.

19 months agoDocument :box attribute caveats when used on display strings
Eli Zaretskii [Sat, 18 May 2024 09:15:21 +0000 (12:15 +0300)]
Document :box attribute caveats when used on display strings

* doc/lispref/display.texi (Replacing Specs, Face Attributes):
Mention special considerations when a display string has a
':box' face attribute identical to the surrounding buffer text.
Suggested by JD Smith <jdtsmith@gmail.com>.  (Bug#70637)

19 months agoMake 'vtable-insert-object' more versatile
Joost Kremers [Tue, 7 May 2024 09:52:27 +0000 (11:52 +0200)]
Make 'vtable-insert-object' more versatile

* lisp/emacs-lisp/vtable.el (vtable-insert-object): Rename
argument AFTER-OBJECT to LOCATION; allow use of index to
refer to the insertion position; add argument BEFORE.
(Bug#70664).

* etc/NEWS:
* doc/misc/vtable.texi (Interface Functions): Document the
change.

* test/lisp/emacs-lisp/vtable-tests.el
(test-vtable-insert-object): New test.

19 months ago* Work around GCC bug affecting Garbage Collection (bug#65727).
Andrea Corallo [Sat, 18 May 2024 06:59:17 +0000 (08:59 +0200)]
* Work around GCC bug affecting Garbage Collection (bug#65727).

* src/lisp.h (flush_stack_call_func): Prevent GCC sibling call
optimization to run with an asm inline.

19 months agoImprove documentation of 'movemail'
Eli Zaretskii [Sat, 18 May 2024 06:12:54 +0000 (09:12 +0300)]
Improve documentation of 'movemail'

* doc/emacs/rmail.texi (Movemail): Fix the name of the Mailutils
manual in the printed version.  Add index entries.  Move the
description of remote mailboxes to...
(Remote Mailboxes): ...here, to avoid duplication.

19 months agoReplace incorrect link in Rmail chapter of Emacs manual
Jakub Ječmínek [Fri, 17 May 2024 20:07:33 +0000 (22:07 +0200)]
Replace incorrect link in Rmail chapter of Emacs manual

* doc/emacs/rmail.texi (Movemail): Fix cross-reference to a node
in the Mailutils manual.  (Bug#71018)

19 months agoFix project-find-regexp in remote projects
Dmitry Gutov [Sat, 18 May 2024 00:24:56 +0000 (03:24 +0300)]
Fix project-find-regexp in remote projects

* lisp/progmodes/xref.el (xref--hits-file-prefix):
New variable.  Something to prepend to each file name (bug#69233).
(xref--convert-hits): Use it to also store the "default directory"
part of the filename conditionally on whether it's remote.
(xref--collect-matches): Use the new variable here.

19 months agoxref--group-name-for-display: Undo most of the latest change
Dmitry Gutov [Sat, 18 May 2024 00:00:29 +0000 (03:00 +0300)]
xref--group-name-for-display: Undo most of the latest change

* lisp/progmodes/xref.el (xref--group-name-for-display):
Remove the DD-SUFFIX parameter, returning the function more like
to how it was (bug#69233).
(xref--analyze, xref--add-log-current-defun):
Revert the previous change accordingly.

* test/lisp/progmodes/xref-tests.el: Undo the last change.

19 months ago; * doc/lispref/parsing.texi (Parsing Program Source): Improve indexing.
Eli Zaretskii [Fri, 17 May 2024 16:03:39 +0000 (19:03 +0300)]
; * doc/lispref/parsing.texi (Parsing Program Source): Improve indexing.

19 months agoPort to certain Android environments with no GUI
Po Lu [Fri, 17 May 2024 11:21:05 +0000 (19:21 +0800)]
Port to certain Android environments with no GUI

* configure.ac (USER_FULL_NAME): Define to
android_user_full_name only when a GUI system is being built.
Otherwise, set to pw->pw_gecos or NULL consistently with the
presence of pw->pw_gecos.

* src/editfns.c (Fuser_full_name): Adjust to match.  Accept NULL
values from USER_FULL_NAME.

19 months ago; Improve documentation of 'set-fontset-font'
Eli Zaretskii [Fri, 17 May 2024 07:18:35 +0000 (10:18 +0300)]
; Improve documentation of 'set-fontset-font'

* doc/lispref/display.texi (Fontsets):
* src/fontset.c (Fset_fontset_font): Doc fix (bug#70993).

19 months ago; Avoid compiler warning in w32term.c
Eli Zaretskii [Fri, 17 May 2024 06:43:20 +0000 (09:43 +0300)]
; Avoid compiler warning in w32term.c

* src/w32term.c (w32_draw_glyphless_glyph_string_foreground):
Avoid GCC 14 warning about storing address of local variable.

19 months agoAdd new Eshell built-in command 'funcall'
Jim Porter [Fri, 17 May 2024 03:33:18 +0000 (20:33 -0700)]
Add new Eshell built-in command 'funcall'

* lisp/eshell/esh-cmd.el (eshell/funcall): New function...

* 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):
* test/lisp/eshell/esh-var-tests.el
(esh-var-test/quoted-interp-lisp-indices)
(esh-var-test/quoted-interp-cmd-indices)
(esh-var-test/interp-convert-quoted-var-number)
(esh-var-test/quoted-interp-convert-var-number)
(esh-var-test/quoted-interp-convert-quoted-var-number)
(esh-var-test/last-status-var-lisp-command)
(esh-var-test/last-result-var-split-indices)
(esh-var-test/last-arg-var-split-indices): ... use it in tests.

* doc/misc/eshell.texi (List of Built-ins): Describe this command.

19 months ago; Fix search in remote project with relative file names
Dmitry Gutov [Thu, 16 May 2024 22:05:17 +0000 (01:05 +0300)]
; Fix search in remote project with relative file names

19 months ago; cperl-mode.el: prevent Emacs from "freezing" (Bug#70948)
Harald Jörg [Thu, 16 May 2024 20:22:37 +0000 (22:22 +0200)]
; cperl-mode.el: prevent Emacs from "freezing" (Bug#70948)

* cperl-mode.el (defconst): Replace the rx expression for
`cperl--basic-identifier-rx' with its actual macro expansion.
This makes it efficient under Emacs 29.3, where the expansion
by rx.el could make Emacs freeze with a crafted Perl source
(Bug#70948).

19 months ago;cperl-mode.el: Allow running under Emacs >=27
Harald Jörg [Thu, 16 May 2024 19:55:07 +0000 (21:55 +0200)]
;cperl-mode.el: Allow running under Emacs >=27

I would like to advertise cperl-mode.el from the repository as a
workaround for bug#70948.  This can be achieved by safeguarding
the call to derived-mode-add-parents with a version check.

* lisp/progmodes/cperl-mode.el: Call derived-mode-add-parents only
if it is available.

19 months ago; Fix wrong-type-argument in 'rcirc-handler-INVITE'
Philip Kaludercic [Thu, 16 May 2024 17:51:11 +0000 (19:51 +0200)]
; Fix wrong-type-argument in 'rcirc-handler-INVITE'

* lisp/net/rcirc.el (rcirc-handler-INVITE): Use
'with-rcirc-process-buffer' instead of passing a process to
'buffer-local-value'.

19 months ago; * doc/emacs/search.texi (Word Search): Add index entry.
Eli Zaretskii [Thu, 16 May 2024 15:42:43 +0000 (18:42 +0300)]
; * doc/emacs/search.texi (Word Search): Add index entry.

19 months ago(describe-package-1): Handle (nil . "string") in `:maintainer`
Stefan Monnier [Thu, 16 May 2024 15:01:11 +0000 (11:01 -0400)]
(describe-package-1): Handle (nil . "string") in `:maintainer`

* lisp/emacs-lisp/package.el (describe-package-1): Refine the
check to distinguish the old single-maintainer format from the
new multi-maintainer format.  (bug#69712)

19 months ago* lisp/loadup.el: Add workaround for occasional "bootstrap" failure
Stefan Monnier [Thu, 16 May 2024 13:50:39 +0000 (09:50 -0400)]
* lisp/loadup.el: Add workaround for occasional "bootstrap" failure

19 months agoAdd multi/unibyte string tests for key-description
Robert Pluim [Tue, 14 May 2024 15:41:57 +0000 (17:41 +0200)]
Add multi/unibyte string tests for key-description

* test/src/keymap-tests.el (keymap--key-description): Add multi/unibyte
tests.

This is to check the fix for Bug#59305.

19 months ago* doc/emacs/mule.texi (Unibyte Mode): Mention iso-transl-set-language
Robert Pluim [Tue, 14 May 2024 15:35:04 +0000 (17:35 +0200)]
* doc/emacs/mule.texi (Unibyte Mode): Mention iso-transl-set-language

19 months ago* Fix bootstrap with checking enabled
Andrea Corallo [Thu, 16 May 2024 05:42:14 +0000 (07:42 +0200)]
* Fix bootstrap with checking enabled

* lisp/emacs-lisp/comp.el (comp--limplify-top-level): Set function
safety.

19 months ago; * lisp/eshell/esh-ext.el (eshell-remote-command): Improve last change.
Jim Porter [Thu, 16 May 2024 05:22:56 +0000 (22:22 -0700)]
; * lisp/eshell/esh-ext.el (eshell-remote-command): Improve last change.

19 months agoUse "/local:" prefix in Eshell to run local commands when cwd is remote
Jim Porter [Fri, 10 May 2024 19:22:52 +0000 (12:22 -0700)]
Use "/local:" prefix in Eshell to run local commands when cwd is remote

* lisp/eshell/esh-ext.el (eshell-explicit-remote-commands)
(eshell-explicit-command): Update docstrings.
(eshell--local-prefix): New constant.
(eshell-handle-remote-command): Remove.
(eshell-quoted-file-command): New function...
(eshell-ext-initialize): ... add it as a hook.
(eshell-remote-command): Support running commands on localhost.
(eshell-connection-local-command): Rename from
'eshell-external-command'.
(eshell-external-command): New implementation calling
'eshell-remote-command' or 'eshell-connection-local-command' as
appropriate.

* test/lisp/eshell/esh-ext-tests.el
(esh-ext-test/explicitly-local-command): Update test.

* doc/misc/eshell.texi (Remote Access): Update documentation.

* etc/NEWS: Update announcement.

19 months ago(eglot--managed-mode): Avoid calling track-changes unregistered
Sean Whitton [Wed, 15 May 2024 18:50:18 +0000 (14:50 -0400)]
(eglot--managed-mode): Avoid calling track-changes unregistered

* lisp/progmodes/eglot.el (eglot--managed-mode): Unregister from
track-changes after `eglot-shutdown` since that function may
call `eglot--signal-textDocument/didChange`.  (bug#70927)

19 months agovc-git-root-log-format: Explicitly match periods
Sean Whitton [Wed, 15 May 2024 18:04:03 +0000 (19:04 +0100)]
vc-git-root-log-format: Explicitly match periods

* lisp/vc/vc-git.el (vc-git-root-log-format): Explicity match
periods, rather than matching them only because '.' matches any
chars.

19 months agocontrol.texi: Be a bit more explicit about the behavior of `pcase-let`
Stefan Monnier [Wed, 15 May 2024 17:57:11 +0000 (13:57 -0400)]
control.texi: Be a bit more explicit about the behavior of `pcase-let`

* doc/lispref/control.texi (Destructuring with pcase Patterns):
Clarify the kind of "unspecified" behavior that can occur when
the destructing pattern does not match the value.

19 months ago* admin/MAINTAINERS: Add myself in (co-)maintainers.
Andrea Corallo [Wed, 15 May 2024 17:17:30 +0000 (19:17 +0200)]
* admin/MAINTAINERS: Add myself in (co-)maintainers.

19 months ago; * lisp/gnus/mml-smime.el: Need cl-lib at runtime now.
Mattias Engdegård [Wed, 15 May 2024 13:23:18 +0000 (15:23 +0200)]
; * lisp/gnus/mml-smime.el: Need cl-lib at runtime now.

19 months ago; * doc/lispref/windows.texi (Buffer Display Action Functions): Fix wording.
Martin Rudalics [Wed, 15 May 2024 07:49:14 +0000 (09:49 +0200)]
; * doc/lispref/windows.texi (Buffer Display Action Functions): Fix wording.

19 months ago(xref--collect-matches): Move inhibit-modification-hooks binding down
Stefan Monnier [Tue, 14 May 2024 21:09:39 +0000 (00:09 +0300)]
(xref--collect-matches): Move inhibit-modification-hooks binding down

* lisp/progmodes/xref.el (xref--collect-matches): Move the
inhibit-modification-hooks binding a little down (bug#53749).
(xref--show-common-initialize): Add sharp-quoting.

19 months agoAvoid another warning (bug#70942).
Eli Zaretskii [Tue, 14 May 2024 17:45:58 +0000 (20:45 +0300)]
Avoid another warning (bug#70942).

19 months agoFix some compilation warnings
Eli Zaretskii [Tue, 14 May 2024 17:42:11 +0000 (20:42 +0300)]
Fix some compilation warnings

Reported by Jacob Faibussowitsch <jacob.fai@gmail.com>

* lisp/net/eww.el (imagep): Declare.

* src/xdisp.c (note_fringe_highlight): Now compiled only if
HAVE_WINDOW_SYSTEM.

19 months ago* lisp/gnus/nnatom.el (libxml-parse-xml-region): Declare to silence warning.
Andrea Corallo [Tue, 14 May 2024 15:47:36 +0000 (17:47 +0200)]
* lisp/gnus/nnatom.el (libxml-parse-xml-region): Declare to silence warning.

19 months ago; * src/process.c (network_lookup_address_info_1): Quote function
Robert Pluim [Tue, 7 May 2024 15:12:22 +0000 (17:12 +0200)]
; * src/process.c (network_lookup_address_info_1): Quote function

19 months agoDocument 'use-default-font-for-symbols' more
Robert Pluim [Fri, 19 Apr 2024 13:14:11 +0000 (15:14 +0200)]
Document 'use-default-font-for-symbols' more

"why does my set-fontset-font call not work for symbols" is a common
question, and it's because 'use-default-font-for-symbols' is not
discoverable enough.

* doc/emacs/mule.texi (Modifying Fontsets): Mention it here.
* doc/lispref/display.texi (Fontsets): And here.
* src/fontset.c (Fset_fontset_font): And most importantly here.

19 months agoUse proper smime-keys entry for S/MIME signatures using OpenSSL
Illia Ostapyshyn [Mon, 6 May 2024 18:24:22 +0000 (20:24 +0200)]
Use proper smime-keys entry for S/MIME signatures using OpenSSL

bug#67931

* doc/misc/emacs-mime.texi (MML Definition):
* lisp/gnus/mml.el (mml-parse-1): Add chainfile parameter to sign tags.
* lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query): Include the
additional certificates from smime-keys in MML tag generation as
chainfile parameters.
(mml-smime-openssl-sign): Forward chainfile entries from the parsed tag
alist to smime-sign-buffer.
; * lisp/gnus/smime.el (smime-sign-region): Fix typo in documentation.
; (smime-sign-buffer): Improve documentation to match smime-sign-region.

19 months ago; * .dir-locals.el (c-mode): Designate INLINE_HEADER_* as noise macros.
Po Lu [Tue, 14 May 2024 14:15:38 +0000 (22:15 +0800)]
; * .dir-locals.el (c-mode): Designate INLINE_HEADER_* as noise macros.

19 months ago* doc/lispref/functions.texi (Declare Form): Rename and update 'ftype' entry.
Andrea Corallo [Tue, 14 May 2024 08:50:05 +0000 (10:50 +0200)]
* doc/lispref/functions.texi (Declare Form): Rename and update 'ftype' entry.

19 months ago* etc/NEWS: Rename 'type' -> 'ftype' and tweak it.
Andrea Corallo [Tue, 14 May 2024 08:37:31 +0000 (10:37 +0200)]
* etc/NEWS: Rename 'type' -> 'ftype' and tweak it.

19 months ago* Allow for optional function name parameter in 'ftype' declaration
Andrea Corallo [Tue, 14 May 2024 07:58:42 +0000 (09:58 +0200)]
* Allow for optional function name parameter in 'ftype' declaration

* lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Allow for
optional function name parameter in 'ftype' declaration.

19 months agoChange 'type' declaration to 'ftype'
Andrea Corallo [Tue, 14 May 2024 07:24:05 +0000 (09:24 +0200)]
Change 'type' declaration to 'ftype'

* lisp/window.el (get-lru-window, get-largest-window)
(one-window-p): Update function type declaration.
* lisp/subr.el (ignore, error, zerop, fixnump, bignump, lsh)
(last, eventp, mouse-movement-p, log10, memory-limit)
(internal-pop-keymap): Likewise.
* lisp/simple.el (count-lines, mark, string-empty-p): Likewise.
* lisp/files.el (parse-colon-path): Likewise.
* lisp/env.el (getenv): Likewise.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt): Likewise.
* lisp/emacs-lisp/lisp.el (buffer-end): Likewise.
* lisp/emacs-lisp/comp.el (comp--final): Likewise.
* lisp/custom.el (custom-variable-p): Likewise.
* lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Rename 'type'
-> 'ftype'.

19 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 14 May 2024 08:50:17 +0000 (10:50 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

19 months agoTrace Tramp user error
Michael Albinus [Tue, 14 May 2024 08:49:52 +0000 (10:49 +0200)]
Trace Tramp user error

* lisp/net/tramp-androidsu.el (tramp-androidsu-maybe-open-connection):
Use `tramp-user-error' for the traces.

19 months ago; * lisp/net/tramp-androidsu.el (tramp-androidsu-handle-make-process): Typo.
Po Lu [Tue, 14 May 2024 08:17:36 +0000 (16:17 +0800)]
; * lisp/net/tramp-androidsu.el (tramp-androidsu-handle-make-process): Typo.

19 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 14 May 2024 08:18:35 +0000 (10:18 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

19 months ago; Fix whitespace
Michael Albinus [Tue, 14 May 2024 08:18:04 +0000 (10:18 +0200)]
; Fix whitespace

19 months agoPort tramp-androidsu to a wider variety of systems
Po Lu [Tue, 14 May 2024 08:13:58 +0000 (16:13 +0800)]
Port tramp-androidsu to a wider variety of systems

* lisp/net/tramp-androidsu.el
(tramp-androidsu-maybe-open-connection): Search for `su' when
the connection is initiated; replace PATH of inferior shell with
trap-androidsu-remote-path.
(tramp-androidsu-handle-make-process): Do not provide username
if root.

19 months ago; * etc/NEWS: Fix wording, again.
Eli Zaretskii [Tue, 14 May 2024 07:53:40 +0000 (10:53 +0300)]
; * etc/NEWS: Fix wording, again.

19 months ago; * etc/NEWS: Fix wording.
Eli Zaretskii [Tue, 14 May 2024 07:52:17 +0000 (10:52 +0300)]
; * etc/NEWS: Fix wording.

19 months agoAdd documentation about sorting Imenu completions (bug#70846)
Juri Linkov [Tue, 14 May 2024 06:55:52 +0000 (09:55 +0300)]
Add documentation about sorting Imenu completions (bug#70846)

* doc/emacs/programs.texi (Imenu): Document how Imenu completions
can be sorted.

* lisp/imenu.el (imenu-sort-function): Explain in the docstring
how to sort Imenu completions.

19 months ago; Fix documentation of recently-installed changes
Eli Zaretskii [Tue, 14 May 2024 05:51:13 +0000 (08:51 +0300)]
; Fix documentation of recently-installed changes

* lisp/emacs-lisp/bytecomp.el (compilation-safety): Doc fix.

* etc/NEWS: Fix wording of the 'compilation-safety' entry.

* doc/lispref/functions.texi (Declare Form): Fix cross-reference
and wording.
* doc/lispref/compile.texi (Native-Compilation Variables): Add the
missing @anchor.  Fix wording.

19 months agoFix failure of `restart-emacs' to restart Emacs on Android
Po Lu [Tue, 14 May 2024 02:16:18 +0000 (10:16 +0800)]
Fix failure of `restart-emacs' to restart Emacs on Android

* src/emacs.c (Fkill_emacs) [HAVE_ANDROID && !ANDROID_STUBIFY]:
Arrange to terminate Emacs upon receipt of a bus error.

19 months ago* etc/NEWS (Safety compilation parameter): Add entry.
Andrea Corallo [Tue, 7 May 2024 08:19:22 +0000 (10:19 +0200)]
* etc/NEWS (Safety compilation parameter): Add entry.

19 months agoAdd some 'compilation-safety' documentation
Andrea Corallo [Sat, 4 May 2024 06:55:56 +0000 (08:55 +0200)]
Add some 'compilation-safety' documentation

* lisp/emacs-lisp/bytecomp.el (compilation-safety): Better doc.
* doc/lispref/functions.texi (Declare Form): Add 'safety'.
* doc/lispref/compile.texi (Native-Compilation Variables): Add
'compilation-safety'.

19 months agoAdd 'safety' function declaration
Andrea Corallo [Fri, 3 May 2024 20:45:04 +0000 (22:45 +0200)]
Add 'safety' function declaration

* lisp/emacs-lisp/comp.el (comp-known-predicates): Use
'comp-func-safety'.
(comp-ctxt, comp-mvar-type-hint-match-p): New 'safety' slot.
(comp-c-func-name): New function.
(comp--spill-lap-function, comp--intern-func-in-ctxt): Update.
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Spill safety.
* lisp/emacs-lisp/byte-run.el (byte-run--set-completion): New alias.
(defun-declarations-alist): Update.

19 months agoIntroduce 'compilation-safety' variable
Andrea Corallo [Fri, 3 May 2024 20:21:20 +0000 (22:21 +0200)]
Introduce 'compilation-safety' variable

* lisp/emacs-lisp/bytecomp.el (compilation-safety): New customize.
* src/comp.c (comp_t): Add func_safety.
(emit_call_with_type_hint, emit_call2_with_type_hint): Make use of.
(compile_function): Set 'comp.func_safety'.

19 months ago* lisp/emacs-lisp/comp.el (comp--get-function-cstr): Fix it.
Andrea Corallo [Mon, 13 May 2024 14:41:25 +0000 (16:41 +0200)]
* lisp/emacs-lisp/comp.el (comp--get-function-cstr): Fix it.

19 months ago; Fix the xref--group-name-for-display tests
Dmitry Gutov [Mon, 13 May 2024 13:16:22 +0000 (16:16 +0300)]
; Fix the xref--group-name-for-display tests

19 months agoAvoid resizing mutation in subst-char-in-string, take two
Mattias Engdegård [Mon, 13 May 2024 08:44:05 +0000 (10:44 +0200)]
Avoid resizing mutation in subst-char-in-string, take two

This time we take care to preserve properties, and add a test.

* lisp/subr.el (subst-char-in-string):
Use string-replace to avoid resizing mutation and O(n^2) time.
* test/lisp/subr-tests.el (subr--subst-char-in-string): New test.

19 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Mon, 13 May 2024 08:31:45 +0000 (10:31 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

19 months ago* doc/misc/tramp.texi: Adapt some markups.
Michael Albinus [Mon, 13 May 2024 08:31:13 +0000 (10:31 +0200)]
* doc/misc/tramp.texi: Adapt some markups.

19 months ago; Tweak last docstring addition in lisp/imenu.el.
Basil L. Contovounesios [Mon, 13 May 2024 07:58:50 +0000 (09:58 +0200)]
; Tweak last docstring addition in lisp/imenu.el.

19 months agoFix bug#70900
Michael Albinus [Mon, 13 May 2024 07:23:58 +0000 (09:23 +0200)]
Fix bug#70900

* lisp/net/tramp.el (tramp-handle-unlock-file): Be quiet if user
isn't interested in lock files.  Bug#70900

19 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Mon, 13 May 2024 07:23:32 +0000 (09:23 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

19 months ago* lisp/imenu.el: Support more values for imenu-flatten (bug#70846)
Juri Linkov [Mon, 13 May 2024 06:59:07 +0000 (09:59 +0300)]
* lisp/imenu.el: Support more values for imenu-flatten (bug#70846)

(imenu-flatten): Change type boolean to choice
of more values for prefix/suffix section names.
(imenu--completion-buffer): Add :annotation-function if
'imenu-flatten' is 'annotation'.
(imenu--flatten-index-alist): Put property 'imenu-section' if
'imenu-flatten' is 'annotation'.

19 months agoCommunicate frame titles to the window manager on Android
Po Lu [Mon, 13 May 2024 06:40:15 +0000 (14:40 +0800)]
Communicate frame titles to the window manager on Android

* java/org/gnu/emacs/EmacsActivity.java (detachWindow)
(attachWindow): Call updateWmName.
(updateWmName): New function; transfer wm name from the window
attached to the task's description.

* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
<wmName>: New field.
(setWmName): New function.

* src/android.c (android_init_emacs_window): Link to new
function.
(android_set_wm_name): New function.

* src/android.h (struct android_emacs_service): Delete unused
entries.

* src/androidfns.c (android_set_name_internal, android_set_name)
(android_implicitly_set_name, android_explicitly_set_name)
(android_set_title): Port from X.

* src/androidterm.c (android_term_init): Compute default frame
title.

* src/androidterm.h (struct android_display_info) <x_id_name>:
New field.

19 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Mon, 13 May 2024 05:24:30 +0000 (07:24 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

19 months ago; * src/window.c (Fwindow_scroll_bars): Doc fix.
Eli Zaretskii [Mon, 13 May 2024 05:00:38 +0000 (08:00 +0300)]
; * src/window.c (Fwindow_scroll_bars): Doc fix.

19 months agoruby-rubocop-use-bundler: New user option
Dmitry Gutov [Mon, 13 May 2024 02:36:28 +0000 (05:36 +0300)]
ruby-rubocop-use-bundler: New user option

* lisp/progmodes/ruby-mode.el (ruby-rubocop-use-bundler):
New user option.
(ruby-flymake-rubocop--use-bundler-p): Use it.

* etc/NEWS: Mention it.

19 months ago; * src/epaths.in: Declare and use android_game_path.
Po Lu [Mon, 13 May 2024 00:26:04 +0000 (08:26 +0800)]
; * src/epaths.in: Declare and use android_game_path.

19 months agoComplete pacification of build warnings on Android
Po Lu [Mon, 13 May 2024 00:25:39 +0000 (08:25 +0800)]
Complete pacification of build warnings on Android

* build-aux/makecounter.sh: Introduce extern declaration of
emacs_shortlisp_counter.

* src/android.c (android_class_path): Declare static.

* src/androidfont.c (font_driver_class, font_spec_class)
(integer_class, font_metrics_class, font_object_class): Declare
static.

* src/androidterm.c (android_frame_parm_handlers): Move
declaration...

* src/androidterm.h (android_frame_parm_handlers): ... here.

19 months agoFix 'C-u C-x p g' globally and 'A' in dired-mode
Dmitry Gutov [Sun, 12 May 2024 17:42:08 +0000 (20:42 +0300)]
Fix 'C-u C-x p g' globally and 'A' in dired-mode

* lisp/progmodes/project.el (project-find-regexp): Ensure the
DEFAULT-DIRECTORY is set correctly for the 'C-u' case (bug#70888).

* lisp/progmodes/project.el (project--files-in-directory):
Ensure that the DIR argument ends with a slash --
'dired-do-find-regexp' passes it differently, for example.

* lisp/progmodes/xref.el (xref--group-name-for-display): Ensure
the project-relative and absolute display modes work well for
groups with "relative" file names.
(xref--analyze, xref--add-log-current-defun): Change accordingly.

* test/lisp/progmodes/project-tests.el
(project-find-regexp-with-prefix): New test.

19 months agoAdd Tramp method "nspawn"
Michael Albinus [Sun, 12 May 2024 17:40:08 +0000 (19:40 +0200)]
Add Tramp method "nspawn"

* doc/misc/tramp.texi: Adapt some markups.
(Inline methods) <nspawn>: Add.
(Default Host): Mention default host for "nspawn".
(Customizing Methods): Remove tramp-nspawn.
(Password handling): Add "nspawn".

* etc/NEWS: New Tramp method "nspawn".

* lisp/net/tramp-compat.el (tramp-nspawn): Warn, if that package is used.

* lisp/net/tramp-container.el (tramp-nspawn-program): New defcustom.
(tramp-nspawn-method): New defconst.
(tramp-nspawn--completion-function, tramp-enable-nspawn-method):
New defuns.

* lisp/net/tramp.el (tramp-local-host-regexp): Add OpenSUSE host names.

19 months agocompletion--replace: Fix completion cycling
Dmitry Gutov [Sun, 12 May 2024 02:57:10 +0000 (05:57 +0300)]
completion--replace: Fix completion cycling

* lisp/minibuffer.el (completion--replace):
Don't "insert before markers" after all because in some cases
(https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00701.html)
- like cycling - BEG can be denoted by a marker as well.
(minibuffer-completion-help): Make FIELD-END simply a fixnum.  And
adjust its value manually inside the local
completion-list-insert-choice-function (bug#48356).

19 months agoFix offset of reported conversion regions
Po Lu [Sun, 12 May 2024 13:42:52 +0000 (21:42 +0800)]
Fix offset of reported conversion regions

* src/androidterm.c (request_class, text_class): Pacify new
warning.
(android_update_selection): Don't redundantly subtract 1 from
compose region start.

19 months agoRevert "Avoid resizing mutation in subst-char-in-string"
Mattias Engdegård [Sun, 12 May 2024 13:18:19 +0000 (15:18 +0200)]
Revert "Avoid resizing mutation in subst-char-in-string"

This reverts commit 184d6e8c02345583264b053bb59ae031bb1c5a00.

It wasn't quite correct: the path through `string-replace` would not
preserve text properties in the input string, which broke Gnus.

19 months agoSilence some macOS build warnings
Mattias Engdegård [Sun, 12 May 2024 12:55:55 +0000 (14:55 +0200)]
Silence some macOS build warnings

* src/image.c (native_image_type): Declare static.
* src/keyboard.c (lispy_function_keys): Declare static on NS.
* src/nsmenu.m (context_menu_value):
* src/nsterm.m (ns_frame_parm_handlers): Move extern declarations...
* src/nsterm.h: ...here.
* test/src/emacs-module-resources/mod-test.c: Add extern declaration.

19 months agoSafer and faster string sorting
Mattias Engdegård [Sun, 12 May 2024 09:22:23 +0000 (11:22 +0200)]
Safer and faster string sorting

* lisp/emacs-lisp/cl-seq.el (cl-sort):
Don't use string mutation when sorting the characters in a string.
This avoids O(n^2) run time and makes it future-safe.

19 months agoProperly deinitialize directory cursors on closedir
Po Lu [Sun, 12 May 2024 12:24:19 +0000 (20:24 +0800)]
Properly deinitialize directory cursors on closedir

* src/androidvfs.c (android_saf_tree_closedir): Call
cursor.close, for deleting the local reference to enable its
garbage collection is not sufficient to release all related
resources.

19 months agoAdditional changes to processing of Num Lock on Android
Po Lu [Sun, 12 May 2024 07:46:38 +0000 (15:46 +0800)]
Additional changes to processing of Num Lock on Android

* java/org/gnu/emacs/EmacsView.java (onKeyDown, onKeyMultiple)
(onKeyDown): Disregard Num and Scroll Lock keys, and return
value of window functions to the system.

* java/org/gnu/emacs/EmacsWindow.java (eventModifiers): Return
normalized meta state, not only those bits the system considers
modifiers.
(onKeyDown, onKeyUp): Ignore numpad keys to which no base
characters are assigned, so that the system may generate the
proper action keys instead.