unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#50602: 28.0.50; [PATCH] Make 'C-u C-x v v' handle unregistered files
@ 2021-09-15 11:45 Manuel Giraud
  0 siblings, 0 replies; only message in thread
From: Manuel Giraud @ 2021-09-15 11:45 UTC (permalink / raw)
  To: 50602

[-- Attachment #1: Type: text/plain, Size: 232 bytes --]


Hi,

Here is a patch that make 'C-u C-x v v' (C-u M-x vc-next-action) works
with unregistered file. It let you choose one backend and register the
file into it. This was discussed with Eli Zaretskii and Dmitry Gutov in
bug#50572.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Make-C-u-C-x-v-v-handle-unregistered-files.patch --]
[-- Type: text/x-patch, Size: 1033 bytes --]

From 5b98eedf80b8aed40fe610eb785ad37a80f03e3d Mon Sep 17 00:00:00 2001
From: Manuel Giraud <manuel@ledu-giraud.fr>
Date: Wed, 15 Sep 2021 13:31:29 +0200
Subject: [PATCH] Make 'C-u C-x v v' handle unregistered files.

---
 lisp/vc/vc.el | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 512f07d2f6..b3a5ff01cf 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -1214,7 +1214,11 @@ vc-next-action
      ((eq state 'ignored)
       (error "Fileset files are ignored by the version-control system"))
      ((or (null state) (eq state 'unregistered))
-      (vc-register vc-fileset))
+      (cond (verbose
+             (let ((backend (vc-read-backend "Backend to register to: ")))
+               (vc-register (cons backend (cdr vc-fileset)))))
+            (t
+             (vc-register vc-fileset))))
      ;; Files are up-to-date, or need a merge and user specified a revision
      ((or (eq state 'up-to-date) (and verbose (eq state 'needs-update)))
       (cond
-- 
2.33.0


[-- Attachment #3: Type: text/plain, Size: 7426 bytes --]



In GNU Emacs 28.0.50 (build 1, x86_64-unknown-openbsd7.0, X toolkit, cairo version 1.16.0, Xaw3d scroll bars)
 of 2021-09-13 built on elite.giraud
Repository revision: 5ee05fa75d517fdd13c9795aa78e12489140e388
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
System Description: OpenBSD elite.giraud 7.0 GENERIC.MP#211 amd64

Configured using:
 'configure --prefix=/home/manuel/emacs --bindir=/home/manuel/bin
 --with-x-toolkit=athena --without-sound --without-json
 CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LCMS2
LIBOTF LIBXML2 M17N_FLT MODULES NOTIFY KQUEUE PDUMPER PNG RSVG THREADS
TIFF TOOLKIT_SCROLL_BARS X11 XAW3D XDBE XIM XPM LUCID ZLIB

Important settings:
  value of $LC_ALL: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Dired by name

Minor modes in effect:
  gnus-dired-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  show-paren-mode: t
  icomplete-mode: t
  display-time-mode: t
  shell-dirtrack-mode: t
  windmove-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/manuel/.el/google-maps.el/google-maps hides /home/manuel/.el/google-maps
/home/manuel/.emacs.d/elpa/magit-20210909.434/magit-section-pkg hides /home/manuel/.emacs.d/elpa/magit-section-20210829.1849/magit-section-pkg
/home/manuel/.emacs.d/elpa/transient-20210819.2118/transient hides /home/manuel/emacs/share/emacs/28.0.50/lisp/transient

Features:
(shadow emacsbug gnus-dired pulse tar-mode make-mode shr-color ispell
help-fns radix-tree cl-print debug backtrace vc-mtn vc-hg vc-bzr vc-src
vc-sccs magit-extras face-remap magit-submodule magit-obsolete
magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-tag magit-merge magit-branch
magit-reset magit-files magit-refs magit-status magit magit-repos
magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode
diff git-commit rx log-edit pcvs-util magit-core magit-autorevert
autorevert filenotify magit-margin magit-transient magit-process
with-editor magit-mode transient magit-git magit-section magit-utils
dash dabbrev vc-cvs vc-rcs vc misearch multi-isearch vc-git diff-mode
bug-reference mailalias bbdb-message gnus-dup debbugs-gnu add-log
debbugs soap-client warnings rng-xsd rng-dt rng-util xsd-regexp
vc-dispatcher vc-svn sort gnus-cite mail-extr gnus-async gnus-bcklg
gnus-ml gnus-topic cursor-sensor mm-archive url-http url-gw url-auth qp
utf-7 imap rfc2104 nnrss mm-url nndoc nndraft nnmh gnutls network-stream
nsm nnfolder bbdb-gnus nnml gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg nntp gnus-cache w3m w3m-hist w3m-fb bookmark-w3m
w3m-ems w3m-favicon w3m-image tab-line w3m-proc w3m-util cl-extra
help-mode paredit paren icomplete time battery cus-load exwm-randr
xcb-randr exwm-config exwm exwm-input xcb-keysyms exwm-manage
exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core
xcb-ewmh xcb-icccm xcb xcb-xkb xcb-xproto xcb-types xcb-debug server
modus-operandi-theme modus-themes pcase google-maps google-maps-static
google-maps-geocode google-maps-base osm-mode url-cache gnuplot
info-look transmission color calc-bin calc-ext calc calc-loaddefs rect
calc-macs w3m-load mu4e mu4e-org mu4e-main mu4e-view mu4e-view-gnus
gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum gnus-group
gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source
utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader
wid-edit mu4e-view-common mu4e-headers mu4e-compose mu4e-context
mu4e-draft mu4e-actions ido rfc2368 smtpmail sendmail mu4e-mark
mu4e-proc mu4e-utils doc-view jka-compr image-mode exif mu4e-lists
mu4e-message shr kinsoku svg xml dom flow-fill mule-util hl-line
mu4e-vars message rmc puny rfc822 mml mml-sec epa derived epg rfc6068
epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr
mail-utils gmm-utils mailheader mu4e-meta supercite regi bbdb-anniv
diary-lib diary-loaddefs bbdb-mua bbdb-com crm mailabbrev bbdb bbdb-site
timezone org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-footnote org-src ob-comint org-pcomplete org-list org-faces
org-entities org-version ob-emacs-lisp ob-core ob-eval org-table ol
org-keys org-compat org-macs org-loaddefs find-func cal-menu calendar
cal-loaddefs visual-basic-mode web-mode disp-table erlang-start
smart-tabs-mode skeleton cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs movitz-slime cl slime-asdf
grep slime-tramp tramp tramp-loaddefs trampver tramp-integration files-x
tramp-compat shell pcomplete parse-time iso8601 time-date ls-lisp
format-spec slime-fancy slime-indentation slime-cl-indent cl-indent
slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references
slime-compiler-notes-tree advice slime-scratch slime-presentations
bridge slime-macrostep macrostep slime-mdot-fu slime-enclosing-context
slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-repl slime-parse slime
compile text-property-search etags fileloop generator xref project
arc-mode archive-mode noutline outline pp comint ansi-color ring
hyperspec thingatpt slime-autoloads dired-aux dired-x dired
dired-loaddefs edmacro kmacro windmove easy-mmode tex-site info package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads dbusbind kqueue lcms2
dynamic-setting system-font-setting font-render-setting cairo x-toolkit
x multi-tty make-network-process emacs)

Memory information:
((conses 16 938030 200531)
 (symbols 48 58030 7)
 (strings 32 278853 15585)
 (string-bytes 1 8449695)
 (vectors 16 123986)
 (vector-slots 8 2511427 118549)
 (floats 8 2958 919)
 (intervals 56 27023 1430)
 (buffers 992 56))

-- 
Manuel Giraud

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-09-15 11:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-15 11:45 bug#50602: 28.0.50; [PATCH] Make 'C-u C-x v v' handle unregistered files Manuel Giraud

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).