This mode is for editing regexps in minibuffer, it highlights
parens via `show-paren-mode' and `blink-matching-paren' in a
user-friendly way, avoids reporting false paren mismatches,
and makes sexp navigation more intuitive.
* lisp/minibuffer.el (minibuffer-regexp-mode)
(minibuffer--regexp-primed, minibuffer--regexp-prompt-regexp):
New variables.
(minibuffer--regexp-propertize, minibuffer--regexp-primed)
(minibuffer--regexp-before-change)
(minibuffer--regexp-after-change)
(minibuffer--regexp-post-self-insert, minibuffer--regexp-setup)
(minibuffer--regexp-exit, minibuffer-regexp-mode): New functions.
(minibuffer-regexp-prompts): New option.
* doc/lispref/minibuf.texi (Minibuffer Misc): Document the new
mode and its option.
* etc/NEWS: Announce the new mode.
Bug#50766
* doc/lispref/parsing.texi (Multiple Languages): Update manual.
* lisp/treesit.el (treesit-range-settings): Add LOCAL-P to range
setting.
(treesit-range-rules): Support :local keyword.
(treesit-local-parsers-at)
(treesit-local-parsers-in)
(treesit--update-ranges-local): New functions.
(treesit-update-ranges)
(treesit-font-lock-fontify-region)
(treesit--indent-1): Support local parsers and prioritize it over
global parsers.
* doc/lispref/parsing.texi: Update manual.
* src/treesit.c (Ftreesit_parser_create): Disallow using t for tag.
(Ftreesit_parser_list): Add LANGUAGE and TAG parameter.
This can help avoid some awkward test skip conditions.
For example, this triple negation:
(skip-unless (not noninteractive))
Can be written as the simpler:
(skip-when noninteractive)
* lisp/emacs-lisp/ert.el (ert-deftest): Add new 'skip-when' macro.
(ert--skip-when): New internal function.
* doc/misc/ert.texi (Tests and Their Environment): Document above
new macro.
* test/lisp/emacs-lisp/ert-tests.el (ert-test-skip-when): New test.
* src/fns.c (internal_equal): Only regard symbols with position
as their symbols when symbols-with-pos-enabled is non-nil.
* doc/lispref/symbols.texi (Symbols with Position): Expand the
description of symbols with position, in particular the way
they work with eq and equal.
* doc/lispref/objects.texi (Equality Predicates): Describe how
eq and equal handle symbols with position.
* test/src/fns-tests.el (fns-tests-equal-symbols-with-position):
New tests for symbols with position.
* doc/misc/transient.texi (Introduction)
(Modifying Existing Transients, Predicate Slots): Return the
menus to their proper location, so Texinfo 4.13 can infer up
pointers for nodes within. The previous merge from emacs-29
overwrote this change.
This fixes bug#65620. The error thrown up to now was "Void
function edebug-after". This has been replaced by "Invalid
call to `edebug-before'. Is the edebug spec for `foo'
correct?".
* lisp/emacs-lisp/edebug.el (edebug-b/a-error): New function
which throws the new friendlier error message.
(edebug-before, edebug-after): Replace the defalias's to nil
with actual functions which just call edebug-b/a-error.
* doc/lispref/edebug.texi (Specification List): In the entry
for `sexp', warn against mistakenly using `form' for an
* doc/misc/widget.texi (Widgets Basics, Working with Widgets)
(Widgets and the Buffer, Widget Gallery, Customization): New chapters.
(Basic Types, Sexp Types): Demote to subsections.
(Widget Browser): Rename to Inspecting Widgets.
(Widget Properties): Remove.
(Top): Adapt menu to changes.
(Introduction): Rearrange text. Move warnings to a better place, and
user options to the Customization chapter.
(User Interface): Don't fully describe commands and customization
options here.
(Setting Up the Buffer): Expand on widget creation process and add
documentation for useful functions which deal with
creation/conversion.
(Defining New Widgets): Expand the documentation on define-widget.
All relevant properties moved to the description of the default
widget, in Widget Gallery.
(Utilities): Add some more useful functions not previously documented.
(Wishlist): Remove out-of-date items.
648a5e33e8 Update to Org 9.6.8-3-g21171d
458442fe78 Escape percent character in treesit--inspect-name (bug#65...
bc0426ce8e Don't add an extraneous slash in remote PATH list in Eshell
34f7a47c9c Fix Tramp on MS Windows
ea5fd6c96b * Fix native disassemble on Windows platforms (bug#65455)
91d2d8439b * Handle missing eln file when trying to disassble (bug#6...
e7ac50a153 * lisp/emacs-lisp/comp.el (comp--native-compile): Fix OUT...
45cf3a0ced Update to Transient v0.4.3
31d3808fb9 Adapt Eshell manual
0c50af054f Fix applying patches with Git on MS-Windows
# Conflicts:
# doc/misc/transient.texi
# test/lisp/eshell/esh-util-tests.el
* doc/emacs/android.texi (Android Startup): Revise to reflect
changes in the set of files registered for Emacsclient and
mention org-protocol support.
* java/AndroidManifest.xml.in: Open all files, not just a
particular subset of image and data files. Register an
org-protocol scheme handler.
* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Provide
URI to Emacs verbatim if its scheme is `org-protocol'.
* doc/misc/mh-e.texi (Incorporating Mail):
* doc/misc/octave-mode.texi (Concept Index):
* lisp/net/browse-url.el (browse-url-w3-gnudoit): Delete
references to gnuserv; these days we use emacsclient.
* doc/lispref/sequences.texi (Char-Tables):
* src/chartab.c (Fchar_table_range): Clarify what
'char-table-range' returns for an argument that is a cons cell.
* lisp/vc/vc-hooks.el (vc-ignored-state): New face.
(vc-default-mode-line-string): Add special indication and tooltip
for files that are registered, but also ignored. See
https://lists.gnu.org/archive/html/emacs-devel/2023-09/msg00006.html
for the details of the use case.
* doc/emacs/maintaining.texi (VC Mode Line): Mention the
additional meaning of '!' in the VC status mode-line display.
Previously, these were enabled/disabled at byte-compilation time, but
we want to control them at runtime.
* lisp/eshell/esh-cmd.el (eshell-eval-command): Call
'eshell-debug-command-start'.
(eshell-manipulate): Check 'eshell-debug-command' at runtime. Update
callers.
(eshell-debug-command): Move to "esh-util.el".
(eshell/eshell-debug, pcomplate/eshell-mode/eshell-debug): Move to
"em-basic.el".
(eshell-debug-show-parsed-args): Update implementation.
* lisp/eshell/esh-util.el (eshell-debug-command): Move from
"esh-cmd.el" and convert to a list.
(eshell-debug-command-buffer): New variable.
(eshell-condition-case): Check 'eshell-handle-errors' at runtime.
(eshell-debug-command-start): New function.
(eshell-debug-command): Move from "esh-cmd.el" and convert to a macro.
* lisp/eshell/em-basic.el (eshell/eshell-debug)
(pcomplete/eshell-mode/eshell-debug): Move from "esh-cmd.el" and
reimplement.
* lisp/eshell/eshell.el (eshell-command): Pass the original input to
'eshell-eval-command'.
* doc/misc/eshell.texi (Built-ins): Update documentation for
'eshell-debug'.
bug#60338
The variable 'eglot-confirm-server-edits' replaces the obsolete
'eglot-confirm-server-initiated-edits' and brings about a new
confirmation model, making it possible to have only certain commands
require user confirmation. This was achieved careful usage of the
'this-command' and 'last-command' variables.
There are now two types of confirmation: the usual
minibuffer summary and a temporary 'diff-mode' buffer to display the
proposed changes, so the user can apply them one by one.
Thanks to Philip Kaludercic for the diff-mode idea and implementation.
Co-authored-by: Philip Kaludercic <philipk@posteo.net>
* doc/misc/eglot.texi (Eglot Variables): Describe
'eglot-confirm-server-edits'.
* etc/EGLOT-NEWS (latest): Mention change.
* lisp/progmodes/eglot.el (diff-mode): Require it.
(eglot-confirm-server-initiated-edits): Obsolete it.
(eglot-confirm-server-edits): New variable.
(eglot-handle-request workspace/applyEdit): Use 'last-command'
(eglot-execute t t): Use 'this-command'.
(eglot--apply-workspace-edit): Rework.
(eglot-rename): Use 'this-command'.
* doc/emacs/android.texi (Android Windowing): Mention C-SPC
interception and how it may be disabled.
* java/org/gnu/emacs/EmacsNative.java (shouldForwardCtrlSpace):
New function.
* java/org/gnu/emacs/EmacsView.java (onKeyPreIme): New function.
If the provided key code is SPC and the event's modifier key
mask contains ControlMask, relay it directly to onKeyDown.
* java/org/gnu/emacs/EmacsWindow.java (eventModifiers): Export
and make static.
* src/android.c (shouldForwardCtrlSpace): New function.
* src/androidfns.c (syms_of_androidfns)
<android_intercept_control_space>: New defvar.
* lisp/emacs-lisp/package-vc.el (package-vc-allow-side-effects):
Rename to 'package-vc-allow-build-commands'.
(package-vc--unpack-1): Use new name.
* doc/emacs/package.texi (Fetching Package Sources): Use new name.
* etc/NEWS: Adapt accordingly. (Bug#65386)
* doc/misc/transient.texi (Introduction)
(Modifying Existing Transients, Predicate Slots): Return the
menus to their proper location, so Texinfo 4.13 can infer up
pointers for nodes within.
* doc/emacs/android.texi (Android Environment): Mention the
`rcs2log' program name variable. Also refine the wording of the
paragraph describing bundled programs a bit.
* doc/lispref/processes.texi (Subprocess Creation): Mention
`rcs2log' and `rcs2log-program-name'. Correct typos and
spelling mistakes within the variable index.
* etc/NEWS: Amend the announcement of *-program-name to also
cite rcs2log.
* java/Makefile.in (install_temp): Copy rcs2log to
lib/*/librcs2log.so after minor revisions to change the
interpreter name.
* lisp/vc/vc-rcs.el (vc-rcs-rcs2log-program): Ground the program
name upon `rcs2log-program-name'.
* src/callproc.c (syms_of_callproc) <Vrcs2log_program_name>: New
defvar. Define to `librcs2log.so' under Android, `rcs2log'
elsewhere.
* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add "PAGER".
(eshell-var-initialize): Make 'comint-pager' buffer-local and bind it
in subcommands so that we can temporarily set it as necessary.
* test/lisp/eshell/esh-var-tests.el (esh-var-test/pager-var/default)
(esh-var-test/pager-var/set, esh-var-test/pager-var/unset)
(esh-var-test/pager-var/set-locally): New tests.
* doc/misc/eshell.texi (Variables): Document this (bug#63778).
Co-authored-by: Morgan Smith <Morgan.J.Smith@outlook.com>
* doc/lispref/functions.texi (Porting Old Advice): Unequivocally say
that 'defadvice' is obsolete.
* doc/emacs/trouble.texi (Coding Standards): Refer to 'advice-add'
instead of the now-obsolete 'defadvice'. (Bug#64757)
* doc/misc/ses.texi (Uses of advice-add in SES): Rename node from
"Uses of defadvice in SES". Remove 'undo-more' entry, since that
advice was deleted in 2007.
* doc/emacs/files.texi (Visiting): Don't enclose an entire form
within @var, use @code for the whole form and @var for
individual variables within instead.
* doc/lispref/commands.texi (Key Sequence Input): @xref must be
followed by either , or ..
* doc/lispref/processes.texi (Filter Functions): Introduce
punctuation absent from the last sentence of a paragraph.