f89ff62367 Extend Tramp external operations
4dea6ea36b markdown-ts-mode: fix duplicated menu entries (bug#81201)
9cad2da66e ; Fix last change.
cd84bd6a0c vc-dir-recompute-file-state: Change directory to DEF-DIR
47bdbc8d85 Restore "interactive" when describing functions
1a5d9a4be3 Inhibit follow-link via `mouse-1' on the tab-bar (bug#81036)
c94d58ddbf Fix the tab close button appearance when clicking (bug#76...
a21614d4d6 ; Skip one vc-dir test on MS-Windows
abddd2075a ; Fix last change to vc-dir-recompute-file-state.
89bda8736a Install images with info documentation (bug#81204)
466789b511 vc-dir-recompute-file-state: Return nil state for nonexis...
* lisp/vc/vc.el (vc-log-view-type): Replace with ...
(vc-log-view-types): ... this. All uses changes.
(vc-log-remote-unintegrated): Newly pass a value for the log
view types. This matters for Hg repositories.
(vc-print-log-internal): Ensure log view types always contains
either 'long' or 'short'.
(vc-root-log-incoming, vc-root-log-outgoing, vc-log-search):
* lisp/vc/vc-dir.el (vc-dir--count-outgoing): Pass both
log-incoming/log-outgoing/log-search and short/long for the log
view types. This is necessary because these functions don't
call vc-print-log-internal. This will need to be refactored
when implementing the new fileset-specific vc-log-incoming and
vc-log-outgoing.
* lisp/vc/vc-dir.el (vc-dir-recompute-file-state): Change
directory to DEF-DIR before calling into the backend.
* test/lisp/vc/vc-tests/vc-test-misc.el
(vc-test-vc-dir-on-symlink): Test that the file has the right
state.
71ea4bbb6c vc-test-vc-dir-on-symlink: Use vc-test--with-author-identity
b8fa2243ea Fix M-RET in 'markdown-ts-in-table-mode-map'
c244314974 Fix recurrence of bug#80803 after changes in bug#80967
* lisp/vc/vc-dir.el (vc-dir-show-outgoing-count): Mark obsolete.
(vc-dir-async-header-values): Use a list of cons.
(vc-dir-headers, vc-dir-refresh): Update for new
vc-dir-async-header-values structure.
* doc/emacs/maintaining.texi (VC Directory Buffer): Delete
mention of the variable.
* etc/NEWS: Announce the obsoletion.
* lisp/vc/vc-dir.el (log-view-message-re): Declare.
(vc-dir--count-outgoing): Rewrite to not block on populating the
outgoing log.
(vc-dir-async-header-values): New variable.
(vc-dir-headers): Just insert "Outgoing : ", not its value.
(vc-dir-refresh): Insert overlays for async fields.
* lisp/vc/vc.el (vc--count-outgoing): Delete.
* lisp/vc/vc-dir.el (vc-dir-resynch-file): Pass only truenames
to vc-dir-recompute-file-state.
* test/lisp/vc/vc-tests/vc-test-misc.el (vc-git): Require.
(vc-test-vc-dir-on-symlink): New test.
* lisp/vc/vc-dir.el (vc-dir-recompute-file-state): Delete
recently introduced TRUENAME parameter.
(vc-dir-resynch-file): Pass the file name from before calling
file-truename to vc-dir-recompute-file-state.
This unbreak project-vc-dir for dirs under non-truename
hierarchies.
The following commit presumably makes 'M-x vc-dir' usable again
for versioned directories inside non-truename hierarchies,
commit e05fab5775
Author: Stephen Berman <stephen.berman@gmx.net>
Date: Sat May 2 15:11:37 2026 +0200
Fix 'vc-dir-resynch-file' (bug#80803)
* lisp/vc/vc-dir.el (vc-dir-resynch-file): Apply 'file-truename'
instead of 'expand-file-name' to FNAME argument to prevent
spurious display of symlinked files in *vc-dir* buffer.
However the similar command 'M-x project-vc-dir' was broken and made
unusable in similar circumstances.
This relatively simple fix addresses both situations touching only the
problematic 'vc-resynch-file' and one of its callees,
'vc-dir-recompute-file-state', which now discerns clearly between the
short/familiar name to present in the list and the "fname" to use to
call into the backend to gather the VC state. Since this function is
also called from another context, where the requirements are less clear,
keeping current smenatics in that situation seemed prudent, so the new
behaviour is activate with a new optional parameter.
* lisp/vc/vc-dir.el (vc-dir-resynch-file): Call
vc-dir-recompute-file-state with truename=t.
(vc-dir-recompute-file-state): Accept optional truename param.
* lisp/vc/vc-dir.el (vc-dir-resynch-file): Apply 'file-truename'
instead of 'expand-file-name' to FNAME argument to prevent
spurious display of symlinked files in *vc-dir* buffer.
* doc/emacs/vc1-xtra.texi (Outstanding Changes): Rename node
from this ...
(Unintegrated Changes): ... to this (bug#80434). References
changed.
* etc/NEWS: Document the change.
* lisp/vc/vc-git.el (vc-git-topic-outgoing-base)
(vc-git-log-view-mode):
* lisp/vc/vc-hg.el (vc-hg-print-log, vc-hg-log-view-mode):
* lisp/vc/vc.el (vc-root-diff-outstanding, vc-diff-outstanding)
(vc-log-outstanding, vc-root-log-outstanding):
Rename from these ...
(vc-root-diff-unintegrated, vc-diff-unintegrated)
(vc-log-unintegrated, vc-root-log-unintegrated):
... to these (bug#80434). All uses changed.
(vc-log-view-type): Rename 'log-outstanding' type to
'log-unintegrated'. All uses changed.
* lisp/vc/vc-dir.el (vc-dir-hide-up-to-date-on-revert): Delete.
(vc-dir-auto-hide-up-to-date): New option.
(vc-dir-update, vc-dir-revert-buffer-function): Use it.
* etc/NEWS: Document it.
* lisp/vc/vc-dir.el (vc-dir--up-to-date-states): New constant.
(vc-dir-hide-state): Use it.
(vc-dir--only-files-state-and-model): New function.
(vc-dir-root-next-action, vc-dir-deduce-fileset): Use it.
* lisp/vc/vc.el (vc-only-files-state-and-model): Improve error
message readability.
* lisp/vc/vc-dir.el (vc-dir-fileinfo): New 'display-state'
field.
(vc-dir-update): Use it.
(vc-default-dir-printer):
* lisp/vc/vc-git.el (vc-git-dir-printer): Use it. Fontify a
display state of "committing" as vc-dir-status-warning.
* lisp/vc/vc-hooks.el (vc--file-getinheprop): New function.
* lisp/vc/vc.el (vc-checkin): Set "committing" display state on
items we are checking in asynchronously.
* lisp/vc/vc.el (vc-root-diff-outgoing-base)
(vc-diff-outgoing-base, vc-log-outgoing-base)
(vc-root-log-outgoing-base): Rename from these ...
(vc-root-diff-outstanding, vc-diff-outstanding)
(vc-log-outstanding, vc-root-log-outstanding): ... to these.
All uses changed.
The main reason for this is that then these commands can have
the same bindings in VC-Dir buffers that they have under
vc-prefix-map. 'T' is a good mnemonic for "Topic" and a
serviceable mnemonic for "outsTanding".
* lisp/vc/vc-hooks.el (vc-prefix-map): Move 'o' to 'T'.
* lisp/vc/vc-dir.el (vc-dir-mode-map): New 'T' bindings.
* lisp/vc/vc.el (vc--read-branch-to-log): New function.
(vc-print-root-branch-log): Rewrite to use
vc--read-branch-to-log and vc--with-backend-in-rootdir.
(vc-print-fileset-branch-log): New command.
* lisp/vc/vc-dir.el (vc-dir-mode-map):
* lisp/vc/vc-hooks.el (vc-prefix-map):
(vc-menu-map): Bind it.
* doc/emacs/maintaining.texi (VC Change Log):
* etc/NEWS: Document it.
* lisp/vc/vc-dir.el (vc-dir-show-outgoing-count): New defcustom.
(vc-dir-headers): Use it.
* doc/emacs/maintaining.texi (VC Directory Buffer):
* etc/NEWS: Document it.
This relies on how vc--incoming-revision now caches incoming
revisions.
* lisp/vc/vc.el (vc--count-outgoing): New function.
* lisp/vc/vc-dir.el (vc-dir-header-urgent-value): New face.
(vc-dir-outgoing-revisions-map): New keymap.
(vc-dir-headers): Use them.
* etc/NEWS: Document the change.
* lisp/vc/vc-dir.el (vc-dir-mark-file): Prompt before unmarking
all subitems. Use y-or-n-p and user-error instead of
yes-or-no-p and error.
(vc-dir-unmark-file): Use y-or-n-p instead of yes-or-no-p.
(vc-dir-allow-mass-mark-changes): Update docs.
* doc/emacs/sending.texi (Sending Mail):
* doc/emacs/dired.texi (Dired Enter, Dired Visiting):
* doc/emacs/maintaining.texi (Old Revisions)
(Change Log Commands, Looking Up Identifiers):
* doc/emacs/windows.texi (Displaying Buffers):
* doc/emacs/files.texi (Visiting): Add cross-references to where
user options are described which control how windows are split.
* lisp/mail/sendmail.el (mail-other-window):
* lisp/gnus/message.el (message-mail-other-window)
(message-news-other-window):
* lisp/replace.el (occur-mode-goto-occurrence-other-window):
* lisp/vc/vc.el (vc-revision-other-window):
* lisp/vc/vc-dir.el (vc-dir-find-file-other-window):
* lisp/progmodes/xref.el (xref-find-definitions-other-window):
* lisp/simple.el (compose-mail-other-window)
(clone-indirect-buffer-other-window):
* lisp/vc/add-log.el (add-change-log-entry-other-window):
* lisp/view.el (view-file-other-window)
(view-buffer-other-window):
* lisp/window.el (switch-to-buffer-other-window):
* lisp/files.el (find-file-other-window)
(find-file-read-only-other-window)
(find-alternate-file-other-window):
* lisp/dired.el (dired-other-window)
(dired-mouse-find-file-other-window)
(dired-find-file-other-window, dired-jump-other-window): Mention
in the doc strings how to control the way the current window is
split.