* lisp/vc/log-view.el (log-view--mark-unmark): New BEG and END
arguments. Don't call region-beginning and region-end here.
(log-view-mark-entry, log-view-unmark-entry): Pass BEG and END
to log-view--mark-unmark, non-nil when the region is active.
SLNX is a new XML-based file-format for .NET based solutions, replacing
the older proprietary SLN file-format.
Unlike SLN-files, it is merge-friendly and expected to become the new
de-facto standard for working with .NET projects. This commit adds
support for SLNX-schema to 'nxml-mode'.
The schme provided has been synthesized using the official XSD-schema
definition:
https://github.com/microsoft/vs-solutionpersistence/blob/main/src/Microsoft.VisualStudio.SolutionPersistence/Serializer/Xml/Slnx.xsd
This schema was then converted to RNG using XSDtoRNG.xsl:
https://github.com/epiasini/XSDtoRNG
The RNG schema was then converted to RNC using the trang CLI-tool:
https://relaxng.org/jclark/trang.html
* etc/schema/dotnet-slnx.rnc: New file.
* etc/schema/schemas.xml: Add Slnx schema.
* lisp/files.el (auto-mode-alist): Add association for SLNX files.
(Bug#79379)
* lisp/progmodes/gud.el (gud-lldb-marker-filter): Fix problem
where the source code location ends up at the last character of
the previous line if no (or zero) column is reported by lldb.
(Bug#79360)
Copyright-paperwork-exempt: yes
* lisp/vc/log-view.el (log-view-mark-entry)
(log-view-unmark-entry): New commands.
(log-view-toggle-mark-entry): Rewrite in terms of them.
(log-view-mode-map): Unbind log-view-toggle-mark-entry.
Bind the two new commands.
* etc/NEWS: Document the change.
* src/process.c (server_accept_connection): Make the client
process be locked to the same thread as the parent server process,
or unlocked if the server process was unlocked. (Bug#79367)
* lisp/erc/erc-goodies.el (erc-scrolltobottom-mode)
(erc-scrolltobottom-enable): Always remove hook functions whose
membership hinges on the value of `erc-scrolltobottom-all'. In ERC 5.6,
an init file's `setopt' form containing an `erc-modules' assignment
before an `erc-scrolltobottom-all' one would result in conflicting sets
of hook members come `erc-open'. Having such option-dependent branching
in module setup, while difficult to maintain, is a long held ERC
practice, as seen in functions like `erc-nickserv-identify-mode'.
Making all new modules "local" may be the most manageable solution
because existing global modules can't be made to require prior
deactivation.
* lisp/erc/erc-fill.el (erc-fill--wrap-indent-prompt): While computing
the prompt indentation's text size, don't bother saving and restoring
the window configuration because unwanted scrolls are now believed to be
unlikely because of other changes.
* lisp/minibuffer.el (define-completion-category): New function.
(completion-category-get): New function, implements completion
category property lookup with (multiple) inheritance.
(completion-metadata-get, completion--styles)
(completion--cycle-threshold): Use it.
(completion-category-defaults): Mention it in docstring.
Remove entry for 'project-buffer' category, and instead...
* lisp/progmodes/project.el: ...have 'project-buffer' inherit
from 'buffer'.
* test/lisp/minibuffer-tests.el
(completion-category-inheritance): New test.
* etc/NEWS: Announce support for category inheritance.
The previous change actually introduced a bug in a closely
related but distinct place. We need to address the off-by-one
in the 'substring' call, not the 'add-face-text-property'.
* lisp/progmodes/eglot.el (eglot--sig-info): Fixup.
* lisp/isearch.el (isearch-mode): Don't override
'isearch--saved-local-map' when 'overriding-terminal-local-map'
was already set to 'isearch-mode-map' in a previous call.
(with-isearch-suspended): Don't call the function 'isearch-mode'
when the variable 'isearch-mode' is already non-nil.
* lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): `instead`
can be a list.
* lisp/dom.el (dom-text, dom-texts): Fix obsolescence declaration.
The correct Emacs executable to use for
'elisp-flymake-byte-compile' is not necessarily the running
Emacs. For example, when editing trunk with Emacs 30,
various Lisp changes will cause spurious flymake warnings.
Add 'elisp-flymake-byte-compile-executable' to allow
customizing this.
* lisp/progmodes/elisp-mode.el
(elisp-flymake-byte-compile-executable)
(elisp-flymake-byte-compile--executable): Add. (Bug#79342)
(elisp-flymake-byte-compile): Invoke
'elisp-flymake-byte-compile--executable'.
* etc/NEWS: Announce the change.
Revert "Avoid duplicating strings in pcm--merge-completions",
commit b511c38bba. It broke
existing behavior, now covered by tests adding in this commit.
* lisp/minibuffer.el (completion-pcm--merge-completions):
* test/lisp/minibuffer-tests.el (completion-pcm-test-anydelim):
(completion-pcm-bug4219):
* lisp/vc/diff-mode.el (project-root): Declare.
(diff-find-matching-buffer): New function.
(diff-mode): Use it.
* doc/emacs/vc1-xtra.texi (Other Working Trees): Document
'C-x v w w' in diff-mode buffers.
* lisp/vc/vc-bzr.el (vc-bzr-incoming-revision):
* lisp/vc/vc-hg.el (vc-hg-incoming-revision):
* lisp/vc/vc.el (vc-diff-incoming, vc--incoming-revision): New
REFRESH optional argument.
(vc-default-log-incoming): Pass it.
* lisp/vc/vc-git.el (vc-git-incoming-revision): New REFRESH
optional argument. When nil, use cached info (bug#62940).