Commit graph

12314 commits

Author SHA1 Message Date
Illia Ostapyshyn
8074c08cd5 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.
2024-05-14 07:44:40 -07:00
Andrea Corallo
a39a806012 * doc/lispref/functions.texi (Declare Form): Rename and update 'ftype' entry. 2024-05-14 11:17:25 +02:00
Juri Linkov
407b88333b 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.
2024-05-14 09:55:52 +03:00
Eli Zaretskii
f6d060b39a ; 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.
2024-05-14 08:51:13 +03:00
Andrea Corallo
04e7078d5e 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'.
2024-05-13 23:09:09 +02:00
Michael Albinus
be31c38359 * doc/misc/tramp.texi: Adapt some markups. 2024-05-13 10:31:13 +02:00
Michael Albinus
e53e8b4cf4 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.
2024-05-12 19:40:08 +02:00
Eli Zaretskii
48c9285c19 Merge from origin/emacs-29
0ec9a02a0d ; Fix doc strings of two scroll-bar functions.
2f8bccf9d8 ; * doc/emacs/frames.texi (Scroll Bars): Improve formatting.
f9832e80b8 ; * lisp/textmodes/ispell.el (ispell-message): Add commen...
a7d247be90 ; * etc/PROBLEMS: Document macOS problems with Emacs.clr ...
8560ee7b5c ; * doc/misc/auth.texi (The Unix password store): Fix var...
74c6b59af1 ; Advertise scroll bars some more
3d65d4306b Avoid errors in 'image-dired-tag-thumbnail'
2024-05-11 06:50:56 -04:00
Michael Albinus
b43c31d2f5 New Tramp method "run0"
* doc/misc/tramp.texi (Quick Start Guide, Inline methods)
(Password handling, Predefined connection information)
(Ad-hoc multi-hops): Add "run0".
(Remote processes): Mention tramp-use-connection-share.

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

* lisp/net/tramp.el (tramp-completion-dissect-file-name):
* lisp/net/tramp-cmds.el (tramp-list-remote-buffers):
* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Use `tramp-compat-keep-seq'.

* lisp/net/tramp-cmds.el (tramp-file-name-with-method): Add "run0".

* lisp/net/tramp-sh.el (tramp-enable-run0-method): New defun.
(tramp-sh-handle-expand-file-name): Add "run0".
(tramp-maybe-open-connection): Simplify setting timeout.
2024-05-11 10:03:45 +02:00
Juri Linkov
5d8c2bad21 Support customization of sorting order for Imenu completion candidates
* lisp/imenu.el (imenu--completion-buffer):
Set completion-extra-properties to '(:category imenu).
(imenu--flatten-index-alist): Use imenu--subalist-p to handle
newer format (INDEX-NAME INDEX-POSITION FUNCTION ARGUMENTS...)
as well (bug#70846).

* doc/emacs/misc.texi (DocView Navigation): Fix typo.
2024-05-10 19:48:00 +03:00
Juri Linkov
4306aba2d0 * lisp/imenu.el (imenu-flatten): New defcustom (bug#70846).
(imenu-level-separator): Adjust the docstring.
(imenu--flatten-index-alist): New function revived
from the initial implementation of this package.
(imenu-choose-buffer-index): Use imenu--flatten-index-alist
when imenu-flatten is non-nil.
(imenu-buffer-menubar): Remove obsolete variable.

* doc/emacs/programs.texi (Imenu): Document imenu-flatten.
2024-05-10 09:52:09 +03:00
Eli Zaretskii
2f8bccf9d8 ; * doc/emacs/frames.texi (Scroll Bars): Improve formatting. 2024-05-10 08:52:33 +03:00
Andrew G Cohen
1b8613063c ; Provide documentation example for gnus-alter-header-function
* doc/misc/gnus.texi (Low-Level Threading): Provide an example of using
gnus-alter-header-function to remove unwanted items in References
header.
2024-05-10 08:25:48 +08:00
Illia Ostapyshyn
8560ee7b5c ; * doc/misc/auth.texi (The Unix password store): Fix variable name.
(Bug#70767)

Copyright-paperwork-exempt: yes
2024-05-08 16:16:40 -07:00
Eli Zaretskii
74c6b59af1 ; Advertise scroll bars some more
* doc/emacs/display.texi (Scrolling, Horizontal Scrolling):
Mention the scroll bars as alternative means of scrolling.
2024-05-08 16:44:05 +03:00
Po Lu
b82a003544 Correct documentation relating to tool-bar-position
* doc/emacs/android.texi (Android Windowing): Don't claim that
tool-bar-position is unsupported on Android.

* lisp/tool-bar.el (tool-bar-position): Update doc string to
mention that bottom is supported on all systems but Nextstep.
2024-05-08 20:26:08 +08:00
Michael Albinus
339b8349f4 More Tramp optional methods
* doc/misc/tramp.texi (Inline methods) <krlogin, ksu>:
(External methods) <fcp, nc>: These are optional methods.

* etc/NEWS: Mention more optional Tramp methods.

* lisp/net/tramp-androidsu.el (tramp-enable-androidsu-method):
Use proper regexp for `tramp-default-user-alist'.

* lisp/net/tramp-sh.el (tramp-enable-nc-method)
(tramp-enable-ksu-method, tramp-enable-krlogin-method)
(tramp-enable-fcp-method): New defuns.  Move respective
configurations there.

* lisp/net/tramp.el (tramp-enable-method): Implement completion
for interactive use.

* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults)
(tramp-test03-file-name-host-rules): Extend tests.
2024-05-08 13:44:15 +02:00
Arash Esbati
45e134fea7 ; * doc/misc/reftex.texi (Options - Creating Citations): Minor fix. 2024-05-07 16:21:24 +02:00
Michael Albinus
4808c63d43 Add Tramp method "apptainer"
* doc/misc/tramp.texi (Top, Configuration): Add "Optional methods".
(Optional methods): New section.
(Inline methods) <androidsu, toolbox, flatpak>: These are optional
methods.
(Inline methods) <apptainer>: Add.

* etc/NEWS: New Tramp method "apptainer".
Some Tramp methods are optional.
Fix typos.

* lisp/net/tramp-androidsu.el (tramp-enable-androidsu-method):
New defun.  Call it when `system-type' is `android'.

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

* lisp/net/tramp.el (tramp-enable-method): New defun.

* test/lisp/net/tramp-tests.el (tramp--test-container-p):
Add "apptainer".
(tramp--test-supports-processes-p): Extend function.
2024-05-07 09:56:05 +02:00
Eli Zaretskii
1e4cb12a81 Merge from origin/emacs-29
b392169e54 ; * doc/lispref/commands.texi (Event Mod): Add motivation...
e272fd3da9 ; Update description of 'mail-mode'
2024-05-04 08:10:54 -04:00
Juri Linkov
4078d0fd3e * doc/lispref/keymaps.texi (Creating Keymaps): Add :repeat :hints (bug#70576). 2024-05-03 09:22:39 +03:00
Eli Zaretskii
12e3ffcc97 ; Fix last change
* etc/NEWS: Fix wording of a recently-added item.

* doc/lispref/functions.texi (Declare Form): Fix markup.
2024-05-02 19:30:40 +03:00
Andrea Corallo
da8b06bd61 Merge branch 'lisp-func-type-decls' into 'master' 2024-05-02 17:06:07 +02:00
Andrea Corallo
02690d95f9 * doc/lispref/functions.texi (Declare Form): Improve again declare type. 2024-05-02 16:58:59 +02:00
Andrea Corallo
390b606ffc * doc/lispref/functions.texi (Declare Form): Better warn about UB. 2024-05-02 16:39:57 +02:00
Eli Zaretskii
b392169e54 ; * doc/lispref/commands.texi (Event Mod): Add motivation (bug#70596). 2024-05-02 12:20:09 +03:00
Po Lu
bcaf946cb1 ; * doc/emacs/android.texi (Android Startup): Correct wording. 2024-05-02 09:54:16 +08:00
Andrea Corallo
fccd35f2c8 * doc/lispref/functions.texi (Declare Form): Improve declare type. 2024-05-01 20:03:02 +02:00
Eli Zaretskii
e272fd3da9 ; Update description of 'mail-mode'
* doc/emacs/sending.texi (Mail Methods): More accurate description
of mail-mode's deficiencies.
2024-04-30 16:04:26 +03:00
Andrea Corallo
15016288ec * Document function type declarations
* doc/lispref/functions.texi (Declare Form): Document function type
declaration.
2024-04-29 19:33:18 +02:00
Eli Zaretskii
f6ae5939b9 ; Fix documentation of recent commits.
* lisp/touch-screen.el (touch-screen-handle-point-up): Fix
comments.

* lisp/net/eww.el (eww-check-text-conversion, eww-select-file)
(eww-toggle-checkbox, eww-submit): Doc fixes.

* doc/emacs/input.texi (On-Screen Keyboards): Fix punctuation and
wording.
2024-04-29 15:32:12 +03:00
Mattias Engdegård
f906ce5543 ; * doc/lispref/objects.texi (Type Predicates): fix xrefs 2024-04-29 14:29:52 +02:00
Mattias Engdegård
8718a7c706 Add drop as alias for nthcdr
It's a common name for this function and symmetric with respect to
`take`.  It's also a lot less awkward to type and say.

* lisp/subr.el (drop): New alias.
* doc/lispref/lists.texi (List Elements): Document.  Mention the
equation tying `take` and `drop` together.
* etc/NEWS: Announce.
2024-04-29 14:29:52 +02:00
Po Lu
4c46066cb6 Adapt eww to touch screens, mice and text conversion
* doc/emacs/input.texi (On-Screen Keyboards): Update conditions
for displaying the virtual keyboard when t-s-d-k is enabled.

* etc/NEWS (Announce): Document changes.

* lisp/net/eww.el (eww-check-text-conversion): New function.
(eww-mode): Install it as a local post-command-hook.
(eww-submit-map, eww-submit-file, eww-checkbox-map): Bind
suitable commands to mouse-2.
(eww-form-submit, eww-form-checkbox, eww-form-file)
(eww-tag-select): Disguise inserted forms as buttons, that touch
event translation may prefer their bindings to mouse-2 over
mouse-1.
(eww-form-text, eww-tag-textarea): Insert field properties as
well.
(eww-select-file, eww-toggle-checkbox, eww-submit): New argument
EVENT, to whose position point is set.

* lisp/touch-screen.el (touch-screen-handle-point-up): Trivial
adjustments to the criteria for selecting mouse commands and
displaying the on screen keyboard.
2024-04-29 20:01:59 +08:00
Po Lu
8cd9ca2236 Fix NEWS entries and documentation for underline styles
* doc/lispref/display.texi (Face Attributes):

* etc/NEWS: Revise to not mislead users as to where these
attributes are available.
2024-04-29 08:49:47 +08:00
Stefan Monnier
f2bccae22b Use a dedicated type to represent interpreted-function values
Change `function` so that when evaluating #'(lambda ...)
we return an object of type `interpreted-function` rather than
a list starting with one of `lambda` or `closure`.
The new type reuses the existing PVEC_CLOSURE (nee PVEC_COMPILED)
tag and tries to align the corresponding elements:

- the arglist, the docstring, and the interactive-form go in the
  same slots as for byte-code functions.
- the body of the function goes in the slot used for the bytecode string.
- the lexical context goes in the slot used for the constants of
  bytecoded functions.

The first point above means that `help-function-arglist`,
`documentation`, and `interactive-form`s don't need to
distinguish interpreted and bytecode functions any more.

Main benefits of the change:

- We can now reliably distinguish a list from a function value.
- `cl-defmethod` can dispatch on `interactive-function` and `closure`.
  Dispatch on `function` also works now for interpreted functions but still
  won't work for functions represented as lists or as symbols, of course.
- Function values are now self-evaluating.  That was alrready the case
  when byte-compiled, but not when interpreted since
  (eval '(closure ...)) signals a void-function error.
  That also avoids false-positive warnings about "don't quote your lambdas"
  when doing things like `(mapcar ',func ...)`.

* src/eval.c (Fmake_interpreted_closure): New function.
(Ffunction): Use it and change calling convention of
`Vinternal_make_interpreted_closure_function`.
(FUNCTIONP, Fcommandp, eval_sub, funcall_general, funcall_lambda)
(Ffunc_arity, lambda_arity): Simplify.
(funcall_lambda): Adjust to new representation.
(syms_of_eval): `defsubr` the new function.  Remove definition of `Qclosure`.

* lisp/emacs-lisp/cconv.el (cconv-make-interpreted-closure):
Change calling convention and use `make-interpreted-closure`.

* src/data.c (Fcl_type_of): Distinguish `byte-code-function`s from
`interpreted-function`s.
(Fclosurep, finterpreted_function_p): New functions.
(Fbyte_code_function_p): Don't be confused by `interpreted-function`s.
(Finteractive_form, Fcommand_modes): Simplify.
(syms_of_data): Define new type symbols and `defsubr` the two
new functions.

* lisp/emacs-lisp/cl-print.el (cl-print-object) <interpreted-function>:
New method.

* lisp/emacs-lisp/oclosure.el (oclosure): Refine the parent
to be `closure`.
(oclosure--fix-type, oclosure-type): Simplify.
(oclosure--copy, oclosure--get, oclosure--set): Adjust to
new representation.

* src/callint.c (Fcall_interactively): Adjust to new representation.

* src/lread.c (bytecode_from_rev_list):

* lisp/simple.el (function-documentation):
* lisp/help.el (help-function-arglist): Remove the old `closure` case
and adjust the byte-code case so it handles `interpreted-function`s.

* lisp/emacs-lisp/cl-preloaded.el (closure): New type.
(byte-code-function): Add it as a parent.
(interpreted-function): Adjust parent (the type itself was already
added earlier by accident).

* lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Adjust to
new representation.
(byte-compile): Use `interpreted-function-p`.

* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Adjust to
new representation.
(side-effect-free-fns): Add `interpreted-function-p` and `closurep`.

* src/profiler.c (trace_hash, ffunction_equal): Simplify.
* lisp/profiler.el (profiler-function-equal): Simplify.

* lisp/emacs-lisp/nadvice.el (advice--interactive-form-1):
Use `interpreted-function-p`; adjust to new representation; and take
advantage of the fact that function values are now self-evaluating.

* lisp/emacs-lisp/lisp-mode.el (closure):
Remove `lisp-indent-function` property.

* lisp/emacs-lisp/disass.el (disassemble-internal): Adjust to
new representation.
* lisp/emacs-lisp/edebug.el (edebug--strip-instrumentation):
Use `interpreted-function-p`.
* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers):
Add `closurep` and `interpreted-function-p`.

* test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Adjust to
more precise type info in `describe-function`.
* test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d--render-entries):
Use `interpreted-function-p`.
* test/lisp/emacs-lisp/macroexp-resources/vk.el (vk-f4, vk-f5):
Don't hardcode function values.

* doc/lispref/functions.texi (Anonymous Functions): Don't suggest that
function values are lists.  Reword "self-quoting" to reflect the
fact that #' doesn't return the exact same object.  Update examples
with the new shape of the return value.

* doc/lispref/variables.texi (Lexical Binding):
* doc/lispref/lists.texi (Rearrangement):
* doc/lispref/control.texi (Handling Errors): Update examples to reflect
new representation of function values.
2024-04-28 11:58:12 -04:00
Eli Zaretskii
687c4137fa Merge from origin/emacs-29
f37f01b504 Fix a typo in Introduction to Emacs Lisp (bug#70571).
d8687fd6cd Fix last change
494dfd9cf2 Fix indentation of if/else in 'csharp-ts-mode' (bug#70345)
1cc6322e61 ; * etc/PROBLEMS: Document crashes due to tree-sitter ABI...
42766f95e5 * build-aux/make-info-dir: Avoid bashism (bug#70484).
81476fa19e Improve documentation of selection and navigation in *xre...
2a53351492 Fix Widget manual typos, markup and omissions (bug#70502)
90be3015b4 ; Document bookmark fringe mark in the user manual
afd0b548fc Fix python-ts-mode built-in functions and attributes (bug...
dc720decc3 Fix markup and indexing in the Calendar chapter of user m...
f593bf79a9 Fix the user manual for `calendar-time-zone-style'
aed2b7a3d8 Avoid assertion violations in 'push_prefix_prop'
c929532b46 Remove ert-equal-including-properties from manual
e3aae5fd38 ; Document 'filtered-frame-list'
2024-04-27 06:23:46 -04:00
Brad Howes
f37f01b504 Fix a typo in Introduction to Emacs Lisp (bug#70571).
Copyright-paperwork-exempt: yes
2024-04-27 12:43:58 +03:00
Mohsin Kaleem
9f589eb924 Add support for colored and styled underlines on tty frames
* src/dispextern.h (face, face_underline_type, syms_of_xfacse)
(internal-set-lisp-face-attribute)
(gui_supports_face_attributes_p): Add definitions for new
underline styles of Double-line, Dots and Dashes.  Rename
FACE_UNDER_LINE and FACE_UNDER_WAVE to make definitions
consistent.  Delete tty_underline_p from the face struct and use
just underline going forward.  Add a flag to check whether styled
underlines are available.
* lisp/cus-face.el (custom-face-attributes): Add entries for
Double-line, Dots and Dashes so they can be set through
`customize'.
* src/termchar.c (tty_display_info): Add an entry for the escape
sequence to set the underline style and color on terminal frames.
* src/term.c (init_tty, tty_capable_p, turn_on_face): Read and
save the underline style escape sequence from the Smulx termcap
(alternatively if the Su flag is set use a default sequence).
Allow checking for support of styled underlines in the current
terminal frame.  Output the necessary escape sequences to activate
a styled underline on turn_on_face; this is currently only used
for the new special underline styles, a default straight underline
will still use the "us" termcap.  Output escape sequence to set
underline color when set in the face and supported by the tty.
Save a default value for this sequence on init_tty when styled
underlines are supported.
* src/xfaces.c (tty_supports_face_attributes_p, realize_tty_face)
(map_tty_color): Assert whether styled underlines are supported by
the current terminal on display-supports-face-attributes-p checks.
Populate the correct underline style and color in the face spec
when realizing a face.  Allow map_tty_color to map underline
colors alongside foreground and background.  The interface of
map_tty_color was amended to allow the caller to supply the
underline color instead of accessing it through the face
attributes.  (bug#62994)
* src/xterm.c (x_draw_glyph_string): Updated to use renamed
FACE_UNDERLINE_SINGLE and FACE_UNDERLINE_WAVE face_underline_type
enumerations.
2024-04-27 11:59:15 +03:00
Eli Zaretskii
a7d51085cf Improve documentation of 'package-enable-at-startup'
* doc/emacs/package.texi (Package Installation): Clarify how to
customize 'package-enable-at-startup'.

* lisp/emacs-lisp/package.el (package-enable-at-startup): Add note
about customization.  (Bug#70402)
2024-04-27 11:52:30 +03:00
Po Lu
db8f7ed7f6 Enable customization of the quit key on Android
* doc/emacs/android.texi (Android Windowing):

* doc/emacs/input.texi (On-Screen Keyboards): Document various
tidbits related to the quit key.

* java/org/gnu/emacs/EmacsNative.java (getQuitKeycode): New
function.

* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): Rename
`lastVolumeButtonRelease' to `lastQuitKeyRelease'.
(onKeyUp): Treat value returned by getQuitKeycode as the quit
key rather than mandate KEYCODE_VOLUME_DOWN.

* src/android.c (getQuitKeycode): Implement new function.

* src/androidterm.c (syms_of_androidterm)
<android_quit_keycode>: New variable.
2024-04-27 10:47:12 +08:00
Mattias Engdegård
88ebabe23a Better eval-when-compile example in manual
* doc/lispref/compile.texi (Eval During Compile):
`regexp-opt` makes for a poor example because as a pure function it
doesn't need `eval-when-compile` for constant inputs.
2024-04-25 11:39:21 +02:00
Daniel Semyonov
1601c5a518 Gnus: Add back end for Atom feeds (nnatom)
* lisp/gnus/gnus.el (gnus-valid-select-methods): Add entry for nnatom.
* lisp/gnus/nnfeed.el: New file implementing an abstract web feed back
end.
* lisp/gnus/nnatom.el: New file implementing a back end for Atom feeds.
* doc/misc/gnus.texi (Browsing the Web, Back End Interface):
* etc/NEWS (Gnus): Document nnatom and nnfeed.
2024-04-23 11:20:01 -07:00
Andrea Corallo
3a8d94dec1 Run admin/syncdoc-type-hierarchy.el
* doc/lispref/elisp_type_hierarchy.jpg: Update.
* doc/lispref/elisp_type_hierarchy.txt: Likewise.
2024-04-23 15:39:28 +02:00
Michael Albinus
956821672e Support remote trash-directory
* doc/misc/tramp.texi (Frequently Asked Questions): Describe how
to manipulate trash-directory.
Explain tramp-inhibit-errors-if-setting-file-attributes-fail.

* lisp/files.el (move-file-to-trash): Use connection-local value
of `trash-directory'.  (Bug#70421)
2024-04-23 13:54:09 +02:00
Po Lu
cd7456e00d Enable configuring Emacs for "pseudo-grayscale" systems on Android
* doc/emacs/android.texi (Android Windowing): Document how to
configure Emacs for monochrome displays.

* src/androidfns.c (Fx_display_visual_class): Return
Qstatic_gray when n_planes is smaller than 24.
(Fandroid_get_connection): Set n_planes by the value of
android_display_planes.
(syms_of_androidfns): <Qstatic_gray>: New function.

* src/androidterm.c (android_alloc_nearest_color): Allocate
monochrome colors similarly to the X server.
(android_query_colors): Fix typos.
(android_draw_fringe_bitmap): Create bitmaps of n_image_planes
depth.
(android_term_init): Initialize n_image_planes to 24.
(syms_of_androidterm) <android_display_planes>: New variable.

* src/androidterm.h (struct android_display_info): New field
`n_image_planes'.

* src/image.c (n_planes) [HAVE_ANDROID]: Define to
n_image_planes.
2024-04-23 15:57:45 +08:00
Eli Zaretskii
81476fa19e Improve documentation of selection and navigation in *xref* buffers
* doc/emacs/maintaining.texi (Looking Up Identifiers): More
detailed description of 'xref-auto-jump-to-first-definition'.
Improve indexing.  Describe the use of 'next-error' and
'previous-error' in conjunction with the *xref* buffer.
(Identifier Search): More detailed description of
'xref-auto-jump-to-first-xref'.  Describe the use of 'next-error'
and 'previous-error'.
2024-04-23 10:40:50 +03:00
Stephen Berman
2a53351492 Fix Widget manual typos, markup and omissions (bug#70502)
* doc/misc/widget.texi (Widgets and the Buffer): Correct typos and
texinfo markup, add equivalent key bindings and make minor changes
in wording.
(Customization): Correct names of two faces and add documentation
of remaining widget faces.
2024-04-22 11:32:10 +02:00
Eli Zaretskii
90be3015b4 ; Document bookmark fringe mark in the user manual
* doc/emacs/regs.texi (Bookmarks): Document
'bookmark-fringe-mark'.
2024-04-22 10:37:18 +03:00
Eli Zaretskii
dc720decc3 Fix markup and indexing in the Calendar chapter of user manual
* doc/emacs/calendar.texi (Calendar Unit Motion)
(Scroll Calendar, Writing Calendar Files, Holidays)
(Sunrise/Sunset, Lunar Phases, Calendar Systems)
(To Other Calendar, Displaying the Diary, Date Formats)
(Adding to Diary, Special Diary Entries): Fix markup, style, and
indexing.
2024-04-21 19:49:14 +03:00
Gautier Ponsinet
f593bf79a9 Fix the user manual for `calendar-time-zone-style'
* doc/emacs/calendar.texi (Sunrise/Sunset): Refer to the
variable `calendar-time-zone-style' explicitly.  (Bug#70498)
2024-04-21 19:01:10 +03:00
Basil L. Contovounesios
c929532b46 Remove ert-equal-including-properties from manual
* doc/misc/ert.texi (Useful Techniques): Mention only
equal-including-properties in place of the now obsolete
ert-equal-including-properties.
2024-04-20 16:01:49 +02:00
Eli Zaretskii
e3aae5fd38 ; Document 'filtered-frame-list'
* doc/lispref/frames.texi (Finding All Frames): Document
'filtered-frame-list'.
2024-04-20 14:52:02 +03:00
Eli Zaretskii
9ea415cde3 Merge from origin/emacs-29
ecb80e0e8a ; Improve wording in documentation of 'not and 'null'
5971aa1fd3 * lisp/dnd.el (dnd-handle-movement): Avoid errors (bug#70...
bbc5204a0f * doc/misc/calc.texi: Improve indexing.
2024-04-20 07:36:02 -04:00
Eli Zaretskii
42776dc5b7 ; Fix documentation of recent commits related to treesit
* src/treesit.c (Ftreesit_parser_changed_ranges):
* doc/lispref/parsing.texi (Using Parser): Fix wording.
2024-04-20 09:53:35 +03:00
Yuan Fu
996b957671
New function treesit-parser-changed-ranges
- Add a new field last_changed_ranges to tree-sitter parser object.
- Add a new function treesit-parser-changed-ranges

* doc/lispref/parsing.texi (Using Parser): Add the function in
tree-sitter manual.
* src/treesit.c (treesit_get_changed_ranges): New function, refactored
out of treesit_call_after_change_functions.
(treesit_call_after_change_functions): Pull out
treesit_get_changed_ranges.
(treesit_ensure_parsed): Save the changed ranges to the parser object.
(make_treesit_parser): Initialize the new parser field
last_changed_ranges.
(Ftreesit_parser_changed_ranges): New function.
(Qtreesit_unparsed_edits): New error.
* src/treesit.h (Lisp_TS_Parser): New field.
2024-04-19 19:04:44 -07:00
Yuan Fu
8166d9d174
; Minor fix in tree-sitter manual section
* doc/lispref/parsing.texi (User-defined Things): Mention
treesit-defun-type-regexp.
2024-04-19 19:04:44 -07:00
Eric Abrahamsen
e5b4d4dd1b ; Improve wording of manual entry for `peg-run'
* doc/lispref/peg.texi (Parsing Expression Grammars): "lambda form"
isn't really a meaningful term.  Prefer plain "function", though in this
case we've used "anonymous function" to avoid ambiguity.
2024-04-19 16:26:36 -07:00
F. Jason Park
ff1d1f6df1 ; Improve erc-services and upgrade documentation
* doc/misc/erc.texi (Getting Help and Reporting Bugs): Describe
alternate method for upgrading from GNU ELPA.  This is a partial
workaround for bug#68660 discovered by ERC contributor Alcor.
* lisp/erc/erc-backend.el (erc-call-hooks): Add comment.
* lisp/erc/erc-services.el (erc-nickserv-alist): Doc.
* test/lisp/erc/erc-scenarios-base-renick.el
(erc-scenarios-base-renick-queries-bouncer): Adjust timeout.
2024-04-19 13:54:52 -07:00
Michael Albinus
52d3ee46db New user option tramp-inhibit-errors-if-setting-file-attributes-fail
* doc/misc/tramp.texi (Frequently Asked Questions):
Explain tramp-inhibit-errors-if-setting-file-attributes-fail.

* lisp/net/tramp.el
(tramp-inhibit-errors-if-setting-file-attributes-fail): New defcustom.
(tramp-skeleton-set-file-modes-times-uid-gid): Use it.
2024-04-19 12:15:47 +02:00
Elias G. B. Perez
3c4f6c78b4 Flymake support for indicating errors in margin
Add optional support for display flymake error in margin,
this allow displaying error indicators in both graphical and
terminal frames.
* doc/misc/flymake.texi (Customizable variables)
(Flymake error types): Document new margin indicator.
* etc/NEWS: Announce the new Flymake user option for margin
indicators.
* lisp/progmodes/flymake.el (flymake-indicator-type)
(flymake-margin-indicators-string, flymake-autoresize-margins)
(flymake-margin-indicator-position): New user options.
(flymake--original-margin-width): Add buffer-local variable for
store original buffer margin width.
(flymake-error, flymake-warning, flymake-note): Use new margin
value.
(flymake--indicator-overlay-spec): Rework and Rename from
flymake--fringe-overlay-spec.
(flymake--resize-margins): Add new function for resize margin
width.
(flymake--highlight-line, flymake-mode): Rework.
2024-04-18 12:08:33 +03:00
Stephen Berman
91333dacfa Allow tabbing between widgets to skip inactive widgets (bug#70413)
* doc/misc/widget.texi (Widgets and the Buffer, Customization):
Document it.

* etc/NEWS: Announce it.

* lisp/wid-edit.el (widget-skip-inactive): New user option.
(widget-tabable-at): Use it.
2024-04-17 19:33:24 +02:00
Eric Abrahamsen
2141caca30 ; Improvements to PEG documentation (second attempt)
* doc/lispref/peg.texi: Make more use of defmac/defmacro, and try to
clarify the relationships between the various macros and functions.
* lisp/progmodes/peg.el (peg-parse): Remove claim that PEXS can also be
a single list of rules.
2024-04-16 17:26:47 -07:00
Mattias Engdegård
9a673c6914 Revert "; Improvements to PEG documentation"
This reverts commit 930c578c10.
Looks like an editing mistake ate a large part of the text.
2024-04-16 11:59:20 +02:00
Eric Abrahamsen
930c578c10 ; Improvements to PEG documentation
* doc/lispref/peg.texi: Make more use of defmac/defmacro, and try to
clarify the relationships between the various macros and functions.
* lisp/progmodes/peg.el (peg-parse): Remove claim that PEXS can also be
a single list of rules.
2024-04-15 20:14:50 -07:00
Po Lu
deef12c15d Rewrite Android description of Android window management
* doc/emacs/android.texi (Android Environment): Rewrite several
paragraphs to better reflect recent changes and emphasize
behavior on modern OS releases.
2024-04-15 19:58:03 +08:00
Eli Zaretskii
ecb80e0e8a ; Improve wording in documentation of 'not and 'null'
* doc/lispref/control.texi (Combining Conditions):
* doc/lispref/lists.texi (List-related Predicates): Clarify
wording of 'not' vs 'null'.  (Bug#70392)
2024-04-15 14:52:03 +03:00
Juri Linkov
568c174135 Add 'forward-sexp-default-function' to be used by 'treesit-forward-sexp'
* lisp/emacs-lisp/lisp.el (forward-sexp-default-function):
New function with body from 'forward-sexp' (bug#68993).
(forward-sexp-function): Change the default value from nil to
'forward-sexp-default-function'.
(forward-sexp): Use either 'forward-sexp-function' or
'forward-sexp-default-function'.

* lisp/treesit.el (treesit-forward-sexp): In nodes of type 'text'
fall back to 'forward-sexp-default-function'.  Improve docstring.

* doc/lispref/positions.texi (List Motion): Fix pxref.
2024-04-14 19:22:01 +03:00
Stefan Monnier
cd113d8c45 text.texi (Tracking changes): Fix warning
* doc/lispref/text.texi (Change Hooks): Add a menu to silence warnings.
(Tracking changes): Improve the title.
2024-04-14 12:07:23 -04:00
Earl Hyatt
7add47337b Add command 'list-keyboard-macros' that works like 'list-buffers'.
The command 'list-keyboard-macros' allows editing and re-arranging
macros using 'tabulated-list-mode'.  Existing keyboard macros can be
duplicated or deleted.  Macro counters and counter formats can take new
values read from the minibuffer.  Macro keys can be edited using
'edit-kbd-macro'.

* doc/emacs/kmacro.texi (Kmacro Menu): Document the new command
and the menu's commands.
* etc/NEWS (Kmacro Menu Mode): Mention the new mode and command.
* lisp/kmacro.el (kmacro-menu-mark, kmacro-menu-marked)
(kmacro-menu-flagged): Add faces for marks and flags.
* lisp/kmacro.el (kmacro-menu-mode-map, kmacro-menu-mode): Add mode
and map.
* lisp/kmacro.el (list-keyboard-macros, kmacro-menu): Add command.
* lisp/kmacro.el (kmacro-menu--deletion-flags, kmacro-menu--marks)
(kmacro-menu--id-kmacro, kmacro-menu--id-position, kmacro-menu--kmacros)
(kmacro-menu--refresh, kmacro-menu--map-ids, kmacro-menu--replace-all)
(kmacro-menu--replace-at, kmacro-menu--query-revert, kmacro-menu--assert-row)
(kmacro-menu--propertize-keys, kmacro-menu--do-region)
(kmacro-menu--marks-exist-p): Add utility functions of mode
and commands.
* lisp/kmacro.el (kmacro-menu-mark, kmacro-menu-flag-for-deletion)
(kmacro-menu-unmark, kmacro-menu-unmark-backward)
(kmacro-menu-unmark-all): Add commands for marks and flags.
* lisp/kmacro.el (kmacro-menu-do-flagged-delete, kmacro-menu-do-copy)
(kmacro-menu-do-delete): Add commands that modify the ring.
* lisp/kmacro.el (kmacro-menu-edit-position, kmacro-menu-transpose)
(kmacro-menu-edit-format, kmacro-menu-edit-counter)
(kmacro-menu-edit-keys, kmacro-menu-edit-column): Add commands that
modify a keyboard macro.
2024-04-14 12:39:17 +03:00
Stefan Kangas
bbc5204a0f * doc/misc/calc.texi: Improve indexing. 2024-04-13 23:46:31 +02:00
Stefan Monnier
17e26cf57e (define-globalized-minor-mode): Require the use of run-mode-hooks
When `define-globalized-minor-mode` was introduced (Emacs-22),
`run-mode-hooks` was brand new, so we could not expect all major
modes to use it and we had to rely on brittle workarounds to try
and approximate `after-change-major-mode-hook`.

These workarounds have undesirable side effects, and (we hope)
they're not needed any more now that virtually all major modes
have been changed to use `run-mode-hooks` (or
`define-derived-mode`).

* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Rely only on `after-change-major-mode-hook`, remove the "cmhh"
[typo for the intended "cmmh", BTW] workaround.

* doc/lispref/modes.texi (Mode Hooks): Clarify the importance of
`after-change-major-mode-hook` w.r.t `define-globalized-minor-mode`.
(Defining Minor Modes): Rewrite the explanation of which buffers
are affected, including adjusting it to the fact that
`fundamental-mode` has used run `run-mode-hooks` for last 10 years.
2024-04-13 10:31:28 -04:00
Stefan Monnier
d67e08d6c3 Merge branch 'track-changes' 2024-04-13 09:44:12 -04:00
Stefan Monnier
d7a83e23d4 lisp/emacs-lisp/track-changes.el: New file (bug#70077)
This new package provides an API that is easier to use right than
our `*-change-functions` hooks.

The patch includes changes to `diff-mode.el` and `eglot.el` to
make use of this new package.

* lisp/emacs-lisp/track-changes.el: New file.
* test/lisp/emacs-lisp/track-changes-tests.el: New file.
* doc/lispref/text.texi (Tracking changes): New subsection.

* lisp/progmodes/eglot.el: Require `track-changes`.
(eglot--virtual-pos-to-lsp-position): New function.
(eglot--track-changes): New var.
(eglot--managed-mode): Use `track-changes-register` i.s.o
`after/before-change-functions` when available.
(eglot--track-changes-signal): New function, partly extracted from
`eglot--after-change`.
(eglot--after-change): Use it.
(eglot--track-changes-fetch): New function.
(eglot--signal-textDocument/didChange): Use it.

* lisp/vc/diff-mode.el: Require `track-changes`.
Also require `easy-mmode` before the `eval-when-compile`s.
(diff-unhandled-changes): Delete variable.
(diff-after-change-function): Delete function.
(diff--track-changes-function): Rename from `diff-post-command-hook`
and adjust to new calling convention.
(diff--track-changes): New variable.
(diff--track-changes-signal): New function.
(diff-mode, diff-minor-mode): Use it with `track-changes-register`.
2024-04-13 09:43:11 -04:00
Eli Zaretskii
adbcf268bc Merge from origin/emacs-29
f0300fb059 ; Tweak "(emacs)Bug Reference" formatting/wording.
ea62a14ea3 Fix display of vscrolled windows
4cefa3c0b1 ; * doc/emacs/files.texi (Backup): Clarify "saving" (bug#...
db7b571aaa ; Improve documentation of 'world-clock'
6a0bb7beae * doc/emacs/misc.texi (emacsclient Options): Suggest forw...
859b4227e3 Update go-ts-mode to support latest tree-sitter-go grammar
407e85ce13 Fix c++-ts-mode defun navigation (bug#65885)
aca5064f12 ; Fix last change.
55aab2d471 ; * etc/PROBLEMS: An entry about focus issues with XFCE (...
19cee16576 ; * doc/emacs/misc.texi (emacsclient Options): Fix typo. ...
2a41b6ba51 ; * src/filelock.c (Flock_file): Doc fix (bug#70216).
2024-04-13 07:37:13 -04:00
Eli Zaretskii
952f20fabe ; Fix documentation of last change.
* etc/NEWS:
* doc/lispref/display.texi (Other Display Specs):
* doc/lispref/text.texi (Special Properties): Fix last changes.
2024-04-13 14:20:16 +03:00
Vladimir Kazanov
5734047b81 Support tooltips for fringe indicators
* src/xdisp.c (note_fringe_highlight): New function.
(note_mouse_highlight): Call it when the mouse is on the fringes.
* src/frame.c (syms_of_frame) <left-fringe-help>
<right-fringe-help>: DEFSYM them.

* etc/NEWS:
* doc/lispref/text.texi (Special Properties):
* doc/lispref/display.texi (Other Display Specs): Document the new
properties.
* etc/TODO: Remove the todo item about this.
2024-04-13 14:14:04 +03:00
Eli Zaretskii
8b210a636f ; Improve documentation of tree-sitter "things"
* doc/lispref/parsing.texi (User-defined Things): Fix text,
punctuation, and markup.
(Tree-sitter Major Modes): Add the missing "things" reference.

* etc/NEWS: Fix "thing"-related entries.
2024-04-13 11:52:57 +03:00
Basil L. Contovounesios
f0300fb059 ; Tweak "(emacs)Bug Reference" formatting/wording. 2024-04-13 10:36:50 +02:00
Eli Zaretskii
f93df59e8c ; Fix documentation of a recent change in dbus.el (bug#70301)
* lisp/net/dbus.el (dbus-string-to-byte-array)
(dbus-byte-array-to-string):
* etc/NEWS:
* doc/misc/dbus.texi (Type Conversion): Fix documentation of these
two D-Bus functions.
2024-04-12 14:26:27 +03:00
Michael Albinus
a69890eea9 Improve D-Bus byte-array conversion
* doc/misc/dbus.texi (Type Conversion): Adapt dbus-byte-array-to-string.

* etc/NEWS: D-Bus byte array conversion works over raw UTF-8 bytes.
Fix typos.

* lisp/net/dbus.el (dbus-string-to-byte-array)
(dbus-byte-array-to-string): BYTE-ARRAY must be an UTF-8 raw bytes
sequence.  Make optional argument MULTIBYTE obsolete.  (Bug#70301)
(dbus-call-method-handler, dbus-register-signal)
(dbus-escape-as-identifier): Use `length=' and `length>'.

* test/lisp/net/dbus-tests.el (dbus--test-method-handler)
(dbus-test09-get-managed-objects): Use `length='.
(dbus-test01-type-conversion): Extend test.

* test/lisp/net/secrets-tests.el (secrets-test03-items): Extend test.
2024-04-12 10:09:45 +02:00
Eli Zaretskii
0fab2649e2 ; Improve documentation of completion commands
* doc/emacs/mini.texi (Completion Commands): Mention that '?' also
shows a couple of commands.
2024-04-11 21:48:47 +03:00
Eli Zaretskii
4cefa3c0b1 ; * doc/emacs/files.texi (Backup): Clarify "saving" (bug#70326). 2024-04-10 22:31:57 +03:00
Juri Linkov
103a2fdf18 * doc/lispref/parsing.texi (Parsing Program Source): Fix menu.
Add the new node "User-defined Things" to the menu.
2024-04-10 21:07:21 +03:00
Peter Oliver
6a0bb7beae * doc/emacs/misc.texi (emacsclient Options): Suggest forwarding sockets.
(Bug#66667)
2024-04-10 10:42:39 +02:00
Eli Zaretskii
6c9855d336 Improve documentation of Text Mode
* doc/emacs/text.texi (Text Mode): Improve indexing.  Document
'text-mode-ispell-word-completion'.
2024-04-08 21:02:01 +03:00
Yuan Fu
4efe3b99a5
Document tree-sitter things feature (bug#70016) (bug#68824)
* doc/lispref/parsing.texi (Retrieving Nodes): Mention new kinds of
predicate argument that the tree-traversing functions accept (which are
thing symbols and thing definitions).
(User-defined Things): New node dedicated to thing definition and
navigation functions.
2024-04-07 23:22:44 -07:00
Michael Albinus
19cee16576 ; * doc/emacs/misc.texi (emacsclient Options): Fix typo. (Bug#70238) 2024-04-07 09:15:42 +02:00
Po Lu
ae296d762b Port new Android window management strategy to Android 5.0
* doc/emacs/android.texi (Android Windowing): Revise to match.

* java/org/gnu/emacs/EmacsWindowManager.java (registerWindow)
(removeWindowConsumer, pruneWindows): Decrease minimum API for
monitoring of tasks to Android 5.0.
(getTaskToken): Ignore misleading documentation and access
baseIntent by way of RecentTaskInfo.
2024-04-07 12:15:39 +08:00
Eli Zaretskii
b4864ca4af Merge from origin/emacs-29
3d87d74a23 ; * etc/PROBLEMS: Entry about slow mouse-wheel with GTK3 ...
c6899603b9 ; * doc/lispref/tips.texi (Documentation Tips): Improve (...
bd2c4d825d ; Update admin/make-tarball.txt
f107dc26e3 ; * etc/PROBLEMS: Add an entry about WebKitGTK (bug#66068).
2024-04-06 11:13:35 -04:00
Eli Zaretskii
fab58ffc22 ; * doc/lispref/commands.texi (Focus Events): Fix markup of last change. 2024-04-06 13:13:27 +03:00
Jared Finder
9260904072 Add documentation for 'switch-window' event
* doc/lispref/commands.texi (Focus Events): Add
documentation for the structure of 'switch-window' events.
Make sure to be clear when referring to window system windows
vs Emacs windows.
* doc/lispref/windows.texi (Mouse Window Auto-selection):
Adding cross-reference to "Focus Events".  (Bug#69915)
2024-04-06 13:08:21 +03:00
Basil L. Contovounesios
64e1cfb98c ; Fix indentation in last change to windows.texi. 2024-04-05 09:55:58 +02:00
Po Lu
aad63f935f Enable relinquishing access to Android content directories
* doc/emacs/android.texi (Android Document Providers): Document
new command.

* java/org/gnu/emacs/EmacsService.java (relinquishUriRights):
New function.

* src/Makefile.in (SOME_MACHINE_OBJECTS): Add androidvfs.c.

* src/android.c (android_init_emacs_service): Link to new
function.

* src/android.h (struct android_emacs_service)
<relinquish_uri_rights>: New field.

* src/androidfns.c:

* src/androidvfs.c (android_saf_tree_name)
(android_saf_tree_opendir): Minor adjustments to commentary.
(Fandroid_relinquish_directory_access): New function.
(syms_of_androidvfs): Define new subr.
2024-04-05 15:04:09 +08:00
Eli Zaretskii
c6899603b9 ; * doc/lispref/tips.texi (Documentation Tips): Improve (bug#70163). 2024-04-04 16:28:31 +03:00
Michael Albinus
77022a0d73 ; * doc/misc/cl.texi (Function Bindings): Fix reference. 2024-04-04 15:24:15 +02:00
Po Lu
ad5c6de2fc Revise android.texi to agree with last change
* doc/emacs/android.texi (Android Windowing): Revise to agree
with last change
2024-04-03 20:31:22 +08:00
Mattias Engdegård
0670032c0d json-insert doc fixes
* src/json.c (Fjson_insert): Precise the behaviour when the current
buffer is multibyte and unibyte, respectively.
* doc/lispref/text.texi (Parsing JSON): Refer to the right function.
2024-04-02 19:06:39 +02:00
Juri Linkov
9af533dc75 New condition/action entry 'category' for 'display-buffer' (bug#69983)
* doc/lispref/windows.texi (Choosing Window): Provide an example
of using '(category . comint)' in the condition of 'display-buffer-alist'
and in the action of 'display-buffer'.
(Buffer Display Action Alists): Add a new action alist entry 'category'.

* lisp/subr.el (buffer-match-p): Add a new condition 'category'.

* lisp/window.el (display-buffer): Document a new action alist entry
'category'.
2024-04-02 19:51:51 +03:00
Mattias Engdegård
51e102a7c8 ; * doc/lispref/processes.texi: use @code for keywords in @table
See discussion in bug#69709.
2024-04-01 14:43:30 +02:00
Zajcev Evgeny
61d70186a4 Add support for ch' and cw' dimension specifiers for images
* src/image.c (image_get_dimension, lookup_image): Handle `ch'
and `cw' dimension specifiers in addition to `em'.
* src/dispextern.h: Add new members `face_font_height' and
`face_font_width' to `struct image'.

* doc/lispref/display.texi (Image Descriptors): Document
`ch' and `cw'.
2024-04-01 14:18:05 +03:00
Michael Albinus
305e35b2d8 Adapt Tramp versio (don't merge)
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.6.3".
(customize-package-emacs-version-alist):
Adapt Tramp version integrated in Emacs 29.3.
2024-03-31 14:13:14 +02:00
Eshel Yaron
de8cae30bc
Add global minor mode 'global-completion-preview-mode'
This is a global variant of 'completion-preview-mode'.

* lisp/completion-preview.el (global-completion-preview-mode): New
global minor mode.

* doc/emacs/programs.texi (Symbol Completion): Document it.

* etc/NEWS: Announce it.  (Bug#70010)
2024-03-31 09:32:50 +02:00
Eli Zaretskii
994bcc125b Fix the new PEG library
* doc/lispref/peg.texi (Parsing Expression Grammars)
(PEX Definitions, Parsing Actions, Writing PEG Rules): Fix markup,
indexing, and wording.

* etc/NEWS: Fix wording of PEG entry.

* test/lisp/progmodes/peg-tests.el: Move from test/lisp/, to match
the directory of peg.el.
2024-03-31 10:29:34 +03:00
Eric Abrahamsen
8bee4060ea Add peg.el as a built-in library
* lisp/progmodes/peg.el: New file, taken from ELPA package.
* test/lisp/peg-tests.el: Package tests.
* doc/lispref/peg.texi: Documentation.
2024-03-30 15:19:47 -07:00
Mattias Engdegård
1135ce461d Always enable native JSON support and remove Jansson references
* src/json.c (Fjson__available_p): Remove.
* lisp/subr.el (json-available-p): Always return t.
* admin/nt/dist-build/build-dep-zips.py:
* configure.ac:
* doc/lispref/text.texi (Parsing JSON):
* java/INSTALL:
* java/org/gnu/emacs/EmacsNative.java (EmacsNative):
* lisp/term/w32-win.el (dynamic-library-alist):
* m4/ndk-build.m4 (ndk_INIT):
* msdos/sed1v2.inp:
* nt/INSTALL:
* nt/INSTALL.W64:
* src/Makefile.in:
* src/emacs.c (main):
* src/lisp.h:
Remove JSON configuration options and references to it and Jansson from
documentation and build files.
* etc/NEWS: Announce.
2024-03-30 15:19:56 +01:00
Tony Zorman
77115be256 Add use-package-vc-prefer-newest user option
* lisp/use-package/use-package-core.el (use-package-vc-prefer-newest):
User option to prefer the latest commit (as opposed to the latest
release) of a package.
(use-package-normalize--vc-arg): Check for
use-package-vc-prefer-newest.

* doc/misc/use-package.texi (Install package): Document
use-package-vc-prefer-newest.

* etc/NEWS: Document use-package-vc-prefer-newest.
2024-03-30 13:49:21 +01:00
Eli Zaretskii
b1e33b0b62 Merge from origin/emacs-29
38faacf353 Improve documentation of <Delete> in user manual
9d3d77f12d Fix documentation of 'other-window-for-scrolling'
2024-03-30 04:38:17 -04:00
Mattias Engdegård
f04bd55687 value< manual entry adjustments (bug#69709)
* doc/lispref/sequences.texi (Sequence Functions):
Explain lexicographical ordering.  Note the dual nature of `nil`.
Mention the depth limit.
2024-03-29 15:51:23 +01:00
Eli Zaretskii
1f19ddec5b ; * doc/lispref/sequences.texi (Sequence Functions): Fix markup and examples. 2024-03-29 15:03:44 +03:00
Mattias Engdegård
cbd862865f Remove sort-on (bug#69709)
* lisp/sort.el (sort-on):
* doc/lispref/sequences.texi (Sequence Functions):
* etc/NEWS:
Remove the `sort-on` function which is now completely superseded by
the extended `sort` in features, ease of use, and performance.
2024-03-29 11:39:38 +01:00
Mattias Engdegård
92d659ce6c Use new-style sort signature in Lisp manual examples
* doc/lispref/help.texi (Accessing Documentation):
* doc/lispref/strings.texi (Text Comparison):
Use the new sort calling convention (bug#69709).
2024-03-29 11:39:38 +01:00
Mattias Engdegård
ae5f2c02bd New sort keyword arguments (bug#69709)
Add the :key, :lessp, :reverse and :in-place keyword arguments.
The old calling style remains available and is unchanged.

* src/fns.c (sort_list, sort_vector, Fsort):
* src/sort.c (tim_sort):
Add keyword arguments with associated new features.
All callers of Fsort adapted.
* test/src/fns-tests.el (fns-tests--shuffle-vector, fns-tests-sort-kw):
New test.
* doc/lispref/sequences.texi (Sequence Functions): Update manual.
* etc/NEWS: Announce.
2024-03-29 11:39:38 +01:00
Mattias Engdegård
1232ab31c6 Add value< (bug#69709)
It's a general-purpose polymorphic ordering function, like `<` but
for any two values of the same type.

* src/data.c (syms_of_data): Add the `type-mismatch` error.
(bits_word_to_host_endian): Move...
* src/lisp.h (bits_word_to_host_endian): ...here, and declare inline.
* src/fns.c (Fstring_lessp): Extract the bulk of this function to...
(string_cmp): ...this 3-way comparison function, for use elsewhere.
(bool_vector_cmp, value_cmp, Fvaluelt): New.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns, pure-fns):
Add `value<`, which is pure and side-effect-free.
* test/src/fns-tests.el (fns-value<-ordered, fns-value<-unordered)
(fns-value<-type-mismatch, fns-value<-symbol-with-pos)
(fns-value<-circle, ert-deftest fns-value<-bool-vector): New tests.
* doc/lispref/sequences.texi (Sequence Functions):
* doc/lispref/numbers.texi (Comparison of Numbers):
* doc/lispref/strings.texi (Text Comparison):
Document the new value< function.
* etc/NEWS: Announce.
2024-03-29 11:39:38 +01:00
Po Lu
755665d95a Prevent Android OS task trimming from deleting Emacs frames
* doc/emacs/android.texi (Android Windowing): Document proviso
on Android 7.0 and later.

* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
<timeOfLastInteraction>: New field.
(onStop, onResume): Set and clear timeOfLastInteraction.
(isReallyFinishing): New function.
(onDestroy): Don't delete frame even in the event isFinishing
returns true if more than 4 hours have elapsed since the
activity last moved into the background.
2024-03-29 08:26:48 +08:00
Vladimir Kazanov
cdd7093e17 Improve ert-font-lock assertion parser (Bug#69714)
Fail on files with no assertions, parser now accepts multiple
carets per line and face lists:
* lisp/emacs-lisp/ert-font-lock.el: Assertion parser fix.
* test/lisp/emacs-lisp/ert-font-lock-resources/no-asserts.js:
* test/lisp/emacs-lisp/ert-font-lock-tests.el
(test-parse-comments--no-assertion-error)
(test-syntax-highlight-inline--caret-negated-wrong-face)
(test-macro-test--file-no-asserts): New test cases.
* doc/misc/ert.texi (Syntax Highlighting Tests): More syntax examples.
2024-03-28 11:40:27 +02:00
Eli Zaretskii
351d98535d ; Fix recently-changed documentation
* src/buffer.c (syms_of_buffer) <text-conversion-style>:
* doc/lispref/commands.texi (Misc Events): Fix wording and
punctuation of the documentation.
2024-03-26 14:24:16 +02:00
Po Lu
728bf2c9e5 Prevent passwords from being recorded during text conversion
* doc/lispref/commands.texi (Misc Events): Document new value of
text-conversion-style.

* java/org/gnu/emacs/EmacsService.java (EmacsService)
<IC_MODE_PASSWORD>: New constant.

* java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
Set TYPE_TEXT_VARIATION_PASSWORD and IME_FLAG_FORCE_ASII if mode
is IC_MODE_PASSWORD.

* lisp/subr.el (read-passwd): Set text-conversion-style to
`password'.

* src/androidgui.h (enum android_ic_mode): New value
ANDROID_IC_MODE_PASSWORD.

* src/androidterm.c (android_reset_conversion): Handle
`password'.

* src/buffer.c (syms_of_buffer)
<&BVAR (current_buffer, text_conversion_style)>: Update doc
string.

* src/textconv.c (syms_of_textconv) <Qpassword>: New DEFSYM.
<Vtext_conversion_edits>: Fix typos in doc string.
2024-03-26 10:11:26 +08:00
Eli Zaretskii
38faacf353 Improve documentation of <Delete> in user manual
* doc/emacs/basic.texi (Erasing): Document that <Delete> deletes
entire grapheme clusters.
2024-03-25 21:49:55 +02:00
Eli Zaretskii
a79b424f7f Document the 'I' command in buffer-menu
* doc/emacs/buffers.texi (Several Buffers): Document 'I'.  Fix
indexing.
(List Buffers): Mention 'I'.  (Bug#69987)

* etc/NEWS: Mark 'I' as documented.
2024-03-25 14:53:23 +02:00
Stefan Monnier
044558766a * doc/emacs/help.texi (Name Help): Mention buttons (bug#69935) 2024-03-23 22:27:34 -04:00
Basil L. Contovounesios
8578652b5b ; Fix markup in recent change to dired-x.texi. 2024-03-23 20:17:01 +01:00
Joseph Turner
79c758187c Recompute :map when image :scale, :rotation, or :flip changes
Now, when transforming an image, its :map is recomputed to fit.
Image map coordinates are integers, so when computing :map,
coordinates are rounded.  To prevent an image from drifting from
its map after repeated transformations, 'create-image' now adds
a new image property :original-map, which is combined with the
image's transformation parameters to recompute :map.

* lisp/image.el (image-recompute-map-p): Add user option to
control whether :map is recomputed when an image is transformed.
(create-image): Create :map from :original-map and vice versa.
(image--delayed-change-size): Fix comment.
(image--change-size, image-rotate, image-flip-horizontally,
image-flip-vertically): Recompute image map after transformation
and mention 'image-recompute-map-p' in docstring.
(image--compute-map): Add function to compute a map from original
map.
(image--compute-original-map): Add function to compute an
original map from map.
(image--scale-map): Add function to scale a map based on :scale.
(image--rotate-map): Add function to rotate a map based on
:rotation.
(image--rotate-coord): Add function to rotate a map coordinate
pair.
(image--flip-map): Add function to flip a map based on :flip.
(image-increase-size, image-decrease-size, image-mouse-increase-size)
(image-mouse-decrease-size): Mention 'image-recompute-map-p' in
docstrings.
* etc/NEWS: Add NEWS entry.
* doc/lispref/display.texi (Image Descriptors): Document :original-map
and new user option 'image-recompute-map-p'.
* test/lisp/image-tests.el (image--compute-map-and-original-map):
Test 'image--compute-map' and 'image--compute-original-map'.
(image-tests--map-equal): Add equality predicate to compare image maps.
(image-create-image-with-map): Test that 'create-image' adds :map
and/or :original-map as appropriate.
(image-transform-map): Test functions related to transforming maps.
(Bug#69602)
2024-03-23 19:54:53 +02:00
Jim Porter
4b0f5cdb01 Add 'eww-readable-urls'
* lisp/net/eww.el (eww-readable-urls): New option.
(eww-default-readable-p): New function...
(eww-display-html): ... use it.

* test/lisp/net/eww-tests.el (eww-test/readable/default-readable): New
test.

* doc/misc/eww.texi (Basics): Document 'eww-readable-urls'.

* etc/NEWS: Announce this change (bug#68254).
2024-03-23 10:17:06 -07:00
Jim Porter
72972118e6 Allow toggling "readable" mode in EWW
Additionally, add an option to prevent adding a new history entry for
each call of 'eww-readable' (bug#68254).

* lisp/net/eww.el (eww-retrieve):

* lisp/net/eww.el (eww-readable-adds-to-history): New option.
(eww-retrieve): Make sure we call CALLBACK in all configurations.
(eww-render): Simplify how to pass encoding.
(eww--parse-html-region, eww-display-document): New functions, extracted
from...
(eww-display-html): ... here.
(eww-document-base): New function.
(eww-readable): Toggle "readable" mode interactively, like with a minor
mode.  Consult 'eww-readable-adds-to-history'.
(eww-reload): Use 'eshell-display-document'.

* test/lisp/net/eww-tests.el (eww-test--with-mock-retrieve): Fix indent.
(eww-test/display/html, eww-test/readable/toggle-display): New tests.

* doc/misc/eww.texi (Basics): Describe the new behavior.

* etc/NEWS: Announce this change.
2024-03-23 10:17:06 -07:00
Eli Zaretskii
af1e36d0c6 ; * doc/misc/dired-x.texi (Omitting Variables): Fix markup. 2024-03-23 19:10:17 +02:00
Spencer Baugh
abc2d39e01 Use 'regexp-opt' in 'dired-omit-regexp'
In my benchmarking, for large dired buffers, using 'regexp-opt'
provides around a 3x speedup in omitting.

'regexp-opt' takes around 5 milliseconds, so to avoid slowing
down omitting in small dired buffers we cache the return value.

Since omitting is now 3x faster, increase 'dired-omit-size-limit'
by 3x.  Also, document 'dired-omit-size-limit' better.

* doc/misc/dired-x.texi (Omitting Variables): Document
'dired-omit-size-limit'.
* etc/NEWS: Announce increase of 'dired-omit-size-limit'.
* lisp/dired-x.el (dired-omit--extension-regexp-cache): Add.
(dired-omit-regexp): Use 'regexp-opt'.  (Bug#69775)
(dired-omit-size-limit): Increase and improve docs.
2024-03-23 19:07:49 +02:00
Eli Zaretskii
3bd7a90dde Merge from origin/emacs-29
e95a862226 ; * lisp/keymap.el (key-parse): Fix processing of "[TAB]"...
afb7a23e7b ; Improve documentation of 'backup-by-copying'
2024-03-23 06:51:40 -04:00
Eli Zaretskii
e813c0fa3a Merge from origin/emacs-29
689f04a2dd Clarify description of format-spec truncation
759dedfab0 More accurate documentation of 'rmail-mail-new-frame'
fa79de7c6b ; * lisp/calendar/calendar.el: Remove extra space.
7f6e335f4b Fix documentation of M-SPC in user manual
5bdc2436c6 ; * lisp/emacs-lisp/cl-macs.el (cl-labels): Fix stray dif...
8014dbb2ad * admin/notes/bugtracker: Minor copyedit.
06a991e7e8 ; * admin/notes/bugtracker: Minor copyedit.
c890622e1a Tweak regexp for object initializers in csharp-mode (bug#...
f48babb112 `term-mode': mention the keymap to add keybindings to
8cf05d9be1 Fix 'shortdoc-copy-function-as-kill'
d5901f3f05 Improve documentation of 'edebug-print-*' variables
2024-03-23 06:51:39 -04:00
Jonas Bernoulli
c214fc9626
Update to Transient v0.6.0-1-gcaef3347 2024-03-21 23:55:38 +01:00
Eli Zaretskii
afb7a23e7b ; Improve documentation of 'backup-by-copying'
* doc/emacs/files.texi (Backup Copying): Recommend
'backup-by-copying' for files on file-hosting services.  (Bug#69930)
2024-03-21 21:35:24 +02:00
Adam Porter
393f58c85a 'vtable-update-object' can now be called with one argument
It's often necessary to update the representation of a single
object in a table (e.g a struct, whose identity does not change
when its slots'
values are changed).  To do so, now the function may be called
like this:

  (vtable-update-object table object)

Instead of like this:

  (vtable-update-object table object object)

This also documents the behavior of the just-discovered limitation filed
as bug#69837.
* lisp/emacs-lisp/vtable.el (vtable-update-object): Make 'old-object'
argument optional.  (Bug#69666)

* doc/misc/vtable.texi (Interface Functions): Update documentation.

* etc/NEWS: Add news entry.
2024-03-21 12:41:44 +02:00
Basil L. Contovounesios
689f04a2dd Clarify description of format-spec truncation
* doc/lispref/strings.texi (Custom Format Strings): Mention that
precision specifier affects both '<' and '>' truncation (bug#69822).
* lisp/format-spec.el (format-spec, format-spec--do-flags): Use same
terminology as 'format', especially when referring to its behavior.
2024-03-21 10:43:17 +01:00
Eli Zaretskii
759dedfab0 More accurate documentation of 'rmail-mail-new-frame'
* doc/emacs/rmail.texi (Rmail Reply): More accurate documentation
of the effects of 'rmail-mail-new-frame'.  (Bug#69738)
2024-03-21 10:55:59 +02:00
Po Lu
ad0492c5a9 Android compatibility fixes
* doc/emacs/android.texi (Android Windowing): Document
restrictions on number of windows under Android 4.4 and earlier.

* java/AndroidManifest.xml.in <EmacsActivity>
<EmacsOpenActivity, EmacsMultitaskActivity>: Assign each class
of activity a unique task affinity.

* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Remove redundant priority assignment.

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Handle
file URIs when processing attachments from a mailto URI, and
check for KitKat before opening content ones.

* java/org/gnu/emacs/EmacsWindow.java <pointerMap>
(figureChange): Replace coordinate HashMap with a SparseArray.

* java/org/gnu/emacs/EmacsWindowAttachmentManager.java
(registerWindow): Don't specify FLAG_ACTIVITY_NEW_DOCUMENT on
systems where it is absent.
2024-03-21 14:23:40 +08:00
Eli Zaretskii
7f6e335f4b Fix documentation of M-SPC in user manual
* doc/emacs/killing.texi (Deletion): Fix documentation of
'cycle-spacing'.  (Bug#69905)
2024-03-20 14:45:24 +02:00
Po Lu
a7cb220523 Update android.texi
* doc/emacs/android.texi (Android Startup): Describe
/content/by-authority-named.
2024-03-19 12:17:43 +08:00
Stefan Monnier
63e67916b0 Followup changes to cl-type-of
These changes came up while working on `cl-type-of` but are not
directly related to the new `cl-type-of`.
The BASE_PURESIZE bump was needed at some point on one of my
machine, not sure why.

* src/puresize.h (BASE_PURESIZE): Bump up.
* src/sqlite.c (bind_value): Don't use `Ftype_of`.
* lisp/emacs-lisp/seq.el (seq-remove-at-position): Simplify.
* lisp/emacs-lisp/cl-preloaded.el (finalizer):
New (previously missing) type.
* doc/lispref/objects.texi (Type Predicates): Minor tweaks.
2024-03-18 09:32:53 -04:00
Stefan Monnier
706403f2aa (cl-type-of): New function to return more precise types (bug#69739)
* src/data.c (Fcl_type_of): New function, extracted from `Ftype_of`.
Make it return more precise types for symbols, integers, and subrs.
(Ftype_of): Use it.
(syms_of_data): Define the corresponding new symbols and defsubr
the new function.

* doc/lispref/objects.texi (Type Predicates): Document it.

* src/comp.c (emit_limple_insn): Use `Fcl_type_of`.

* lisp/emacs-lisp/cl-preloaded.el (subr): Demote it to `atom`.
(subr-native-elisp, subr-primitive): Add `compiled-function` as
parent instead.
(special-form): New type.

* lisp/obsolete/eieio-core.el (cl--generic-struct-tag):
* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-generalizer):
Use `cl-type-of`.
cl--generic--unreachable-types): Update accordingly.

test/src/data-tests.el (data-tests--cl-type-of): New test.
2024-03-18 09:29:47 -04:00
Protesilaos Stavrou
67b0c1c09e
Update modus-themes to their 4.4.0 version
* doc/misc/modus-themes.org: Update the manual to better document
existing functionality and cover the new features.

* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-operandi-tritanopia-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el:
* etc/themes/modus-vivendi-tritanopia-theme.el: Update the
palette of each theme.

* etc/themes/modus-themes.el (require): Remove call to cl-lib
and do not use relevant functions.
(modus-themes-operandi-colors, modus-themes-vivendi-colors)
(modus-themes-version, modus-themes-report-bug): Remove old
calls to 'make-obsolete' and related.

(modus-themes--annotate-theme): Tweak the completion annotation function.

(modus-themes--org-block): Deprecate the user option 'modus-themes-org-blocks'.
(modus-themes-faces): Update faces.
(modus-themes-custom-variables): Update the list of custom
variables.

Detailed release notes are available here:
<https://protesilaos.com/codelog/2024-03-17-modus-themes-4-4-0/>.
2024-03-17 18:46:15 +02:00
Eli Zaretskii
d855f1c3f9 ; Fix recent changes in documentation
* doc/lispref/markers.texi (Information from Markers):
* etc/NEWS: Improve description of 'marker-last-position'.
2024-03-16 11:58:56 +02:00
Eli Zaretskii
d60d625f6e Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2024-03-16 05:52:31 -04:00
Eli Zaretskii
cc8a2c57b5 Merge from origin/emacs-29
3b791ebbe1 ; Fix 'usage:' keyword in Ffile_name_concat doc.
ed48b0d657 ; * CONTRIBUTE: Ask not to use non-ASCII unless necessary.
b708e639d6 ; * src/lread.c (maybe_swap_for_eln): Clarify warning mes...
db027a0697 ; Fix bibtex-biblatex-field-alist docstring typo.
a9be5c7ea9 ; * doc/lispref/control.texi (Conditionals): Add missing ...
db5915f30b Fix 'with-sqlite-transaction'
fe491173e8 ; * doc/emacs/files.texi (Image Mode): Fix typo (bug#69671).
2024-03-16 05:47:41 -04:00
Martin Rudalics
c12852bbf6 Document and announce 'marker-last-position'
* doc/lispref/markers.texi (Information from Markers): Document
'marker-last-position'.
* etc/NEWS: Announce 'marker-last-position'.
* src/window.c (window_restore_killed_buffer_windows): Minor
doc-string fix.
* doc/lispref/windows.texi (Window Configurations): Minor fix.
2024-03-16 10:46:02 +01:00
Martin Rudalics
899ea79310 In window-related documentation write 'symbol' instead of 'constant'
Suggested by Michael Heerdegen <michael_heerdegen@web.de>.

* src/window.c (window_restore_killed_buffer_windows): In
doc-string write 'symbol' instead of 'constant'.
* lisp/window.el (display-buffer--lru-window)
(display-buffer-use-least-recent-window): In doc-strings write
'symbol' instead of 'constant'.
* doc/lispref/windows.texi (Window Configurations): Write
'symbol' instead of 'constant'.
2024-03-16 10:10:29 +01:00
Po Lu
c77e35efd3 * doc/lispref/frames.texi (Window System Selections): Fix misuse of xref. 2024-03-16 09:55:23 +08:00
Po Lu
bbbf1e6f2d Fix calc.texi for Texinfo 4.13
* doc/misc/calc.texi (Fractions): Replace instances of @U with
raw Unicode characters and adjust the document encoding
suitably.
2024-03-16 09:29:42 +08:00
Eli Zaretskii
bf3d296d24 ; Fix documentation of a recent change (bug#68235)
* etc/NEWS:
* doc/lispref/windows.texi (Window Configurations): Improve
wording of 'window-restore-killed-buffer-windows's doc.
* src/window.c (syms_of_window)
<window-restore-killed-buffer-windows>: Doc fix.

* etc/NEWS:
* doc/lispref/buffers.texi (Buffer Names): Document
'buffer-last-name'.
2024-03-15 14:22:14 +02:00
Martin Rudalics
5bba1b95b8 Further adjustments for restoring killed buffer windows (Bug#68235)
* etc/NEWS: Announce 'window-restore-killed-buffer-windows'.
* src/buffer.h (struct buffer) : New field last_name_.
* src/buffer.c (Fbuffer_last_name): New function to return last
name of buffer before it was killed or renamed.
(bset_last_name, Fget_buffer_create, Fmake_indirect_buffer)
(Frename_buffer, Fkill_buffer, init_buffer_once): Set buffer's
last_name_ field accordingly.
* src/window.c (window_restore_killed_buffer_windows): New
variable replacing Vwindow_kept_windows_functions.
(Fset_window_configuration): Use
window_restore_killed_buffer_windows instead of
Vwindow_kept_windows_functions.
* lisp/window.el (window--state-put-2, window-state-put): Use
'window-restore-killed-buffer-windows' instead of
'window-kept-windows-functions'.
* doc/lispref/windows.texi (Window Configurations): Describe
'window-restore-killed-buffer-windows' which replaces
'window-kept-windows-functions'.
2024-03-15 10:35:27 +01:00
Eli Zaretskii
a60804ab95 ; Fix last change (bug#68604)
* lisp/xwidget.el (xwidget-webkit-disable-javascript): Move from
here...
* lisp/cus-start.el (standard): ...to here.

* src/xwidget.c (syms_of_xwidget)
<xwidget-webkit-disable-javascript>: Doc fix.

* doc/emacs/misc.texi (Embedded WebKit Widgets): Fix wording.
2024-03-14 11:32:00 +02:00