Commit graph

110 commits

Author SHA1 Message Date
Lars Ingebrigtsen
3ce322efef Tweak binding of `+' in vc-dir
* lisp/vc/vc-dir.el (vc-dir-mode-map): Point to the actual
function instead of the alias.  This makes *Help* more helpful.
2022-09-24 15:19:03 +02:00
Juri Linkov
5e6a7a210b Document the recently added branch commands (bug#50344)
* doc/emacs/maintaining.texi (VC Directory Commands): Change the
prefix key from "B" to "b".  Replace vc-create-tag with vc-create-branch,
and vc-retrieve-tag with vc-switch-branch.
(Switching Branches): Mention vc-switch-branch bound to 'C-x v b s'.
(Creating Branches): Mention vc-create-branch bound to 'C-x v b c'.

* lisp/vc/vc-dir.el (vc-dir-mode-map): In branch keymap 'b' rebind
"c" from vc-create-tag to vc-create-branch, and "s" from
vc-retrieve-tag to vc-switch-branch.
2022-09-12 22:12:50 +03:00
Juri Linkov
71302884dd 'C-x v b' prefix key is used for branch commands to create/switch/print branch
* lisp/vc/vc.el (vc-create-branch): New command.
(vc-retrieve-tag): Add new optional arg 'branchp'.
(vc-switch-branch): New command (bug#50344).

* lisp/vc/vc-hooks.el (vc-prefix-map): Bind "b c" to vc-create-branch,
"b l" to vc-print-branch-log, "b s" to vc-switch-branch.  Remove obsolete
and suppressed "b" from vc-switch-backend.

* lisp/vc/vc-dir.el (vc-dir-mode-map): Rebind 'branch-map' from "B" to "b"
for consistency with 'vc-prefix-map'.

* lisp/vc/vc-git.el (vc-git-create-tag): For a new branch read
its start-point.  Ask a confirmation if modified files exist.
2022-09-12 21:07:05 +03:00
Stefan Kangas
8b31c18fc8 Prefer defvar-keymap in vc/*.el
* lisp/vc/add-log.el (change-log-mode-map):
* lisp/vc/ediff-mult.el (ediff-dir-diffs-buffer-map):
* lisp/vc/vc-annotate.el (vc-annotate-mode-map):
* lisp/vc/vc-bzr.el (vc-bzr-shelve-map):
* lisp/vc/vc-dir.el (vc-dir-status-mouse-map)
(vc-dir-filename-mouse-map):
* lisp/vc/vc-git.el (vc-git-stash-shared-map, vc-git-stash-map)
(vc-git-stash-button-map, vc-git-log-edit-mode-map):
* lisp/vc/vc-hg.el (vc-hg-log-edit-mode-map)
(vc-hg-extra-menu-map):
* lisp/vc/vc-hooks.el (vc-prefix-map): Prefer defvar-keymap.
2022-08-10 11:53:27 +02:00
Lars Ingebrigtsen
d373daf568 Add new command 'vc-dir-mark-by-regexp'
* doc/emacs/maintaining.texi (VC Directory Commands): Document it.
* lisp/vc/vc-dir.el (vc-dir-mode-map): Bind it to `%'.
(vc-dir-mark-by-regexp): New command (bug#16460).
2022-05-11 14:59:27 +02:00
Stefan Kangas
93a74773b6 Merge from origin/emacs-28
7b4bdf7b9b Remove the AUCTeX subsection from MS-Windows FAQ
d2a5631552 Update AUCTeX FAQ entry
177718bc6d Update string-to-number documentation to bignum Emacs
74cc3b525f Fix doc string references to tags-loop-continue
2022-05-10 06:30:34 +02:00
Lars Ingebrigtsen
74cc3b525f Fix doc string references to tags-loop-continue
* lisp/vc/vc-dir.el (vc-dir-search, vc-dir-query-replace-regexp):
Fix reference to obsolete tags-loop-continue (bug#55311).
2022-05-09 11:46:56 +02:00
Eli Zaretskii
b3023de543 Merge from origin/emacs-28
# Conflicts:
#	lisp/progmodes/xref.el
2022-04-28 18:37:34 +03:00
Eli Zaretskii
16d1ab02af Add minimum instructions to 'query-replace' commands
* lisp/vc/vc-dir.el (vc-dir-query-replace-regexp):
* lisp/textmodes/reftex-global.el (reftex-query-replace-document):
* lisp/progmodes/project.el (project-query-replace-regexp):
* lisp/progmodes/etags.el (tags-query-replace):
* lisp/progmodes/ebrowse.el (ebrowse-tags-query-replace):
* lisp/isearch.el (isearch-query-replace, isearch-occur):
* lisp/emulation/viper-cmd.el (viper-query-replace):
* lisp/dired-aux.el (dired-do-query-replace-regexp)
(dired-do-find-regexp-and-replace):
* lisp/progmodes/xref.el (xref-query-replace-in-results):
* lisp/replace.el (query-replace, query-replace-regexp)
(query-replace-regexp-eval, map-query-replace-regexp): Add minimal
instructions for dealing with matches, with a link to the command
that shows the full instructions.  (Bug#55050)
2022-04-21 14:54:45 +03:00
Matthias Meulien
a1617f070b Don't prefix bookmark name with VC backend name
* lisp/vc/vc-dir.el (vc-dir-bookmark-make-record): Remove prefix from
bookmark name.
2022-02-17 12:58:12 +01:00
Matthias Meulien
7c99526435 Extend bookmark menu with with handler type column
* lisp/bookmark.el (bookmark-bmenu--revert): Extend table entries with
handler type.
(bookmark-bmenu-mode): Add handler type column.
* lisp/doc-view.el (doc-view-bookmark-jump): Set bookmark handler type.
* lisp/help-mode.el (help-bookmark-jump): Set bookmark handler type.
* lisp/image-dired.el (image-dired-bookmark-jump): Set bookmark handler type.
* lisp/info.el (Info-bookmark-jump): Set bookmark handler type.
* lisp/net/eww.el (eww-bookmark-jump): Set bookmark handler type.
* lisp/vc/vc-dir.el (vc-dir-bookmark-jump): Set bookmark handler type.
* lisp/woman.el (woman-bookmark-jump): Set bookmark handler type.
2022-02-17 12:58:12 +01:00
Eli Zaretskii
dcd76bd48d Merge from origin/emacs-28
836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year.
86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year
ebe8772f65 ; Minor fixes related to copyright years
23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye...
8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t.
19dcb237b5 ; Add 2022 to copyright years.

# Conflicts:
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
#	lib/cdefs.h
#	lisp/erc/erc-dcc.el
#	lisp/erc/erc-imenu.el
#	lisp/erc/erc-replace.el
#	lisp/image-dired.el
#	lisp/progmodes/xref.el
#	m4/alloca.m4
#	m4/byteswap.m4
#	m4/errno_h.m4
#	m4/getopt.m4
#	m4/gnulib-common.m4
#	m4/inttypes.m4
#	m4/stddef_h.m4
#	m4/stdint.m4
#	m4/sys_socket_h.m4
2022-01-01 07:03:03 -05:00
Eli Zaretskii
19dcb237b5 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
Lars Ingebrigtsen
0dca455d14 Make the Git stash commands available in vc-dir Git buffers
* lisp/vc/vc-dir.el (vc-dir): Call the backend-specific minor mode
if it exists.
* lisp/vc/vc-git.el (vc-dir-git-mode-map): New map.
(vc-dir-git-mode): New minor mode.
2021-12-06 06:41:25 +01:00
Eli Zaretskii
5b44e0511a ; Fix some recent fixes to doc strings
* lisp/whitespace.el (whitespace-empty-at-bob-regexp):
* lisp/vc/vc-dir.el (vc-dir-child-files-and-states):
* lisp/vc/vc-annotate.el
(vc-annotate-show-changeset-diff-revision-at-line):
* lisp/vc/ediff.el (ediff-merge-with-ancestor-command):
* lisp/gnus/nnvirtual.el (nnvirtual-update-xref-header)
(nnvirtual-map-article):
* lisp/emulation/viper-init.el (viper-ESC-keyseq-timeout):
* lisp/emulation/viper-cmd.el
(viper-set-parsing-style-toggling-macro):
* lisp/cedet/data-debug.el (data-debug-insert-hash-table-button):
"The first line of a doc string must be a complete sentence."
Also, fix some awkward wording in doc strings while at that.
2021-09-26 16:50:11 +03:00
Stefan Kangas
c78e16962e ; Adjust overly long docstrings to fit 80 characters 2021-09-26 13:23:57 +02:00
Stefan Kangas
b2164df86b ; More stylistic docfixes in vc/*.el found by checkdoc 2021-09-18 09:35:29 +02:00
Stefan Kangas
63f419f133 ; Minor stylistic fixes found by checkdoc 2021-09-16 19:37:07 +02:00
Stefan Kangas
25ebb9374b ; More minor docfixes found by checkdoc 2021-09-14 07:57:14 +02:00
Stefan Monnier
99340ad17a lisp/vc/*.el: Use lexical-bindings in all the files
Also remove some redundant `:group` arguments.

* lisp/vc/vc.el (vc-ignore): Autoload.

* lisp/vc/pcvs-util.el (cvs-every, cvs-union, cvs-map): Delete functions.
* lisp/vc/cvs-status.el: Require `cl-lib` at runtime.
(cvs-tree-tags-insert): Use `cl-mapcar` and `cl-every` instead.
* lisp/vc/pcvs.el: Require `cl-lib` at runtime.
(cvs-do-removal): Use `cl-every` instead.

* lisp/vc/ediff-init.el: Require `ediff-util` (for `ediff-cleanup-mess`
and `ediff-default-suspend-function`).

* lisp/vc/pcvs-info.el (cvs-fileinfo<): Remove unused vars `subtypea`
and `subtypeb`.

* lisp/vc/vc-git.el:
* lisp/vc/vc-bzr.el: Require `vc-dispatcher` at runtime for
`vc-do-async-command`.
2021-02-26 16:51:15 -05:00
Protesilaos Stavrou
91b37381ea Specify the Emacs version of new vc-dir faces
* vc-dir.el (vc-dir-header)
(vc-dir-header-value)
(vc-dir-directory)
(vc-dir-file)
(vc-dir-mark-indicator)
(vc-dir-status-warning)
(vc-dir-status-edited)
(vc-dir-status-up-to-date)
(vc-dir-status-ignored): Add version 28.1.  (Bug#46745)
2021-02-24 13:45:12 +00:00
Protesilaos Stavrou
ff16c897ea Refine use of vc-dir faces; apply to all backends
* lisp/vc/vc-dir.el (vc-default-dir-printer): Add check for the
"ignored" status and make 'vc-dir-status-edited' the default face.
Also extend condition for more states that qualify as "warnings".

(vc-dir-ignored, vc-dir-status-ignored): Rename face for consistency.

* lisp/vc/vc-git.el (vc-git-dir-printer): Use the
'vc-dir-status-edited' as the default for the Git backend.  And
reference the renamed face.  Also stop treating the empty stash
differently from other header values.

* lisp/vc/vc-bzr.el (vc-bzr-dir-extra-headers): Implement new faces.
* lisp/vc/vc-cvs.el (vc-cvs-dir-extra-headers): Same.
* lisp/vc/vc-hg.el (vc-hg-dir-extra-headers): Same.
* lisp/vc/vc-svn.el (vc-svn-dir-extra-headers): Same.

This follows from the discussion in bug#46358.
2021-02-10 03:38:15 +02:00
Protesilaos Stavrou
9fdc753e14 Add vc-dir faces; also apply them to vc-git
* etc/NEWS: Document the new faces.

* lisp/vc/vc-dir.el (vc-dir-header, vc-dir-header-value)
(vc-dir-directory, vc-dir-file, vc-dir-mark-indicator)
(vc-dir-status-warning, vc-dir-status-edited, vc-dir-status-up-to-date)
(vc-dir-ignored): Add new faces.

* lisp/vc/vc-git.el (vc-git-permissions-as-string, vc-git-dir-printer)
(vc-git-dir-extra-headers): Apply new faces (bug#46358).
2021-02-08 07:54:54 +01:00
Dmitry Gutov
bbad7904e2 vc-dir-mode-map: Remove the mouse-2 binding
* lisp/vc/vc-dir.el (vc-dir-mode-map):
Remove the mouse-2 binding (bug#13692).
(vc-dir-mode): Update the docstring accordingly.
(vc-dir-status-mouse-map): New variable.
(vc-default-dir-printer): Use it on the state buttons.

* lisp/vc/vc-git.el (vc-git-dir-printer): Same.
2021-01-30 03:56:47 +02:00
Paul Eggert
ba05d005e5 Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright".
2021-01-01 01:13:56 -08:00
Stefan Kangas
5ef30fbf11 Prefer setq-local in vc/*.el
* lisp/vc/add-log.el (find-change-log, change-log-mode):
* lisp/vc/cvs-status.el (cvs-status-mode):
* lisp/vc/diff-mode.el (diff-restrict-view, diff-find-file-name):
(diff-mode, diff-setup-whitespace, diff-apply-hunk):
* lisp/vc/diff.el (diff-no-select):
* lisp/vc/ediff-util.el (ediff-setup):
* lisp/vc/log-edit.el (log-edit, log-edit-mode):
* lisp/vc/log-view.el (log-view-mode):
* lisp/vc/pcvs.el (cvs-temp-buffer, cvs-make-cvs-buffer):
(cvs-update-filter, cvs-mode, cvs-mode-commit)
(cvs-mode-edit-log, cvs-vc-command-advice):
* lisp/vc/smerge-mode.el (smerge-match-conflict):
(smerge-ediff, smerge-mode):
* lisp/vc/vc-annotate.el (vc-annotate-mode):
(vc-annotate, vc-annotate-display):
* lisp/vc/vc-bzr.el (vc-bzr-log-view-mode):
* lisp/vc/vc-dir.el (vc-dir-mode):
* lisp/vc/vc-dispatcher.el (vc-setup-buffer):
(vc-compilation-mode, vc-start-logentry):
* lisp/vc/vc-git.el (vc-git-log-view-mode):
* lisp/vc/vc-hg.el (vc-hg-log-view-mode):
* lisp/vc/vc-hooks.el (vc-refresh-state):
* lisp/vc/vc-mtn.el (vc-mtn-log-view-mode):
* lisp/vc/vc-svn.el (vc-svn-log-view-mode):
* lisp/vc/vc.el (vc-register, vc-diff-internal):
(vc-find-revision-save, vc-find-revision-no-save):
(vc-log-internal-common, vc-region-history): Prefer setq-local.
2020-12-05 08:58:12 +01:00
Andrii Kolomoiets
a1d9463ae7 Save and restore point in ewoc-invalidate
* lisp/emacs-lisp/ewoc.el (ewoc--refresh-node): Save and restore point line
and column offset.
(eowc-map) (ewoc--invalidate) (ewoc-set-hf): Don't use save-excursion
* lisp/vc/vc-dir.el (vc-dir-update): Don't save/restore point on calling
'ewoc-invalidate'.
2020-09-18 11:53:32 -04:00
Andrii Kolomoiets
f450798cb0 Don't move point in vc-dir on vc-register/vc-checkin (bug#43188)
* lisp/vc/vc-dir.el (vc-dir-update):
  Save and restore point on 'ewoc-invalidate'.
* lisp/vc/vc-dispatcher.el (vc-finish-logentry):
  Don't call 'vc-dir-move-to-goal-column'.
* lisp/vc/vc.el (vc-register): Don't call 'vc-dir-move-to-goal-column'.
2020-09-05 00:16:39 +03:00
Juri Linkov
c70a3a4163 Revert feature added in bfd96e995d using project directories in vc (bug#41821) 2020-07-02 01:08:18 +03:00
Juri Linkov
bfd96e995d M-n in read-directory-name of vc commands gets project dirs (bug#41821)
* lisp/progmodes/project.el (project-known-roots): New autoloaded function.

* lisp/vc/vc-hooks.el (vc-known-roots): New function.

* lisp/vc/vc.el (vc-root-diff, vc-print-root-log):
* lisp/vc/vc-dir.el (vc-dir): Use 'vc-known-roots' for default
values for read-directory-name.
2020-06-24 02:59:31 +03:00
Juri Linkov
ce4ec17930 Fix display-buffer-override-next-command to call action only once (bug#39722)
* lisp/vc/vc-dir.el (vc-dir-bookmark-jump): Don't use save-window-excursion.

* lisp/window.el (display-buffer-override-next-command): Reset
display-buffer-overriding-action after the first buffer display action.

* lisp/tab-bar.el (switch-to-buffer-other-tab): Don't reuse frame tabs.
(other-tab-prefix): Don't reuse frame tabs.
2020-06-22 02:36:16 +03:00
Matthias Meulien
0bfee4b18b Bookmark locations can refer to VC directory buffers (bug#39722)
* etc/NEWS: Document feature.
* lisp/vc/vc-dir.el (vc-dir-mode): Set local bookmark-make-record-function.
(bookmark-make-record-default, bookmark-prop-get, bookmark-default-handler)
(bookmark-get-bookmark-record): Declarations.
(vc-dir-bookmark-make-record): Make record used to bookmark a `vc-dir' buffer.
(vc-dir-bookmark-jump): Provides bookmark-jump behavior for a `vc-dir' buffer.
2020-05-21 01:37:30 +03:00
Juri Linkov
adfcc17e6f * lisp/vc/vc-dir.el: Commands to mark un/registered files (bug#34949)
* lisp/vc/vc-dir.el (vc-dir-mark-state-files): New function.
(vc-dir-mark-registered-files)
(vc-dir-mark-unregistered-files): New commands.
(vc-dir-mode-map): Bind vc-dir-mark-registered-files to '* r'.
(vc-dir-menu-map): Add menu entries for
vc-dir-mark-registered-files and vc-dir-mark-unregistered-files.
2020-04-03 01:08:09 +03:00
Juri Linkov
7a6f5a5167 Support state changing VC operations on directories in Dired (bug#34949)
* lisp/dired-aux.el (dired-vc-next-action): New command.
(dired-vc-deduce-fileset): Rename from vc-dired-deduce-fileset in vc.el.

* lisp/dired.el (dired-mode-map): Remap vc-next-action to
dired-vc-next-action.

* lisp/vc/vc-dir.el (vc-dir-mark-files): New function.
(vc-dir-refresh): Run hook vc-dir-refresh-hook.

* lisp/vc/vc.el (vc-deduce-fileset): Rename arg 'observer' to
'not-state-changing' and document it in docstring.
(vc-dired-deduce-fileset): Rename to dired-vc-deduce-fileset in dired-aux.el.

* lisp/cedet/ede.el (ede-turn-on-hook, ede-minor-mode):
* lisp/desktop.el (desktop-minor-mode-table): Rename the long ago
obsolete vc-dired-mode to vc-dir-mode.
2020-03-30 01:34:47 +03:00
Juri Linkov
52fab66c27 * lisp/vc/vc-dir.el (vc-dir-root): New command (bug#12492, bug#34949).
* lisp/vc/vc-hooks.el (vc-menu-map): Change menu command from
'vc-dir' to 'vc-dir-root'.
2020-03-29 02:08:05 +02:00
Dmitry Gutov
9ec6eb1065 vc-dir-ignore: More accurately choose base directory
* lisp/vc/vc-dir.el:
(vc-dir-ignore): Use it (bug#37189).

* lisp/vc/vc.el:
(vc--ignore-base-dir): Extract from vc-ignore.
2020-02-25 01:03:42 +02:00
Dmitry Gutov
dd5756436c Move more logic to vc-ignore from vc-default-ignore
* lisp/vc/vc-dir.el (vc-dir-ignore):
Pass relative file names to vc-ignore.

* lisp/vc/vc.el (vc-ignore): Move the responsibility of
constructing the ignore pattern (right now, most often a relative
file name) using a file name received from the user, here.
(vc-default-ignore): ...from here (bug#37189, see discussion).
Also clarify the docstring.
2020-02-23 01:51:38 +02:00
Wolfgang Scherer
2b12c2b6f2 Make sure not to mark directories
* lisp/vc/vc-dir.el (vc-dir-mark-all-files):
Make sure not to mark directories (bug#37182).
2020-02-12 00:29:40 +02:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Dmitry Gutov
2c8f1539ab Speed up vc-dir-update
* lisp/vc/vc-dir.el (vc-dir-update): Speed up.
(https://lists.gnu.org/archive/html/emacs-devel/2019-12/msg00568.html)
2019-12-21 00:12:44 +02:00
Wolfgang Scherer
c99c9ec28c Provide facility to ignore all marked files in vc
* lisp/vc/vc-dir.el: (vc-dir-ignore) With prefix argument, ignore all
marked files (bug#37240).
2019-09-15 15:00:20 +02:00
Juri Linkov
6253541c76 * lisp/vc/vc-dir.el (vc-dir-search): Remove lambda.
(Bug#31578) Thanks to Dmitry Gutov <dgutov@yandex.ru>
2019-07-16 01:12:12 +03:00
Noam Postavsky
150aec0af3 Use ngettext in vc-dir-clean-files
* lisp/vc/vc-dir.el (vc-dir-clean-files): Use ngettext to separate
pluralization from format string.
2019-07-14 10:04:22 -04:00
Lars Ingebrigtsen
d3256dc78a Rename vc-dir-delete-files-no-vc to vc-dir-clean-files
* doc/emacs/maintaining.texi (VC Directory Commands): Adjust
command name.

* lisp/vc/vc-dir.el (vc-dir-clean-files): Rename from
vc-dir-delete-files-no-vc, and work on unregistered files only
(bug#31732).
(vc-dir-menu-map): Adjust command name.
2019-07-14 14:25:44 +02:00
Lars Ingebrigtsen
a3509a71c0 Add a new command in vc-dir mode to delete files
* doc/emacs/maintaining.texi (VC Directory Commands): Document it.

* lisp/vc/vc-dir.el (vc-dir-delete-files-no-vc): New command and
keystroke (bug#31732).
2019-07-13 06:10:29 +02:00
Juri Linkov
147a2a8861 * lisp/vc/vc-dir.el (vc-dir-view-file): New command for consistency with dired
* lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing):
Remove interactive spec from non-command functions.  (Bug#12492)
2019-07-08 01:54:29 +03:00
Stefan Monnier
5f485a2fc0 * lisp/vc/vc-dir.el (vc-dir-search): Avoid eval. 2019-06-20 17:45:52 -04:00
Lars Ingebrigtsen
e25d6cb038 Use fileloop directly in vc-dir to avoid obsolete function
* lisp/vc/vc-dir.el (vc-dir-query-replace-regexp): Rewrite to use
fileloop directly to avoid the obsolete function
tags-query-replace.
2019-06-16 15:21:17 +02:00
Paul Eggert
852d281769 Update author/maintainer info
Update email addresses and fix spellings of some author and
maintainer names.
2019-05-26 01:00:16 -07:00
Paul Eggert
ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00