summaryrefslogtreecommitdiff
path: root/lisp/vc
AgeCommit message (Collapse)Author
2026-06-01Merge from origin/emacs-31Sean Whitton
2c2f1c00acc ; * lisp/vc/vc-dir.el (vc-dir-update): Add an assertion. 51f823a3afa ; * etc/NEWS: Fix annotation. 271cc5c76c0 More tests for fill-paragraph-handle-comment.erts cc9f35c54ba ; * etc/PROBLEMS: Minor fixes of last change. 2727a6f4e8d ; Document problems caused by validation of *.eln files o... f1dd84bec99 ; * lisp/play/doctor.el (doctor-death): Fix Samaritans UR... 0bfbe06090c Update to Org 9.8.5 aac5e0457ae Eglot: replace eglot-prefer-plaintext with eglot-document... ec3d662de0b Make HTML button elements tab-stoppable in eww (bug#81107) # Conflicts: # etc/NEWS
2026-06-01; * lisp/vc/vc-dir.el (vc-dir-update): Add an assertion.Sean Whitton
2026-05-29Merge from origin/emacs-31Sean Whitton
24879846852 * lisp/shell.el (shell): Fix typo: use process-live-p (bu... 545bbc6ebe8 widget-image-find: Use 'image-load-path' (bug#81140) 69286be27db ; Fix an overwide docstring line.
2026-05-29Merge from origin/emacs-31Sean Whitton
c3babe4b896 Fix lax whitespace highlight during query-replace 2e70b88623e Fix fill-paragraph combining text with preceding comment ea54c33950f ; * etc/PROBLEMS: Link to bug#81124. 02897e208d0 emacsclient quote_argument is void c6181780663 ; Mark process-test-stderr-buffer as :unstable when runni... 2c1b45f5c56 ; Improve documentation of 'vc-dir-auto-hide-up-to-date' 768c8bf0045 Revert "* admin/notes/documentation: Recommend not using ... a7414f18598 native--compile-skip-on-battery-p: Try to fix ?b, ?B cond... 7cee526a8cc Save and restore original local keymap in grep-edit-mode 4d87d203cfb Fix display of inline SVG images in Rmail 4c55d04ebe3 Add treesit-ready-p check back to tree-sitter major modes... 7892ae5eaf4 Fix pathological slowness in flex completion 12eec781ed6 No longer raise error on HTTP 402 (Payment Required) (bug... 1800350b186 Avoid compilation-mode matching rust as gnu
2026-05-28; Fix an overwide docstring line.Sean Whitton
2026-05-24; Improve documentation of 'vc-dir-auto-hide-up-to-date'Eli Zaretskii
* lisp/vc/vc-dir.el (vc-dir-auto-hide-up-to-date): Doc fix. * doc/emacs/maintaining.texi (VC Directory Buffer): Document 'vc-dir-auto-hide-up-to-date'. (Bug#81033)
2026-05-23vc-refresh-state: Use cond*Sean Whitton
This is okay with regard to bootstrapping because vc-hooks.el is loaded after loaddefs.el in loadup.el. * lisp/emacs-lisp/cond-star.el (cl-lib): Don't require, so we can use cond* in preloaded files. (cond*-convert-condition): Replace calls to cl-assert. * lisp/vc/vc-hooks.el (vc-refresh-state): Use cond*.
2026-05-18vc-refresh-state: Override default-directory for backend functionsSean Whitton
I ran into the issue described in the comment with the current code in project-find-file-in and project-find-dir, when using 'C-x p p' to switch between projects. * lisp/vc/vc-hooks.el (vc-refresh-state): When calling into the backend, override any let-bindings of default-directory.
2026-05-13vc-next-action: Call vc-delete-file on FILESET-ONLY-FILESSean Whitton
* lisp/vc/vc.el (vc-next-action): Call vc-delete-file on FILESET-ONLY-FILES, not FILES (bug#80998).
2026-05-12vc-dir-resynch-file: Pass down non-truename'd FILESean Whitton
* 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.
2026-05-08vc-switch-working-tree: Use project-current againDmitry Gutov
* lisp/vc/vc.el (vc-switch-working-tree): Use project-current instead of manually constructing VC project objects.
2026-05-07Fix 'vc-dir-resynch-file' again (bug#80967)João Távora
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 e05fab5775c96f8f88eab8d75dea40253bfb78eb 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.
2026-05-05vc-switch-working-tree: Don't find non-VC projectsSean Whitton
* lisp/vc/vc.el (project-current-directory-override): Delete declaration. (project-find-matching-buffer-function): Declare. (vc-switch-working-tree): Don't find non-VC projects (bug#80939).
2026-05-05vc-finish-logentry: Skip displaying async command buffer sometimesSean Whitton
* lisp/vc/vc-dispatcher.el (vc-finish-logentry): Don't display the async command buffer if vc-display-failed-async-commands is non-nil.
2026-05-02Fix 'vc-dir-resynch-file' (bug#80803)Stephen Berman
* 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.
2026-05-02Project prompters always default to current project, if anySean Whitton
* lisp/progmodes/project.el (project-prompter) (project-prompt-project-dir, project-prompt-project-name): Delete ALLOW-EMPTY parameter. Default to the current project if there is one. * lisp/vc/vc.el (project-root): Declare. (vc--prompt-other-working-tree): Replace ALLOW-EMPTY parameter with new ALLOW-CURRENT parameter. (vc-working-tree-switch-project): Allow selecting the current working tree, for symmetry with project-switch-project. * etc/NEWS: Update.
2026-04-29; Spelling fixes.Paul Eggert
2026-04-29New VC commands for remote unintegrated changesSean Whitton
* lisp/vc/vc.el (vc--outgoing-base, vc--outgoing-base-mergebase): New FORCE-TOPIC parameter. (vc--maybe-read-outgoing-base): New NO-DOUBLE parameter. (vc-root-diff-remote-unintegrated, vc-diff-remote-unintegrated) (vc-log-remote-unintegrated, vc-root-log-remote-unintegrated): New commands (bug#80434). * lisp/vc/vc-dir.el (vc-dir-mode-map): * lisp/vc/vc-hooks.el (vc-prefix-map): Bind them. * doc/emacs/vc1-xtra.texi (Unintegrated Changes): * etc/NEWS: Document them.
2026-04-29New commands to report diffs of all local changesSean Whitton
* lisp/vc/vc.el (vc-root-diff-outgoing-and-edited) (vc-diff-outgoing-and-edited): New commands (bug#80434). * lisp/vc/vc-dir.el (vc-dir-mode-map): * lisp/vc/vc-hooks.el (vc-prefix-map): Bind them. * doc/emacs/maintaining.texi (VC Change Log): * etc/NEWS: Document them.
2026-04-27Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacsEli Zaretskii
2026-04-27Fix vc-tests for SRCEli Zaretskii
* lisp/vc/vc-src.el (vc-src-register): Support "registering" directories in FILES. (vc-src-rename-file): Fix implementation and support renaming directories. * test/lisp/vc/vc-tests/vc-tests.el (vc-test--rename-file) (vc-test-src-version-diff): Skip parts that don't work with SRC. (Bug#80862)
2026-04-27Rename outstanding changes commands to "unintegrated changes"Sean Whitton
* 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.
2026-04-27VC Annotate for Mercurial repositories shows changeset hashesSean Whitton
* lisp/vc/vc-hg.el (vc-hg-annotate-show-revision-numbers): New option. (vc-hg-annotate-command): If it's nil, show changeset hashes not revision numbers by passing "-c" not "-n" to 'hg annotate'. (vc-hg-annotate-re): Update. * etc/NEWS: Document the change.
2026-04-27diff-kill-creations-deletions: Look for /dev/null on all platformsEli Zaretskii
* lisp/vc/diff-mode.el (diff-kill-creations-deletions): Look for /dev/null on platforms when null-device is something else.
2026-04-26Fix renaming files and directories under RCSEli Zaretskii
* lisp/vc/vc-rcs.el (vc-rcs-register): Filter out directories from FILES. (vc-rcs-rename-file): Support OLD being a directory. * test/lisp/vc/vc-tests/vc-tests.el (vc-test--rename-file) (vc-test--rename-directory): Re-enable these tests for RCS. (vc-test--rename-directory): Disable 'yes-or-no-p' questions that RCS asks when it needs to create the RCS/ subdirectory: this lets the test run without user interaction.
2026-04-26vc-delete-file: Narrow binding of default-directorySean Whitton
* lisp/vc/vc.el (vc-delete-file): In the delete-file branch, narrow the binding of default-directory to cover only the call into the backend. Suggested by Aaron L. Zeng <azeng@janestreet.com> in bug#80875.
2026-04-26VC: Support deleting directoriesSean Whitton
* lisp/vc/vc.el (delete-files): Specify that implementations of this should handle deleting directories. * lisp/vc/vc-git.el (vc-git-delete-files): * lisp/vc/vc-hg.el (vc-hg-delete-files): * lisp/vc/vc.el (vc-delete-file): Handle deleting directories.
2026-04-23vc-hg-after-dir-status: Rewrite to handle current 'hg status' outputSean Whitton
* lisp/vc/vc-hg.el (vc-hg-after-dir-status): Rewrite to handle renames where the "R" line comes arbitrarily later in the output. * test/lisp/vc/vc-hg-tests.el (vc-hg-test--after-dir-status-expect): New function. (vc-hg-after-dir-status): New test.
2026-04-20Fix control window setup in 'ediff-setup-windows-plain-compare' (Bug#80809)Martin Rudalics
* lisp/vc/ediff-wind.el (ediff-setup-windows-plain-compare): Do not call 'display-buffer-in-direction' directly (Bug#80809).
2026-04-17vc-hg--checkin: Use vc-hg--active-bookmark-internalSean Whitton
* lisp/vc/vc-hg.el (vc-hg--active-bookmark-internal): Make it work when default-directory is not the repository root. (vc-hg--checkin): Use vc-hg--active-bookmark-internal instead of vc-hg--working-branch.
2026-04-17vc-hg--checkin: When committing a patch, advance active hg bookmarkAaron L. Zeng
* lisp/vc/vc-hg.el (vc-hg--checkin): When committing a patch, advance any active hg bookmark (bug#80848). Copyright-paperwork-exempt: yes
2026-04-16vc-file-tree-walk: Stop emitting messagesSean Whitton
* lisp/vc/vc.el (vc-file-tree-walk, vc-file-tree-walk-internal): Stop emitting messages about traversing directories.
2026-04-16vc-file-tree-walk-internal: Use vc-registeredSean Whitton
* lisp/vc/vc.el (vc-file-tree-walk-internal): Use vc-registered not vc-backend, for robustness.
2026-04-16; Fix formatting.Sean Whitton
2026-04-16; Fix last change.Sean Whitton
2026-04-16vc-rename-file: Fix skipping calling into the backendSean Whitton
* lisp/vc/vc.el (vc-rename-file): Replace broken attempted use of vc-dir-status-files with walking OLD using vc-file-tree-walk. * test/lisp/vc/vc-tests/vc-tests.el (vc-test--rename-directory): Assert that the files are registered or not as appropriate. New test case in which there are only registered files.
2026-04-15vc-rename-file: Fix case of directory with only untracked filesSean Whitton
* lisp/vc/vc.el (vc-rename-file): Don't call into the backend if moving a directory containing only untracked files. * test/lisp/vc/vc-tests/vc-tests.el (vc-test--rename-directory): New test for this case.
2026-04-15Fix renaming whole directories with MercurialSean Whitton
* lisp/vc/vc-hg.el (vc-hg-rename-file): Use 'hg mv --after'. * test/lisp/vc/vc-tests/vc-tests.el (vc-test--rename-directory): New test.
2026-04-15; * lisp/vc/vc.el (vc-rename-file): Delete old FIXME.Sean Whitton
2026-04-15vc-rename-file: New OK-IF-ALREADY-EXISTS parameterSean Whitton
* lisp/vc/vc.el (vc-delete-file): New NOCONFIRM parameter. (vc-rename-file): New OK-IF-ALREADY-EXISTS parameter. * lisp/dired-aux.el (dired-rename-file): Pass it. * test/lisp/vc/vc-tests/vc-tests.el (vc-test--rename-file): Test it. Also test moving files into an existing directory.
2026-04-13; * lisp/vc/vc.el: Note about different file name kinds (bug#80722).Sean Whitton
2026-04-09lisp/vc/vc.el (vc-checkin): Use `vc-dir-buffers` like we do everywhere elseStefan Monnier
2026-04-09* lisp/vc/vc.el (vc-checkin): Don't assume vc-dir is loaded.Sean Whitton
2026-04-09with-vc-properties: Don't substitute in a global valueSean Whitton
* lisp/vc/vc.el (with-vc-properties): Don't substitute in the value vc-touched-properties happens to have at macro expansion time. This was left over from when vc-touched-properties was bound to a local gensym.
2026-04-06vc-hg-working-revision: Return changeset hashesSean Whitton
* lisp/vc/vc-hg.el (vc-hg-working-revision): Return changeset hashes instead of revision numbers. Respect vc-use-short-revision. * etc/NEWS: Document the change.
2026-04-06; * lisp/vc/vc.el (checkin): Specify the async case (bug#80723).Sean Whitton
2026-04-06; * lisp/vc/vc.el (dir-status-files): Clarifications (bug#80722).Sean Whitton
2026-04-05Fix vc-default-checkin-patch for vc-async-checkin non-nilSean Whitton
* lisp/vc/vc.el (vc-default-checkin-patch): Fix for vc-async-checkin non-nil (bug#80746).
2026-04-05* lisp/vc/vc-dir.el (vc-dir-update): Remove empty directory entries.Sean Whitton
2026-04-05New option vc-dir-auto-hide-up-to-dateSean Whitton
* 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.