From unknown Sat Jun 21 03:23:45 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#34949 <34949@debbugs.gnu.org> To: bug#34949 <34949@debbugs.gnu.org> Subject: Status: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Reply-To: bug#34949 <34949@debbugs.gnu.org> Date: Sat, 21 Jun 2025 10:23:45 +0000 retitle 34949 27.0.50; Docstring of `vc-deduce-fileset' incomplete reassign 34949 emacs submitter 34949 Philipp Stephani severity 34949 minor tag 34949 confirmed fixed thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 22 14:03:02 2019 Received: (at submit) by debbugs.gnu.org; 22 Mar 2019 18:03:02 +0000 Received: from localhost ([127.0.0.1]:54669 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h7OVR-0002Qm-LI for submit@debbugs.gnu.org; Fri, 22 Mar 2019 14:03:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48073) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h7OVP-0002QR-NT for submit@debbugs.gnu.org; Fri, 22 Mar 2019 14:03:00 -0400 Received: from lists.gnu.org ([209.51.188.17]:47018) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h7OVK-0007w6-He for submit@debbugs.gnu.org; Fri, 22 Mar 2019 14:02:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33916) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h7OVJ-0002bl-7t for bug-gnu-emacs@gnu.org; Fri, 22 Mar 2019 14:02:54 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_50, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h7OJl-00063a-4v for bug-gnu-emacs@gnu.org; Fri, 22 Mar 2019 13:50:58 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:40353) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h7OJk-000627-Nw for bug-gnu-emacs@gnu.org; Fri, 22 Mar 2019 13:50:57 -0400 Received: by mail-wm1-x333.google.com with SMTP id u10so3013863wmj.5 for ; Fri, 22 Mar 2019 10:50:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=NkxN1TXh6pPebwX6Sy252IBXF5geDwgo6OHnYkVaYXg=; b=OupdY0z/1fxV/lZbQ3DDDRFvnev96LwQwYYeFb4wKhs/tTMTnYSLj8CmnbFCiwUbob 7m+nA1oJAQdyhANgd2QHI2OOXNXHZa8HpKp5pHLmollnlQ0jZ0922YClAk+to4Lur8b4 NF+lUpX+/cA/sa2v/RJLOXiRPiiyBHcgNfnLet/v6XbkVe2yK99Q5ZCOVqZhOYm92hcG AYV8MesjJ5ndkblCBWB65l5bRG+OJ6CRIzrhWgea2mwfoPivZvAfc14Yz3OYOAg7rL8C nxdEHbkJZza2BFiEHxDp6h2j5bTyw5CT6Ks70MgtnADqHHRhH9+qhWo19s53C2hoSlNE GMoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=NkxN1TXh6pPebwX6Sy252IBXF5geDwgo6OHnYkVaYXg=; b=hOWCkpUOdetb75e7xsGn2R1U3YlH0R3d/X7jJIEtD4gn/Ol7VcsxA1zeJlaxO3BAkf m+3eCd/zQZhxgD61K4rpsO+rc6iA3daQo7v6lH6S4CdXNzAjcC5M4OYuNjOrfpZ48yI3 F22hS+52dnbCHbmV48nscEV5jVIK5hoYN57YiJw4fqOzTRP1Ese/vZ+1O80VB7xmcQ22 1Um+znewf3iwnL/gS4iNEKJMUAM6XOP2KV6gBjJOT3c9V7FX5Fve4xYGO/G9zTAsl6Qg WhPUMfqIGlBcxbfJtiKzF206HTj9Jn5GnW9g2ZeidLVMYW9bpTIUUd0o8SRX7vJOKoAG XMPg== X-Gm-Message-State: APjAAAVCtX8iMrmSoz2OwtcHDK8RyEoNjeIN95YnTj5vPpA74zDpBaOU cEGuXa9GyBCfJ0rmrRKktJGuimQp X-Google-Smtp-Source: APXvYqzC+txRItHwMY+Zdzc9DZXxXpiAwCMN0wNoknIbk21CCTdBIy/bbmFgC6+H1WI/l3YbZOBPQQ== X-Received: by 2002:a1c:d106:: with SMTP id i6mr2496034wmg.134.1553277054704; Fri, 22 Mar 2019 10:50:54 -0700 (PDT) Received: from phst-desktop.muc.corp.google.com ([2a00:79e0:15:10:da73:c08c:d5e2:512d]) by smtp.gmail.com with ESMTPSA id t187sm5658120wma.1.2019.03.22.10.50.53 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 10:50:53 -0700 (PDT) From: Philipp Stephani To: bug-gnu-emacs@gnu.org Subject: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Date: Fri, 22 Mar 2019 18:50:52 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::333 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The docstring of `vc-deduce-fileset' doesn't describe the OBSERVER parameter. It also doesn't explain the meaning of the return values FILESET-ONLY-FILES, STATE, and CHECKOUT-MODEL. In GNU Emacs 27.0.50 (build 57, x86_64-pc-linux-gnu, GTK+ Version 3.24.2) of 2019-03-22 Repository revision: 3375d08299bbc1e224d19a871012cdbbf5d787ee Repository branch: master Windowing system distrib [...] Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: x.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (p.stephani2[at]gmail.com) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (p.stephani2[at]gmail.com) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) The docstring of `vc-deduce-fileset' doesn't describe the OBSERVER parameter. It also doesn't explain the meaning of the return values FILESET-ONLY-FILES, STATE, and CHECKOUT-MODEL. In GNU Emacs 27.0.50 (build 57, x86_64-pc-linux-gnu, GTK+ Version 3.24.2) of 2019-03-22 Repository revision: 3375d08299bbc1e224d19a871012cdbbf5d787ee Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.11906000 System Description: Debian GNU/Linux buster/sid Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Configured using: 'configure --enable-gcc-warnings=3Dwarn-only --enable-gtk-deprecation-warnings --without-pop --with-mailutils --enable-checking --enable-check-lisp-object-type --with-modules 'CFLAGS=3D-O0 -ggdb3'' Configured features: XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY GNUTLS FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER GMP Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec epa epg epg-config gnus-util rmail rmail-loaddefs time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils phst skeleton derived edmacro kmacro pcase ffap thingatpt url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars subr-x rx gnutls puny seq byte-opt gv bytecomp byte-compile cconv dbus xml cl-loaddefs cl-lib elec-pair mule-util 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 menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame 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 minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 59133 6985) (symbols 48 7776 1) (strings 32 19985 2242) (string-bytes 1 656578) (vectors 16 11266) (vector-slots 8 146584 7268) (floats 8 23 16) (intervals 56 211 0) (buffers 992 12)) --=20 Google Germany GmbH Erika-Mann-Stra=C3=9Fe 33 80636 M=C3=BCnchen Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado If you received this communication by mistake, please don=E2=80=99t forward= it to anyone else (it may contain confidential or privileged information), please erase all copies of it, including all attachments, and please let the sender know it went to the wrong person. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 05 13:28:40 2019 Received: (at control) by debbugs.gnu.org; 5 Apr 2019 17:28:40 +0000 Received: from localhost ([127.0.0.1]:46249 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hCSdr-0007KW-Uw for submit@debbugs.gnu.org; Fri, 05 Apr 2019 13:28:40 -0400 Received: from mail-pg1-f182.google.com ([209.85.215.182]:44920) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hCSdp-0007KG-Mj for control@debbugs.gnu.org; Fri, 05 Apr 2019 13:28:38 -0400 Received: by mail-pg1-f182.google.com with SMTP id i2so3414047pgj.11 for ; Fri, 05 Apr 2019 10:28:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:openpgp:autocrypt:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=MJqJorpADgCejIgMcSY+JpKbAf+ng1E5JyHScl4c7Ok=; b=cbPU4KoR8IGLCiNkM7JBh97Ke+spuvONRON4uiwyDJ62yhgmCwtqNbInTXGy5mOsWP qGTCGmiRy/Q8GB/Y/pwV6SeT+mwBIp3Iy9im/VqJ4LfPT2CLPu6uwpZQdnNvdSvAZCGL cVR7Sqf9ImgC4E7nGUuCXLNvcoGkOqxwsmP9ay3+Vf81SUwLMq95BkwtBZwNtz7eNBc3 HZwCpoJHW4iYtXV0fwL4YlNT3r4PF9qgV3wAf1WsGDK84xlHhQkxJXaDeL3CMDZAGIyn 5f4KWHo08RDKJFtpp8ukZnOT9gH9hitRA9IIFOwyTTgVF1QykGWjq02tAtMRVJrTRN9e qjlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:openpgp:autocrypt:message-id :date:user-agent:mime-version:content-language :content-transfer-encoding; bh=MJqJorpADgCejIgMcSY+JpKbAf+ng1E5JyHScl4c7Ok=; b=KdakCXe0X6rlp2sHHUfhwzhcaC7dWatycRxyVCyv5CEanO0tV422PFqLSKHrSib2jf CUSbF2a2+0n/SF7TM0z0qpKBPtN9spvfOK8e5rhV4YdBCCJXo9OYUHnQKf2l7HpxeqDk SbQr5QdnZ9DmZo77dcqAdbc7IcTTlT0gwCzMtnai7rllMkDAKe4/jt1PqVIkyVDBS7+U 0hUq5zQZEgAtk/bSzZ78xiDxuWQfVOVXMxVEYZonQpMd5+bqt7igWoFDCfVqeFeyDjwh cZfftVw365vZiVps0nkmbkhTlnpf46+oyU40iYSe2n+WKuZG45RZE2mfhu7cQaor4YQO cpvw== X-Gm-Message-State: APjAAAXr1GMnpYGrgivvmR3TBImimht1MzJkI/q4dlDsPv1cKR1tzLzd /DzXGDVPLBPVjmBpihGuagUcfKfk X-Google-Smtp-Source: APXvYqwcciWDyuVlyzFtuuoaonuoEFRDgenp+e68Ybf+W1VkNAiz0qIa223WvtZ+POUvJc3IoMYiEg== X-Received: by 2002:a62:4815:: with SMTP id v21mr13652958pfa.167.1554485311218; Fri, 05 Apr 2019 10:28:31 -0700 (PDT) Received: from [192.168.1.4] ([123.201.54.128]) by smtp.gmail.com with ESMTPSA id x24sm30468943pfn.128.2019.04.05.10.28.29 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 05 Apr 2019 10:28:30 -0700 (PDT) To: control@debbugs.gnu.org From: Bhavin Gandhi Subject: control message for #34949 Openpgp: preference=signencrypt Autocrypt: addr=bhavin7392@gmail.com; keydata= mQENBFlvYmcBCADMvY6vWW1mlrMaFjR/zfH8F+POSERMwwJbUIjYQZYdXS6Ka0MoGwscBvqX K0ANEz98oiQF4YYOXVRjjXuEHa1McuFBhWytcz8CtK0R+z7NZ+1RCZRnycH699ytSFfhg3TW 393hHciwT4pqtJx/XpMpLa3SUtmwCb0nc6XPN/N54Ma/kQoHaAAmLxgIkJuimUyNeW5nfYeD 2oCuWMp3BrPQusSsnUqXRKeZYr0A/4hFG3Fvrz5JQTSunbnkJsEGcaLx5U8R01EagF2t9Weu dzJEUkuqbgyd32Mvew63HxvzQJ/912i04pbNLJJZWQT7zc/Pq/S8eKTmxJkXuO/8P6D/ABEB AAG0JEJoYXZpbiBHYW5kaGkgPGJoYXZpbjczOTJAZ21haWwuY29tPokBVAQTAQgAPhYhBFhJ I56UHw6ygGNwvbRcxA4XNfShBQJZb2JnAhsDBQkDwmcABQsJCAcCBhUICQoLAgQWAgMBAh4B AheAAAoJELRcxA4XNfShvekH/iJc6mt4UYg74+yJfvlQ1ZIXSgw2+A3meOR9akD0+hxSfJqH 2O+SQ1kJxe6zzkZWhSHrQpNs+EDjreqAJKMFAIbcijsRAQY1rLrz0F3v2jeQqmsFebIOEJyD gVZkP4/PzbEHPjLCqIZZzF4txVIFen0DGa9oQCQ0HiZeU+5uNpT/lmxcYCy5rUNnDExrHMEN ntPRq4n3txqa4XTVMvuMCxZ7OdMExQ/Ss9pa2TNS851sUWYPSFo/7E+9/c1Bhf0Mol5aNNPJ kmafXck9hdlEnww2piA8qpAxadVzZ9EkalkCL9f+jLAwj7CiCWOQntJYOM4Uw16ZBL+enqBi wxl5H1K5AQ0EWW9iZwEIALwi+JkFmwdA3xzPfknVIVdTOUn30JZSrU0svMPA7+RgW1h/6upq 3919VCn9E+IZLJtt2AoSMLFcMasif1+sd2A1Fh+0cXT7A0deBJCuNUBJQQpTVy3iQCR02cRW fC3x2/f7DDZyZJI46pTxSY5fYiYcGf9yVrtLAdGCTNZiVKMpSD73aPUSv9Emt9Aytj6aMHRM I/R2AVaWaXeP5YW5sgmh6ANfXXLDH8epbLBEqg2Ewtt2oqZz8I4AGq+hTvd/hcw2UR/D3SmF QuZWy+A+F77updlz7K+5cUcu5Su/Ad+LZRi86/7mhVMZz+WQKvJlKEkmwgfqCtkgHNpIdHdG BP0AEQEAAYkBPAQYAQgAJhYhBFhJI56UHw6ygGNwvbRcxA4XNfShBQJZb2JnAhsMBQkDwmcA AAoJELRcxA4XNfShZ2IH/RSlP61KkIVLhEnHJkQorh8a/zn+qO9mWcJN67Wze8b5dTZnoUkr cYvtVe4n51nnCNy3qMZYGjZIJuLuB/GFec+9EPhAxaKYlpLKlBMJwXhZ6XCgMNIMTMw23JiR QxIr5rfi/0Y8hybM9Ycu4KNMowW0TbwR78UB8eRQ7dCLFv+b8PjjkJ1dXmE64KYozzxmluor nosxNaL3KGSrxF2FPY8WVizERQ/cju3yDGg4O95wLc4j4B4HurMlOzsOR+jEcWtNBF16T9cf fKYLr5NrS03ffPHgVMasNIYfzniIiPgPpWkgUMasUDIul4XMKPXLMt6Mz9e9WHmIN44DuRYu V24= Message-ID: <517a9621-0152-45e9-4ae4-9484dae2ad92@gmail.com> Date: Fri, 5 Apr 2019 22:58:28 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) tags 34949 confirmed From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 09 18:41:01 2019 Received: (at 34949) by debbugs.gnu.org; 9 Oct 2019 22:41:02 +0000 Received: from localhost ([127.0.0.1]:54398 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iIKdh-0000JF-LC for submit@debbugs.gnu.org; Wed, 09 Oct 2019 18:41:01 -0400 Received: from quimby.gnus.org ([80.91.231.51]:46150) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iIKdg-0000J6-77 for 34949@debbugs.gnu.org; Wed, 09 Oct 2019 18:41:00 -0400 Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=marnie) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iIKdc-0005aS-Kj; Thu, 10 Oct 2019 00:40:59 +0200 From: Lars Ingebrigtsen To: Philipp Stephani Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete References: Date: Thu, 10 Oct 2019 00:40:56 +0200 In-Reply-To: (Philipp Stephani's message of "Fri, 22 Mar 2019 18:50:52 +0100") Message-ID: <877e5dzgnb.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Philipp Stephani writes: > The docstring of `vc-deduce-fileset' doesn't describe the OBSERVER > parameter. It also doesn't explain the meaning of the return values > FILESET-ONLY-FILES, STATE, and CHECKOUT-MODEL. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Philipp Stephani writes: > The docstring of `vc-deduce-fileset' doesn't describe the OBSERVER > parameter. It also doesn't explain the meaning of the return values > FILESET-ONLY-FILES, STATE, and CHECKOUT-MODEL. The OBSERVER thing is a long-standing issue, and people have added comments about that parameter for decades. It now states (incorrectly): ;; FIXME: OBSERVER is unused. The name is not intuitive and is not ;; documented. It's set to t when called from diff and print-log. (let (backend) (cond ((derived-mode-p 'vc-dir-mode) (vc-dir-deduce-fileset state-model-only-files)) ((derived-mode-p 'dired-mode) (if observer (vc-dired-deduce-fileset) (error "State changing VC operations not supported in `dired-mode'"))) But we see that it's used, and used for one thing only: If we call this function in a dired buffer, the function will signal an error if OBSERVER is nil. So all the callers of this function pass in t if it's a non-state-changing operation. Or am I reading the code wrong? So the parameter does make some sense: OBSERVER non-nil means that it's a non-destructive operation we're doing to do (but we only care in dired buffers). Having that check in this function may be a bit odd, but... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 24 14:53:57 2019 Received: (at 34949) by debbugs.gnu.org; 24 Dec 2019 19:53:57 +0000 Received: from localhost ([127.0.0.1]:53087 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ijqFh-00011u-Hj for submit@debbugs.gnu.org; Tue, 24 Dec 2019 14:53:57 -0500 Received: from mail-wr1-f51.google.com ([209.85.221.51]:46796) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ijqFf-00011h-6T for 34949@debbugs.gnu.org; Tue, 24 Dec 2019 14:53:56 -0500 Received: by mail-wr1-f51.google.com with SMTP id z7so20490838wrl.13 for <34949@debbugs.gnu.org>; Tue, 24 Dec 2019 11:53:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=fmVo+WrtFJXmeWlJdvSVPqlLoByxJvGa6D8iEfapyJs=; b=K1lyjMI++h5mAprLOMnt5EUOZpjSpcqh1fW6Q6M5cj7GWQz1hg8aI9ygyqnyModcdY pz7aPJHXBh1MLlFqtQ3+YC1cmDSGzj6m4gFsnJRKkPsVmBH6PYI42FNK6P9OY3RDUdDx ClFHp0XWsou9a9KoNwS7qW7sFA9JH03MV+/9lhghnbtFY5F1GakIYt+iO8UWOci6SH2C o2t2QWLxcongfEaMv70y7yBHtHoUhZNKFVBisLq8nIRCSJ/ZPSjbP4/NFbIFYG9ml3VU ytW3QHJYJNidZgo8aLWqLZ0x7hqMQBVVtX6F7iZ2uvJSmNApmbjiavLJ5rSEe41JFPds gz3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=fmVo+WrtFJXmeWlJdvSVPqlLoByxJvGa6D8iEfapyJs=; b=T2mhW1c4zDedjZFe00UiLfcyKcMSdhtTlgy0fOylYr5teHf1mdiL6i5+/Ws10ZFaBS wl3fYhkQ/l+uPSJGXtWGOmZeAU6GNypuuhaA8gQD4vFiHTw1/FrWBoz13uTGirjG4i1J tzRL+3vy8EFe/2AlCRx3eA5xhvuJMSMoMNN3QPhrJjI6TlhGUj/o74sRQsgjauucWiSg Rwa2TgPkMc0z88EeTeWwgVHDJ0bDtJ0xc3MxPJ5aDzTLgAfMIRellDx9Ol4bANwj1MNt E2kdlmaXYfll8fGG6ZTGENZfqAJComfJdByIbaOoGmSG4ygQghfnJZN0kAi+Gjl/Ckvc coOg== X-Gm-Message-State: APjAAAUyoD8xShd6OY6RX9cO9/cTq+AVJaAFwnIJX2FassZ9M7ziyxXm XoPK0TEAEvgtzE+yAhYaYrc= X-Google-Smtp-Source: APXvYqwHELx4P+Xc0oDpIV4xR56PL3vz/C8Wggaw0KXRLOdssKpFcAIf599MH2cmITyCBUIhhE1Xjg== X-Received: by 2002:adf:e5cf:: with SMTP id a15mr19838794wrn.140.1577217229261; Tue, 24 Dec 2019 11:53:49 -0800 (PST) Received: from [192.168.0.2] ([212.50.117.215]) by smtp.googlemail.com with ESMTPSA id z187sm3535894wme.16.2019.12.24.11.53.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Dec 2019 11:53:48 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Lars Ingebrigtsen , Philipp Stephani References: <877e5dzgnb.fsf@gnus.org> From: Dmitry Gutov Message-ID: <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> Date: Tue, 24 Dec 2019 21:53:46 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <877e5dzgnb.fsf@gnus.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 34949 Cc: Dan Nicolaescu , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Hi Lars, On 10.10.2019 1:40, Lars Ingebrigtsen wrote: > But we see that it's used, and used for one thing only: If we call this > function in a dired buffer, the function will signal an error if > OBSERVER is nil. So all the callers of this function pass in t if it's > a non-state-changing operation. This is my impression as well. > So the parameter does make some sense: OBSERVER non-nil means that it's > a non-destructive operation we're doing to do (but we only care in dired > buffers). Exactly. So step 1 is probably to document is with 1-2 lines in a docstring. Maybe a rename as well? E.g. to READONLY-OPERATION. > Having that check in this function may be a bit odd, but... I think it's fine to have it there, since most VC commands end up calling this function. What I don't fully understand, however, is why prohibit state-changing operations in Dired buffers. Is it just because there's no VC-Dir buffer easily at hand, to update the visible file statuses? Or maybe it's for the user not to circumvent the "similar VC states" logic in VC-Dir. From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 24 21:14:29 2019 Received: (at 34949) by debbugs.gnu.org; 25 Dec 2019 02:14:29 +0000 Received: from localhost ([127.0.0.1]:53191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ijwBx-0005ni-Ig for submit@debbugs.gnu.org; Tue, 24 Dec 2019 21:14:29 -0500 Received: from brown.elm.relay.mailchannels.net ([23.83.212.23]:38369) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ijwBu-0005nY-HV for 34949@debbugs.gnu.org; Tue, 24 Dec 2019 21:14:27 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 09B905A0771; Wed, 25 Dec 2019 02:14:25 +0000 (UTC) Received: from pdx1-sub0-mail-a50.g.dreamhost.com (100-96-206-10.trex.outbound.svc.cluster.local [100.96.206.10]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 82F165A0710; Wed, 25 Dec 2019 02:14:24 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a50.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Wed, 25 Dec 2019 02:14:24 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Relation-Squirrel: 56661cf84d263686_1577240064787_601736018 X-MC-Loop-Signature: 1577240064786:35824154 X-MC-Ingress-Time: 1577240064786 Received: from pdx1-sub0-mail-a50.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a50.g.dreamhost.com (Postfix) with ESMTP id 483E17F07C; Tue, 24 Dec 2019 18:14:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=qzWRcijXuKH39y2p8Aqss1InAzQ=; b= KwlgzD4mCpjkpdCRLTt/eTg4mxKxPeFphoIT6gpAg41jOEMW4NyCDbybUhxRo/e9 WbMgV7h85DSN1lCRmRp8n2Q04DkXjO2F/fe6+rS48AK7ZDWbB3E8za6n7n3r93Ug G/cUsjGOjy7DZzh3bnPox/0FzSit95YXfQApniWNCmc= Received: from mail.jurta.org (m91-129-107-186.cust.tele2.ee [91.129.107.186]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a50.g.dreamhost.com (Postfix) with ESMTPSA id CAE487F077; Tue, 24 Dec 2019 18:14:15 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a50 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> Date: Wed, 25 Dec 2019 01:28:01 +0200 In-Reply-To: <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> (Dmitry Gutov's message of "Tue, 24 Dec 2019 21:53:46 +0200") Message-ID: <87a77hqp6m.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedufedrvddvvddgudeglecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtjedrudekieenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrddutdejrddukeeipdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepughguhhtohhvseihrghnuggvgidrrhhunecuvehluhhsthgvrhfuihiivgeptd X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , Dan Nicolaescu , 34949@debbugs.gnu.org, Philipp Stephani X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > What I don't fully understand, however, is why prohibit state-changing > operations in Dired buffers. Is it just because there's no VC-Dir buffer > easily at hand, to update the visible file statuses? Exactly the same question I ask myself every time I forget about this limitation and type 'C-x v v' in Dired. From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 25 16:45:40 2019 Received: (at 34949) by debbugs.gnu.org; 25 Dec 2019 21:45:41 +0000 Received: from localhost ([127.0.0.1]:54724 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ikETM-0003QN-Lc for submit@debbugs.gnu.org; Wed, 25 Dec 2019 16:45:40 -0500 Received: from quimby.gnus.org ([95.216.78.240]:33042) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ikETL-0003Q3-9D for 34949@debbugs.gnu.org; Wed, 25 Dec 2019 16:45:39 -0500 Received: from 77.16.52.139.tmi.telenormobil.no ([77.16.52.139] helo=sandy) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ikETB-0002j1-Pg; Wed, 25 Dec 2019 22:45:32 +0100 From: Lars Ingebrigtsen To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> Date: Wed, 25 Dec 2019 22:45:28 +0100 In-Reply-To: <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> (Dmitry Gutov's message of "Tue, 24 Dec 2019 21:53:46 +0200") Message-ID: <87v9q42i6f.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Dmitry Gutov writes: > What I don't fully understand, however, is why prohibit state-changing > operations in Dired buffers. Is it just because there's no VC-Dir > buffer easily at hand, to update the visible file statuse [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: ingebrigtsen.no] -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Philipp Stephani , Dan Nicolaescu , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Dmitry Gutov writes: > What I don't fully understand, however, is why prohibit state-changing > operations in Dired buffers. Is it just because there's no VC-Dir > buffer easily at hand, to update the visible file statuses? Yeah, that is rather odd... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 17 19:15:05 2020 Received: (at 34949) by debbugs.gnu.org; 18 Feb 2020 00:15:05 +0000 Received: from localhost ([127.0.0.1]:39380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j3qXY-0000rK-QI for submit@debbugs.gnu.org; Mon, 17 Feb 2020 19:15:05 -0500 Received: from brown.birch.relay.mailchannels.net ([23.83.209.23]:62133) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j3qXW-0000q0-AD for 34949@debbugs.gnu.org; Mon, 17 Feb 2020 19:15:02 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 4BB8B22B75; Tue, 18 Feb 2020 00:15:01 +0000 (UTC) Received: from pdx1-sub0-mail-a38.g.dreamhost.com (100-96-217-4.trex.outbound.svc.cluster.local [100.96.217.4]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id D27FA22C09; Tue, 18 Feb 2020 00:15:00 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a38.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Tue, 18 Feb 2020 00:15:01 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Descriptive-Fearful: 0a0d1085636ba595_1581984901099_2413300860 X-MC-Loop-Signature: 1581984901099:328043626 X-MC-Ingress-Time: 1581984901099 Received: from pdx1-sub0-mail-a38.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a38.g.dreamhost.com (Postfix) with ESMTP id 06AF0B2700; Mon, 17 Feb 2020 16:14:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=TzTNronUZgOerkZcxQj2ZXxeb8U=; b= 3LJQt1vrnwHxcNSRcCjVSluGpG8o0/lQGtlbw9jc5Bq8p/GAUOKm6R+5ZzMCmKAf TtcBv7Hw7vL9QMOgfqKt9zNF2eS/nLd4H14m2hcrDHb1RBXydvABQHk83rPM3zW/ M08MmmmqA9Skwh2KAYLWJbltfKldwPp7Joga5SDffjw= Received: from localhost.linkov.net (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a38.g.dreamhost.com (Postfix) with ESMTPSA id 42D8BB279A; Mon, 17 Feb 2020 16:14:53 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a38 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> Date: Tue, 18 Feb 2020 01:42:13 +0200 In-Reply-To: <87a77hqp6m.fsf@mail.linkov.net> (Juri Linkov's message of "Wed, 25 Dec 2019 01:28:01 +0200") Message-ID: <87zhdghjca.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrjeejgddulecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffufhffjgfkfgggtgesmhdtreertdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdefrddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehlohgtrghlhhhoshhtrdhlihhnkhhovhdrnhgvthdpihhnvghtpeeluddruddvledruddtfedrvdejpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepughguhhtohhvseihrghnuggvgidrrhhu X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain >> What I don't fully understand, however, is why prohibit state-changing >> operations in Dired buffers. Is it just because there's no VC-Dir buffer >> easily at hand, to update the visible file statuses? > > Exactly the same question I ask myself every time I forget about this limitation > and type 'C-x v v' in Dired. I see now why it's difficult to support state changing VC operations in dired. The difficultly comes from the need to get a VC state from every marked file and to confirm that all marked files are in the same state. So I implemented this in vc-dired-deduce-fileset whose basic algorithm was taken from vc-dir-deduce-fileset. Now with this patch state changing VC operations are supported on marked _files_ in dired. However, the need for the OBSERVER arg still remains because this patch doesn't support state changing VC operations on marked _directories_ in dired. It raises the error in this case: State changing VC operations on directories not supported in `dired-mode' State changing VC operations could be supported on directories as well, but there are several possibilities to choose from, and I can't decide: 1. On a marked directory get a state from all its files (probably this variant makes no sense) 2. On a marked directory get only files with a "modified" state (i.e. edited/added/removed) But the latter is not easy to implement because the needed functionality is missing in VC, because the only VC method that is suitable for this is 'dir-status-files' to get VC files from a directory but it's too tightly integrated with vc-dir and can't be easily separated, i.e. there is no easy way to do something like: (with-temp-buffer (vc-call-backend (vc-responsible-backend default-directory) 'dir-status-files default-directory nil (lambda (entries &optional more-to-come) (message "! %S" entries)))) Once we decide how to support marked directories in dired, the arg OBSERVER can be deprecated. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-dired-deduce-fileset.patch diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el index 5ae300bf09..4a04c9365a 100644 --- a/lisp/vc/vc-dispatcher.el +++ b/lisp/vc/vc-dispatcher.el @@ -746,7 +746,8 @@ vc-finish-logentry (defun vc-dispatcher-browsing () "Are we in a directory browser buffer?" - (derived-mode-p 'vc-dir-mode)) + (or (derived-mode-p 'vc-dir-mode) + (derived-mode-p 'dired-mode))) ;; These are unused. ;; (defun vc-dispatcher-in-fileset-p (fileset) diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index ec252b74d4..bba1fb5919 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1032,9 +1032,7 @@ vc-deduce-fileset ((derived-mode-p 'vc-dir-mode) (vc-dir-deduce-fileset state-model-only-files)) ((derived-mode-p 'dired-mode) - (if observer - (vc-dired-deduce-fileset) - (error "State changing VC operations not supported in `dired-mode'"))) + (vc-dired-deduce-fileset state-model-only-files observer)) ((setq backend (vc-backend buffer-file-name)) (if state-model-only-files (list backend (list buffer-file-name) @@ -1046,7 +1044,8 @@ vc-deduce-fileset ;; FIXME: Why this test? --Stef (or (buffer-file-name vc-parent-buffer) (with-current-buffer vc-parent-buffer - (derived-mode-p 'vc-dir-mode)))) + (or (derived-mode-p 'vc-dir-mode) + (derived-mode-p 'dired-mode))))) (progn ;FIXME: Why not `with-current-buffer'? --Stef. (set-buffer vc-parent-buffer) (vc-deduce-fileset observer allow-unregistered state-model-only-files))) @@ -1066,9 +1065,31 @@ vc-deduce-fileset (list buffer-file-name)))) (t (error "File is not under version control"))))) -(defun vc-dired-deduce-fileset () - (list (vc-responsible-backend default-directory) - (dired-map-over-marks (dired-get-filename nil t) nil))) +(declare-function dired-get-marked-files "dired" + (&optional localp arg filter distinguish-one-marked error)) + +(defun vc-dired-deduce-fileset (&optional state-model-only-files observer) + (let ((backend (vc-responsible-backend default-directory)) + (files (dired-get-marked-files nil nil nil nil t)) + only-files-list + state + model) + (when (and (not observer) (cl-some #'file-directory-p files)) + (error "State changing VC operations on directories not supported in `dired-mode'")) + + (when state-model-only-files + (setq only-files-list (mapcar (lambda (file) (cons file (vc-state file))) files)) + (setq state (cdar only-files-list)) + ;; Check that all files are in a consistent state, since we use that + ;; state to decide which operation to perform. + (dolist (crt (cdr only-files-list)) + (unless (vc-compatible-state (cdr crt) state) + (error "When applying VC operations to multiple files, the files are required\nto be in similar VC states.\n%s in state %s clashes with %s in state %s" + (car crt) (cdr crt) (caar only-files-list) state))) + (setq only-files-list (mapcar 'car only-files-list)) + (when (and state (not (eq state 'unregistered))) + (setq model (vc-checkout-model backend only-files-list)))) + (list backend files only-files-list state model))) (defun vc-ensure-vc-buffer () "Make sure that the current buffer visits a version-controlled file." --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 17:27:23 2020 Received: (at 34949) by debbugs.gnu.org; 18 Feb 2020 22:27:23 +0000 Received: from localhost ([127.0.0.1]:41420 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4BKs-0006Vm-Qg for submit@debbugs.gnu.org; Tue, 18 Feb 2020 17:27:23 -0500 Received: from mail-wm1-f50.google.com ([209.85.128.50]:51708) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4BKq-0006VZ-Sl for 34949@debbugs.gnu.org; Tue, 18 Feb 2020 17:27:21 -0500 Received: by mail-wm1-f50.google.com with SMTP id t23so4407381wmi.1 for <34949@debbugs.gnu.org>; Tue, 18 Feb 2020 14:27:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=KexrUPX377keLo4VkbGbLcW/ve00+udrDIrTcIiF60k=; b=G1FFc93N7k54CNjYkLy7Z6UJ8hM9nNIn1pyYqk3bmpUYQzcCvDFAiRavpwZGVcxZ22 N5RoA4f0hEIuh/7bZFnCdo9Dbl7ymPyWlwgsJU+SBr4aWJmtGRJOcsOYN0ewRtrQIyiS jqdybOUHXLRe7SEDXOFLHDLBr+CEq+wNDfzJ9xS6MDBU1t7Uw1wSQEsYvx5CJ4AmANeP lNcqsRUOXqWrIZvOlDSkV3PimvDaIJhI3zVIpRYpkPfGkpOFfKkt4Z112rY4J6GNC6ej AaUqbEN7MSkH2SAIb29XEIt79ljyMEY/ojzQlIGHjo7YIW674wdA7wTTuYAe9M73x4M4 BpUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=KexrUPX377keLo4VkbGbLcW/ve00+udrDIrTcIiF60k=; b=gz6LoxZ0OlQwSv1/X+vQ4CSWE4ZHU2s/uzTuuGbUrDSXfMs8ThWDc6fhCc9Rq8qodm ZEbUB62BjALyEFuKK+Z4g2DlJJDwj3AVynkx5pbXu+NTvSYuwPi8PznpcJy46qTeSyMn gHzZtwQ3+lBdO963HhwN6PArZ8vvChcHpCEGYrIc1A2qQd0X3ZzLr0d1PfJ4iq8AeEUu CaY3xB6SXaZtz7cJOgLDN8OHGxpzYOaVJTsaC+0JVKZf/kPA9l4rNS0/Nvn/zXNAT59h cR2JTXdO7sIp2tmW3nsDIcNnTIGY0oplm11buRj4Qt79YgG2xi5twqonXndUqx17DFSc 2grA== X-Gm-Message-State: APjAAAW2Xr3Vx/PyGRJNgSqtEsPs7Va2Fz7esWlaGoONKm5rLN2QBeHB n6eAdn2nVzE4X3euz4/znwWyQCf+ X-Google-Smtp-Source: APXvYqx+y9isSor1yJS+t12YBMc+yF3wglFw8f7MbLA4HWkErYUyL+YgZsnhwvXRUf+giYl+owdceQ== X-Received: by 2002:a1c:791a:: with SMTP id l26mr5508810wme.58.1582064834598; Tue, 18 Feb 2020 14:27:14 -0800 (PST) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id z21sm285697wml.5.2020.02.18.14.27.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 18 Feb 2020 14:27:13 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> Date: Wed, 19 Feb 2020 00:27:12 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <87zhdghjca.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 18.02.2020 1:42, Juri Linkov wrote: > The difficultly comes from the need to get a VC state from every marked file > and to confirm that all marked files are in the same state. Makes sense, that was my second guess. > So I implemented this in vc-dired-deduce-fileset whose basic > algorithm was taken from vc-dir-deduce-fileset. > > Now with this patch state changing VC operations are supported on marked > _files_ in dired. TBH, I'm not sure this is a win (we have VC-Dir for a reason), but if you really want to be able to do that in Dired, why not. Please feel free to install this. > However, the need for the OBSERVER arg still remains because this patch > doesn't support state changing VC operations on marked _directories_ in dired. > It raises the error in this case: > > State changing VC operations on directories not supported in `dired-mode' > > State changing VC operations could be supported on directories as well, > but there are several possibilities to choose from, and I can't decide: > > 1. On a marked directory get a state from all its files > (probably this variant makes no sense) > > 2. On a marked directory get only files with a "modified" state > (i.e. edited/added/removed) You can check out what diff-hl-dired does in this regard (and it does use the dir-status-files command), though you would need to do something else than its merging logic. That still leaves the downside (compared to VC-Dir) of being unable to select individual files in subdirectories, but that's not fixable, I guess. > But the latter is not easy to implement because the needed functionality > is missing in VC, because the only VC method that is suitable for this is > 'dir-status-files' to get VC files from a directory but it's too tightly > integrated with vc-dir and can't be easily separated, i.e. there is > no easy way to do something like: > > (with-temp-buffer > (vc-call-backend > (vc-responsible-backend default-directory) 'dir-status-files default-directory nil > (lambda (entries &optional more-to-come) > (message "! %S" entries)))) I think the only possible problem here is that lambda is invoked asynchronously. But we can sleep while waiting for it. From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 18:37:29 2020 Received: (at 34949) by debbugs.gnu.org; 18 Feb 2020 23:37:29 +0000 Received: from localhost ([127.0.0.1]:41470 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4CQj-0008E7-FT for submit@debbugs.gnu.org; Tue, 18 Feb 2020 18:37:29 -0500 Received: from caracal.birch.relay.mailchannels.net ([23.83.209.30]:30606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4CQh-0008Dy-ID for 34949@debbugs.gnu.org; Tue, 18 Feb 2020 18:37:28 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 25FCF3421DD; Tue, 18 Feb 2020 23:37:26 +0000 (UTC) Received: from pdx1-sub0-mail-a86.g.dreamhost.com (100-96-38-98.trex.outbound.svc.cluster.local [100.96.38.98]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id AD8523421C6; Tue, 18 Feb 2020 23:37:25 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a86.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Tue, 18 Feb 2020 23:37:26 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Continue-Celery: 1cb8519901caa0f3_1582069045950_2566544044 X-MC-Loop-Signature: 1582069045950:1918878449 X-MC-Ingress-Time: 1582069045950 Received: from pdx1-sub0-mail-a86.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a86.g.dreamhost.com (Postfix) with ESMTP id 2D4717EF8A; Tue, 18 Feb 2020 15:37:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=linkov.net; bh=XAMOLB KTkKr0JURe+6IEGWhD8Nw=; b=m3yColhIjjS4jODsmfpgWQJugzuU3zh9I6v721 RHkLeZQxOJLMpb6GEfXd11x4BEiGFJeLwPmB3t57cR/dxIMkb6vWAzQtjJMDvh2C ZcoRBwVQnzTmwFe5lqbhNbtcbcerJiwY8w+vPnkPyI+PBSjjl6eUOhaZaQGpEcQs 4c1bI= Received: from localhost.linkov.net (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a86.g.dreamhost.com (Postfix) with ESMTPSA id 651E87EF6E; Tue, 18 Feb 2020 15:37:16 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a86 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> Date: Wed, 19 Feb 2020 01:36:49 +0200 In-Reply-To: <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> (Dmitry Gutov's message of "Wed, 19 Feb 2020 00:27:12 +0200") Message-ID: <87imk35uy6.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrjeelgddutdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtgfesthekredttderjeenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdefrddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehlohgtrghlhhhoshhtrdhlihhnkhhovhdrnhgvthdpihhnvghtpeeluddruddvledruddtfedrvdejpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepughguhhtohhvseihrghnuggvgidrrhhu Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> So I implemented this in vc-dired-deduce-fileset whose basic >> algorithm was taken from vc-dir-deduce-fileset. >> Now with this patch state changing VC operations are supported on mark= ed >> _files_ in dired. > > TBH, I'm not sure this is a win (we have VC-Dir for a reason), Often I need to quickly commit one or a few marked files in the same Dired directory without needlessly starting VC-Dir - this is when such feature comes handy. Even it's possible to mark files in several subdirectories inserted in the same Dired buffer. > but if you really want to be able to do that in Dired, why not. Please > feel free to install this. Installed to master. >> However, the need for the OBSERVER arg still remains because this patc= h >> doesn't support state changing VC operations on marked _directories_ i= n dired. >> It raises the error in this case: >> State changing VC operations on directories not supported in >> `dired-mode' >> State changing VC operations could be supported on directories as well= , >> but there are several possibilities to choose from, and I can't decide= : >> 1. On a marked directory get a state from all its files >> (probably this variant makes no sense) >> 2. On a marked directory get only files with a "modified" state >> (i.e. edited/added/removed) > > You can check out what diff-hl-dired does in this regard (and it does u= se > the dir-status-files command), though you would need to do something el= se > than its merging logic. Thanks, I use diff-hl-dired, but not realized it relies on dir-status-fil= es. Maybe dir-status-files could be simplified, so that it wouldn't require a special buffer to be current, and could be called in any buffer, but this simplification is not much needed. > That still leaves the downside (compared to VC-Dir) of being unable to > select individual files in subdirectories, but that's not fixable, I gu= ess. When calling the already supported =E2=80=98C-x v =3D=E2=80=99 (vc-diff) = on a subdirectory in Dired, it operates on all modified files, so it makes sense to commit exactly the same files whose diffs are displayed in the *vc-diff* buffer. The same way we could add a new command to commit all modified files in the repository. When =E2=80=98C-x v D=E2=80=99 (vc-root-diff) display= s the *vc-diff* buffer with all modifications, a new command like =E2=80=98C-x = v V=E2=80=99 could commit all of them. >> But the latter is not easy to implement because the needed functionali= ty >> is missing in VC, because the only VC method that is suitable for this= is >> 'dir-status-files' to get VC files from a directory but it's too tight= ly >> integrated with vc-dir and can't be easily separated, i.e. there is >> no easy way to do something like: >> (with-temp-buffer >> (vc-call-backend >> (vc-responsible-backend default-directory) 'dir-status-files def= ault-directory nil >> (lambda (entries &optional more-to-come) >> (message "! %S" entries)))) > > I think the only possible problem here is that lambda is invoked > asynchronously. But we can sleep while waiting for it. Would it be possible to call dir-status-files synchronously? From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 20 19:10:27 2020 Received: (at 34949) by debbugs.gnu.org; 21 Feb 2020 00:10:27 +0000 Received: from localhost ([127.0.0.1]:46116 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4vti-0005Ak-PE for submit@debbugs.gnu.org; Thu, 20 Feb 2020 19:10:27 -0500 Received: from aye.elm.relay.mailchannels.net ([23.83.212.6]:15107) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4vtf-0005Aa-RS for 34949@debbugs.gnu.org; Thu, 20 Feb 2020 19:10:24 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id A354A540861; Fri, 21 Feb 2020 00:10:22 +0000 (UTC) Received: from pdx1-sub0-mail-a86.g.dreamhost.com (100-96-13-15.trex.outbound.svc.cluster.local [100.96.13.15]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 2E809540A4A; Fri, 21 Feb 2020 00:10:22 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a86.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Fri, 21 Feb 2020 00:10:22 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Abaft-Abaft: 183ae9090f2af5ec_1582243822423_4140162099 X-MC-Loop-Signature: 1582243822423:3528702544 X-MC-Ingress-Time: 1582243822423 Received: from pdx1-sub0-mail-a86.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a86.g.dreamhost.com (Postfix) with ESMTP id D5E297F015; Thu, 20 Feb 2020 16:10:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=J1m2wg5yN1oD5Xvabt6NGBUyQ1M=; b= cgPS6dUpiWRgzFoaZCCLe8Eu+T0zsGCnBV4U+PIZWVWtx5BQ2t+eW7XrdmtaHMBI 8hP1ZZz5bFhDoEX0ufXqFR+6Br1JimBSD+kN3hxCNPP2mAGtZRzBk8b3HiYKZq0Y YpnUeen747T/uIfmM+6nQUfWLtd5Y74wQzQcZsqoFYU= Received: from localhost.linkov.net (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a86.g.dreamhost.com (Postfix) with ESMTPSA id D65357EFDF; Thu, 20 Feb 2020 16:10:14 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a86 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> Date: Fri, 21 Feb 2020 01:14:20 +0200 In-Reply-To: <87imk35uy6.fsf@mail.linkov.net> (Juri Linkov's message of "Wed, 19 Feb 2020 01:36:49 +0200") Message-ID: <87v9o0kg1f.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrkeefgddulecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehmtderredtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtfedrvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmohguvgepshhmthhppdhhvghloheplhhotggrlhhhohhsthdrlhhinhhkohhvrdhnvghtpdhinhgvthepledurdduvdelrddutdefrddvjedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegughhuthhovheshigrnhguvgigrdhruh X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain >> I think the only possible problem here is that lambda is invoked >> asynchronously. But we can sleep while waiting for it. > > Would it be possible to call dir-status-files synchronously? If asynchronousness is inevitable, we could rely on callbacks. Indeed this path leads to callback hell, but what are other options? This unfinished patch shows a possible development direction: vc-next-action executed in Dired will call vc-dired-deduce-fileset with a callback to continue with a prepared vc-fileset. vc-dired-deduce-fileset will call a more general vc-directory-deduce-fileset that will call a currently unimplemented function vc-dir-status-files whose implementation will be like in your diff-hl-dired-update. Also a new command vc-next-action-on-root will commit all modified files, ignoring any unregistered files. I miss such a command in VC-Dir: typing 'v' (vc-next-action) at the beginning of *vc-dir* buffer signals the error: "When applying VC operations to multiple files, the files are required to be in similar VC states. File in state 'edited' clashes with state 'unregistered'". Often I have a lot of unregistered files lying around for a long time, and it takes too much time manually marking only edited files for every commit, skipping each unregistered file. Also some parts of the previous patch should be reverted because I discovered that state changing VC operations in Dired even on marked files (as opposed to directories) is unreliable: when a file is modified, using vc-state doesn't return its real state when updated outside of Emacs. This part should be replaced with asynchronous dir-status-files that returns the most accurate state. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=callback-hell.patch diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el index 345a28d3f1..80c580e5ec 100644 --- a/lisp/vc/vc-hooks.el +++ b/lisp/vc/vc-hooks.el @@ -897,6 +897,7 @@ vc-prefix-map (define-key map "s" 'vc-create-tag) (define-key map "u" 'vc-revert) (define-key map "v" 'vc-next-action) + (define-key map "V" 'vc-next-action-on-root) (define-key map "+" 'vc-update) ;; I'd prefer some kind of symmetry with vc-update: (define-key map "P" 'vc-push) diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index f7d651fac6..13d60b6fcf 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1065,19 +1067,27 @@ vc-deduce-fileset (list buffer-file-name)))) (t (error "File is not under version control"))))) +(defun vc-root-deduce-fileset (callback) + (let* ((backend (vc-responsible-backend default-directory)) + (rootdir (vc-call-backend backend 'root default-directory))) + (vc-directory-deduce-fileset rootdir callback))) + +(defun vc-directory-deduce-fileset (dir callback) + ;; TODO: use vc-dir-status-files + ) + (declare-function dired-get-marked-files "dired" (&optional localp arg filter distinguish-one-marked error)) -(defun vc-dired-deduce-fileset (&optional state-model-only-files observer) +(defun vc-dired-deduce-fileset (&optional callback) (let ((backend (vc-responsible-backend default-directory)) (files (dired-get-marked-files nil nil nil nil t)) only-files-list state model) - (when (and (not observer) (cl-some #'file-directory-p files)) - (error "State changing VC operations on directories not supported in `dired-mode'")) - (when state-model-only-files + (when callback + ;; TODO: use vc-directory-deduce-fileset (setq only-files-list (mapcar (lambda (file) (cons file (vc-state file))) files)) (setq state (cdar only-files-list)) ;; Check that all files are in a consistent state, since we use that @@ -1132,6 +1142,11 @@ vc-read-backend (completing-read prompt (mapcar #'symbol-name vc-handled-backends) nil 'require-match))) +(defun vc-next-action-on-root (verbose) + (interactive "P") + (vc-root-deduce-fileset + (lambda (vc-fileset) (vc-next-action-on-fileset vc-fileset verbose)))) + ;; Here's the major entry point. ;;;###autoload @@ -1158,8 +1173,16 @@ vc-next-action If every file is locked by you and unchanged, unlock them. If every file is locked by someone else, offer to steal the lock." (interactive "P") - (let* ((vc-fileset (vc-deduce-fileset nil t 'state-model-only-files)) - (backend (car vc-fileset)) + (cond + ((derived-mode-p 'dired-mode) + ;; Async operation + (vc-dired-deduce-fileset + (lambda (vc-fileset) (vc-next-action-on-fileset vc-fileset verbose)))) + (t (vc-next-action-on-fileset + (vc-deduce-fileset nil t 'state-model-only-files) verbose)))) + +(defun vc-next-action-on-fileset (vc-fileset verbose) + (let* ((backend (car vc-fileset)) (files (nth 1 vc-fileset)) ;; (fileset-only-files (nth 2 vc-fileset)) ;; FIXME: We used to call `vc-recompute-state' here. @@ -3138,6 +3171,10 @@ vc-default-dir-status-files (funcall update-function (mapcar (lambda (file) (list file 'up-to-date)) files))) +(defun vc-dir-status-files (backend dir files update-function) + (funcall update-function + (mapcar (lambda (file) (list file 'up-to-date)) files))) + (defun vc-check-headers () "Check if the current file has any headers in it." (interactive) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 20 19:16:39 2020 Received: (at 34949) by debbugs.gnu.org; 21 Feb 2020 00:16:39 +0000 Received: from localhost ([127.0.0.1]:46142 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4vzi-0005Lq-UF for submit@debbugs.gnu.org; Thu, 20 Feb 2020 19:16:39 -0500 Received: from mail-wr1-f48.google.com ([209.85.221.48]:34962) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4vzg-0005Lc-E7 for 34949@debbugs.gnu.org; Thu, 20 Feb 2020 19:16:36 -0500 Received: by mail-wr1-f48.google.com with SMTP id w12so69889wrt.2 for <34949@debbugs.gnu.org>; Thu, 20 Feb 2020 16:16:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=4JcryE2ASavgxolbcFAIcJdLXEYEO+ZVDabgQFepO2o=; b=UbSn5ot/DFqc05k7ijtUZuXhhG2Bo9rMFvjYu7HpGAEAyyqCkjjM4lGQi3GQTABip/ 9/2Ki3lHOBf5kY+5C7nP4rxe8XIAo76Pdu7z1GSlZuHZu9kj07fysVOhhh1A2xfvrY1p bSwEi6TnQ7z0bNo1JF0zdFyBe95I47qVByWE53lFZY14S+5OTwyp8qfc+xrTwG+hKr9h 7UJ3nGqssthR/MIkMNGL2d74Mz+coxgk3ifwFqfSplUYZPLDZHz26LF2gvmS6VaOSyic 4nn7sUM+8Ig2nQr9yx3Xg0qUob9JA6uQGD2EQtXYOTH5/rBYOBDpIG0yJocdjBfFXciZ S1Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=4JcryE2ASavgxolbcFAIcJdLXEYEO+ZVDabgQFepO2o=; b=Rtdbh7/aqfadHfb53e6w7jzyRdOacW4257ZH+XsGR+iSyZd1pGoDRvagP0SDdH+z/o BNVJx65q7daJOdyt0+pprpyN+8PoZgwu0CZOyIpsZOyA80Ngfaggz4FwVjWY9qB13qDh jVx3z99guoV71j7vNuCUrO8ZdBhI38YuhT3pAQMg0N64fFpr2eb3wilRi7rB1j77x8lO qxvYsVgDQO2d/xvuPw/aBkWTv3SELT7CBh3rpq9Q6OLZJ9uAdSdSWo/rND2wsCH1tWxl lqx6A8lYr6PFxeXemfRLfOgiY2Pvhwzs5SDesumgskMCNGFnUCrp69fNKDo/EgveYJ8q fDXA== X-Gm-Message-State: APjAAAXixWMiHwmeUTbHi2vV/KfXy87itYmp1JMXNcDire5VyFoZD4/G blMv3BBVZ4m2DIyB3tFuRP6mdzsm X-Google-Smtp-Source: APXvYqwjMAvSlWg+DkAMrs/rlrakEFTkj2q6F/URDMmxWlyKKdfPCf+SKU+xWSN87RY3kLO4ACDa+g== X-Received: by 2002:a5d:448c:: with SMTP id j12mr43971454wrq.125.1582244190194; Thu, 20 Feb 2020 16:16:30 -0800 (PST) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id k10sm1512323wrd.68.2020.02.20.16.16.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 20 Feb 2020 16:16:29 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <115a6be6-3b64-7409-c405-19cfabf1a98d@yandex.ru> Date: Fri, 21 Feb 2020 02:16:28 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <87imk35uy6.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 19.02.2020 1:36, Juri Linkov wrote: >> You can check out what diff-hl-dired does in this regard (and it does use >> the dir-status-files command), though you would need to do something else >> than its merging logic. > > Thanks, I use diff-hl-dired, but not realized it relies on dir-status-files. > Maybe dir-status-files could be simplified, so that it wouldn't require > a special buffer to be current, and could be called in any buffer, > but this simplification is not much needed. I'd rather not change the calling convention of existing, old backend actions without solid necessity. >> That still leaves the downside (compared to VC-Dir) of being unable to >> select individual files in subdirectories, but that's not fixable, I guess. > > When calling the already supported ‘C-x v =’ (vc-diff) on a subdirectory > in Dired, it operates on all modified files, so it makes sense to commit > exactly the same files whose diffs are displayed in the *vc-diff* buffer. Not exactly my style, but okay. >> I think the only possible problem here is that lambda is invoked >> asynchronously. But we can sleep while waiting for it. > > Would it be possible to call dir-status-files synchronously? I think when we discussed this once, the "ideal" change would be for such actions to return "process" objects, which could be then consumed either synchronously or synchronously by the caller. But that's far off. Until then, calling sleep-for in a loop should get us close enough. From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 20 19:22:42 2020 Received: (at 34949) by debbugs.gnu.org; 21 Feb 2020 00:22:42 +0000 Received: from localhost ([127.0.0.1]:46146 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4w5a-0005Uf-JW for submit@debbugs.gnu.org; Thu, 20 Feb 2020 19:22:42 -0500 Received: from mail-wr1-f49.google.com ([209.85.221.49]:39461) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j4w5Y-0005US-Ob for 34949@debbugs.gnu.org; Thu, 20 Feb 2020 19:22:41 -0500 Received: by mail-wr1-f49.google.com with SMTP id y11so65343wrt.6 for <34949@debbugs.gnu.org>; Thu, 20 Feb 2020 16:22:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=MUgSZWI1Dhf3HtLgCqhlS0Tyg3l7ci+ihpKaZSETOYs=; b=Eh8gvfpCN6ndBp75C1Cy5iozS2GDb6ewFUZYOUUafvQD9Mr4h9dS8wjH87cagMLQSi T/+V75BD6AgfXfh/Pe5CTcwAy+yro+I2nwnqlcMELQF/cdFuuiZeFl3iTBqmiskBJf0v xeZnjQ4YOEID5pz85ZqVTGP/+63tnzrNA8fot3LlvxC9eQKTAEe6yf0cUpJHlQaTcng8 +zAwh810udIuGIWgQv0O14srZrzvW3gBu3JKcy5bBtGH4CfFU77og4vfUl2VlXDQb/uI i5e9vJFzNGv5U5ngcIacny9P4IxG3kF0WAHcPm6xLp2FNMw6mfnknH7JhtCJtcPgjoKi 0tmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=MUgSZWI1Dhf3HtLgCqhlS0Tyg3l7ci+ihpKaZSETOYs=; b=oWma9fpZLbIEgBZHdd4gO6B/C8MoxfQABYOpC+LbRbcQV4TRIN6BL8Pdp/XQrlX+WO vN84d4lcheqYLVSoQUQZzODh/ZPrbqgztlO4JqSSAG+HMZFg/k0zSr7v/2C5TDKMzvbw SZtub2ie3g3i9BZtXViNzsZSJzoPLKx7xYMN0V+b1ipMTkokVEPNWp+5GSod+ho1gnks eS45bVWNhXqMKNUpYsExtbM7VYbUJ50b6lCeYmmzbZmlFEEOvmaaDhxr2jXmFvAzOnTG Wb8HM6Ql6yMVRJrTCxsQ9ARPIoOb/cBonnJtywGwacEcAO+6DB0Nsw/ACIM+FNnu+GS4 k7eA== X-Gm-Message-State: APjAAAWwlB2EbKDKecsKq05Xr6wtCkOqJprI5uYldmts2CzcuC++Eaz3 2Mh/hvRV47lw4S2t1r7fVYZGx8LN X-Google-Smtp-Source: APXvYqwHj+DFh3AOzeHjxCxRArDbsWz+otKWYJJNJpyxCXmF+h3KVWx5eDroIWTEO5nCQffcPmA+NA== X-Received: by 2002:a5d:6a88:: with SMTP id s8mr44612856wru.173.1582244554545; Thu, 20 Feb 2020 16:22:34 -0800 (PST) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id y7sm1492694wrr.56.2020.02.20.16.22.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 20 Feb 2020 16:22:33 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> Date: Fri, 21 Feb 2020 02:22:32 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <87v9o0kg1f.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 21.02.2020 1:14, Juri Linkov wrote: > Also some parts of the previous patch should be reverted > because I discovered that state changing VC operations in Dired > even on marked files (as opposed to directories) is unreliable: > when a file is modified, using vc-state doesn't return its real state > when updated outside of Emacs. Right. More so than in VC-Dir buffers, which use dir-status-files already. > +(defun vc-directory-deduce-fileset (dir callback) > + ;; TODO: use vc-dir-status-files > + ) I should note that if could be, by any chance, satisfied with only using vc-next-action-on-root in VC-Dir buffers, there would be no need to call dir-status-files here. > +(defun vc-dir-status-files (backend dir files update-function) > + (funcall update-function > + (mapcar (lambda (file) (list file 'up-to-date)) files))) This is a... test function? From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 22 19:44:36 2020 Received: (at 34949) by debbugs.gnu.org; 23 Feb 2020 00:44:36 +0000 Received: from localhost ([127.0.0.1]:50255 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j5fNr-00007j-Rn for submit@debbugs.gnu.org; Sat, 22 Feb 2020 19:44:36 -0500 Received: from bonobo.birch.relay.mailchannels.net ([23.83.209.22]:59509) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j5fNq-00007b-H1 for 34949@debbugs.gnu.org; Sat, 22 Feb 2020 19:44:35 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 4DA345A08D4; Sun, 23 Feb 2020 00:44:33 +0000 (UTC) Received: from pdx1-sub0-mail-a92.g.dreamhost.com (100-96-38-98.trex.outbound.svc.cluster.local [100.96.38.98]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id C783C5A07EA; Sun, 23 Feb 2020 00:44:32 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a92.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Sun, 23 Feb 2020 00:44:33 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Abiding-Arch: 0a2354ec5b26d1da_1582418673052_825276738 X-MC-Loop-Signature: 1582418673052:3534810148 X-MC-Ingress-Time: 1582418673052 Received: from pdx1-sub0-mail-a92.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a92.g.dreamhost.com (Postfix) with ESMTP id 6F59A7F1C5; Sat, 22 Feb 2020 16:44:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=CfqQT/udyg+KtdWR2gf5VT05CLw=; b= vZo1JX3r7BZXGohhff729C8cnRmznwshHsehYdi4vGZ7YfQlbp1PtG1sZnkfpTW8 eEMZsH0cNZdCgpEcI1UDiu/tuVtcdwKeqBfj8uKwAFzQaGYtwuyd9bGeaJdN6d+Y 0uJmX+StHvAyWcwU689DXvIt6/GoYo4MRLjNEuJv98s= Received: from localhost.linkov.net (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a92.g.dreamhost.com (Postfix) with ESMTPSA id 4726A7F188; Sat, 22 Feb 2020 16:44:24 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a92 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> Date: Sun, 23 Feb 2020 02:04:11 +0200 In-Reply-To: <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> (Dmitry Gutov's message of "Fri, 21 Feb 2020 02:22:32 +0200") Message-ID: <87sgj2np8k.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrkeejgddvudcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtfedrvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmohguvgepshhmthhppdhhvghloheplhhotggrlhhhohhsthdrlhhinhhkohhvrdhnvghtpdhinhgvthepledurdduvdelrddutdefrddvjedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegughhuthhovheshigrnhguvgigrdhruh X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> +(defun vc-directory-deduce-fileset (dir callback) >> + ;; TODO: use vc-dir-status-files >> + ) > > I should note that if could be, by any chance, satisfied with only using > vc-next-action-on-root in VC-Dir buffers, there would be no need to call > dir-status-files here. Do you propose 'C-x v v' when typed in Dired to open VC-Dir and mark files marked in Dired, i.e. to sync marks between Dired and VC-Dir? And a new keybinding 'C-x v V' (vc-next-action-on-root) typed in any file/dired should open VC-Dir and mark all edited files? >> +(defun vc-dir-status-files (backend dir files update-function) >> + (funcall update-function >> + (mapcar (lambda (file) (list file 'up-to-date)) files))) > > This is a... test function? Unfinished implementation... From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 23 04:01:41 2020 Received: (at 34949) by debbugs.gnu.org; 23 Feb 2020 09:01:41 +0000 Received: from localhost ([127.0.0.1]:50341 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j5n8u-0006rs-TV for submit@debbugs.gnu.org; Sun, 23 Feb 2020 04:01:41 -0500 Received: from mail-wr1-f50.google.com ([209.85.221.50]:34810) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j5n8s-0006re-RO for 34949@debbugs.gnu.org; Sun, 23 Feb 2020 04:01:39 -0500 Received: by mail-wr1-f50.google.com with SMTP id n10so6830511wrm.1 for <34949@debbugs.gnu.org>; Sun, 23 Feb 2020 01:01:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=tFDuOfS7v96EnC4lkKQNm+9bRNBWhfckUu+HhvuHUdg=; b=ZdSEvEuXFggshDzstg/h1qoGe0syr1U74L81rPbvKgUCgkbMMzwY9euXC5RpACKDO5 p8N/fN/+vsYf6Ex7P0hl92+dGmFBJS/CFE/2bdZt+EE78jWPyG6n1GLmZQBIHnBm0q9m gDr4C+bYq9oURfU7jJTcC+THmvqm/aPpL5PCZLMJttFv5ceIbEMZXTC6Ov08WBNNqEqD DG59PGGDXTz2ESNTN6ORHrmJvV+C92l0CR116+g51zuyl61s8G0k5NFjpkjIwZ9vrDs+ Wx8rgsqvNjC6h1xZwzXQWHOLv9f89Jx9NVYfrUpxIuFR9ZNHU5g8MdDeKzzZ33Yq1eMN 57hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=tFDuOfS7v96EnC4lkKQNm+9bRNBWhfckUu+HhvuHUdg=; b=Xm2uvwbjN4FKPO0Gay5q19t9kRyqZnYwWiSTsI0U4g9NUUFecdwvCexMBpztC/2csV lGW6WMn/nY+ikgPO72yOYrRG+T/sMf63FKEtIy7MCUEy8t1nZe0GBag15rcFUbt252ME QdNxpzblfC/NFZa4BDEWiZAo+O/JZVT+ARZRaBt+ypzG6IU+60oaSXTryQgp9bDH2tMB N08rIKTvCJvW103fn5IKSIGhEyLOWlq2uz/8xY+K9/gy6jo8XYohNDQYBtRchhSfe7cl 0p/lExz1+PstMOZh+F3oMQW1rNfCa9lQwX3Fz7l3wpqb7hgaHdldSiz6VaGJUJK98E3M zkSg== X-Gm-Message-State: APjAAAUvxP70vJXqzGu5Yqc3l2D/6UxvxYdlDtUwZ6QJspIgflMSHJOm ccafEWOEJx3mbKayRl5GBTPDA96g X-Google-Smtp-Source: APXvYqy/UBvmpV6tS4BpHbwNpgEqU1iIhm9nptydQTLGXZV5RLmA2/2CBBjLnWbxUXoR+WJ+UhfwcA== X-Received: by 2002:a5d:5381:: with SMTP id d1mr58662427wrv.259.1582448492947; Sun, 23 Feb 2020 01:01:32 -0800 (PST) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id d4sm12495904wra.14.2020.02.23.01.01.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 23 Feb 2020 01:01:32 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: Date: Sun, 23 Feb 2020 11:01:30 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <87sgj2np8k.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 23.02.2020 2:04, Juri Linkov wrote: > Do you propose 'C-x v v' when typed in Dired to open VC-Dir and mark > files marked in Dired, i.e. to sync marks between Dired and VC-Dir? > > And a new keybinding 'C-x v V' (vc-next-action-on-root) typed > in any file/dired should open VC-Dir and mark all edited files? Um, not really. Just only adding the 'V' binding to VC-Dir buffers, where it would use the existing known fileset. But no 'C-x v V' binding. If that would both satisfy you and simplify the implementation, of course. From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 23 18:51:58 2020 Received: (at 34949) by debbugs.gnu.org; 23 Feb 2020 23:51:58 +0000 Received: from localhost ([127.0.0.1]:51725 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j612U-00055Z-5D for submit@debbugs.gnu.org; Sun, 23 Feb 2020 18:51:58 -0500 Received: from antelope.elm.relay.mailchannels.net ([23.83.212.4]:30906) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j612S-00055R-G8 for 34949@debbugs.gnu.org; Sun, 23 Feb 2020 18:51:57 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 5E7375A0F59; Sun, 23 Feb 2020 23:51:55 +0000 (UTC) Received: from pdx1-sub0-mail-a7.g.dreamhost.com (100-96-38-98.trex.outbound.svc.cluster.local [100.96.38.98]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id CE20B5A0FAC; Sun, 23 Feb 2020 23:51:54 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a7.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Sun, 23 Feb 2020 23:51:55 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Hook-Befitting: 34d8659e1723baac_1582501915082_2199359502 X-MC-Loop-Signature: 1582501915082:1038129672 X-MC-Ingress-Time: 1582501915082 Received: from pdx1-sub0-mail-a7.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a7.g.dreamhost.com (Postfix) with ESMTP id 97BC3B1948; Sun, 23 Feb 2020 15:51:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=Y9mdnOV6fHx7oTsp9/qlvIWb5As=; b= At7ToMtepy+4IPXdsi2tlEdbKi7c2s+9QFKrKHXl6BDknp0WH37ojU73snMiiMRD GO8gP8V0Je9qg/u+W5JfWmpeTneFiGXhponpNMegl7Zn7kOsz1eA9P60m+jiFhaj 414RV/LID1YzlUjCT5V6IM4u+eYdHhnwF40651y6z3A= Received: from localhost.linkov.net (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a7.g.dreamhost.com (Postfix) with ESMTPSA id 4353BB1960; Sun, 23 Feb 2020 15:51:46 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a7 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> Date: Mon, 24 Feb 2020 01:25:59 +0200 In-Reply-To: (Dmitry Gutov's message of "Sun, 23 Feb 2020 11:01:30 +0200") Message-ID: <8736b06f60.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrkeelgdduiecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtfedrvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmohguvgepshhmthhppdhhvghloheplhhotggrlhhhohhsthdrlhhinhhkohhvrdhnvghtpdhinhgvthepledurdduvdelrddutdefrddvjedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegughhuthhovheshigrnhguvgigrdhruh X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> Do you propose 'C-x v v' when typed in Dired to open VC-Dir and mark >> files marked in Dired, i.e. to sync marks between Dired and VC-Dir? >> And a new keybinding 'C-x v V' (vc-next-action-on-root) typed >> in any file/dired should open VC-Dir and mark all edited files? > > Um, not really. Just only adding the 'V' binding to VC-Dir buffers, where > it would use the existing known fileset. But no 'C-x v V' binding. Should then 'V' typed in VC-Dir operate on edited files only, or try to use all files including unregistered? > If that would both satisfy you and simplify the implementation, of course. What about invoking state-changing VC-operations from Dired? Should typing 'v' in Dired open the VC-Dir buffer? Wouldn't this be the same as just typing 'C-x v d RET'? BTW, why 'C-x v d RET' requires a confirmation? This additional 'RET' is too annoying. Maybe like a proposal in bug#39704 to use a prefix arg for 'C-u M-x vc-print-branch-log' to ask for a directory, then 'C-u C-x v d' could do the same and ask for a root directory, otherwise without prefix arg 'C-x v d' could use the default root without using a prompt. From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 23 19:18:04 2020 Received: (at 34949) by debbugs.gnu.org; 24 Feb 2020 00:18:04 +0000 Received: from localhost ([127.0.0.1]:51732 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j61Rk-0005l6-A4 for submit@debbugs.gnu.org; Sun, 23 Feb 2020 19:18:04 -0500 Received: from mail-wr1-f49.google.com ([209.85.221.49]:46127) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j61Rh-0005kZ-RE for 34949@debbugs.gnu.org; Sun, 23 Feb 2020 19:18:02 -0500 Received: by mail-wr1-f49.google.com with SMTP id g4so1964501wro.13 for <34949@debbugs.gnu.org>; Sun, 23 Feb 2020 16:18:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=ozG0Dyq4qqtHxbnCk+koDEzXEYpU0kMymvhy13Zfw4I=; b=XpNN8wirFQVopYdEtgszSA5+S2ImG9bYwpNAL9Retp8nV585FCj4DkiCBhOrLmHKDU vE0XyHn8aKSdQpLByhlv5fLXAsE0FvShzMwt7HoflsqLbVMirjyAeLoKkZgQVQBB2Glh ZWwEcaaEhd7t7aK5TgXV7OnxdtMRq8Z12JyVKC3UaqdcxgGjKr7CQnrrcXCgf+Vx7k13 w6ACKYTS/jQoO8jwi+3non3SKX1fCjMUugMJtWVjB5gTy37tynm6au58U6xXoZ1qCT4C XFTUab5PWw5OI+aEul5+QM+xcaOhCp/H3sIYpW40uB9IPLWw46JnNknHHdzk7ts7IVBh zozQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=ozG0Dyq4qqtHxbnCk+koDEzXEYpU0kMymvhy13Zfw4I=; b=BNGZLWOKVDtexhN9hCrFJmFiXXC3ZCrRZL68tw7NHcGyuYwzG3s/ECgJOmD30fpZGx LaVcyj2ykZK/Nl9zLJ2P0HsDGp2NkJWFFOTk2E0z+u6X1g0QItA0wnNMlH9kNCl9aN9j dU12JZKO5elh57Q/9zux1Gm05sbyf4lgETYQtbMLbNc0totWF0xiU6IEwDvxO1pwSTTB 0xW2AKq3KAYGqAXS8vjDuI0+7TyA6F91hIod2waYjyEu3ZKMdbwAjKA3+ZMpJ9w7LplS liYSZUiu9wjLKAVaQ4DRKMHqqaAp4uB7N/7/RuYgK9ROISM6w+maFdlYXGwDj51NFBz2 VpDQ== X-Gm-Message-State: APjAAAUsLqq7PGlR7GWTZ86R6sTdg9mvvF334iWr+m7RToQmWO3KhhFA lX+tKTE+O4eIFMD+KbD7skCPKYfw X-Google-Smtp-Source: APXvYqz2D6qWpwHPTD0Yr80X2iqC5N+CJxO1gv9i0nx/1xNaO0qxLPJZSJ0UJtusTfL5eepbx12ytw== X-Received: by 2002:adf:f091:: with SMTP id n17mr60675639wro.387.1582503475780; Sun, 23 Feb 2020 16:17:55 -0800 (PST) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id g29sm10071325wrb.59.2020.02.23.16.17.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 23 Feb 2020 16:17:54 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: Date: Mon, 24 Feb 2020 02:17:53 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <8736b06f60.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 24.02.2020 1:25, Juri Linkov wrote: >> Um, not really. Just only adding the 'V' binding to VC-Dir buffers, where >> it would use the existing known fileset. But no 'C-x v V' binding. > > Should then 'V' typed in VC-Dir operate on edited files only, > or try to use all files including unregistered? Which option would you choose? Do you know why we generally try to only operate on the files in the same status? >> If that would both satisfy you and simplify the implementation, of course. > > What about invoking state-changing VC-operations from Dired? > Should typing 'v' in Dired open the VC-Dir buffer? No, I just wouldn't do that. > BTW, why 'C-x v d RET' requires a confirmation? > This additional 'RET' is too annoying. You participated in this discussion: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=12492 Since then, we've had at least another one on the same subject. The consensus was the current behavior. If you can find that discussion, please go ahead and revive it if you like. Not in this bug report, though. > Maybe like a proposal in bug#39704 to use a prefix arg for > 'C-u M-x vc-print-branch-log' to ask for a directory, then > 'C-u C-x v d' could do the same and ask for a root directory, > otherwise without prefix arg 'C-x v d' could use the default root > without using a prompt. I would like that, personally. But see above. From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 24 19:41:44 2020 Received: (at 34949) by debbugs.gnu.org; 25 Feb 2020 00:41:44 +0000 Received: from localhost ([127.0.0.1]:54272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6OIC-00042u-Dq for submit@debbugs.gnu.org; Mon, 24 Feb 2020 19:41:44 -0500 Received: from aye.elm.relay.mailchannels.net ([23.83.212.6]:25617) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6OIA-00042l-Cw for 34949@debbugs.gnu.org; Mon, 24 Feb 2020 19:41:42 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id C08D45A0E53; Tue, 25 Feb 2020 00:41:40 +0000 (UTC) Received: from pdx1-sub0-mail-a13.g.dreamhost.com (100-96-215-18.trex.outbound.svc.cluster.local [100.96.215.18]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 093505A1587; Tue, 25 Feb 2020 00:41:40 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a13.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Tue, 25 Feb 2020 00:41:40 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Bored-Relation: 3ee5945e561e316c_1582591300516_699248369 X-MC-Loop-Signature: 1582591300516:2107366177 X-MC-Ingress-Time: 1582591300515 Received: from pdx1-sub0-mail-a13.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a13.g.dreamhost.com (Postfix) with ESMTP id 410608E2A1; Mon, 24 Feb 2020 16:41:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=eEf/Fjx7M4u5CpgSechtTuQJjts=; b= vfwsj/3rkURrtgXGmJPeI7Y3ElzlO4CxVVJ5m1amyNLQ0WyuhwknoX4ByO1dj6wo cn4/MLTNLxp1PfOsqk5A45KOQodiasOICezZAjAUzMWkgSxCvYLAsbgOjhWvMNDe nGh6iegYu6S7lp4PcH7Q3j3xWt8TUFiplELBmXIVGgI= Received: from localhost.linkov.net (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a13.g.dreamhost.com (Postfix) with ESMTPSA id CB4388CF3F; Mon, 24 Feb 2020 16:41:34 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a13 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> Date: Tue, 25 Feb 2020 02:12:37 +0200 In-Reply-To: (Dmitry Gutov's message of "Mon, 24 Feb 2020 02:17:53 +0200") Message-ID: <87sgizy16y.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrledugddvhecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecuffhomhgrihhnpehgnhhurdhorhhgnecukfhppeeluddruddvledruddtfedrvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmohguvgepshhmthhppdhhvghloheplhhotggrlhhhohhsthdrlhhinhhkohhvrdhnvghtpdhinhgvthepledurdduvdelrddutdefrddvjedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegughhuthhovheshigrnhguvgigrdhruh X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>> Um, not really. Just only adding the 'V' binding to VC-Dir buffers, where >>> it would use the existing known fileset. But no 'C-x v V' binding. >> Should then 'V' typed in VC-Dir operate on edited files only, >> or try to use all files including unregistered? > > Which option would you choose? The most often used operation is to commit edited files. > Do you know why we generally try to only operate on the files in the > same status? Maybe to make it easier to e.g. register all unregistered files: in VC-Dir type 'm' on an unregistered file that will mark all unregistered files, then register them with 'v'. >>> If that would both satisfy you and simplify the implementation, of course. >> What about invoking state-changing VC-operations from Dired? >> Should typing 'v' in Dired open the VC-Dir buffer? > > No, I just wouldn't do that. Then typing 'v' in Dired should open the *vc-log* buffer for writing a commit message on all edited files, ignoring all unregistered files? >> BTW, why 'C-x v d RET' requires a confirmation? >> This additional 'RET' is too annoying. > > You participated in this discussion: > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=12492 > > Since then, we've had at least another one on the same subject. The > consensus was the current behavior. If you can find that discussion, > please go ahead and revive it if you like. Not in this bug report, though. I remember bug#12492, but not any other discussion. From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 25 05:32:43 2020 Received: (at 34949) by debbugs.gnu.org; 25 Feb 2020 10:32:43 +0000 Received: from localhost ([127.0.0.1]:54460 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6XW4-0003Il-0O for submit@debbugs.gnu.org; Tue, 25 Feb 2020 05:32:43 -0500 Received: from mail-wm1-f49.google.com ([209.85.128.49]:52435) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6XVy-0003IU-B9 for 34949@debbugs.gnu.org; Tue, 25 Feb 2020 05:32:38 -0500 Received: by mail-wm1-f49.google.com with SMTP id p9so2430615wmc.2 for <34949@debbugs.gnu.org>; Tue, 25 Feb 2020 02:32:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=k/nABGICY+4PvIQkzUzEcRpQzpqQ86R4JxbgLvD6y6M=; b=N1iNbeRSL+BncYDMibA9RPHxnACh8GLL/TDLzBXs80f84uqI/Gn8zjBm+aYhU+xVCO ZdwmqUjoceZ1kH08rj84pwPVSQINPRsymb5trzYRaYF2iiSXMV/xMyC/2AUn0iyylDSe B+S2XjzHlGT97SJN/LX5R/RoNrICqZlyssgCOfzRR8PgLiTpR1e5mEt82KkdEBgk/X/A z8QFoMCjrB7XtxMMSAExWHtIvwf/sohzTjfkpH9MnY90ocZFqYGnNKCLQuDr3ave8bqk mlni1NK3ryIo9o9t3SyCzhrZEzkJux/5Gw6xfNNSehc9/vWkM21jvLbSb5vU6r7YLAfG GISQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=k/nABGICY+4PvIQkzUzEcRpQzpqQ86R4JxbgLvD6y6M=; b=YxE2VsLu4wVarmyq/ycEBcL9zBruRgrCKP2tTQIRHUOvMEab8TV+VSC27tMoIq8zf+ x7As00ZQW+s/GNU+P4sj2AVF0csaGR1EqUVh/xnKHXV8zMbPJG2DVKJdY+V5WO8uAMxM hpnivuoysPt3yK7xyvvPUbxftR3XJkoH3q61lhqUziVTwzzyNNFM4L7K2lupfZZPwRiA N1rCJHlna2q6vgDtk2fTygmRX7zN6hzvbqFu4EsYjV1VRfwJpC/pc2eck02lyodr/bBE WgaePIog/rm2nt1/xIxs6fZBoiBcqA3+0KsBGAw44rO3J5ceoZrM/qYcsZ3IoZUsK8nv BKsw== X-Gm-Message-State: APjAAAUWMfWoCck8iIjCVwamgSyXFtlarrLZHikRagN4A/68jgwtWWWd 2EkDY0vck+Yt5b5+JrZAm4gqyFNa X-Google-Smtp-Source: APXvYqyiKJPLFyTvTRCJzWLoi0dqirwsZ6DazfXVpuV1LLNfvYz36nPGkTAZhq/QCOefNLsuP5vvhg== X-Received: by 2002:a7b:c19a:: with SMTP id y26mr4826104wmi.152.1582626747793; Tue, 25 Feb 2020 02:32:27 -0800 (PST) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id c74sm3695294wmd.26.2020.02.25.02.32.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 25 Feb 2020 02:32:26 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> Date: Tue, 25 Feb 2020 12:32:25 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <87sgizy16y.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 25.02.2020 2:12, Juri Linkov wrote: >>>> Um, not really. Just only adding the 'V' binding to VC-Dir buffers, where >>>> it would use the existing known fileset. But no 'C-x v V' binding. >>> Should then 'V' typed in VC-Dir operate on edited files only, >>> or try to use all files including unregistered? >> >> Which option would you choose? > > The most often used operation is to commit edited files. Probably, yes. Considering people like to leave some unregistered files out indefinitely. >> Do you know why we generally try to only operate on the files in the >> same status? > > Maybe to make it easier to e.g. register all unregistered files: > in VC-Dir type 'm' on an unregistered file that will mark all > unregistered files, then register them with 'v'. Thinking about that, I believe it's because the thing that vc-next-action does depends on the status of the files in the fileset. So the statuses have to be compatible. >>>> If that would both satisfy you and simplify the implementation, of course. >>> What about invoking state-changing VC-operations from Dired? >>> Should typing 'v' in Dired open the VC-Dir buffer? >> >> No, I just wouldn't do that. > > Then typing 'v' in Dired should open the *vc-log* buffer > for writing a commit message on all edited files, > ignoring all unregistered files? Yes, OK. >>> BTW, why 'C-x v d RET' requires a confirmation? >>> This additional 'RET' is too annoying. >> >> You participated in this discussion: >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=12492 >> >> Since then, we've had at least another one on the same subject. The >> consensus was the current behavior. If you can find that discussion, >> please go ahead and revive it if you like. Not in this bug report, though. > > I remember bug#12492, but not any other discussion. Commit f302475471df0553b3ee442112981f9b146e0b55 came later. You can try searching for the thread (probably on emacs-devel) that led to it. From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 25 16:33:57 2020 Received: (at 34949) by debbugs.gnu.org; 25 Feb 2020 21:33:57 +0000 Received: from localhost ([127.0.0.1]:56217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6hq0-0007MX-QY for submit@debbugs.gnu.org; Tue, 25 Feb 2020 16:33:57 -0500 Received: from eastern.birch.relay.mailchannels.net ([23.83.209.55]:41024) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j6hpy-0007MO-Vd for 34949@debbugs.gnu.org; Tue, 25 Feb 2020 16:33:55 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id CB0E8501702; Tue, 25 Feb 2020 21:33:53 +0000 (UTC) Received: from pdx1-sub0-mail-a82.g.dreamhost.com (100-96-217-39.trex.outbound.svc.cluster.local [100.96.217.39]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 493A650196E; Tue, 25 Feb 2020 21:33:53 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a82.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Tue, 25 Feb 2020 21:33:53 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Lonely-Vacuous: 1036026b24640993_1582666433533_1874751836 X-MC-Loop-Signature: 1582666433533:1726026261 X-MC-Ingress-Time: 1582666433533 Received: from pdx1-sub0-mail-a82.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a82.g.dreamhost.com (Postfix) with ESMTP id 7E7DC7F045; Tue, 25 Feb 2020 13:33:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=linkov.net; bh=lonTAc FHFRuNzN7ixijHCwH6Jus=; b=hqr4AY5CmVbfvngy2lWd1wVsoXJAec2DhHh/TQ utwpJmlws6vvk8//rzlXudyNIJ1CwXcXFtI3a7i7IXsQQM6jA0PGCuun+9a/M7ee ZbUOeAS+G3H8LCgZuTCXnb3vTsrEJ9oyJFMxq124Cf3QKrsvgn/nBVfAGFPAiyfJ 3RLQM= Received: from localhost.linkov.net (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a82.g.dreamhost.com (Postfix) with ESMTPSA id AF4887F044; Tue, 25 Feb 2020 13:33:46 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a82 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> Date: Tue, 25 Feb 2020 23:23:30 +0200 In-Reply-To: <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> (Dmitry Gutov's message of "Tue, 25 Feb 2020 12:32:25 +0200") Message-ID: <87fteyl64x.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrledvgddugeelucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgfgsehtkeertddtreejnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtfedrvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmohguvgepshhmthhppdhhvghloheplhhotggrlhhhohhsthdrlhhinhhkohhvrdhnvghtpdhinhgvthepledurdduvdelrddutdefrddvjedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegughhuthhovheshigrnhguvgigrdhruh Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Thinking about that, I believe it's because the thing that vc-next-acti= on > does depends on the status of the files in the fileset. So the statuses > have to be compatible. The core concept of the proposed new command =E2=80=98C-x v V=E2=80=99 an= d =E2=80=98V=E2=80=99 in VC-Dired is to deduce the fileset from the statuses of repository files, without explicitly marking the files in VC-Dired and without using only the current file as =E2=80=98C-x v v=E2=80=99 does. Some dwim logic could be employed such as collecting only edited files to the fileset, but I'm not sure if this will cover 100% of user needs. Maybe some customizable variable could be added with a list of statuses to specify what files to include to the fileset. Foremost this feature is needed to deduce the files to include to the fileset from a subdirectory marked in Dired after typing =E2=80=98C-x v v= =E2=80=99 on it. From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 26 17:49:18 2020 Received: (at 34949) by debbugs.gnu.org; 26 Feb 2020 22:49:18 +0000 Received: from localhost ([127.0.0.1]:57927 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j75UT-00037U-Mp for submit@debbugs.gnu.org; Wed, 26 Feb 2020 17:49:17 -0500 Received: from mail-wm1-f45.google.com ([209.85.128.45]:52864) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j75US-00037F-2S for 34949@debbugs.gnu.org; Wed, 26 Feb 2020 17:49:16 -0500 Received: by mail-wm1-f45.google.com with SMTP id p9so1243782wmc.2 for <34949@debbugs.gnu.org>; Wed, 26 Feb 2020 14:49:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=EMPTtYl1tx/Uwx+tRpVRwwHIMmLhEXHcpptUjiMB0bA=; b=DIuvNYZP+4okTX/t76VpLlO9U5rJ7AR/WAgiEfGVingLG1qnV8imU9FlCrO7UxfPpc c9bazbokPLRqHBBYBjFkmPoE0KlM5JyqUbX1CFTkxNBnrJATZ7s5jVvkV+VJ8K278jxW GN/g5/iPFA1t5nJWybwtNxFQRHPb82XmbZWouUDzOtcpiWRD4lVzDpPG8Vc8CSKc5xAA y9m6GqfCt8+c8yqbNORGp5taYTCqPvjrt7vHTAEOpK9UlHO/nQ7UxEg+5X0+yPBETRmL pED76NEyr30DdF3IeWy2TSmC8vR0O9AZxBRma9PBO0Lg987Rux5H06i2oHFgA6NIPP5S Ua6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=EMPTtYl1tx/Uwx+tRpVRwwHIMmLhEXHcpptUjiMB0bA=; b=j7fp8kHmqfvOrABnna65hnuaqi2zPcJ+ItY+rtTOnv3uWUAaIAMiS8RT8ugSXQswRT t8zICKUZNt81fmzTDgo3FCXpKkMcJBWdUIQCnb4LaeR1TAViAvvOn0g90cp3qJcVTNUx L6UoxmTnjxEj12FEbXFb0Eaq98MHcq6D9SWvzNvoMDJG9mxDEoZOgdB39qXcx1Hjg7o+ nGBhWnRsyOCbr0mMwMOADxCDiHCczmw8QerE7yl8hQQKGPsjcwjdnIythFMKieZ7qW1G rsIANgbNBHtLiAccR1sbBC/CFCXQA+1Yg7o9gzRUReptwr2EqNFZ6W36YORaclAvgxS3 gm7g== X-Gm-Message-State: APjAAAVfjZEj7GSrnMzH26a3j50eRBb01e5cvGiepfb+dmtTdq3tkHcS iTEUTOXpNZVleGv/HLyLrWgGb+kD X-Google-Smtp-Source: APXvYqxrxWLbqYdr3uXSYSnTIRQPYAmkrS49uulgQc1ZLmZ/FzjiSYKXvE+5gPP4q6RmMXLuQDMKtg== X-Received: by 2002:a1c:f71a:: with SMTP id v26mr1128748wmh.85.1582757347806; Wed, 26 Feb 2020 14:49:07 -0800 (PST) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id q12sm5497005wrg.71.2020.02.26.14.49.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 26 Feb 2020 14:49:06 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> Date: Thu, 27 Feb 2020 00:49:05 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <87fteyl64x.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 25.02.2020 23:23, Juri Linkov wrote: >> Thinking about that, I believe it's because the thing that vc-next-action >> does depends on the status of the files in the fileset. So the statuses >> have to be compatible. > > The core concept of the proposed new command ‘C-x v V’ and ‘V’ in VC-Dired > is to deduce the fileset from the statuses of repository files, without > explicitly marking the files in VC-Dired and without using only the > current file as ‘C-x v v’ does. > > Some dwim logic could be employed such as collecting only edited files > to the fileset, but I'm not sure if this will cover 100% of user needs. > > Maybe some customizable variable could be added with a list of statuses > to specify what files to include to the fileset. Not sure about customizability. 'added' and 'edited' should cover it. Files with 'conflict' first should be resolved first, I think. From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 26 18:47:57 2020 Received: (at 34949) by debbugs.gnu.org; 26 Feb 2020 23:47:57 +0000 Received: from localhost ([127.0.0.1]:57953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j76PF-0004hb-JB for submit@debbugs.gnu.org; Wed, 26 Feb 2020 18:47:57 -0500 Received: from bonobo.birch.relay.mailchannels.net ([23.83.209.22]:45752) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j76PD-0004hO-HX for 34949@debbugs.gnu.org; Wed, 26 Feb 2020 18:47:56 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 2D43B5009EB; Wed, 26 Feb 2020 23:47:54 +0000 (UTC) Received: from pdx1-sub0-mail-a11.g.dreamhost.com (100-96-217-40.trex.outbound.svc.cluster.local [100.96.217.40]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 93A63501571; Wed, 26 Feb 2020 23:47:53 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a11.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Wed, 26 Feb 2020 23:47:54 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Thread-Fearful: 3f3cb934408f28ce_1582760873884_1498526229 X-MC-Loop-Signature: 1582760873883:842120330 X-MC-Ingress-Time: 1582760873883 Received: from pdx1-sub0-mail-a11.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a11.g.dreamhost.com (Postfix) with ESMTP id 418AA8852A; Wed, 26 Feb 2020 15:47:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=linkov.net; bh=/jtPIR fls2DwGD8eH0141oECCNc=; b=SfJi7+Mp3HjtwMwL8D4v2lkZdZzJ+NTYqhG2Y3 ld8F17JkjllLghqtHQKZagQwp0WYvZVm+cOxR/sDfxT7vgdTR6S14L9SgHaqZfaK OylMvoMGOrZr1aZcmdoH4Z41w1EQZt5ZHOhjrKTTQW5Xmg2M1XhgqR0SVSwhCKQa SiMHw= Received: from mail.jurta.org (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a11.g.dreamhost.com (Postfix) with ESMTPSA id DD936884CB; Wed, 26 Feb 2020 15:47:47 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a11 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> Date: Thu, 27 Feb 2020 01:46:29 +0200 In-Reply-To: <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> (Dmitry Gutov's message of "Thu, 27 Feb 2020 00:49:05 +0200") Message-ID: <87o8tkgbe2.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrleehgdduiecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtgfesthekredttderjeenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdefrddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtfedrvdejpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepughguhhtohhvseihrghnuggvgidrrhhu Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> The core concept of the proposed new command =E2=80=98C-x v V=E2=80=99= and =E2=80=98V=E2=80=99 in VC-Dired >> is to deduce the fileset from the statuses of repository files, withou= t >> explicitly marking the files in VC-Dired and without using only the >> current file as =E2=80=98C-x v v=E2=80=99 does. >> Some dwim logic could be employed such as collecting only edited files >> to the fileset, but I'm not sure if this will cover 100% of user needs= . >> Maybe some customizable variable could be added with a list of statuse= s >> to specify what files to include to the fileset. > > Not sure about customizability. > > 'added' and 'edited' should cover it. Files with 'conflict' first shoul= d be > resolved first, I think. Is this 'conflict' status git-specific or other backends have it too? In any case it seems the best default would be to include to fileset all files except with the 'unregistered' status. Then the backend will handle the files with the 'conflict' status (e.g. to signal an error). From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 02:28:43 2020 Received: (at 34949) by debbugs.gnu.org; 27 Feb 2020 07:28:43 +0000 Received: from localhost ([127.0.0.1]:58629 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7Db9-0006TG-Gm for submit@debbugs.gnu.org; Thu, 27 Feb 2020 02:28:43 -0500 Received: from mail-wm1-f52.google.com ([209.85.128.52]:40468) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7Db6-0006T1-GS for 34949@debbugs.gnu.org; Thu, 27 Feb 2020 02:28:41 -0500 Received: by mail-wm1-f52.google.com with SMTP id t14so2129438wmi.5 for <34949@debbugs.gnu.org>; Wed, 26 Feb 2020 23:28:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=mCuFtILUx/BSwgOxpuuMF6yPxa5ImEVNDVSR/YlKpug=; b=onB93t/2piZQdb4YY1LvE35v0yX/Aj/YJ7LeD/hg6vGdUEY4sK+543C+EVfkJjCO0j 66Wzltrl8p7xbNjDuQ2Y0RhsVVde7xuKoscxBEyF0QU1IjbGY3fGhjObWout9MOsto4Z bL4Zh8+Det30796fy2yagnYEO/3XaLvsF4j504IgGbV0A1Jh5LOS9akxLyXbA+7M+4YF RaFDT/RPsct4jcDCzBl69Yeq7dMz52n0HBdfXVeUKRCzZXjXQEdNEI1pmjv0tpFA7jcl 2ohWRvwxeTl2bWOv60enNJjn80rULhohgc/iaetNpVrt/0Bf9nblvhFBZHTxvNMGfvaP cyug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=mCuFtILUx/BSwgOxpuuMF6yPxa5ImEVNDVSR/YlKpug=; b=B2RYkBCyCSIZqmyYKRPu+dKY8BrUdBZkcIBEyRNGT+fqtPBsY2GPPe+GuqlEqf2cCq haalHf3xAaAhpy5Pygld7vRojcE3jSwhMoiydHnH2u4+QVzd3CxaJDCn5zu3fLgz277v s9MNNzOR6c/5PyuBKvwbHMXHk5VFMIVvEtmopI93CDEndS8aeBEEROTRXW0H7A4Q5FS/ El4200sKJbOOvgwAQI+vH76HhzBxVb8Tcy1C+3Ff6bh909r7dYZsjpoe9g6sndW5jdBe tvzaIb+rzaQSVPJxYZ0SSKTZEP0Gat5o4A+ho3JHd3O6FXHOMPnUm7RxHUPh5QPGjdyU bFZw== X-Gm-Message-State: APjAAAVvB4fNR5UgHq1hDy29vYuvON8ILVILDqk0MHZfRIJZ+UQPgR/B n1BsSArpf+PP1X4EXbVLqUppmkCx X-Google-Smtp-Source: APXvYqwK0DxosFp8KBKdGtt4Qa8YWOPylw2HaAn+MSbHQ2W2qq15M1qNNowELIVZ5KXJMfQulunmEw== X-Received: by 2002:a05:600c:2c13:: with SMTP id q19mr3575344wmg.144.1582788514234; Wed, 26 Feb 2020 23:28:34 -0800 (PST) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id g25sm12663594wmh.3.2020.02.26.23.28.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 26 Feb 2020 23:28:33 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: Date: Thu, 27 Feb 2020 09:28:32 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <87o8tkgbe2.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 27.02.2020 1:46, Juri Linkov wrote: > In any case it seems the best default would be to include to fileset > all files except with the 'unregistered' status. What other statuses do you want to include except the two I mentioned? > Then the backend will > handle the files with the 'conflict' status (e.g. to signal an error). No, it won't signal an error. It will silently commit the changes. From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 18:19:05 2020 Received: (at 34949) by debbugs.gnu.org; 27 Feb 2020 23:19:05 +0000 Received: from localhost ([127.0.0.1]:60437 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7SQr-0006Kn-8z for submit@debbugs.gnu.org; Thu, 27 Feb 2020 18:19:05 -0500 Received: from aye.elm.relay.mailchannels.net ([23.83.212.6]:12336) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7SQp-0006Kf-PK for 34949@debbugs.gnu.org; Thu, 27 Feb 2020 18:19:04 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 91F9E1A1C12; Thu, 27 Feb 2020 23:19:02 +0000 (UTC) Received: from pdx1-sub0-mail-a8.g.dreamhost.com (100-96-217-41.trex.outbound.svc.cluster.local [100.96.217.41]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 0DA151A228F; Thu, 27 Feb 2020 23:19:02 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a8.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Thu, 27 Feb 2020 23:19:02 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Language-Reaction: 16be64fe391ec50e_1582845542292_1194613227 X-MC-Loop-Signature: 1582845542292:2253754745 X-MC-Ingress-Time: 1582845542292 Received: from pdx1-sub0-mail-a8.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a8.g.dreamhost.com (Postfix) with ESMTP id F06917F7AC; Thu, 27 Feb 2020 15:18:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=05OEPwGP0fOhzuKLqlSMw035aVk=; b= NF9FMD3H9LGG4GkU9nCIzAF4/8pl3ykNyMvNz4bcpo9b4X+QBT5wnG3LkpqtG579 ipKUQKts+1puSJTWDCJVo1U+h/BHeAJMbCT3Uu0avLtb+K2p9xIWQR5u9qW+C4nv uOVde2gZ83FK6RnmNbmXgTvS3HUo+hOtACv0bBzGDWk= Received: from mail.jurta.org (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a8.g.dreamhost.com (Postfix) with ESMTPSA id 84B707F7AD; Thu, 27 Feb 2020 15:18:53 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a8 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> Date: Fri, 28 Feb 2020 01:15:27 +0200 In-Reply-To: (Dmitry Gutov's message of "Thu, 27 Feb 2020 09:28:32 +0200") Message-ID: <8736avy640.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrleejgddtkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtfedrvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrddutdefrddvjedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegughhuthhovheshigrnhguvgigrdhruh X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> In any case it seems the best default would be to include to fileset >> all files except with the 'unregistered' status. > > What other statuses do you want to include except the two I mentioned? I don't know all possible statuses. >> Then the backend will >> handle the files with the 'conflict' status (e.g. to signal an error). > > No, it won't signal an error. It will silently commit the changes. Too bad. This means we can't collect files into a fileset behind the scene without user's consent. The user should have an overview of the fileset in VC-Dir before committing it. Thus I'm going to implement this design: when a directory is marked in Dired, then invoking 'C-x v v' in Dired will open the *vc-dir* buffer and mark the same directory in it. From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 28 14:22:13 2020 Received: (at 34949) by debbugs.gnu.org; 28 Feb 2020 19:22:13 +0000 Received: from localhost ([127.0.0.1]:33778 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7lDA-0006wO-Vx for submit@debbugs.gnu.org; Fri, 28 Feb 2020 14:22:13 -0500 Received: from mail-wr1-f48.google.com ([209.85.221.48]:40011) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7lD8-0006vy-MB for 34949@debbugs.gnu.org; Fri, 28 Feb 2020 14:22:11 -0500 Received: by mail-wr1-f48.google.com with SMTP id r17so4274221wrj.7 for <34949@debbugs.gnu.org>; Fri, 28 Feb 2020 11:22:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=ys3L/RsToaCco5DdZqhRiIZZtwRPhg6M5KkHjH+0Vm8=; b=rG1KbQnZ9qh3WAoxqKW68si4vImAR4CzcdFA743iAk55wQsKARmODa5z6cidN4wfD/ yZblJd/hqRN28ZreUYe+N9MMaLrh73mJlAGPitJEsyYHn8AgXUDDRRMPGfP6Y8xWDXc8 9cExuYb/02E5O0tkFmyl7R5+GfSJuCzN2P321c2Je/0hBNWm0ItscP7PwajMfq3jLGPv ef9+DqrJJWFiSzbrkgMMTiqTrINgxa0zmsVTWm/pb4z0z4ScgeR1CpM6/L0QXKEe8bMy XWzbL9wSELUi4vUAM42wXTW+RLvn3NoHbU7Sz8orVJrm0RIhGwQQEsc1lgFS/oRsn4h4 btwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=ys3L/RsToaCco5DdZqhRiIZZtwRPhg6M5KkHjH+0Vm8=; b=buZtd//DQe07lRd2qUKTcLf++zl2KMSCF1W2uQQ7gXgOXlciiMAA6ChPoJNhYeGF2Q M5BXrw3+AhWnZQILHq/+Q4pO62Ra6RjOnA3vo6z33oQzT5OuAUu96SLS8nLm8Xg+Rwpc i+sq9oGLFsmjAvhwrp0QUbFyUYyJbHh1rUgWMz21PEkTejh8NXlpv0XK4K7SZGpQJ6zY enu5Ssdyqag8smAyFcE11fJzJ3VB9OgoeEQJDFYanGtXcsZzVljh6QADcaPEL7cYNDHx Bu35wHXGv15WbtWbvKual+s070kFhX7FlUaGg6+c13uyFb8G+7SGQaPj0QpAW/h/LmdB KrpQ== X-Gm-Message-State: APjAAAXL46AEoU4LfgfU0YiZsLDr7ZDp1KIdLQUcGHaUflV0+ieBONgc 8ix8GPiFqoXis3pyUkR8gcwbg/RQ X-Google-Smtp-Source: APXvYqz8yXrkW5c8g0OXHVKm1a3T8NInH37thFsfyIBo7hxoW3MRXs6hiGnFZfgrIEW5NLd7ujI5sQ== X-Received: by 2002:adf:82ef:: with SMTP id 102mr5829246wrc.23.1582917724534; Fri, 28 Feb 2020 11:22:04 -0800 (PST) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id c26sm3336918wmb.8.2020.02.28.11.22.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Feb 2020 11:22:03 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> Date: Fri, 28 Feb 2020 21:22:01 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <8736avy640.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 28.02.2020 1:15, Juri Linkov wrote: >>> In any case it seems the best default would be to include to fileset >>> all files except with the 'unregistered' status. >> >> What other statuses do you want to include except the two I mentioned? > > I don't know all possible statuses. It's documented in the docstring of vc-state. >>> Then the backend will >>> handle the files with the 'conflict' status (e.g. to signal an error). >> >> No, it won't signal an error. It will silently commit the changes. > > Too bad. This means we can't collect files into a fileset > behind the scene without user's consent. The user should have > an overview of the fileset in VC-Dir before committing it. > > Thus I'm going to implement this design: when a directory is marked > in Dired, then invoking 'C-x v v' in Dired will open the *vc-dir* buffer > and mark the same directory in it. Fair enough. I think I preferred your other idea a bit more, but this also sounds workable. Except... if a directory selected in a VC-Dir buffer contains files in "incompatible" states, vc-next-action should complain as well. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 29 16:51:35 2020 Received: (at 34949) by debbugs.gnu.org; 29 Feb 2020 21:51:35 +0000 Received: from localhost ([127.0.0.1]:35509 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8A1G-0000I2-O7 for submit@debbugs.gnu.org; Sat, 29 Feb 2020 16:51:34 -0500 Received: from egyptian.birch.relay.mailchannels.net ([23.83.209.56]:34194) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8A1E-0000Hs-Pg for 34949@debbugs.gnu.org; Sat, 29 Feb 2020 16:51:33 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id C23AB340706; Sat, 29 Feb 2020 21:51:31 +0000 (UTC) Received: from pdx1-sub0-mail-a73.g.dreamhost.com (100-96-42-19.trex.outbound.svc.cluster.local [100.96.42.19]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 566F9340AC5; Sat, 29 Feb 2020 21:51:31 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a73.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Sat, 29 Feb 2020 21:51:31 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Average-Cure: 49b1808b2c0dd452_1583013091577_1322442422 X-MC-Loop-Signature: 1583013091577:2033179178 X-MC-Ingress-Time: 1583013091576 Received: from pdx1-sub0-mail-a73.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a73.g.dreamhost.com (Postfix) with ESMTP id 1E2E97F53C; Sat, 29 Feb 2020 13:51:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=7AUdwjZz6fysPhroIxFaKK6m5v4=; b= JXLiQgTfV4lQ0aDBnXybUjSa5c62WYfDQIevgEajN/wDgQ5Hhyb6B5BAatO1B5oP bemFpi0ksrqasNYA8SBHcJsuAy4VCnbXN0tOYwwzShRHYOaX083nnhKi5epCExUU Z9ZYz7envBVlVRgJcpiNJGfnVU+jyCPU6m3Kg6UePuk= Received: from mail.jurta.org (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a73.g.dreamhost.com (Postfix) with ESMTPSA id 3EC447F524; Sat, 29 Feb 2020 13:51:22 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a73 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> Date: Sat, 29 Feb 2020 23:25:07 +0200 In-Reply-To: <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> (Dmitry Gutov's message of "Fri, 28 Feb 2020 21:22:01 +0200") Message-ID: <87a751uonw.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedruddttddgudehjecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtfedrvdejnecuvehluhhsthgvrhfuihiivgepudenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrddutdefrddvjedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegughhuthhovheshigrnhguvgigrdhruh X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> The user should have an overview of the fileset in VC-Dir before >> committing it. Thus I'm going to implement this design: when >> a directory is marked in Dired, then invoking 'C-x v v' in Dired will >> open the *vc-dir* buffer and mark the same directory in it. > > Fair enough. I think I preferred your other idea a bit more, but this also > sounds workable. I'd rather delegate the responsibility of handling all intricate details of filesets to vc-dir-mode. > Except... if a directory selected in a VC-Dir buffer contains files in > "incompatible" states, vc-next-action should complain as well. This is fine, vc-next-action called from the VC-Dir buffer should do the right thing. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 29 17:26:05 2020 Received: (at 34949) by debbugs.gnu.org; 29 Feb 2020 22:26:05 +0000 Received: from localhost ([127.0.0.1]:35534 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8AYf-0001B1-Ja for submit@debbugs.gnu.org; Sat, 29 Feb 2020 17:26:05 -0500 Received: from mail-wr1-f45.google.com ([209.85.221.45]:39682) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j8AYb-0001AW-TT for 34949@debbugs.gnu.org; Sat, 29 Feb 2020 17:26:04 -0500 Received: by mail-wr1-f45.google.com with SMTP id y17so7798978wrn.6 for <34949@debbugs.gnu.org>; Sat, 29 Feb 2020 14:26:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=zrT4IMAikFI9g3uGPHKNFYaBkDTEPOwmlDGwV/QK6uQ=; b=LwSbGTP8ULG2eTLS2mQ2u7N0Zyy1zowSJWrEaBFZM5psxdTC3lO7H1YMaWwO7hr4as X1elZpjCViAD48Ac4aAwWwW9ydpeSpSrDUmR7/2DolhrLhvrUVAixIOVEeDzfjHubbUW GQxhk9muOUaH9Y9yR0XfGUWkhMGoJKo19s/Oyfby6G//FF8e5cUd2cVXHdEcNlXhCBRp 7jcioeKxu1+70Q18H9MxTf2e/7RaVnr6TvfcL/CrpTZ3chObp2HKMAhadI8klfG5NXi4 mw9/DPH5sGlcFKhxBXaNBfOOmJmY6UFk0XS+wjRNvSI+EtwJqeX6kd6anoRCx8Ois/YB GniA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=zrT4IMAikFI9g3uGPHKNFYaBkDTEPOwmlDGwV/QK6uQ=; b=CdM8I5ys3YaUkCjX6koEDj9dKDe6dNtvvZsBdxEVPXJf5o1QvsnwPhyWQSe5kvqwGU aePsohuzEbGfRqn5WPwHU/AFtsyl4h/eV5xO7apXRTbYUAuPsWbUJcpnORwOUSH6Me/N joFVaQYOi/77wzpDEQMr0zaco0944xhYYJDSvDRPOGaPhriDrtUqX1QpSFzzY0CYfOBS hGfoZA0vFlxHNeiolOCgrdn2XopYrmjtRmkR2lRf0o2JBvkfR+3f+uc3R8mQ6DDZrEvq QmzkpiElzhh2QtEaWERLynE9J6nDw1XZxmRGkBuI/pD6uLmwG/IeA0h0RfhD0bFmMfRl aRTw== X-Gm-Message-State: APjAAAXJqp/PEA2ofTawLvu+GQYKSjEULlcYjvv1nDPPS/KonGmRnV0j Z/WnqrT5cAKJEM+vFKhU7FaF4cDH X-Google-Smtp-Source: APXvYqxcpC7bwKZZ1siM4INx99l49dTq3VpsHQvsrRaoksk1Ydf00/tqcrjfcJWLfEfKmTGH7PU4nw== X-Received: by 2002:adf:f491:: with SMTP id l17mr13304664wro.149.1583015155807; Sat, 29 Feb 2020 14:25:55 -0800 (PST) Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id a7sm12398509wmb.0.2020.02.29.14.25.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 29 Feb 2020 14:25:55 -0800 (PST) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <877e5dzgnb.fsf@gnus.org> <932cfe15-5e8b-1bf4-5b81-9d0f2a513dea@yandex.ru> <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> Date: Sun, 1 Mar 2020 00:25:53 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <87a751uonw.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 29.02.2020 23:25, Juri Linkov wrote: >> Except... if a directory selected in a VC-Dir buffer contains files in >> "incompatible" states, vc-next-action should complain as well. > > This is fine, vc-next-action called from the VC-Dir buffer > should do the right thing. It will raise an error, forcing the user to correct the selection. Anyway, please go ahead and try it for yourself. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 09 18:58:52 2020 Received: (at 34949) by debbugs.gnu.org; 9 Mar 2020 22:58:52 +0000 Received: from localhost ([127.0.0.1]:51609 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jBRMK-0002r2-2h for submit@debbugs.gnu.org; Mon, 09 Mar 2020 18:58:52 -0400 Received: from bird.elm.relay.mailchannels.net ([23.83.212.17]:60479) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jBRMH-0002qr-DD for 34949@debbugs.gnu.org; Mon, 09 Mar 2020 18:58:50 -0400 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id CF2361A2092; Mon, 9 Mar 2020 22:58:46 +0000 (UTC) Received: from pdx1-sub0-mail-a70.g.dreamhost.com (100-96-206-102.trex.outbound.svc.cluster.local [100.96.206.102]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 1818A1A25E2; Mon, 9 Mar 2020 22:58:45 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a70.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Mon, 09 Mar 2020 22:58:46 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Rock-Interest: 1b9e3a717f2a909c_1583794726369_1677372232 X-MC-Loop-Signature: 1583794726368:1920897537 X-MC-Ingress-Time: 1583794726368 Received: from pdx1-sub0-mail-a70.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a70.g.dreamhost.com (Postfix) with ESMTP id DA8537F0D6; Mon, 9 Mar 2020 15:58:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=LhEGihNxzTgvFVXxmaK5H3tUo44=; b= oT6VGPrYJEUUgqx1MUXoL970SG9c+SG5sfvbC7XAYiJteK7LG3W6KXSQhTQUB/uP AYKruHeSfP7mFgrrpoZcBbnwRgAfM0Vt8O+XWAPcr9QodmQgV/MnvpmLwvqRReZc w1tEDfbNJSepgB2wlzsYYWYzDNHVBjpLkb996k4RNIU= Received: from mail.jurta.org (m91-129-103-27.cust.tele2.ee [91.129.103.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a70.g.dreamhost.com (Postfix) with ESMTPSA id 6E2F17F0C6; Mon, 9 Mar 2020 15:58:38 -0700 (PDT) X-DH-BACKEND: pdx1-sub0-mail-a70 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> Date: Tue, 10 Mar 2020 00:55:41 +0200 In-Reply-To: <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> (Dmitry Gutov's message of "Sun, 1 Mar 2020 00:25:53 +0200") Message-ID: <875zfd9lzm.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrudduledgtdefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesmhdtreertdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdefrddvjeenucevlhhushhtvghrufhiiigvpedunecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtfedrvdejpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepughguhhtohhvseihrghnuggvgidrrhhu X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain > Anyway, please go ahead and try it for yourself. I finished implementing this, and now it works surprisingly well - typing 'C-x v v' on Dired directories puts marks on them in *vc-dir* buffer: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-dir-mark-files.patch diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 96c400c54a..23f83bda3b 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1068,14 +1068,27 @@ vc-deduce-fileset (declare-function dired-get-marked-files "dired" (&optional localp arg filter distinguish-one-marked error)) +(defvar vc-dir-mark-files nil) + (defun vc-dired-deduce-fileset (&optional state-model-only-files observer) (let ((backend (vc-responsible-backend default-directory)) (files (dired-get-marked-files nil nil nil nil t)) only-files-list state model) + (when (and (not observer) (cl-some #'file-directory-p files)) - (error "State changing VC operations on directories not supported in `dired-mode'")) + (let* ((rootdir (vc-call-backend backend 'root default-directory)) + (vc-dir-mark-files + (mapcar (lambda (file) + (file-relative-name + (if (file-directory-p file) + (file-name-as-directory file) + file) + rootdir)) + files))) + (vc-dir rootdir)) + (user-error "State changing VC operations on directories supported only in `vc-dir'")) (when state-model-only-files (setq only-files-list (mapcar (lambda (file) (cons file (vc-state file))) files)) diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 38b4937e85..8b03c7213e 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -1174,7 +1174,8 @@ vc-dir-refresh ;; Bzr has serious locking problems, so setup the headers first (this is ;; synchronous) rather than doing it while dir-status is running. (ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) "") - (let ((buffer (current-buffer))) + (let ((buffer (current-buffer)) + (mark-files vc-dir-mark-files)) (with-current-buffer vc-dir-process-buffer (setq default-directory def-dir) (erase-buffer) @@ -1193,7 +1194,15 @@ vc-dir-refresh (if remaining (vc-dir-refresh-files (mapcar 'vc-dir-fileinfo->name remaining)) - (setq mode-line-process nil)))))))))))) + (setq mode-line-process nil) + (when mark-files + (vc-dir-unmark-all-files t) + (ewoc-map + (lambda (filearg) + (when (member (vc-dir-fileinfo->name filearg) mark-files) + (setf (vc-dir-fileinfo->marked filearg) t) + t)) + vc-ewoc))))))))))))) (defun vc-dir-show-fileentry (file) "Insert an entry for a specific file into the current *VC-dir* listing. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 11 20:08:24 2020 Received: (at 34949) by debbugs.gnu.org; 12 Mar 2020 00:08:24 +0000 Received: from localhost ([127.0.0.1]:55703 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jCBOh-0001j2-SO for submit@debbugs.gnu.org; Wed, 11 Mar 2020 20:08:24 -0400 Received: from mail-wr1-f42.google.com ([209.85.221.42]:41785) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jCBOg-0001il-BZ for 34949@debbugs.gnu.org; Wed, 11 Mar 2020 20:08:22 -0400 Received: by mail-wr1-f42.google.com with SMTP id s14so5098898wrt.8 for <34949@debbugs.gnu.org>; Wed, 11 Mar 2020 17:08:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=wVxBqWFJ7KgPeeTGKCbiEN4TGOLB+ZJAvmr2p/XwgAw=; b=nrs/Yx/0By3tQdQ7K2P5+z/rKldnquD9L7KQyKDdb03iFRy/5iwpf1ftbglpPaFRCN 1HDjSvpg2k7rUzF3Axzo/4iY8L3o74y/KLHc/WGdc8zmor2tEe7F5aA2zO+CVN9xVbJt m658JyHvckKTKgh074hEBQHGtlU2L+AisnTAOWP43F3Oh9y6WkDF1M9LNcGWPj9v4XWi dlebSFXWcPrMZMVpfC+XPsPI6XDEIxLrHn9TaDZyEBxkUbQnmDml/muy75heWcZ9Huwu BqxbmBdBp433llRfDnNJgv34vHZF92ReB7QCFQobA3668qH9e6d0BCqNmdWyWeUlFVgY oWwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=wVxBqWFJ7KgPeeTGKCbiEN4TGOLB+ZJAvmr2p/XwgAw=; b=bPax56eiTKoSNvFRlB/ZUqqZsk26LBZw7Q0f2AXQF1d3qV1tLUhy7yZpB/ZkJMc07Y 4wcCcq/UgEVYW835ufleGRwp2g5b0xd3Mt9dmSmivqWJBszoBXaZ8slwq44hVcGRYJ8o oiVMp+HVdqaOvCaZ3kZwIvyAGvt2j6+7FBgfjq8iEtt0q7BAcp58Iz4q6iz9EvF7tDT6 IR+AZD9zCCm9YXY7Q+bkM1XDj0AqSskP+oMjjRIrW656IVN8MlCuSO3DQoagBi+Tuu7x Px5iXQssq1SADOMIM+PEH5v3Zd4eZhSaPsuUND9TgHadRu4OTAAx5SmcCLnaEQWIN/Gb aFTw== X-Gm-Message-State: ANhLgQ1l8wagfVtXdykvx8asHgYVQC7XG030u/VlbYjOu3WQdhjGNlCy VoZH5DT9w+rSUeEawHPSI5dQ6cBv X-Google-Smtp-Source: ADFU+vs3Cvzw7XnlecEQWmof9+CK12NBPUJLXPvYCwQslVVDwFjZs7bYpu2aQ+K265814azz525hiw== X-Received: by 2002:a05:6000:189:: with SMTP id p9mr6979943wrx.391.1583971696303; Wed, 11 Mar 2020 17:08:16 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id f2sm12583223wrv.48.2020.03.11.17.08.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Mar 2020 17:08:15 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <87a77hqp6m.fsf@mail.linkov.net> <87zhdghjca.fsf@mail.linkov.net> <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: Date: Thu, 12 Mar 2020 02:08:14 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <875zfd9lzm.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Hi Juri, On 10.03.2020 0:55, Juri Linkov wrote: >> Anyway, please go ahead and try it for yourself. > I finished implementing this, and now it works surprisingly well - > typing 'C-x v v' on Dired directories puts marks on them in*vc-dir* buffer: I'm happy it's working well for you. There are some things we could probably improve in the implementation. First of all, I wonder if we could do without the new global var. The purpose of vc-dir-mark-files is not strictly apparent from vc-dir-refresh's code (e.g. where this value comes from). It would be better if the command which calls vc-dir itself finished setting the marks. > vc-dir-mark-files.patch > > diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el > index 96c400c54a..23f83bda3b 100644 > --- a/lisp/vc/vc.el > +++ b/lisp/vc/vc.el > @@ -1068,14 +1068,27 @@ vc-deduce-fileset > (declare-function dired-get-marked-files "dired" > (&optional localp arg filter distinguish-one-marked error)) > > +(defvar vc-dir-mark-files nil) > + > (defun vc-dired-deduce-fileset (&optional state-model-only-files observer) > (let ((backend (vc-responsible-backend default-directory)) > (files (dired-get-marked-files nil nil nil nil t)) > only-files-list > state > model) > + > (when (and (not observer) (cl-some #'file-directory-p files)) > - (error "State changing VC operations on directories not supported in `dired-mode'")) > + (let* ((rootdir (vc-call-backend backend 'root default-directory)) > + (vc-dir-mark-files > + (mapcar (lambda (file) > + (file-relative-name > + (if (file-directory-p file) > + (file-name-as-directory file) > + file) > + rootdir)) > + files))) > + (vc-dir rootdir)) > + (user-error "State changing VC operations on directories supported only in `vc-dir'")) Here's another part that makes me uneasy: vc-dired-deduce-fileset is supposed to be a "pure" function, which computes the said fileset and returns it. And it mostly does that, but now suddenly pops up a VC buffer? I think the (cl-some #'file-directory-p files) check should be done in the caller of this function, and if true, the called would delegate to VC-Dir. Maybe this would necessitate a change in this function's signature (e.g. in order not to call dired-get-marked-files twice). > (when state-model-only-files > (setq only-files-list (mapcar (lambda (file) (cons file (vc-state file))) files)) > diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el > index 38b4937e85..8b03c7213e 100644 > --- a/lisp/vc/vc-dir.el > +++ b/lisp/vc/vc-dir.el > @@ -1174,7 +1174,8 @@ vc-dir-refresh > ;; Bzr has serious locking problems, so setup the headers first (this is > ;; synchronous) rather than doing it while dir-status is running. > (ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) "") > - (let ((buffer (current-buffer))) > + (let ((buffer (current-buffer)) > + (mark-files vc-dir-mark-files)) > (with-current-buffer vc-dir-process-buffer > (setq default-directory def-dir) > (erase-buffer) > @@ -1193,7 +1194,15 @@ vc-dir-refresh > (if remaining > (vc-dir-refresh-files > (mapcar 'vc-dir-fileinfo->name remaining)) > - (setq mode-line-process nil)))))))))))) > + (setq mode-line-process nil) > + (when mark-files > + (vc-dir-unmark-all-files t) > + (ewoc-map > + (lambda (filearg) > + (when (member (vc-dir-fileinfo->name filearg) mark-files) > + (setf (vc-dir-fileinfo->marked filearg) t) > + t)) > + vc-ewoc))))))))))))) As per above, I'd rather see this somewhere in the code related to vc-dired-deduce-fileset rather than here. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 11 21:02:42 2020 Received: (at 34949) by debbugs.gnu.org; 12 Mar 2020 01:02:42 +0000 Received: from localhost ([127.0.0.1]:55727 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jCCFG-0003A8-8Z for submit@debbugs.gnu.org; Wed, 11 Mar 2020 21:02:42 -0400 Received: from brown.elm.relay.mailchannels.net ([23.83.212.23]:23597) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jCCFE-00039y-4E for 34949@debbugs.gnu.org; Wed, 11 Mar 2020 21:02:40 -0400 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 9F5E4401082; Thu, 12 Mar 2020 01:02:38 +0000 (UTC) Received: from pdx1-sub0-mail-a72.g.dreamhost.com (100-96-1-27.trex.outbound.svc.cluster.local [100.96.1.27]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 07CF940113E; Thu, 12 Mar 2020 01:02:38 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a72.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Thu, 12 Mar 2020 01:02:38 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Callous-Battle: 7a60917f22c0dd2a_1583974958322_2221810941 X-MC-Loop-Signature: 1583974958322:1057993675 X-MC-Ingress-Time: 1583974958321 Received: from pdx1-sub0-mail-a72.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a72.g.dreamhost.com (Postfix) with ESMTP id B34E384244; Wed, 11 Mar 2020 18:02:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=qSAVdlDYOc9vCTPQHkEk7G6nx/U=; b= U90+QX8nEEXnkIgEFy8s5bhT/cV7nzHKFxQfzX5igzkwkrIIBkS9OGHuaf1wCX6w MBASn2sZgr2z0EInYrHXFn3KxmWZTaB7SqcxOpQJji444/6TxPc+DFtKhqAMv2e0 IkuA1ZJ7S9SziWusqmsfNvxsh0e7Kkrwbfk9VJM/WdA= Received: from mail.jurta.org (m91-129-107-65.cust.tele2.ee [91.129.107.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a72.g.dreamhost.com (Postfix) with ESMTPSA id 7DB9A84237; Wed, 11 Mar 2020 18:02:30 -0700 (PDT) X-DH-BACKEND: pdx1-sub0-mail-a72 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <5d2163b9-4bf4-e072-ef9e-0fc1550a2108@yandex.ru> <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> Date: Thu, 12 Mar 2020 02:41:25 +0200 In-Reply-To: (Dmitry Gutov's message of "Thu, 12 Mar 2020 02:08:14 +0200") Message-ID: <87mu8mieve.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedruddvgedggeduucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdejrdeiheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtjedrieehpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepughguhhtohhvseihrghnuggvgidrrhhu X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>> Anyway, please go ahead and try it for yourself. >> I finished implementing this, and now it works surprisingly well - >> typing 'C-x v v' on Dired directories puts marks on them in*vc-dir* buffer: > > I'm happy it's working well for you. > > There are some things we could probably improve in the implementation. This patch provides the minimal non-intrusive solution. Trying to change it according to your comments will require redesigning the whole vc-deduce and vc-dir interactions. I don't say it's a bad thing, just will make the patch 10 times longer. > First of all, I wonder if we could do without the new global var. The > purpose of vc-dir-mark-files is not strictly apparent from > vc-dir-refresh's code (e.g. where this value comes from). It would be > better if the command which calls vc-dir itself finished setting the marks. Without a global var means adding more arguments to the whole chain of function calls. > I think the (cl-some #'file-directory-p files) check should be done in the > caller of this function, and if true, the called would delegate to > VC-Dir. Maybe this would necessitate a change in this function's > signature (e.g. in order not to call dired-get-marked-files twice). The caller of vc-deduce-fileset is vc-next-action. Do you think it would be the right separation of concerns to check dired-get-marked-files in vc-next-action instead of vc-dired-deduce-fileset? > As per above, I'd rather see this somewhere in the code related to > vc-dired-deduce-fileset rather than here. Actually this code is not related to vc-dired-deduce-fileset, but rather it's related to vc-next-action. Do you think vc-next-action should call this code when the current buffer is Dired with marked directories? From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 12 18:45:26 2020 Received: (at 34949) by debbugs.gnu.org; 12 Mar 2020 22:45:26 +0000 Received: from localhost ([127.0.0.1]:57923 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jCWZx-0005CI-1v for submit@debbugs.gnu.org; Thu, 12 Mar 2020 18:45:26 -0400 Received: from bird.elm.relay.mailchannels.net ([23.83.212.17]:10536) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jCWZu-0005C7-2d for 34949@debbugs.gnu.org; Thu, 12 Mar 2020 18:45:23 -0400 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 9FD35501C7E; Thu, 12 Mar 2020 22:45:20 +0000 (UTC) Received: from pdx1-sub0-mail-a79.g.dreamhost.com (100-96-38-113.trex.outbound.svc.cluster.local [100.96.38.113]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 04C6150181D; Thu, 12 Mar 2020 22:45:20 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a79.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Thu, 12 Mar 2020 22:45:20 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Power-Reaction: 79a9a1c1103451f1_1584053120261_350448826 X-MC-Loop-Signature: 1584053120261:1454608894 X-MC-Ingress-Time: 1584053120260 Received: from pdx1-sub0-mail-a79.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a79.g.dreamhost.com (Postfix) with ESMTP id ACC7683ED0; Thu, 12 Mar 2020 15:45:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=5zImJhiniWN08UuuB+iLhHHx+eE=; b= xFrodjBuE3Vwhq1wT6kNUuSQ4EXvTVnVMPhMmi2brAnS+n8KtC0yehAbMJRfRTuh XF4CawiH3i6CERawt9lDQOJFQvX0vT9vXC3wQNZyZH+HxqS1KswZ9VRcZVSOLhgX LDZkcc0jMGTdsqhsfE2k9/HpzyjOBddG9rN6ETt4KU4= Received: from mail.jurta.org (m91-129-107-65.cust.tele2.ee [91.129.107.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a79.g.dreamhost.com (Postfix) with ESMTPSA id 95C1083ED6; Thu, 12 Mar 2020 15:45:15 -0700 (PDT) X-DH-BACKEND: pdx1-sub0-mail-a79 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> Date: Fri, 13 Mar 2020 00:43:18 +0200 In-Reply-To: <87mu8mieve.fsf@mail.linkov.net> (Juri Linkov's message of "Thu, 12 Mar 2020 02:41:25 +0200") Message-ID: <87k13pkxdl.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedruddvhedgudeiiecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehmtderredtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtjedrieehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrddutdejrdeihedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegughhuthhovheshigrnhguvgigrdhruh X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain > I don't say it's a bad thing, just will make the patch 10 times longer. Ok, here's the patch that is 10 times longer. It creates a new function vc-use-vc-dir-on-files called from vc-next-action that checks whether the buffer is Dired with marked directories, and for optimization returns a list of files to give to vc-dir via a new arg MARK-FILES. Then vc-dir let-binds the global variable use-mark-files exactly the same way as already let-binds use-vc-backend since there is no other way. Then vc-dir-refresh puts all marks on files. Also the patch adds a new useful global keybinding 'C-x v V' bound to vc-next-action-on-root to open *vc-dir* buffer where all registered files are marked. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-use-vc-dir-on-files.patch diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 38b4937e85..a2bf7c2a5a 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -1024,6 +1024,7 @@ vc-dir-resynch-file (dolist (b drop) (setq vc-dir-buffers (delq b vc-dir-buffers))))) (defvar use-vc-backend) ;; dynamically bound +(defvar use-mark-files) ;; dynamically bound (define-derived-mode vc-dir-mode special-mode "VC dir" "Major mode for VC directory buffers. @@ -1079,7 +1080,7 @@ vc-dir-mode ;; process running in the background is also killed. (add-hook 'kill-buffer-query-functions 'vc-dir-kill-query nil t) (hack-dir-local-variables-non-file-buffer) - (vc-dir-refresh))) + (vc-dir-refresh use-mark-files))) (defun vc-dir-headers (backend dir) "Display the headers in the *VC dir* buffer. @@ -1143,7 +1144,7 @@ vc-dir-refresh-files (defun vc-dir-revert-buffer-function (&optional _ignore-auto _noconfirm) (vc-dir-refresh)) -(defun vc-dir-refresh () +(defun vc-dir-refresh (&optional mark-files) "Refresh the contents of the *VC-dir* buffer. Throw an error if another update process is in progress." (interactive) @@ -1193,7 +1194,28 @@ vc-dir-refresh (if remaining (vc-dir-refresh-files (mapcar 'vc-dir-fileinfo->name remaining)) - (setq mode-line-process nil)))))))))))) + (setq mode-line-process nil) + (when mark-files + (let* ((backend (vc-responsible-backend default-directory)) + (rootdir (vc-call-backend backend 'root default-directory))) + (when (listp mark-files) + (setq mark-files (mapcar (lambda (file) + (file-relative-name + (if (file-directory-p file) + (file-name-as-directory file) + file) + rootdir)) + mark-files))) + (vc-dir-unmark-all-files t) + (ewoc-map + (lambda (filearg) + (when (cond ((consp mark-files) + (member (vc-dir-fileinfo->name filearg) mark-files)) + ((eq mark-files 'registered) + (memq (vc-dir-fileinfo->state filearg) '(edited added removed)))) + (setf (vc-dir-fileinfo->marked filearg) t) + t)) + vc-ewoc)))))))))))))) (defun vc-dir-show-fileentry (file) "Insert an entry for a specific file into the current *VC-dir* listing. @@ -1287,7 +1309,7 @@ vc-dir-deduce-fileset (list vc-dir-backend files only-files-list state model))) ;;;###autoload -(defun vc-dir (dir &optional backend) +(defun vc-dir (dir &optional backend mark-files) "Show the VC status for \"interesting\" files in and below DIR. This allows you to mark files and perform VC operations on them. The list omits files which are up to date, with no changes in your copy @@ -1326,9 +1348,10 @@ vc-dir (let (pop-up-windows) ; based on cvs-examine; bug#6204 (pop-to-buffer (vc-dir-prepare-status-buffer "*vc-dir*" dir backend))) (if (derived-mode-p 'vc-dir-mode) - (vc-dir-refresh) + (vc-dir-refresh mark-files) ;; FIXME: find a better way to pass the backend to `vc-dir-mode'. - (let ((use-vc-backend backend)) + (let ((use-vc-backend backend) + (use-mark-files mark-files)) (vc-dir-mode)))) (defun vc-default-dir-extra-headers (_backend _dir) diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el index 345a28d3f1..80c580e5ec 100644 --- a/lisp/vc/vc-hooks.el +++ b/lisp/vc/vc-hooks.el @@ -897,6 +897,7 @@ vc-prefix-map (define-key map "s" 'vc-create-tag) (define-key map "u" 'vc-revert) (define-key map "v" 'vc-next-action) + (define-key map "V" 'vc-next-action-on-root) (define-key map "+" 'vc-update) ;; I'd prefer some kind of symmetry with vc-update: (define-key map "P" 'vc-push) diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 607fb37807..3b20a917f5 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1132,8 +1132,18 @@ vc-read-backend (completing-read prompt (mapcar #'symbol-name vc-handled-backends) nil 'require-match))) +(defun vc-next-action-on-root () + (interactive) + (vc-dir (vc-root-dir) nil 'registered)) + ;; Here's the major entry point. +(defun vc-use-vc-dir-on-files () + (when (derived-mode-p 'dired-mode) + (let ((files (dired-get-marked-files nil nil nil nil t))) + (when (cl-some #'file-directory-p files) + files)))) + ;;;###autoload (defun vc-next-action (verbose) "Do the next logical version control operation on the current fileset. @@ -1158,184 +1168,187 @@ vc-next-action If every file is locked by you and unchanged, unlock them. If every file is locked by someone else, offer to steal the lock." (interactive "P") - (let* ((vc-fileset (vc-deduce-fileset nil t 'state-model-only-files)) - (backend (car vc-fileset)) - (files (nth 1 vc-fileset)) - ;; (fileset-only-files (nth 2 vc-fileset)) - ;; FIXME: We used to call `vc-recompute-state' here. - (state (nth 3 vc-fileset)) - ;; The backend should check that the checkout-model is consistent - ;; among all the `files'. - (model (nth 4 vc-fileset))) + (let ((mark-files (vc-use-vc-dir-on-files))) + (if mark-files + (vc-dir (vc-root-dir) nil mark-files) + (let* ((vc-fileset (vc-deduce-fileset nil t 'state-model-only-files)) + (backend (car vc-fileset)) + (files (nth 1 vc-fileset)) + ;; (fileset-only-files (nth 2 vc-fileset)) + ;; FIXME: We used to call `vc-recompute-state' here. + (state (nth 3 vc-fileset)) + ;; The backend should check that the checkout-model is consistent + ;; among all the `files'. + (model (nth 4 vc-fileset))) - ;; If a buffer has unsaved changes, a checkout would discard those - ;; changes, so treat the buffer as having unlocked changes. - (when (and (not (eq model 'implicit)) (eq state 'up-to-date)) - (dolist (file files) - (let ((buffer (get-file-buffer file))) - (and buffer - (buffer-modified-p buffer) - (setq state 'unlocked-changes))))) - - ;; Do the right thing. - (cond - ((eq state 'missing) - (error "Fileset files are missing, so cannot be operated on")) - ((eq state 'ignored) - (error "Fileset files are ignored by the version-control system")) - ((or (null state) (eq state 'unregistered)) - (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 - (verbose - ;; Go to a different revision. - (let* ((revision - ;; FIXME: Provide completion. - (read-string "Branch, revision, or backend to move to: ")) - (revision-downcase (downcase revision))) - (if (member - revision-downcase - (mapcar (lambda (arg) (downcase (symbol-name arg))) - vc-handled-backends)) - (let ((vsym (intern-soft revision-downcase))) - (dolist (file files) (vc-transfer-file file vsym))) - (dolist (file files) - (vc-checkout file revision))))) - ((not (eq model 'implicit)) - ;; check the files out - (dolist (file files) (vc-checkout file))) - (t - ;; do nothing - (message "Fileset is up-to-date")))) - ;; Files have local changes - ((vc-compatible-state state 'edited) - (let ((ready-for-commit files)) - ;; CVS, SVN and bzr don't care about read-only (bug#9781). - ;; RCS does, SCCS might (someone should check...). - (when (memq backend '(RCS SCCS)) - ;; If files are edited but read-only, give user a chance to correct. - (dolist (file files) - ;; If committing a mix of removed and edited files, the - ;; fileset has state = 'edited. Rather than checking the - ;; state of each individual file in the fileset, it seems - ;; simplest to just check if the file exists. Bug#9781. - (when (and (file-exists-p file) (not (file-writable-p file))) - ;; Make the file-buffer read-write. - (unless (y-or-n-p (format "%s is edited but read-only; make it writable and continue? " file)) - (error "Aborted")) - ;; Maybe we somehow lost permissions on the directory. - (condition-case nil - (set-file-modes file (logior (file-modes file) 128)) - (error (error "Unable to make file writable"))) - (let ((visited (get-file-buffer file))) - (when visited - (with-current-buffer visited - (read-only-mode -1))))))) - ;; Allow user to revert files with no changes - (save-excursion + ;; If a buffer has unsaved changes, a checkout would discard those + ;; changes, so treat the buffer as having unlocked changes. + (when (and (not (eq model 'implicit)) (eq state 'up-to-date)) (dolist (file files) - (let ((visited (get-file-buffer file))) - ;; For files with locking, if the file does not contain - ;; any changes, just let go of the lock, i.e. revert. - (when (and (not (eq model 'implicit)) - (eq state 'up-to-date) - ;; If buffer is modified, that means the user just - ;; said no to saving it; in that case, don't revert, - ;; because the user might intend to save after - ;; finishing the log entry and committing. - (not (and visited (buffer-modified-p)))) - (vc-revert-file file) - (setq ready-for-commit (delete file ready-for-commit)))))) - ;; Remaining files need to be committed - (if (not ready-for-commit) - (message "No files remain to be committed") - (if (not verbose) - (vc-checkin ready-for-commit backend) - (let* ((revision (read-string "New revision or backend: ")) + (let ((buffer (get-file-buffer file))) + (and buffer + (buffer-modified-p buffer) + (setq state 'unlocked-changes))))) + + ;; Do the right thing. + (cond + ((eq state 'missing) + (error "Fileset files are missing, so cannot be operated on")) + ((eq state 'ignored) + (error "Fileset files are ignored by the version-control system")) + ((or (null state) (eq state 'unregistered)) + (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 + (verbose + ;; Go to a different revision. + (let* ((revision + ;; FIXME: Provide completion. + (read-string "Branch, revision, or backend to move to: ")) (revision-downcase (downcase revision))) - (if (member - revision-downcase - (mapcar (lambda (arg) (downcase (symbol-name arg))) - vc-handled-backends)) - (let ((vsym (intern revision-downcase))) - (dolist (file files) (vc-transfer-file file vsym))) - (vc-checkin ready-for-commit backend nil nil revision))))))) - ;; locked by somebody else (locking VCSes only) - ((stringp state) - ;; In the old days, we computed the revision once and used it on - ;; the single file. Then, for the 2007-2008 fileset rewrite, we - ;; computed the revision once (incorrectly, using a free var) and - ;; used it on all files. To fix the free var bug, we can either - ;; use `(car files)' or do what we do here: distribute the - ;; revision computation among `files'. Although this may be - ;; tedious for those backends where a "revision" is a trans-file - ;; concept, it is nonetheless correct for both those and (more - ;; importantly) for those where "revision" is a per-file concept. - ;; If the intersection of the former group and "locking VCSes" is - ;; non-empty [I vaguely doubt it --ttn], we can reinstate the - ;; pre-computation approach of yore. - (dolist (file files) - (vc-steal-lock - file (if verbose - (read-string (format "%s revision to steal: " file)) - (vc-working-revision file)) - state))) - ;; conflict - ((eq state 'conflict) - ;; FIXME: Is it really the UI we want to provide? - ;; In my experience, the conflicted files should be marked as resolved - ;; one-by-one when saving the file after resolving the conflicts. - ;; I.e. stating explicitly that the conflicts are resolved is done - ;; very rarely. - (vc-mark-resolved backend files)) - ;; needs-update - ((eq state 'needs-update) - (dolist (file files) - (if (yes-or-no-p (format - "%s is not up-to-date. Get latest revision? " - (file-name-nondirectory file))) - (vc-checkout file t) - (when (and (not (eq model 'implicit)) - (yes-or-no-p "Lock this revision? ")) - (vc-checkout file))))) - ;; needs-merge - ((eq state 'needs-merge) - (dolist (file files) - (when (yes-or-no-p (format - "%s is not up-to-date. Merge in changes now? " - (file-name-nondirectory file))) - (vc-maybe-resolve-conflicts - file (vc-call-backend backend 'merge-news file))))) + (if (member + revision-downcase + (mapcar (lambda (arg) (downcase (symbol-name arg))) + vc-handled-backends)) + (let ((vsym (intern-soft revision-downcase))) + (dolist (file files) (vc-transfer-file file vsym))) + (dolist (file files) + (vc-checkout file revision))))) + ((not (eq model 'implicit)) + ;; check the files out + (dolist (file files) (vc-checkout file))) + (t + ;; do nothing + (message "Fileset is up-to-date")))) + ;; Files have local changes + ((vc-compatible-state state 'edited) + (let ((ready-for-commit files)) + ;; CVS, SVN and bzr don't care about read-only (bug#9781). + ;; RCS does, SCCS might (someone should check...). + (when (memq backend '(RCS SCCS)) + ;; If files are edited but read-only, give user a chance to correct. + (dolist (file files) + ;; If committing a mix of removed and edited files, the + ;; fileset has state = 'edited. Rather than checking the + ;; state of each individual file in the fileset, it seems + ;; simplest to just check if the file exists. Bug#9781. + (when (and (file-exists-p file) (not (file-writable-p file))) + ;; Make the file-buffer read-write. + (unless (y-or-n-p (format "%s is edited but read-only; make it writable and continue? " file)) + (error "Aborted")) + ;; Maybe we somehow lost permissions on the directory. + (condition-case nil + (set-file-modes file (logior (file-modes file) 128)) + (error (error "Unable to make file writable"))) + (let ((visited (get-file-buffer file))) + (when visited + (with-current-buffer visited + (read-only-mode -1))))))) + ;; Allow user to revert files with no changes + (save-excursion + (dolist (file files) + (let ((visited (get-file-buffer file))) + ;; For files with locking, if the file does not contain + ;; any changes, just let go of the lock, i.e. revert. + (when (and (not (eq model 'implicit)) + (eq state 'up-to-date) + ;; If buffer is modified, that means the user just + ;; said no to saving it; in that case, don't revert, + ;; because the user might intend to save after + ;; finishing the log entry and committing. + (not (and visited (buffer-modified-p)))) + (vc-revert-file file) + (setq ready-for-commit (delete file ready-for-commit)))))) + ;; Remaining files need to be committed + (if (not ready-for-commit) + (message "No files remain to be committed") + (if (not verbose) + (vc-checkin ready-for-commit backend) + (let* ((revision (read-string "New revision or backend: ")) + (revision-downcase (downcase revision))) + (if (member + revision-downcase + (mapcar (lambda (arg) (downcase (symbol-name arg))) + vc-handled-backends)) + (let ((vsym (intern revision-downcase))) + (dolist (file files) (vc-transfer-file file vsym))) + (vc-checkin ready-for-commit backend nil nil revision))))))) + ;; locked by somebody else (locking VCSes only) + ((stringp state) + ;; In the old days, we computed the revision once and used it on + ;; the single file. Then, for the 2007-2008 fileset rewrite, we + ;; computed the revision once (incorrectly, using a free var) and + ;; used it on all files. To fix the free var bug, we can either + ;; use `(car files)' or do what we do here: distribute the + ;; revision computation among `files'. Although this may be + ;; tedious for those backends where a "revision" is a trans-file + ;; concept, it is nonetheless correct for both those and (more + ;; importantly) for those where "revision" is a per-file concept. + ;; If the intersection of the former group and "locking VCSes" is + ;; non-empty [I vaguely doubt it --ttn], we can reinstate the + ;; pre-computation approach of yore. + (dolist (file files) + (vc-steal-lock + file (if verbose + (read-string (format "%s revision to steal: " file)) + (vc-working-revision file)) + state))) + ;; conflict + ((eq state 'conflict) + ;; FIXME: Is it really the UI we want to provide? + ;; In my experience, the conflicted files should be marked as resolved + ;; one-by-one when saving the file after resolving the conflicts. + ;; I.e. stating explicitly that the conflicts are resolved is done + ;; very rarely. + (vc-mark-resolved backend files)) + ;; needs-update + ((eq state 'needs-update) + (dolist (file files) + (if (yes-or-no-p (format + "%s is not up-to-date. Get latest revision? " + (file-name-nondirectory file))) + (vc-checkout file t) + (when (and (not (eq model 'implicit)) + (yes-or-no-p "Lock this revision? ")) + (vc-checkout file))))) + ;; needs-merge + ((eq state 'needs-merge) + (dolist (file files) + (when (yes-or-no-p (format + "%s is not up-to-date. Merge in changes now? " + (file-name-nondirectory file))) + (vc-maybe-resolve-conflicts + file (vc-call-backend backend 'merge-news file))))) - ;; unlocked-changes - ((eq state 'unlocked-changes) - (dolist (file files) - (when (not (equal buffer-file-name file)) - (find-file-other-window file)) - (if (save-window-excursion - (vc-diff-internal nil - (cons (car vc-fileset) (cons (cadr vc-fileset) (list file))) - (vc-working-revision file) nil) - (goto-char (point-min)) - (let ((inhibit-read-only t)) - (insert - (format "Changes to %s since last lock:\n\n" file))) - (not (beep)) - (yes-or-no-p (concat "File has unlocked changes. " - "Claim lock retaining changes? "))) - (progn (vc-call-backend backend 'steal-lock file) - (clear-visited-file-modtime) - (write-file buffer-file-name) - (vc-mode-line file backend)) - (if (not (yes-or-no-p - "Revert to checked-in revision, instead? ")) - (error "Checkout aborted") - (vc-revert-buffer-internal t t) - (vc-checkout file))))) - ;; Unknown fileset state - (t - (error "Fileset is in an unknown state %s" state))))) + ;; unlocked-changes + ((eq state 'unlocked-changes) + (dolist (file files) + (when (not (equal buffer-file-name file)) + (find-file-other-window file)) + (if (save-window-excursion + (vc-diff-internal nil + (cons (car vc-fileset) (cons (cadr vc-fileset) (list file))) + (vc-working-revision file) nil) + (goto-char (point-min)) + (let ((inhibit-read-only t)) + (insert + (format "Changes to %s since last lock:\n\n" file))) + (not (beep)) + (yes-or-no-p (concat "File has unlocked changes. " + "Claim lock retaining changes? "))) + (progn (vc-call-backend backend 'steal-lock file) + (clear-visited-file-modtime) + (write-file buffer-file-name) + (vc-mode-line file backend)) + (if (not (yes-or-no-p + "Revert to checked-in revision, instead? ")) + (error "Checkout aborted") + (vc-revert-buffer-internal t t) + (vc-checkout file))))) + ;; Unknown fileset state + (t + (error "Fileset is in an unknown state %s" state))))))) (defun vc-create-repo (backend) "Create an empty repository in the current directory." --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 13 08:11:42 2020 Received: (at 34949) by debbugs.gnu.org; 13 Mar 2020 12:11:42 +0000 Received: from localhost ([127.0.0.1]:58228 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jCjAD-0000xf-Ux for submit@debbugs.gnu.org; Fri, 13 Mar 2020 08:11:42 -0400 Received: from mail-wr1-f45.google.com ([209.85.221.45]:45697) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jCjAA-0000xD-Tt for 34949@debbugs.gnu.org; Fri, 13 Mar 2020 08:11:39 -0400 Received: by mail-wr1-f45.google.com with SMTP id t2so1730729wrx.12 for <34949@debbugs.gnu.org>; Fri, 13 Mar 2020 05:11:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=aCXVXjBLRr2t0eUCOw/VxNAWOpzNEukf3AvKAjiMrDA=; b=TxSiP/JhEizJS8gGHiAaj71pO6yO8qApqk48YXlilNoQaiwdFFXiHQJ/YUQJpumb+9 CWtqlmNH8AXgns4yyQl4rPgCy4gt/joHqtM4sRrQRgWHPZuR2fc+GbG2NRT4A07Uu9i9 gvxqR0Z4VnwKy1C17jdSbl+MM9ws4lRRKx+9OcXnOcavd8e9M3PsAr7n9JKJu6LCCWr3 CsS7qSvuZWAoYSYUe0OBapVaiHzdv1KmrzIVSjfwcLm5ow3tRcN6mewGn+Iy0v6sCJeT nqBg/B7GEjWKHhpj0Dvf2PmJ1K/HQqrvHVOODx8ygrPmk2+uLz5VFe2J/el5YfDb1TpP mS5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=aCXVXjBLRr2t0eUCOw/VxNAWOpzNEukf3AvKAjiMrDA=; b=q5R76CaoANez41T7xD4Nlfm952wPnNCFAmGm6l7ugsN7F+71q+7fH2826fVHnRCnKA ggVDVoTvrWRl3wl1UWBOPHZu+orrOnwxzs180CGZhqgRTt/F/84Onmz0QGDaDJz7bmrH EMBzdGPLn1uJIqnWBGgcT89uhlIJWlxY+M8P+XzL5VV8pAVAc7mEvVzOLxbDZiX+S8UO xaCm0VfTN3n0xXzTEsyCzjLxcdT7ssrkAs7OhMvFy2RLinOUgT8h3k64qDB0/azUrKSj yhYGRJO/4dryOEc8RBf5uogoIML5Fry91x4FS5CLB+cCkLn7YWvwvBExbg7Ra5tKG3Oo 0iug== X-Gm-Message-State: ANhLgQ0fkSMqaqYJ1Yy0d+DNb1kmp45uiNc6yEDzt1iAw17vQUXbdUoL 97MqQPFsMdL2ummlPdNFahnRYro0 X-Google-Smtp-Source: ADFU+vvxqf+nxvg237UAy5BPupOA64WHYAcZVRaTXICtiixRieRwoY0Uln/d20GABtYOQglNpe+D6w== X-Received: by 2002:adf:a4d2:: with SMTP id h18mr17944765wrb.90.1584101492822; Fri, 13 Mar 2020 05:11:32 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id w10sm2768978wrr.49.2020.03.13.05.11.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 Mar 2020 05:11:31 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <87imk35uy6.fsf@mail.linkov.net> <87v9o0kg1f.fsf@mail.linkov.net> <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> Date: Fri, 13 Mar 2020 14:11:30 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <87k13pkxdl.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 13.03.2020 0:43, Juri Linkov wrote: >> I don't say it's a bad thing, just will make the patch 10 times longer. > > Ok, here's the patch that is 10 times longer. > > It creates a new function vc-use-vc-dir-on-files > called from vc-next-action that checks whether > the buffer is Dired with marked directories, Can we create a separate command for Dired buffers instead? Called dired-vc-next-action. From you earlier description, I imagined that it would simply invoke a VC-Dir in all cases, but if you need to check whether there are any directories selected, it would call vc-dir only in that case, and delegate to vc-next-action otherwise. That would be a more additive change. > and for optimization returns a list of files > to give to vc-dir via a new arg MARK-FILES. > Then vc-dir let-binds the global variable use-mark-files > exactly the same way as already let-binds use-vc-backend > since there is no other way. I'd rather look for another way still, without a global var (of this kind), or passing an argument. > Then vc-dir-refresh puts all marks on files. Could dired-vc-next-action use vc-delayed, to then run marking code after the vc-dir buffer refreshes? Or if it's not working, or not reliable enough, we can add a vc-dir--after-refresh-hook. Which dired-vc-next-action would add to, and vc-dir-refresh would run (the function will remove itself from the hook upon completion). > Also the patch adds a new useful global keybinding 'C-x v V' > bound to vc-next-action-on-root to open *vc-dir* buffer where > all registered files are marked. Sounds more like vc-dir-root-with-registered-files-selected. I wouldn't call it "next action" because it only provides one action. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 14 20:04:56 2020 Received: (at 34949) by debbugs.gnu.org; 15 Mar 2020 00:04:56 +0000 Received: from localhost ([127.0.0.1]:34084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jDGm0-0002KA-3P for submit@debbugs.gnu.org; Sat, 14 Mar 2020 20:04:56 -0400 Received: from bonobo.birch.relay.mailchannels.net ([23.83.209.22]:9588) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jDGly-0002K2-BW for 34949@debbugs.gnu.org; Sat, 14 Mar 2020 20:04:54 -0400 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 34223501EC4; Sun, 15 Mar 2020 00:04:53 +0000 (UTC) Received: from pdx1-sub0-mail-a76.g.dreamhost.com (100-96-215-21.trex.outbound.svc.cluster.local [100.96.215.21]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 7A6F2501E0D; Sun, 15 Mar 2020 00:04:52 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a76.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Sun, 15 Mar 2020 00:04:52 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Madly-Dime: 069931c51f4b4f8e_1584230692756_182376148 X-MC-Loop-Signature: 1584230692756:3568654836 X-MC-Ingress-Time: 1584230692756 Received: from pdx1-sub0-mail-a76.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a76.g.dreamhost.com (Postfix) with ESMTP id 29332B05B2; Sat, 14 Mar 2020 17:04:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=R+BZDVepYYE8gOqnMk+Zhe3bwcU=; b= QciqNKLKjYerF3msY3u8N1rnEbQgGBJA7/D/KXcLrv9yHd4EUiWiMI9zKsitAPJ6 NcpPPBVb6ymlWrSz8azYoI6EHB8x7EjYdNlEgxIj+6uWRdG7D8jOnAEB4BETVjot ED/u2/vwssgnnknChSZQCT5yprYQOyYIlDzyJC285kA= Received: from mail.jurta.org (m91-129-107-65.cust.tele2.ee [91.129.107.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a76.g.dreamhost.com (Postfix) with ESMTPSA id BBD8DB05B1; Sat, 14 Mar 2020 17:04:44 -0700 (PDT) X-DH-BACKEND: pdx1-sub0-mail-a76 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> Date: Sun, 15 Mar 2020 01:31:31 +0200 In-Reply-To: <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> (Dmitry Gutov's message of "Fri, 13 Mar 2020 14:11:30 +0200") Message-ID: <875zf6cy3w.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrudeftddguddvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdejrdeiheenucevlhhushhtvghrufhiiigvpedunecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtjedrieehpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepughguhhtohhvseihrghnuggvgidrrhhu X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> Ok, here's the patch that is 10 times longer. >> It creates a new function vc-use-vc-dir-on-files >> called from vc-next-action that checks whether >> the buffer is Dired with marked directories, > > Can we create a separate command for Dired buffers instead? Good idea. > Called dired-vc-next-action. From you earlier description, I imagined that > it would simply invoke a VC-Dir in all cases, but if you need to check > whether there are any directories selected, it would call vc-dir only in > that case, and delegate to vc-next-action otherwise. > > That would be a more additive change. And the patch will be shorter. >> and for optimization returns a list of files >> to give to vc-dir via a new arg MARK-FILES. > >> Then vc-dir let-binds the global variable use-mark-files >> exactly the same way as already let-binds use-vc-backend >> since there is no other way. > > I'd rather look for another way still, without a global var (of this kind), > or passing an argument. No way to pass an argument, and the existence of the global variable use-vc-backend proves this fact. >> Then vc-dir-refresh puts all marks on files. > > Could dired-vc-next-action use vc-delayed, to then run marking code after > the vc-dir buffer refreshes? Maybe it's not working since vc-dir-refresh already doesn't use vc-run-delayed to run vc-dir-refresh-files and vc-dir-update. > Or if it's not working, or not reliable enough, we can add > a vc-dir--after-refresh-hook. Which dired-vc-next-action would add to, and > vc-dir-refresh would run (the function will remove itself from the hook > upon completion). Isn't vc-dir--after-refresh-hook a global variable too? >> Also the patch adds a new useful global keybinding 'C-x v V' >> bound to vc-next-action-on-root to open *vc-dir* buffer where >> all registered files are marked. > > Sounds more like vc-dir-root-with-registered-files-selected. I wouldn't > call it "next action" because it only provides one action. Maybe then a shorter name vc-root-dir-action? From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 15 17:54:14 2020 Received: (at 34949) by debbugs.gnu.org; 15 Mar 2020 21:54:14 +0000 Received: from localhost ([127.0.0.1]:35756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jDbD3-0001R4-ON for submit@debbugs.gnu.org; Sun, 15 Mar 2020 17:54:13 -0400 Received: from mail-wm1-f54.google.com ([209.85.128.54]:51183) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jDbD1-0001Qs-V9 for 34949@debbugs.gnu.org; Sun, 15 Mar 2020 17:54:12 -0400 Received: by mail-wm1-f54.google.com with SMTP id a5so15599878wmb.0 for <34949@debbugs.gnu.org>; Sun, 15 Mar 2020 14:54:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=0v0p84WYSBLR2PwVW0hBv4eD5EnhR/3iEB53KdVrGu0=; b=ItGMWAzgSxv+5AtNTPAL6T3Yz3OgxIDzrvWyK5J1WFejNwskb/+2Enb8vJqezFqN4v tM/QLD4tacFCbiNAL+xyu/16Z7cJreld4ztDG8NDQHbJqveNAC1FUWmnnagqn3leZPk7 yOZUb9gXVbOQzxD4mfH8lblz9lNccyMMbEHIbqIdRLBjqxUg6Aecdkg1MNsMp9UYQ6yj 4DM8DnDUstmShnMbJHMVz3dqUGayikgUcVAkMyWHInt6YRpNmH2FFZMeW9iJXOe24xSV 2BrisBgvF+c6gbrgGyCwNubbHCAiyK3QVmwM3OdGfHVN2LjAjJQyktefGctLqBcHKSk0 x9dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=0v0p84WYSBLR2PwVW0hBv4eD5EnhR/3iEB53KdVrGu0=; b=dZ5ly8m1G/K2ldvbZd0UPiGIedrHI0S0uulBEzCOYSPhXL9djWdxTa3AGVsXtptnG8 kOok+Ya/2FrLs0Qp4tKCp6Urk1tI8ww6/UZETgotLjDXu9vgqY4Js+19lmov/uB/waly UBQfF9P4D5qosZam9BeDFQInM6id8tvTa+JJVQ4XRwBhf6cbZPGvuzOH7tj59/LAjxYm 74LYgZgvRyAvDt0Tr92GXfyEXuKGEWqYJtlt3H7bqS3J7FB4JdLLvHJ3grAoQGxXMChw MKdtanu0HTYS4y9BUZV5RO/NU+i4RhETUoSJR3r3x/gkzDiqilLiEaY7w6iuOhrreCxW B5Hg== X-Gm-Message-State: ANhLgQ2pzHGnAAmUOC5Z7qKyi5TU+919GNz+oHeDxrjdHMKlhrhQxoVp vkZEOvcOpo/rsqllXCQF8dFmDj2T X-Google-Smtp-Source: ADFU+vvCQDMSb3/W9lj/os1ht/bij9mC7iZy3j8JXvclYnlQndJKipWNQnNpITms4ZQPz0xsbW8/DA== X-Received: by 2002:a1c:b7d7:: with SMTP id h206mr19306953wmf.143.1584309246001; Sun, 15 Mar 2020 14:54:06 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id a186sm27592576wmh.33.2020.03.15.14.54.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 15 Mar 2020 14:54:05 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <32b1f22f-1ac9-7fd2-0377-4c2d7ae43afd@yandex.ru> <87sgj2np8k.fsf@mail.linkov.net> <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> Date: Sun, 15 Mar 2020 23:54:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <875zf6cy3w.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 15.03.2020 1:31, Juri Linkov wrote: >> Called dired-vc-next-action. From you earlier description, I imagined that >> it would simply invoke a VC-Dir in all cases, but if you need to check >> whether there are any directories selected, it would call vc-dir only in >> that case, and delegate to vc-next-action otherwise. >> >> That would be a more additive change. > > And the patch will be shorter. As a consequence, yes. >>> Then vc-dir-refresh puts all marks on files. >> >> Could dired-vc-next-action use vc-delayed, to then run marking code after >> the vc-dir buffer refreshes? > > Maybe it's not working since vc-dir-refresh already doesn't use > vc-run-delayed to run vc-dir-refresh-files and vc-dir-update. I don't know if that's the way to determine this. Doing both calls in the callback is a good approach which is easy for vc-dir-refresh to take. dired-vc-next-action couldn't do that, so vc-run-delayed could be the next best option. Or not, of course. >> Or if it's not working, or not reliable enough, we can add >> a vc-dir--after-refresh-hook. Which dired-vc-next-action would add to, and >> vc-dir-refresh would run (the function will remove itself from the hook >> upon completion). > > Isn't vc-dir--after-refresh-hook a global variable too? Yes, but it's a hook (and let's call it without double-dashes, it was just a typo on my part, sorry). I guess the main thing I didn't like is that vc-dir-refresh took the value of some global variable and started doing things with it, for no hugely apparent reason. The hook will allow us to move almost all of the new code to the place where its purpose is more obvious. And that's a good thing. >>> Also the patch adds a new useful global keybinding 'C-x v V' >>> bound to vc-next-action-on-root to open *vc-dir* buffer where >>> all registered files are marked. >> >> Sounds more like vc-dir-root-with-registered-files-selected. I wouldn't >> call it "next action" because it only provides one action. > > Maybe then a shorter name vc-root-dir-action? The word "action" there seems to hold no particular meaning. vc-root-dir-with-dwim-selection, maybe? From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 15 20:33:16 2020 Received: (at 34949) by debbugs.gnu.org; 16 Mar 2020 00:33:16 +0000 Received: from localhost ([127.0.0.1]:35840 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jDdgy-0005a6-Ff for submit@debbugs.gnu.org; Sun, 15 Mar 2020 20:33:16 -0400 Received: from brown.elm.relay.mailchannels.net ([23.83.212.23]:27731) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jDdgx-0005Zy-0a for 34949@debbugs.gnu.org; Sun, 15 Mar 2020 20:33:15 -0400 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 0570E360EDB; Mon, 16 Mar 2020 00:33:14 +0000 (UTC) Received: from pdx1-sub0-mail-a100.g.dreamhost.com (100-96-1-27.trex.outbound.svc.cluster.local [100.96.1.27]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 880C2360B39; Mon, 16 Mar 2020 00:33:13 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a100.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Mon, 16 Mar 2020 00:33:13 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Blushing-Vacuous: 7e72afcf21020bd6_1584318793843_2543055449 X-MC-Loop-Signature: 1584318793843:2048161536 X-MC-Ingress-Time: 1584318793843 Received: from pdx1-sub0-mail-a100.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a100.g.dreamhost.com (Postfix) with ESMTP id 06A7AB2179; Sun, 15 Mar 2020 17:33:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=kJMHY/U6kDky+vtpDejFBnMhCMc=; b= XDtieWG/iS+by9mnNHtXSB7GtJFe9gAX/3OmZFein7WbGZTSijVDclId70gDhzaE DwxgxkaB809bvKYCjido0SJeAZk3UHWXvfu/jwzTwI/eXrAZbTelFHZhbmDXLfOs OkerRS4OGyucISgSbILygIv/uYKCzBtoKo6RgDdoSEM= Received: from mail.jurta.org (m91-129-107-65.cust.tele2.ee [91.129.107.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a100.g.dreamhost.com (Postfix) with ESMTPSA id 4F17FB2173; Sun, 15 Mar 2020 17:33:04 -0700 (PDT) X-DH-BACKEND: pdx1-sub0-mail-a100 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> Date: Mon, 16 Mar 2020 01:58:08 +0200 In-Reply-To: <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> (Dmitry Gutov's message of "Sun, 15 Mar 2020 23:54:03 +0200") Message-ID: <87lfo1dvcf.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedugedrudefuddgleduucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdejrdeiheenucevlhhushhtvghrufhiiigvpedvnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtjedrieehpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepughguhhtohhvseihrghnuggvgidrrhhu X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > The hook will allow us to move almost all of the new code to the place > where its purpose is more obvious. And that's a good thing. I think better to leave marking in vc-dir.el because it's the file that deals with details of marking vc-dir files (using ewoc, etc.) Requiring ewoc in vc.el would be inappropriate (supposing that the hook will reside in vc.el) >> Maybe then a shorter name vc-root-dir-action? > > The word "action" there seems to hold no particular meaning. > > vc-root-dir-with-dwim-selection, maybe? Shorter names: vc-dir-root-registered or just vc-dir-registered Also there is a command 'vc-register' (C-x v i). Its counterpart could be named 'vc-dir-register' and will open a vc-dir buffer where only unregistered files will be marked. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 16 16:17:48 2020 Received: (at 34949) by debbugs.gnu.org; 16 Mar 2020 20:17:48 +0000 Received: from localhost ([127.0.0.1]:37914 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jDwBI-0002mw-8x for submit@debbugs.gnu.org; Mon, 16 Mar 2020 16:17:48 -0400 Received: from mail-wm1-f52.google.com ([209.85.128.52]:50203) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jDwBG-0002mk-L7 for 34949@debbugs.gnu.org; Mon, 16 Mar 2020 16:17:47 -0400 Received: by mail-wm1-f52.google.com with SMTP id z13so3071503wml.0 for <34949@debbugs.gnu.org>; Mon, 16 Mar 2020 13:17:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=hq+WeX8NIhtsuxUd19qP+VaNWqkgdE5UjO/+g2a3OoU=; b=qvyJSYbLqQo3RDodsoHOHavIFsv7SGikMdNYUVxRrDGybQRGPBzQoQJzbI+csg8vpF d3HYgOC8ANGxgTU/X3jlzqlFcpui4dFodsQRxcOYO/Vyu1RwJPQLgd53KAj55IK0X0j1 k/AkDcq6BICZv5DAKU3Nc4mjE3V/4GMNnuN+WRlA6X2R1iNxMt55J+EefR5mKPaceDPh YgbMEVOgv3V9dUyXYZkGNRGuTieGJ1N8LgzhLvYDQj0qpn54e+hTd6j7IEQubl/eF6L/ 4AH1HcuZnYrC/JcYIuYfK6s2DvV/xON7LiqqfttdJQbQ+GMKv2Z5qSduHNq8FzHT4uBZ AFag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=hq+WeX8NIhtsuxUd19qP+VaNWqkgdE5UjO/+g2a3OoU=; b=MdqLBGCw5Lbn+FEjyPo0Abf1kN1NkuaPWdz6OXmNxd5HG8UtGxUtcdzne3T+NyvtSe 5NWcXei5A2zrtctzveaYjqXwYBwXJ6K7DjewGiX69mMUGdl2Q0CTh2Ae+kHH5ZS+dwAM OMFRZG58kNJocF4za0zBtR6cRG+sZo4xIR2EoCgTonNh90Vovm2DGhXGodX86HJYr4gy OwtRlSCBzpkdLkeF9Xb9YGt4ErKn/tT0NvpgtkV9rOGCenZgWOH+DqStARpdyG9MVElw LxRXB1ylCROE7qL6jfkpZBItIgZhN2ei0dQLylHQtwnys6LSlYCxb4JGFyZ52wfYdA74 eTWg== X-Gm-Message-State: ANhLgQ0TZDkwxY7Gasu4X9LRHH+z/mKwpHYCckbfbB9J3BjRgDr+LNDg Jz4IhUsNXx/r3MQxds1e4nxyAiCK X-Google-Smtp-Source: ADFU+vv8tNIHFy4/JFW+0wYH1ItXxHSnrpfrCG2iXSPEylYEiS4y5znHv6u9UKt/Qqthxrsht+HtBg== X-Received: by 2002:a7b:cc8b:: with SMTP id p11mr896579wma.26.1584389860504; Mon, 16 Mar 2020 13:17:40 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id a1sm1381004wro.72.2020.03.16.13.17.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 Mar 2020 13:17:39 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <8736b06f60.fsf@mail.linkov.net> <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> Date: Mon, 16 Mar 2020 22:17:38 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <87lfo1dvcf.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 16.03.2020 1:58, Juri Linkov wrote: >> The hook will allow us to move almost all of the new code to the place >> where its purpose is more obvious. And that's a good thing. > > I think better to leave marking in vc-dir.el because it's the file > that deals with details of marking vc-dir files (using ewoc, etc.) > > Requiring ewoc in vc.el would be inappropriate (supposing that the > hook will reside in vc.el) Here's a slight modification: create both the hook and a function inside the vc-dir package (let's call it vc-dir-mark-files) which will accept a list of file names and mark them. dired-vc-next-action will then call it from the hook. This way, ewoc juggling will not spill outside. >>> Maybe then a shorter name vc-root-dir-action? >> >> The word "action" there seems to hold no particular meaning. >> >> vc-root-dir-with-dwim-selection, maybe? > > Shorter names: > > vc-dir-root-registered > or just > vc-dir-registered These either sound like callbacks, or alternatively make an impression that only registered files will be *shown* (not marked). Are you sure you don't want to split it into a new command that will simply mark a set of files you expect here? E.g. all belonging to "registered" statuses. That might require extra keypress, but vc-dir-root-registered is probably not going to have the same short combination that vc-dir has anyway. So it might be a wash, keypresses-wise. And vc-dir-root can just be "vc-dir in the repository root" that we both have wanted for a while. > Also there is a command 'vc-register' (C-x v i). > Its counterpart could be named 'vc-dir-register' > and will open a vc-dir buffer where only unregistered > files will be marked. Are you sure you will remember the new commands and use them on a regular basis? I most likely won't. And similarly, we can add a special command to mark only unregistered files. Although it's usually not a problem to navigate to the first unregistered one and press 'M'. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 24 18:47:41 2020 Received: (at 34949) by debbugs.gnu.org; 24 Mar 2020 22:47:41 +0000 Received: from localhost ([127.0.0.1]:55723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGsKj-00086w-Dz for submit@debbugs.gnu.org; Tue, 24 Mar 2020 18:47:41 -0400 Received: from relay12.mail.gandi.net ([217.70.178.232]:51645) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGsKg-00086g-M3 for 34949@debbugs.gnu.org; Tue, 24 Mar 2020 18:47:39 -0400 Received: from mail.gandi.net (m91-129-96-173.cust.tele2.ee [91.129.96.173]) (Authenticated sender: juri@linkov.net) by relay12.mail.gandi.net (Postfix) with ESMTPSA id 07697200006; Tue, 24 Mar 2020 22:47:30 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> Date: Wed, 25 Mar 2020 00:16:52 +0200 In-Reply-To: <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> (Dmitry Gutov's message of "Mon, 16 Mar 2020 22:17:38 +0200") Message-ID: <87369xs8zn.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain >> Maybe it's not working since vc-dir-refresh already doesn't use >> vc-run-delayed to run vc-dir-refresh-files and vc-dir-update. > > I don't know if that's the way to determine this. Doing both calls in the > callback is a good approach which is easy for vc-dir-refresh to > take. dired-vc-next-action couldn't do that, so vc-run-delayed could be > the next best option. Or not, of course. Actually, vc-run-delayed can't be used because it's fired when the first vc-process finishes, but vc-dir runs at least 4 processes in sequence. So the only available callback is in vc-dir-refresh, and only when `more-to-come' is nil. > Here's a slight modification: create both the hook and a function inside > the vc-dir package (let's call it vc-dir-mark-files) which will accept a > list of file names and mark them. dired-vc-next-action will then call it > from the hook. All this works fine with the patch below. The only part of the patch that I don't like is too much code in the first part of vc-dir-mark-files that just resolves discrepancy between Dired and VC-Dir: dired-get-marked-files returns directory names without the trailing slash, but vc-dir-fileinfo->name returns directories with the trailing slash. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-dir-mark-files.patch diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 6f50a3da6c..af4d29b556 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -3050,6 +3050,33 @@ dired-show-file-type (backward-delete-char 1)) (message "%s" (buffer-string))))) + +(declare-function vc-dir-mark-files "vc-dir") + +;;;###autoload +(defun dired-vc-next-action (verbose) + "Do the next version control operation on marked files/directories. +When only files are marked then call `vc-next-action' with the +same value of the VERBOSE argument. +When also directories are marked then call `vc-dir' and mark +the same files/directories in the VC-Dir buffer that were marked +in the Dired buffer." + (interactive "P") + (let ((mark-files + (let ((marked-files (dired-get-marked-files nil nil nil nil t))) + (when (cl-some #'file-directory-p marked-files) + marked-files)))) + (if mark-files + (let ((transient-hook (make-symbol "vc-dir-mark-files"))) + (fset transient-hook + (lambda () + (remove-hook 'vc-dir-refresh-hook transient-hook t) + (vc-dir-mark-files mark-files))) + (vc-dir-root) + (add-hook 'vc-dir-refresh-hook transient-hook nil t)) + (vc-next-action verbose)))) + + (provide 'dired-aux) ;; Local Variables: diff --git a/lisp/dired.el b/lisp/dired.el index 438f5e7d8b..51aaf6b01d 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1865,6 +1870,7 @@ dired-mode-map (define-key map "\177" 'dired-unmark-backward) (define-key map [remap undo] 'dired-undo) (define-key map [remap advertised-undo] 'dired-undo) + (define-key map [remap vc-next-action] 'dired-vc-next-action) ;; thumbnail manipulation (image-dired) (define-key map "\C-td" 'image-dired-display-thumbs) (define-key map "\C-tt" 'image-dired-tag-files) diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 38b4937e85..43d4a7843c 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -771,6 +771,28 @@ vc-dir-toggle-mark (interactive "e") (vc-dir-at-event e (vc-dir-mark-unmark 'vc-dir-toggle-mark-file))) +(defun vc-dir-mark-files (mark-files) + (let* ((backend (vc-responsible-backend default-directory)) + (rootdir (vc-call-backend backend 'root default-directory))) + (when (listp mark-files) + (setq mark-files (mapcar (lambda (file) + (file-relative-name + (if (file-directory-p file) + (file-name-as-directory file) + file) + rootdir)) + mark-files))) + (vc-dir-unmark-all-files t) + (ewoc-map + (lambda (filearg) + (when (cond ((consp mark-files) + (member (vc-dir-fileinfo->name filearg) mark-files)) + ((eq mark-files 'registered) + (memq (vc-dir-fileinfo->state filearg) '(edited added removed)))) + (setf (vc-dir-fileinfo->marked filearg) t) + t)) + vc-ewoc))) + (defun vc-dir-clean-files () "Delete the marked files, or the current file if no marks. The files will not be marked as deleted in the version control @@ -1193,7 +1215,8 @@ vc-dir-refresh (if remaining (vc-dir-refresh-files (mapcar 'vc-dir-fileinfo->name remaining)) - (setq mode-line-process nil)))))))))))) + (setq mode-line-process nil) + (run-hooks 'vc-dir-refresh-hook)))))))))))) (defun vc-dir-show-fileentry (file) "Insert an entry for a specific file into the current *VC-dir* listing. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 24 18:47:46 2020 Received: (at 34949) by debbugs.gnu.org; 24 Mar 2020 22:47:46 +0000 Received: from localhost ([127.0.0.1]:55725 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGsKn-00087C-Pl for submit@debbugs.gnu.org; Tue, 24 Mar 2020 18:47:46 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:53661) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGsKi-00086j-V1 for 34949@debbugs.gnu.org; Tue, 24 Mar 2020 18:47:41 -0400 X-Originating-IP: 91.129.96.173 Received: from mail.gandi.net (m91-129-96-173.cust.tele2.ee [91.129.96.173]) (Authenticated sender: juri@linkov.net) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 6BB7D60003; Tue, 24 Mar 2020 22:47:33 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> Date: Wed, 25 Mar 2020 00:36:15 +0200 In-Reply-To: <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> (Dmitry Gutov's message of "Mon, 16 Mar 2020 22:17:38 +0200") Message-ID: <87y2rpqt28.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain >>>> Maybe then a shorter name vc-root-dir-action? >>> >>> The word "action" there seems to hold no particular meaning. >>> >>> vc-root-dir-with-dwim-selection, maybe? >> Shorter names: >> vc-dir-root-registered >> or just >> vc-dir-registered > > These either sound like callbacks, or alternatively make an impression that > only registered files will be *shown* (not marked). Then the name could be vc-dir-and-mark-registered, but maybe it's not needed given the below. > Are you sure you don't want to split it into a new command that will simply > mark a set of files you expect here? E.g. all belonging to "registered" > statuses. That might require extra keypress, but vc-dir-root-registered is > probably not going to have the same short combination that vc-dir has > anyway. So it might be a wash, keypresses-wise. VC-Dir needs the same key prefix as is provided by Dired: * % dired-mark-files-regexp * * dired-mark-executables * / dired-mark-directories * ? dired-unmark-all-files * @ dired-mark-symlinks * s dired-mark-subdir-files Then VC-Dir could provide, for example: * r vc-dir-mark-registered * u vc-dir-mark-unregistered ... > And vc-dir-root can just be "vc-dir in the repository root" that we both > have wanted for a while. Finally settled with the following patch. >> Also there is a command 'vc-register' (C-x v i). >> Its counterpart could be named 'vc-dir-register' >> and will open a vc-dir buffer where only unregistered >> files will be marked. > > Are you sure you will remember the new commands and use them on a regular > basis? I most likely won't. > > And similarly, we can add a special command to mark only unregistered > files. Although it's usually not a problem to navigate to the first > unregistered one and press 'M'. Often this is a minor problem, but given the above, a keybinding like `* u' should be of a little help. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-dir-root.patch diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 38b4937e85..8c45ad9b80 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -1286,6 +1309,16 @@ vc-dir-deduce-fileset (setq model (vc-checkout-model vc-dir-backend only-files-list)))) (list vc-dir-backend files only-files-list state model))) +;;;###autoload +(defun vc-dir-root () + "Run `vc-dir' in the repository root directory without prompt. +If the default directory of the current buffer is +not under version control, prompt for the directory." + (interactive) + (let ((root-dir (vc-root-dir))) + (if root-dir (vc-dir root-dir) + (call-interactively 'vc-dir)))) + ;;;###autoload (defun vc-dir (dir &optional backend) "Show the VC status for \"interesting\" files in and below DIR. diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el index 345a28d3f1..1a92cd867c 100644 --- a/lisp/vc/vc-hooks.el +++ b/lisp/vc/vc-hooks.el @@ -972,9 +972,9 @@ vc-menu-map (bindings--define-key map [vc-ignore] '(menu-item "Ignore File..." vc-ignore :help "Ignore a file under current version control system")) - (bindings--define-key map [vc-dir] - '(menu-item "VC Dir" vc-dir - :help "Show the VC status of files in a directory")) + (bindings--define-key map [vc-dir-root] + '(menu-item "VC Dir" vc-dir-root + :help "Show the VC status of the repository")) map)) (defalias 'vc-menu-map vc-menu-map) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 25 16:59:41 2020 Received: (at 34949) by debbugs.gnu.org; 25 Mar 2020 20:59:41 +0000 Received: from localhost ([127.0.0.1]:57845 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHD7k-0008AL-T4 for submit@debbugs.gnu.org; Wed, 25 Mar 2020 16:59:41 -0400 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:51819) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHD7i-00089g-P5 for 34949@debbugs.gnu.org; Wed, 25 Mar 2020 16:59:39 -0400 X-Originating-IP: 91.129.96.173 Received: from mail.gandi.net (m91-129-96-173.cust.tele2.ee [91.129.96.173]) (Authenticated sender: juri@linkov.net) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 70FDEC0005; Wed, 25 Mar 2020 20:59:32 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87369xs8zn.fsf@mail.linkov.net> Date: Wed, 25 Mar 2020 22:47:11 +0200 In-Reply-To: <87369xs8zn.fsf@mail.linkov.net> (Juri Linkov's message of "Wed, 25 Mar 2020 00:16:52 +0200") Message-ID: <87a744i4x4.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain > All this works fine with the patch below. The only part of the patch > that I don't like is too much code in the first part of vc-dir-mark-files > that just resolves discrepancy between Dired and VC-Dir: > dired-get-marked-files returns directory names without the trailing slash, > but vc-dir-fileinfo->name returns directories with the trailing slash. Ok, here's the patch that fixes these problems. It moves that ugly piece of code to dired-vc-next-action (see the comment "Fix deficiency of Dired by adding slash to dirs") The problem is that dired-get-marked-files returns directory names as they are displayed in the Dired buffer i.e. where directories are without the trailing slash. It's possible to append the trailing slash by adding the switch "-p" to dired-listing-switches: ls -p, --indicator-style=slash append / indicator to directories But Dired doesn't support trailing slashes because dired-goto-file can't find directory lines with slashes. Therefore the need for ugly code in dired-vc-next-action. Anyway, this is the final version of this feature: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=dired-vc-next-action.patch diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 6f50a3da6c..ce192269fc 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -3050,6 +3050,41 @@ dired-show-file-type (backward-delete-char 1)) (message "%s" (buffer-string))))) + +(declare-function vc-dir-unmark-all-files "vc-dir") +(declare-function vc-dir-mark-files "vc-dir") + +;;;###autoload +(defun dired-vc-next-action (verbose) + "Do the next version control operation on marked files/directories. +When only files are marked then call `vc-next-action' with the +same value of the VERBOSE argument. +When also directories are marked then call `vc-dir' and mark +the same files/directories in the VC-Dir buffer that were marked +in the Dired buffer." + (interactive "P") + (let* ((marked-files + (dired-get-marked-files nil nil nil nil t)) + (mark-files + (when (cl-some #'file-directory-p marked-files) + ;; Fix deficiency of Dired by adding slash to dirs + (mapcar (lambda (file) + (if (file-directory-p file) + (file-name-as-directory file) + file)) + marked-files)))) + (if mark-files + (let ((transient-hook (make-symbol "vc-dir-mark-files"))) + (fset transient-hook + (lambda () + (remove-hook 'vc-dir-refresh-hook transient-hook t) + (vc-dir-unmark-all-files t) + (vc-dir-mark-files mark-files))) + (vc-dir-root) + (add-hook 'vc-dir-refresh-hook transient-hook nil t)) + (vc-next-action verbose)))) + + (provide 'dired-aux) ;; Local Variables: diff --git a/lisp/dired.el b/lisp/dired.el index 41bbf9f56a..51aaf6b01d 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1870,6 +1870,7 @@ dired-mode-map (define-key map "\177" 'dired-unmark-backward) (define-key map [remap undo] 'dired-undo) (define-key map [remap advertised-undo] 'dired-undo) + (define-key map [remap vc-next-action] 'dired-vc-next-action) ;; thumbnail manipulation (image-dired) (define-key map "\C-td" 'image-dired-display-thumbs) (define-key map "\C-tt" 'image-dired-tag-files) diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 38b4937e85..0da702e3f4 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -696,6 +707,16 @@ vc-dir-mark-all-files (vc-dir-mark-file crt))) (setq crt (ewoc-next vc-ewoc crt)))))))) +(defun vc-dir-mark-files (mark-files) + "Mark files specified by file names in the argument MARK-FILES." + (ewoc-map + (lambda (filearg) + (when (member (expand-file-name (vc-dir-fileinfo->name filearg)) + mark-files) + (setf (vc-dir-fileinfo->marked filearg) t) + t)) + vc-ewoc)) + (defun vc-dir-unmark-file () ;; Unmark the current file and move to the next line. (let* ((crt (ewoc-locate vc-ewoc)) @@ -1193,7 +1214,8 @@ vc-dir-refresh (if remaining (vc-dir-refresh-files (mapcar 'vc-dir-fileinfo->name remaining)) - (setq mode-line-process nil)))))))))))) + (setq mode-line-process nil) + (run-hooks 'vc-dir-refresh-hook)))))))))))) (defun vc-dir-show-fileentry (file) "Insert an entry for a specific file into the current *VC-dir* listing. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 25 16:59:48 2020 Received: (at 34949) by debbugs.gnu.org; 25 Mar 2020 20:59:48 +0000 Received: from localhost ([127.0.0.1]:57850 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHD7s-0008Am-HY for submit@debbugs.gnu.org; Wed, 25 Mar 2020 16:59:48 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:57787) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHD7n-00089z-Eo for 34949@debbugs.gnu.org; Wed, 25 Mar 2020 16:59:44 -0400 X-Originating-IP: 91.129.96.173 Received: from mail.gandi.net (m91-129-96-173.cust.tele2.ee [91.129.96.173]) (Authenticated sender: juri@linkov.net) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 7EE0020003; Wed, 25 Mar 2020 20:59:35 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> Date: Wed, 25 Mar 2020 22:59:06 +0200 In-Reply-To: <87y2rpqt28.fsf@mail.linkov.net> (Juri Linkov's message of "Wed, 25 Mar 2020 00:36:15 +0200") Message-ID: <874kuci4tx.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain >> Are you sure you don't want to split it into a new command that will simply >> mark a set of files you expect here? E.g. all belonging to "registered" >> statuses. That might require extra keypress, but vc-dir-root-registered is >> probably not going to have the same short combination that vc-dir has >> anyway. So it might be a wash, keypresses-wise. > > VC-Dir needs the same key prefix as is provided by Dired: > > * % dired-mark-files-regexp > * * dired-mark-executables > * / dired-mark-directories > * ? dired-unmark-all-files > * @ dired-mark-symlinks > * s dired-mark-subdir-files > > Then VC-Dir could provide, for example: > > * r vc-dir-mark-registered > * u vc-dir-mark-unregistered > ... This is implemented as well: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-dir-mark-state-files.patch diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 38b4937e85..87b6b3b547 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -147,6 +147,12 @@ vc-dir-menu-map '(menu-item "Unmark Previous " vc-dir-unmark-file-up :help "Move to the previous line and unmark the file")) + (define-key map [mark-unregistered] + '(menu-item "Mark Unregistered" vc-dir-mark-unregistered-files + :help "Mark all files in the unregistered state")) + (define-key map [mark-registered] + '(menu-item "Mark Registered" vc-dir-mark-registered-files + :help "Mark all files in the state edited, added or removed")) (define-key map [mark-all] '(menu-item "Mark All" vc-dir-mark-all-files :help "Mark all files that are in the same state as the current file\ @@ -310,6 +316,11 @@ vc-dir-mode-map (define-key branch-map "l" 'vc-print-branch-log) (define-key branch-map "s" 'vc-retrieve-tag)) + (let ((mark-map (make-sparse-keymap))) + (define-key map "*" mark-map) + (define-key mark-map "r" 'vc-dir-mark-registered-files) + (define-key mark-map "u" 'vc-dir-mark-unregistered-files)) + ;; Hook up the menu. (define-key map [menu-bar vc-dir-mode] `(menu-item @@ -696,6 +707,27 @@ vc-dir-mark-all-files (vc-dir-mark-file crt))) (setq crt (ewoc-next vc-ewoc crt)))))))) +(defun vc-dir-mark-state-files (states) + "Mark files that are in the state specified by the list in STATES." + (unless (listp states) + (setq states (list states))) + (ewoc-map + (lambda (filearg) + (when (memq (vc-dir-fileinfo->state filearg) states) + (setf (vc-dir-fileinfo->marked filearg) t) + t)) + vc-ewoc)) + +(defun vc-dir-mark-registered-files () + "Mark files that are in one of registered state: edited, added or removed." + (interactive) + (vc-dir-mark-state-files '(edited added removed))) + +(defun vc-dir-mark-unregistered-files () + "Mark files that are in unregistered state." + (interactive) + (vc-dir-mark-state-files 'unregistered)) + (defun vc-dir-unmark-file () ;; Unmark the current file and move to the next line. (let* ((crt (ewoc-locate vc-ewoc)) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 25 17:15:55 2020 Received: (at 34949) by debbugs.gnu.org; 25 Mar 2020 21:15:55 +0000 Received: from localhost ([127.0.0.1]:57865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHDNT-0000Bb-88 for submit@debbugs.gnu.org; Wed, 25 Mar 2020 17:15:55 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:50222) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHDNR-0000BP-Cg for 34949@debbugs.gnu.org; Wed, 25 Mar 2020 17:15:53 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02PLDY34075607; Wed, 25 Mar 2020 21:15:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=CGRXId/MnKV5/c5zY8BWF4mdNBYfPmbsvPUrp3RIg6M=; b=aEPiPTE7JscplTXUGuIs5iZKEF7dJr0ArRQKtt4x9Ueb4V77zETFTYhKSAf6v9gxJuus fxFHEvhb5lrQTntczNzXyHvxysPaB3dBvEY8bGlTCB00ys3Of07cQiG6isvJ0snfErwj 3tUKrJVbqyv+1JV1DG9WogItbVzUHtyZtjKOQNoCDDX4MX+NODCRj9D5BrRmoCjLOYyC WzD1GbI3TmXPWDd+YAlAc/bjGed61+Rq+PyM2rcHa4F8b5cLmyu/LLeyoWZaMOiwmYHa gbrYq2wdJlwZMdvgn56PG+EKTNnEzRT+RMwM2oQ0H+5W1BuSKRDolAed1VQiLqFEMuRF qQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2130.oracle.com with ESMTP id 2ywabrc7tr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Mar 2020 21:15:47 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02PLCYqe053274; Wed, 25 Mar 2020 21:15:46 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 30073b8hsw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Mar 2020 21:15:46 +0000 Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 02PLFhlT028886; Wed, 25 Mar 2020 21:15:43 GMT MIME-Version: 1.0 Message-ID: <50a18609-79bd-44c6-b6cd-88f8ba3ba596@default> Date: Wed, 25 Mar 2020 14:15:42 -0700 (PDT) From: Drew Adams To: Juri Linkov , Dmitry Gutov Subject: RE: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete References: <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> In-Reply-To: <874kuci4tx.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4966.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9571 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=18 mlxscore=0 phishscore=0 bulkscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003250163 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9571 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=18 lowpriorityscore=0 malwarescore=0 phishscore=0 priorityscore=1501 clxscore=1011 adultscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003250163 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > > VC-Dir needs the same key prefix as is provided by Dired: > > > > * % dired-mark-files-regexp > > * * dired-mark-executables > > * / dired-mark-directories > > * ? dired-unmark-all-files > > * @ dired-mark-symlinks > > * s dired-mark-subdir-files > > > > Then VC-Dir could provide, for example: > > > > * r vc-dir-mark-registered > > * u vc-dir-mark-unregistered > > ... Apologies for not following this thread (at all). Just happened to notice this message. `* u' is already bound to `dired-unmark', in Dired mode. It would be good if you found some other key for this, if the mode in question derives from `dired-mode'. To avoid other possible future problems, please consider putting all such vc-dired commands on a VC-marking prefix key, such as `* v'. E.g., use `* v u' for `vc-dir-mark-unregistered'. `* v' is currently undefined for Dired, and that way Dired sacrifices only `* v', for possible Dired marking commands. (But personally I think it's better to keep all VC command bindings on a single keymap, on a single prefix key. Most are on prefix key `C-x v', I believe.) From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 25 17:33:07 2020 Received: (at 34949) by debbugs.gnu.org; 25 Mar 2020 21:33:07 +0000 Received: from localhost ([127.0.0.1]:57880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHDe7-0000gN-90 for submit@debbugs.gnu.org; Wed, 25 Mar 2020 17:33:07 -0400 Received: from mail-wr1-f47.google.com ([209.85.221.47]:45453) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHDe5-0000fp-Ll for 34949@debbugs.gnu.org; Wed, 25 Mar 2020 17:33:06 -0400 Received: by mail-wr1-f47.google.com with SMTP id t7so5241297wrw.12 for <34949@debbugs.gnu.org>; Wed, 25 Mar 2020 14:33:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=mwl8YQTAFHOafO+w7Pqv/VYq/CT1SdGP1nf+5KXGQjs=; b=cMkCofLy/R1dwKTcxmVfx3M7azvbGYKQDa/ZRHW7UrK+VX0CX1C0iNUfGpjOo8WMRp wX1YBkd0KWLn7sZfo3+n8FEhHCPbPLZAbs4D7WRTY4fOglAQ9tXPDEdTZAuVOdclYc6+ uhHWHvI4KZ97ycc+SaMH6UnquNH5iYTQNc0NbDu4FMxcwQYInnNkRFGWiBRn77nIMBjq 3d3qcw7Nrwn4jGsxw87meYOLpTsqfxgAaHp70NVxXvtO1Mz+t8ddTGq7/ZfN+VJ7XF3M OvPSJ5Z/ggv9FJlS5Mb/8oo20FzJDYyplhkHh5pERqg6TE5fnJEDUzZ0nNX5pMNalLe9 93HQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=mwl8YQTAFHOafO+w7Pqv/VYq/CT1SdGP1nf+5KXGQjs=; b=Qr9RYOEuNKFGmNqdobR4JEi7jSEYTsL73CreXpklrEIgD6MKHWcHcpEurG7GhZLCGi 2dWstBVZ2z8u9OYjCqzD4pYZBapKYagANBlzIrWf3JB/ZZON2rLxxHJ3g+10jJSG9zzi +ADg+HVQu+/PIowufpwAMMBU3C0oonmSMI+TBzTuq9fI5KInPjerXK5bwojIT0GgRJdW leEaEqYwtGWafb62HTn7BGzaKUs9kJvTWPVR8O1ol972qKi33mhEZQ6m5vnHtFlL1kGU EpKzwY4W0YMP/PZc32UWSiq+YvHXCHghtOABP0aF5l7tFrrJdg2TQXvLJDN2l+QscmHw lx6g== X-Gm-Message-State: ANhLgQ0ixRSiaOLKd6yX3FlZWjbLzcMYxcm9fLn8XJd5sfeHAZJKF89U 7ypTkyOz4AcNNC+be6HnWopNVmLE X-Google-Smtp-Source: ADFU+vtSZFAaz0zY/hDoaav6y2RecIRfZpcptQ8IU9ixYpc9KypDcY2r2Qp33Ls8OJYnKUEL9WTLGw== X-Received: by 2002:adf:e403:: with SMTP id g3mr2532290wrm.333.1585171979469; Wed, 25 Mar 2020 14:32:59 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id s15sm408159wrm.15.2020.03.25.14.32.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 25 Mar 2020 14:32:58 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87369xs8zn.fsf@mail.linkov.net> <87a744i4x4.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <450e81be-16dd-f2f0-98dd-02c0e0febe8f@yandex.ru> Date: Wed, 25 Mar 2020 23:32:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <87a744i4x4.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 25.03.2020 22:47, Juri Linkov wrote: > Ok, here's the patch that fixes these problems. > > It moves that ugly piece of code to dired-vc-next-action > (see the comment "Fix deficiency of Dired by adding slash to dirs") That's what I was going to suggest. Overall, the patch LGTM, please feel free to install, thank you. > + (when (member (expand-file-name (vc-dir-fileinfo->name filearg)) > + mark-files) So MARK-FILES should all be absolute names? That should probably be documented. Alternatively, you could use cl-member with :test #'file-equal-p. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 25 17:59:35 2020 Received: (at 34949) by debbugs.gnu.org; 25 Mar 2020 21:59:35 +0000 Received: from localhost ([127.0.0.1]:57931 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHE3i-0001QA-Mm for submit@debbugs.gnu.org; Wed, 25 Mar 2020 17:59:35 -0400 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:56997) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHE3f-0001Pa-3r for 34949@debbugs.gnu.org; Wed, 25 Mar 2020 17:59:31 -0400 X-Originating-IP: 91.129.96.173 Received: from mail.gandi.net (m91-129-96-173.cust.tele2.ee [91.129.96.173]) (Authenticated sender: juri@linkov.net) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 3E41BFF806; Wed, 25 Mar 2020 21:59:22 +0000 (UTC) From: Juri Linkov To: Drew Adams Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <50a18609-79bd-44c6-b6cd-88f8ba3ba596@default> Date: Wed, 25 Mar 2020 23:50:58 +0200 In-Reply-To: <50a18609-79bd-44c6-b6cd-88f8ba3ba596@default> (Drew Adams's message of "Wed, 25 Mar 2020 14:15:42 -0700 (PDT)") Message-ID: <87r1xgf6a9.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> > VC-Dir needs the same key prefix as is provided by Dired: >> > >> > * % dired-mark-files-regexp >> > * * dired-mark-executables >> > * / dired-mark-directories >> > * ? dired-unmark-all-files >> > * @ dired-mark-symlinks >> > * s dired-mark-subdir-files >> > >> > Then VC-Dir could provide, for example: >> > >> > * r vc-dir-mark-registered >> > * u vc-dir-mark-unregistered >> > ... > > Apologies for not following this thread (at all). > Just happened to notice this message. > > `* u' is already bound to `dired-unmark', in Dired mode. VC-Dir already significantly diverted from Dired. so maybe such mismatch is not so crucial. > It would be good if you found some other key for this, > if the mode in question derives from `dired-mode'. It is not derived from dired-mode in terms of implementation. But if you can propose another key that is mnemonic then why not. > To avoid other possible future problems, please consider > putting all such vc-dired commands on a VC-marking prefix > key, such as `* v'. `* v' is not mnemonic for marking. The character `*' has such mnemonic because `*' *is* a marking char. > E.g., use `* v u' for `vc-dir-mark-unregistered'. `* v' > is currently undefined for Dired, and that way Dired > sacrifices only `* v', for possible Dired marking commands. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 25 17:59:58 2020 Received: (at 34949) by debbugs.gnu.org; 25 Mar 2020 21:59:58 +0000 Received: from localhost ([127.0.0.1]:57934 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHE46-0001Qu-3Q for submit@debbugs.gnu.org; Wed, 25 Mar 2020 17:59:58 -0400 Received: from mail-wm1-f43.google.com ([209.85.128.43]:35690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHE44-0001Qg-3Y for 34949@debbugs.gnu.org; Wed, 25 Mar 2020 17:59:56 -0400 Received: by mail-wm1-f43.google.com with SMTP id m3so4926707wmi.0 for <34949@debbugs.gnu.org>; Wed, 25 Mar 2020 14:59:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=yAPfYXlOKknB36V8fhqulHvQhcg8hWye2bQqtfeRT6w=; b=dI4jJ5+wW0yu+P4qI+udEzfklNUVEdJNOPNqp3in+l3EnuF1lQRE56ISJPtg9CMvCD zLKvZBg45IYUFXr46jRbAp1kIZiXJNP4+FvfN2GESVYE17Kx2HCI/16htJfOIu5lsvRj b6tvNR5kQfWCZ2iqdcw1mRheRZ35LTI+dNJso2KIZiQBXK4OKeW+3EgbM21ycXbvyjpH gqj4O1mXXhZX6TPScXJIaZO2mlbfM04ALZPoz7FvpAUgT8I/wf1ZA8kCv74+/GMvLree f0UAd+XKOq6zFbRMIU4Xb2ZIlynic1aTXhIvSQMob2OLD5OsnqCFVXGBz9Mh9Y1cPV8Z //Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=yAPfYXlOKknB36V8fhqulHvQhcg8hWye2bQqtfeRT6w=; b=ISnQym6kQmCNi1dbuEkhzSJ9KUh5Q+haSujc+awRn1BaEPZtJmLbpo+W2VS0I79HH7 M5x3+Zj3ugD22JYvW5owRvWXsIRG9P6fJ+/4uDYs00F+ngVn8+Kg/Pv5QhtvecIM7Z3j R4jlsCpSEQyRxkQrkoUln/nVoNhBMij7vPr2vV9+7B3GHwtG27sqPP9/nF/LNkkVPhr7 BQ9SfxfcFM8g16Rtq6vTnXIQoCc17lpJgDCwZAyvquRx8KfKqsOGLCknY37LaD05yvSO nEG8NjXsUsdPlEtPwER4ZupwNeqwM+o5TtZTjvxx1tzoEA9Hk8BJRhADwe+pniLY3Dbj 1JMQ== X-Gm-Message-State: ANhLgQ0sLcgmhkbkaJG05qca3HEQlPipioXSsPBDS7IoNU23EmjMmzxF U59TxMBBydTkZ7RFjbzuMATZoH4e X-Google-Smtp-Source: ADFU+vv7CJVy72J3uX39dj37wUidiWbUV523oV2Hr/PYPUhnhfOgtet4MXOsqvSpTyO/GDDUyu6ZIw== X-Received: by 2002:a1c:e341:: with SMTP id a62mr5800779wmh.121.1585173589710; Wed, 25 Mar 2020 14:59:49 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id l8sm582469wmj.2.2020.03.25.14.59.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 25 Mar 2020 14:59:48 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <7124e9e5-bf3a-5bba-d9f9-9d0867444e4c@yandex.ru> Date: Wed, 25 Mar 2020 23:59:46 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <87y2rpqt28.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 25.03.2020 00:36, Juri Linkov wrote: > Finally settled with the following patch. LGTM, thank you. > Often this is a minor problem, but given the above, a keybinding > like `* u' should be of a little help. The follow-up patch from the next email look good as well. > - (bindings--define-key map [vc-dir] > - '(menu-item "VC Dir" vc-dir > - :help "Show the VC status of files in a directory")) > + (bindings--define-key map [vc-dir-root] > + '(menu-item "VC Dir" vc-dir-root > + :help "Show the VC status of the repository")) This part, though... Is it intentional? I'm all for it personally, but: - It will need a NEWS entry. - Are we comfortable with changing the menu entry to the new command, but keeping the old key binding pointing to the old command? Looks a bit inconsistent. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 25 18:04:46 2020 Received: (at 34949) by debbugs.gnu.org; 25 Mar 2020 22:04:46 +0000 Received: from localhost ([127.0.0.1]:57941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHE8j-0001ae-MT for submit@debbugs.gnu.org; Wed, 25 Mar 2020 18:04:45 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:57798) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHE8h-0001aL-Me for 34949@debbugs.gnu.org; Wed, 25 Mar 2020 18:04:44 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02PM3Ga7193033; Wed, 25 Mar 2020 22:04:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=bW/kN/6YtQcNa1ulVoVJt8AWrLZtjSqz+Rh0sM7xUr0=; b=FXUg37K+7kYrdsvt7OHC3iZAUHvCHQpeZ6axunaQJuhCuT0dPCN5VD6r6LkUh5R8ZrpS 77GKHViM7zZTwh1w6uMbMaHsj3xKKmkreNt47e+AETSjIrFOVADi8y7RdG2QOyePgXmT LNIUWAP3q53L+0xx/JF8Cq1PzX4V7xG7wN7o4Jd/gj0U+pZLwyOV66OcyB9PfiNLu24n i9OqRQ2pN4dGmqiaFnFkAHIE11rDSBb8iR6R0QsIIln7EtJRLJ0inDw7t9hHQVVgWhOt 3Gmfc1OEpZs7/RTc6ifQ4EKsr2LNzoU/CMyPawMuV+4WNNnrkR8USg1IfhM3+YP8k6sF ig== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2130.oracle.com with ESMTP id 2ywabrcd62-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Mar 2020 22:04:35 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02PM3d6N029073; Wed, 25 Mar 2020 22:04:35 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userp3020.oracle.com with ESMTP id 3003gjj21h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Mar 2020 22:04:35 +0000 Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 02PM4WJQ013628; Wed, 25 Mar 2020 22:04:33 GMT MIME-Version: 1.0 Message-ID: Date: Wed, 25 Mar 2020 15:04:32 -0700 (PDT) From: Drew Adams To: Juri Linkov Subject: RE: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete References: <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <50a18609-79bd-44c6-b6cd-88f8ba3ba596@default> <87r1xgf6a9.fsf@mail.linkov.net> In-Reply-To: <87r1xgf6a9.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4966.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9571 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 mlxlogscore=885 bulkscore=0 phishscore=0 adultscore=0 spamscore=0 malwarescore=0 suspectscore=18 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003250168 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9571 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=18 lowpriorityscore=0 malwarescore=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 mlxscore=0 mlxlogscore=950 bulkscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003250168 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > > To avoid other possible future problems, please consider > > putting all such vc-dired commands on a VC-marking prefix > > key, such as `* v'. >=20 > `* v' is not mnemonic for marking. The character `*' > has such mnemonic because `*' *is* a marking char. Yes, `*' has that meaning. So `* v' can have the meaning of marking VC stuff. See "all", above. `* v' as a _prefix_ key, for marking stuff in VC-dired. And this is an example - marking unregistered stuff (presumably). > > E.g., use `* v u' for `vc-dir-mark-unregistered'. `* v' > > is currently undefined for Dired, and that way Dired > > sacrifices only `* v', for possible Dired marking commands. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 26 19:46:30 2020 Received: (at 34949) by debbugs.gnu.org; 26 Mar 2020 23:46:30 +0000 Received: from localhost ([127.0.0.1]:60384 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHcCj-0005hq-Ac for submit@debbugs.gnu.org; Thu, 26 Mar 2020 19:46:30 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:54003) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHcCe-0005h8-W2 for 34949@debbugs.gnu.org; Thu, 26 Mar 2020 19:46:25 -0400 X-Originating-IP: 91.129.96.173 Received: from mail.gandi.net (m91-129-96-173.cust.tele2.ee [91.129.96.173]) (Authenticated sender: juri@linkov.net) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 8076E60003; Thu, 26 Mar 2020 23:46:16 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <7124e9e5-bf3a-5bba-d9f9-9d0867444e4c@yandex.ru> Date: Fri, 27 Mar 2020 01:10:11 +0200 In-Reply-To: <7124e9e5-bf3a-5bba-d9f9-9d0867444e4c@yandex.ru> (Dmitry Gutov's message of "Wed, 25 Mar 2020 23:59:46 +0200") Message-ID: <87zhc2btm4.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> - (bindings--define-key map [vc-dir] >> - '(menu-item "VC Dir" vc-dir >> - :help "Show the VC status of files in a directory")) >> + (bindings--define-key map [vc-dir-root] >> + '(menu-item "VC Dir" vc-dir-root >> + :help "Show the VC status of the repository")) > > This part, though... Is it intentional? > > I'm all for it personally, but: > > - It will need a NEWS entry. > - Are we comfortable with changing the menu entry to the new command, but > keeping the old key binding pointing to the old command? Looks > a bit inconsistent. The rationale for this change is that the users use the mouse to select the menu item, then need to reach out for the keyboard to type RET. Highly inconvenient. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 26 19:46:35 2020 Received: (at 34949) by debbugs.gnu.org; 26 Mar 2020 23:46:35 +0000 Received: from localhost ([127.0.0.1]:60387 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHcCp-0005iD-F4 for submit@debbugs.gnu.org; Thu, 26 Mar 2020 19:46:35 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:44377) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHcCi-0005hL-Am for 34949@debbugs.gnu.org; Thu, 26 Mar 2020 19:46:29 -0400 X-Originating-IP: 91.129.96.173 Received: from mail.gandi.net (m91-129-96-173.cust.tele2.ee [91.129.96.173]) (Authenticated sender: juri@linkov.net) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 7FE1C2000B; Thu, 26 Mar 2020 23:46:19 +0000 (UTC) From: Juri Linkov To: Drew Adams Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <50a18609-79bd-44c6-b6cd-88f8ba3ba596@default> <87r1xgf6a9.fsf@mail.linkov.net> Date: Fri, 27 Mar 2020 01:18:37 +0200 In-Reply-To: (Drew Adams's message of "Wed, 25 Mar 2020 15:04:32 -0700 (PDT)") Message-ID: <87a742bt82.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> > To avoid other possible future problems, please consider >> > putting all such vc-dired commands on a VC-marking prefix >> > key, such as `* v'. >> >> `* v' is not mnemonic for marking. The character `*' >> has such mnemonic because `*' *is* a marking char. > > Yes, `*' has that meaning. So `* v' can have the meaning > of marking VC stuff. The whole keymap of VC-dired has the meaning of VC stuff. > See "all", above. `* v' as a _prefix_ key, for marking > stuff in VC-dired. And this is an example - marking > unregistered stuff (presumably). The prefix `v' is redundant in VC-dired. >> > E.g., use `* v u' for `vc-dir-mark-unregistered'. `* v' >> > is currently undefined for Dired, and that way Dired >> > sacrifices only `* v', for possible Dired marking commands. In Dired `dired-unmark' is bound to `u'. Why Dired needs another key sequence `* u' that is longer to type. Since it makes no sense to use `* u' in Dired, this key can be used in VC-dired for other purposes. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 26 19:51:44 2020 Received: (at 34949) by debbugs.gnu.org; 26 Mar 2020 23:51:44 +0000 Received: from localhost ([127.0.0.1]:60397 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHcHo-0005qu-Dh for submit@debbugs.gnu.org; Thu, 26 Mar 2020 19:51:44 -0400 Received: from mail-wm1-f43.google.com ([209.85.128.43]:52256) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHcHm-0005qe-1f for 34949@debbugs.gnu.org; Thu, 26 Mar 2020 19:51:42 -0400 Received: by mail-wm1-f43.google.com with SMTP id z18so9696166wmk.2 for <34949@debbugs.gnu.org>; Thu, 26 Mar 2020 16:51:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=SwYqanE2c9IlHvq4L7y+bv9cznOTiOmMdciwz7GV/2s=; b=ONgKJh2vU0Nh1/Cy6HH2uBNbUm4FRscjuGqkTin8Tz97/YsMnOvE6f5/K6FGHdgETK wSTexdMUGtqAQ/q4y/kzNTpmldgCQsOkDEMMrMQYFBFB8w5VYZdMf2kjgsgzALlQKWj1 V4KJV/JkjXAeOc6zNrRSGgc9x7CLin+lGs2Zulfp28Xum6/Uuf3vWrhWFktw+5YZJG99 fV5Tj6HXKxOvob0dtGTH27TtpzFAIuSLDg6/ii5gOG+cnlFMPCiY4GSjdn1c3StNsL9m tCzKQ1ABOUYf7e15GtQn0ny3YSLgBrLn4sqBF5QqS/oC5pHyGgvqHnTVIjPIn7quDVLq m1DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=SwYqanE2c9IlHvq4L7y+bv9cznOTiOmMdciwz7GV/2s=; b=bgTsPkqh7PRpM0G38b4I/7cH0M2ffpn553GJxsMR3zSobmwX2b3Lz2ltVgBxhTICTv zUCMCycz9EZafVMpE5TeqFf2dOFhE91/c7oBmqa8nj5eQ9abdTxyuTBTSbMaG5Clmq76 9gNgbhm/whduB7xutT0TBSnP20kCNfJT7TQOiTz9AbLO+H8s7SxUuOl+EwB+uxGgtnwR oxeYIrdLc345sveZBZtLVtse0ZBRx0eDJEEuCMLmPxOT7Ljp7Ngsexi+A4XdyUMgoJaj AJKIZ85+xDUkPCDVRiJ6yqb5b4NTwTXMZlCxTqXvmar2L79upHNmJcwnsMz1SZyD2olt cfLQ== X-Gm-Message-State: ANhLgQ0gzW/4X+6CM7mh4n81DMq7FsSYeXauiZcge1Z13hWeUAHX5qwH AhuLwPgX+eAFUXb57A2fo8CqDP1N X-Google-Smtp-Source: ADFU+vvIYyyQ+7EDfwYFTpiiNqvtpXzB1RxzTOeZccjzckpFyU7t+UEsPn5Hg6VsHMxxn5xEO89xMg== X-Received: by 2002:adf:a155:: with SMTP id r21mr11856432wrr.264.1585266695876; Thu, 26 Mar 2020 16:51:35 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id f1sm5622573wrv.37.2020.03.26.16.51.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 26 Mar 2020 16:51:35 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <7124e9e5-bf3a-5bba-d9f9-9d0867444e4c@yandex.ru> <87zhc2btm4.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: Date: Fri, 27 Mar 2020 01:51:33 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <87zhc2btm4.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 27.03.2020 01:10, Juri Linkov wrote: > The rationale for this change is that the users use the mouse > to select the menu item, then need to reach out for the keyboard > to type RET. Highly inconvenient. That makes a certain amount of sense. Though it's is a pretty unusual argument, I think. Anyway, that change is OK with me personally. Thank you. From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 27 12:12:11 2020 Received: (at 34949) by debbugs.gnu.org; 27 Mar 2020 16:12:11 +0000 Received: from localhost ([127.0.0.1]:33269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHrac-0008Vy-7D for submit@debbugs.gnu.org; Fri, 27 Mar 2020 12:12:11 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:44922) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHraZ-0008VX-LK for 34949@debbugs.gnu.org; Fri, 27 Mar 2020 12:12:08 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02RG9HhY058275; Fri, 27 Mar 2020 16:12:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=Dmmjn1fwJL5CLLOo5eGp4rlChrUht9I2/xKYdraAR2Y=; b=BsWSRTlGpWnq5tA8ofIdhd1sCdfb1Cz9fLDQdSRhMCmwapt6HNd/FLRQ6HFx+nWS1apz 4BhZebUuWeVvLlcrHTmBNhRnkkblpaqmvdwKDYsKEAZy3EpStDTEjxPTs8ae9OOfbitr E671o8Vm2eNABOZU9iK8IbVY3AbWKbphyVXRrLYmRayJbrgvd9NFEDaLGhX0v2UibthR R5qacC8Adafv8OvYdXoJSIBr1JrULGZRT/tRyrxKv9IkgahkxyA7lB0aRBQmUyM6n75W 2Oyt7u67u54KS5xZSrUqoy5PMDnzhoMEtlOQk8vwC+L8NBupi71PWzYb0B839fFjWJ4u 8g== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by aserp2120.oracle.com with ESMTP id 301m49g8c5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Mar 2020 16:12:01 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02RG7wBZ092575; Fri, 27 Mar 2020 16:12:01 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3030.oracle.com with ESMTP id 3006rajfks-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Mar 2020 16:12:01 +0000 Received: from abhmp0014.oracle.com (abhmp0014.oracle.com [141.146.116.20]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 02RGBsmS032736; Fri, 27 Mar 2020 16:11:55 GMT MIME-Version: 1.0 Message-ID: <838dd0d2-d8f6-4959-9cf1-c56dacfb3edc@default> Date: Fri, 27 Mar 2020 09:11:53 -0700 (PDT) From: Drew Adams To: Juri Linkov Subject: RE: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete References: <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <50a18609-79bd-44c6-b6cd-88f8ba3ba596@default> <87r1xgf6a9.fsf@mail.linkov.net> <87a742bt82.fsf@mail.linkov.net> In-Reply-To: <87a742bt82.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4966.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9573 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 adultscore=0 suspectscore=18 phishscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003270144 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9573 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 clxscore=1015 bulkscore=0 impostorscore=0 suspectscore=18 spamscore=0 adultscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 lowpriorityscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003270144 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > The whole keymap of VC-dired has the meaning of VC stuff. That would be fine, if it didn't trounce Dired key bindings. > > See "all", above. `* v' as a _prefix_ key, for marking > > stuff in VC-dired. And this is an example - marking > > unregistered stuff (presumably). >=20 > The prefix `v' is redundant in VC-dired. It's to pull VC-dired bindings away from Dired bindings, i.e., not let them interfere. > >> > E.g., use `* v u' for `vc-dir-mark-unregistered'. `* v' > >> > is currently undefined for Dired, and that way Dired > >> > sacrifices only `* v', for possible Dired marking commands. >=20 > In Dired `dired-unmark' is bound to `u'. Why Dired needs another > key sequence `* u' that is longer to type. Since it makes no sense > to use `* u' in Dired, this key can be used in VC-dired for other > purposes. "Since it makes no sense..." No. It makes sense. Dired has long had that, and similar "redundancies", so that all marking stuff is on *, all regexp stuff is on %, etc. VC-dired can use any keys it likes, as soon as it uses only its own prefix key. Separate it from Dired - don't let it interfere - and you can use whatever you like in its map. That's the point. From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 27 18:41:20 2020 Received: (at 34949) by debbugs.gnu.org; 27 Mar 2020 22:41:20 +0000 Received: from localhost ([127.0.0.1]:33473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHxfD-0004ML-R9 for submit@debbugs.gnu.org; Fri, 27 Mar 2020 18:41:20 -0400 Received: from mail-wr1-f42.google.com ([209.85.221.42]:34334) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHxfC-0004M4-6g for 34949@debbugs.gnu.org; Fri, 27 Mar 2020 18:41:18 -0400 Received: by mail-wr1-f42.google.com with SMTP id 65so13583405wrl.1 for <34949@debbugs.gnu.org>; Fri, 27 Mar 2020 15:41:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=aW4Kfx5qtypDgjWCE9ZwQnvpDly+0y4BqUVgiyQS9T8=; b=YmrLFrHkvLhGe5KFoiAUNAJy5Sf1cbLTuC6s8XiPjaCzcQSAcHjmqX5cRH4B2Dm7C/ /9gG4IFrwAdqT1NkRePVF98HtnTaIEajX6ozFJY7its30Xd0QScfm3KC7snVbSRpZIcq QXhLkb8yvl0yfgO8HTZT/DrUHVlRfToB6Ds6+bKe7BSyUPpUOx67t+IKOqGjhieiBbBF ZqqXcWhXqSw5ydomV3xkCpsjcxGaOWORnGZ/L05QejCw49PFjUhup3savku81o7IlyDD dgkD+hcR0vXQTtewGcaOYcNL6KNgs229qySNdr2hoxMcMiB1e/BfTmMkTD/liC/TIapA l5JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=aW4Kfx5qtypDgjWCE9ZwQnvpDly+0y4BqUVgiyQS9T8=; b=BMtExtt7RWODme920vDR4D4C0aWIb149NDbq24p6posXi8jMSNkvyP/2Fx/uEPbOfX Ev2o07zyP5dgEfYuc5aOD8gkKzJM/fFRHrmlThfSTkjOXcLHfjmMRJEtLHbtSOnoLVFu ou2ruHBmytAF0LjhW3ZYneaVKVS5K2RIz9rGVWfsduBnW6iAYeiPBY3Q9Wb5mNlm5UzI 8A7RjSC1UL0pqosWWnwo7WL5uVI5AN11bOmzZ7ibB1A5HbP9WPddbJaRPczZQistCwif WwM38nn1kmO6QR+Y3A1pgbf4YwZvvCcaZus1sJJz6psa1eWKd+Z5UjdT/1Ws/D2pqmJz iZ5Q== X-Gm-Message-State: ANhLgQ1SidUnMCynnWITZDfuZcRwW4yASRF30P5sHP8ZXuERvSYbtj2e n1sGwwsR+lV/wYQyKryCyWKuhhwa X-Google-Smtp-Source: ADFU+vv8l71sqOYcVzHdC9UYfG3rlrjcTr/wPIOzMsiqYvMuMtJjXIvG2o/WPx27SZ03istlZO2QHQ== X-Received: by 2002:a5d:4290:: with SMTP id k16mr1751584wrq.406.1585348872007; Fri, 27 Mar 2020 15:41:12 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id i21sm10385142wmb.23.2020.03.27.15.41.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 27 Mar 2020 15:41:11 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <87sgizy16y.fsf@mail.linkov.net> <1f31a329-eaee-f704-9a58-1b048a6ee636@yandex.ru> <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> Date: Sat, 28 Mar 2020 00:41:09 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <874kuci4tx.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 25.03.2020 22:59, Juri Linkov wrote: >> Then VC-Dir could provide, for example: >> >> * r vc-dir-mark-registered >> * u vc-dir-mark-unregistered >> ... > This is implemented as well: Here's a somewhat more subtle option for your consideration: Personally, I'm likely to never use vc-dir-mark-unregistered because I tend to leave unregistered files around (ones that should really be in gitignore, but it's a pain to add them). And adding unregistered files one-by-one is not too much trouble, it's a relatively rare operation (or you can always use 'M'). So I would leave that command unbound. Marking "registered" files, though, could be made more streamlined. Right now I have to navigate to files in all different statuses present in the current repo and press 'M' for each status. However! vc-dir-mark-all-files has a special behavior when it's called with C-u: it tries to mark all files in the current VC-Dir buffer. Which is pretty useless when we also have files in incompatible statuses because vc-next-action fails with that fileset. So what we could do, is have vc-dir-mark-all-files call vc-dir-mark-registered in that case instead. This way the former command becomes significantly more useful, and the latter one doesn't really need a separate key binding. And I'm sure 'C-u M' would become quite handy. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 29 14:41:58 2020 Received: (at 34949) by debbugs.gnu.org; 29 Mar 2020 18:41:58 +0000 Received: from localhost ([127.0.0.1]:59767 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jIcsf-0006Dz-VR for submit@debbugs.gnu.org; Sun, 29 Mar 2020 14:41:58 -0400 Received: from mail-wr1-f45.google.com ([209.85.221.45]:35803) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jIcsd-0006Dj-EZ for 34949@debbugs.gnu.org; Sun, 29 Mar 2020 14:41:55 -0400 Received: by mail-wr1-f45.google.com with SMTP id d5so18396800wrn.2 for <34949@debbugs.gnu.org>; Sun, 29 Mar 2020 11:41:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=4gL5o0NWeMUH/YV7tpmHuvmQ1JQPhS0kT03W8EuuRQE=; b=Qe4JGrXxYzsgJ0TttjBvDAol3beoJRapgN+Wl55rk31eRngpY7IuHzVMCSZxdYTuqL gTMS50aUfUfxZSiZmswZgizGC+o4jHtyGaTt15aTACsydQ1fFa/pNSkFas3CpQKQ26XN yAzDL+KLrym2wZtpP19kyTaA2Fu/8BqJ9ZjqgcGJrqt5lC40JEbOTSOG2JHM6sXmTS1s tOILy2WXgWRYPKpVEaiuGOE5uTY0YVbDHCm3YuTXcLPabpwJjjLp5M0zGHZogaMvxKNm 2u8hwd+Wcodf43pLxBEOpBItOViDOF4fO9jUrIcI9aj9VFzArajzXKfwo5I3KYYsR5N3 z2Iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=4gL5o0NWeMUH/YV7tpmHuvmQ1JQPhS0kT03W8EuuRQE=; b=FejqBAY8cKlqeLFd6o1qBap9DAzrgxXt9yXjJ2p/fIHMH6WO6avHfhPy+issttUFZZ NbylZoppIZl3r2bZ7zMeDO0Jn34+j8omwKjFusxshDSyPQD7TKSACdF+vYgBE+29LTuR DXFdU7H+SWSj59vCqwY90gCVbBvJbfAh6ockcg1fdi75qzn5howxL6Ohjpcn/EipEUOS oYkeBt+18N2KN51Wx6ZjfSurzITLJvrNSfANzD2O/gocaI8GI6csEpZvj5qXcdUabwFV Lfi7mvHPQoI2uAthhdzNqAH/tue67XLDyqojtl8H3086nCpeBMuht+fQMHozAjv7/AgD IzDQ== X-Gm-Message-State: ANhLgQ0ruPQpzi7ZKHIu+/HcAhoXheZW1R9B69K5tVsVCUSPTyvi1KbO LCf4+mHneSIgC1AAZP8mp8pxgZXz X-Google-Smtp-Source: ADFU+vs+lqDv01Z/9oVoob+x/hB4nR/GDUa3OKzIVNLhLSOlG2I57sPwa6cs4i4jI2H56T4r+p6lxQ== X-Received: by 2002:a05:6000:114f:: with SMTP id d15mr11371167wrx.143.1585507309264; Sun, 29 Mar 2020 11:41:49 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id y4sm7336819wrl.40.2020.03.29.11.41.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 29 Mar 2020 11:41:48 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> Date: Sun, 29 Mar 2020 21:41:47 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <878sjkjb8p.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 29.03.2020 01:54, Juri Linkov wrote: >> Marking "registered" files, though, could be made more streamlined. Right >> now I have to navigate to files in all different statuses present in the >> current repo and press 'M' for each status. >> >> However! vc-dir-mark-all-files has a special behavior when it's called with >> C-u: it tries to mark all files in the current VC-Dir buffer. > > Or equivalent behavior is when typing 'M' at the top of VC-Dir buffer. Not exactly: here it only marks the files in the same state as the first file in the buffer. >> Which is pretty useless when we also have files in incompatible >> statuses because vc-next-action fails with that fileset. >> >> So what we could do, is have vc-dir-mark-all-files call >> vc-dir-mark-registered in that case instead. This way the former command >> becomes significantly more useful, and the latter one doesn't really need >> a separate key binding. And I'm sure 'C-u M' would become quite handy. > > I don't see a need to rely on vc-dir-mark-registered then. > vc-dir-mark-all-files could work in two passes: first to check > if there are some unregistered files, then on the second pass > ignore unregistered files and mark only registered files. > In any case the logic becomes more complicated. Um, no. This way you can't avoid marking the unregistered files when there are some in the repo. Which, as we seem to agree, is an infrequent operation, which can be done by other means: either by marking them all one-by-one, or just navigating to the first one and pressing 'M' after that. > Actually on second thought: no way since vc-dir-mark-all-files > can't guess user's intention: whether the user wants > to mark all registered files to commit them, or the user > wants to mark all unregistered files to register them. > So maybe better to leave vc-dir-mark-all-files alone? I really think we should optimize for the most frequent operation there. Otherwise, 'C-u M' remains fairly useless (but still takes up a key sequence). The fact that it can mark a set of files in incompatible statuses, and nobody has filed a bug report about that until now, likely indicates that people don't often use it. Or don't use it at all. So I suggest we make that change on master and then see whether anyone decides to complain. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 29 18:36:43 2020 Received: (at 34949) by debbugs.gnu.org; 29 Mar 2020 22:36:43 +0000 Received: from localhost ([127.0.0.1]:60050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jIgXq-0006YR-UR for submit@debbugs.gnu.org; Sun, 29 Mar 2020 18:36:43 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:51643) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jIgXp-0006YC-8A for 34949@debbugs.gnu.org; Sun, 29 Mar 2020 18:36:42 -0400 X-Originating-IP: 91.129.102.97 Received: from mail.gandi.net (m91-129-102-97.cust.tele2.ee [91.129.102.97]) (Authenticated sender: juri@linkov.net) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id A4ED91BF203; Sun, 29 Mar 2020 22:36:33 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> Date: Mon, 30 Mar 2020 01:27:29 +0300 In-Reply-To: <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> (Dmitry Gutov's message of "Sun, 29 Mar 2020 21:41:47 +0300") Message-ID: <87tv26pzji.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >>> However! vc-dir-mark-all-files has a special behavior when it's called with >>> C-u: it tries to mark all files in the current VC-Dir buffer. >> Or equivalent behavior is when typing 'M' at the top of VC-Dir buffer. > > Not exactly: here it only marks the files in the same state as the first > file in the buffer. Right, it affects only the files in the root directory. >> Actually on second thought: no way since vc-dir-mark-all-files >> can't guess user's intention: whether the user wants >> to mark all registered files to commit them, or the user >> wants to mark all unregistered files to register them. >> So maybe better to leave vc-dir-mark-all-files alone? > > I really think we should optimize for the most frequent operation > there. Otherwise, 'C-u M' remains fairly useless (but still takes up a key > sequence). The fact that it can mark a set of files in incompatible > statuses, and nobody has filed a bug report about that until now, likely > indicates that people don't often use it. Or don't use it at all. Actually, marking all files with 'C-u M' is not useless. There are other VC commands that make sense to run on all marked files, e.g. search in all files marked by 'C-u M', query-replace, delete, etc. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 29 18:36:49 2020 Received: (at 34949) by debbugs.gnu.org; 29 Mar 2020 22:36:49 +0000 Received: from localhost ([127.0.0.1]:60053 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jIgXx-0006Yq-5P for submit@debbugs.gnu.org; Sun, 29 Mar 2020 18:36:49 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:49721) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jIgXs-0006YH-3A for 34949@debbugs.gnu.org; Sun, 29 Mar 2020 18:36:44 -0400 X-Originating-IP: 91.129.102.97 Received: from mail.gandi.net (m91-129-102-97.cust.tele2.ee [91.129.102.97]) (Authenticated sender: juri@linkov.net) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 6593920007; Sun, 29 Mar 2020 22:36:35 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87369xs8zn.fsf@mail.linkov.net> <87a744i4x4.fsf@mail.linkov.net> <450e81be-16dd-f2f0-98dd-02c0e0febe8f@yandex.ru> Date: Mon, 30 Mar 2020 01:35:06 +0300 In-Reply-To: <450e81be-16dd-f2f0-98dd-02c0e0febe8f@yandex.ru> (Dmitry Gutov's message of "Wed, 25 Mar 2020 23:32:56 +0200") Message-ID: <87h7y6pz6t.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> + (when (member (expand-file-name (vc-dir-fileinfo->name filearg)) >> + mark-files) > > So MARK-FILES should all be absolute names? That should probably > be documented. I documented this and pushed to master. Also renamed arg 'observer' to 'not-state-changing' and documented it too. So this bug report can be closed now. From juri@linkov.net Sat Mar 28 20:10:18 2020 Received: (at 34949) by debbugs.gnu.org; 30 Mar 2020 02:35:34 +0000 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:4017) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jILWs-00048o-Bv for 34949@debbugs.gnu.org; Sat, 28 Mar 2020 20:10:18 -0400 X-Originating-IP: 91.129.96.173 Received: from mail.gandi.net (m91-129-96-173.cust.tele2.ee [91.129.96.173]) (Authenticated sender: juri@linkov.net) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id D827A240005; Sun, 29 Mar 2020 00:10:11 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> Date: Sun, 29 Mar 2020 01:54:22 +0200 In-Reply-To: <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> (Dmitry Gutov's message of "Sat, 28 Mar 2020 00:41:09 +0200") Message-ID: <878sjkjb8p.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Mar 2020 00:10:18 -0000 >>> * r vc-dir-mark-registered >>> * u vc-dir-mark-unregistered >>> ... >> This is implemented as well: > > Here's a somewhat more subtle option for your consideration: > > Personally, I'm likely to never use vc-dir-mark-unregistered because I tend > to leave unregistered files around (ones that should really be in > gitignore, but it's a pain to add them). And adding unregistered files > one-by-one is not too much trouble, it's a relatively rare operation (or > you can always use 'M'). So I would leave that command unbound. Indeed, marking unregistered files should not be a frequent operation. > Marking "registered" files, though, could be made more streamlined. Right > now I have to navigate to files in all different statuses present in the > current repo and press 'M' for each status. > > However! vc-dir-mark-all-files has a special behavior when it's called with > C-u: it tries to mark all files in the current VC-Dir buffer. Or equivalent behavior is when typing 'M' at the top of VC-Dir buffer. > Which is pretty useless when we also have files in incompatible > statuses because vc-next-action fails with that fileset. > > So what we could do, is have vc-dir-mark-all-files call > vc-dir-mark-registered in that case instead. This way the former command > becomes significantly more useful, and the latter one doesn't really need > a separate key binding. And I'm sure 'C-u M' would become quite handy. I don't see a need to rely on vc-dir-mark-registered then. vc-dir-mark-all-files could work in two passes: first to check if there are some unregistered files, then on the second pass ignore unregistered files and mark only registered files. In any case the logic becomes more complicated. Actually on second thought: no way since vc-dir-mark-all-files can't guess user's intention: whether the user wants to mark all registered files to commit them, or the user wants to mark all unregistered files to register them. So maybe better to leave vc-dir-mark-all-files alone? From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 30 15:53:42 2020 Received: (at 34949) by debbugs.gnu.org; 30 Mar 2020 19:53:42 +0000 Received: from localhost ([127.0.0.1]:35115 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jJ0Te-00021L-9Q for submit@debbugs.gnu.org; Mon, 30 Mar 2020 15:53:42 -0400 Received: from mail-wr1-f43.google.com ([209.85.221.43]:38809) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jJ0Td-000216-Ds for 34949@debbugs.gnu.org; Mon, 30 Mar 2020 15:53:41 -0400 Received: by mail-wr1-f43.google.com with SMTP id s1so23170773wrv.5 for <34949@debbugs.gnu.org>; Mon, 30 Mar 2020 12:53:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=jxmdSk8laza9uxq9as8HvaMBSjH/aXj9+6Jhb9bawDI=; b=ZwREbi3Kb6D+g7UU8E/k9YJU4n0AMPFKIb/AFYKCt/sjWqwOheXFCfqatBuLsl3klW ilajRWYieQHIXJNJP+dwPJdB5/y0YJ/6c6sWZOI6kB4mFEvGYVrs2rCthGcRalXerH7h /tYCGt7BqIsp+aj9jw6oLEOvtJBeXdOXEjcpVS+NCwJCHTThXQlpoi7mWeXSjLM3xYAh xCGqMmspiD+RPxYyubUmxGpJpNJlKAFokyV4lFqbk6YdR43TRaa8+nyZao4SLInSfNcH KenphmEri42SRIFxUJxOjdKJBBXqfoHD3smqH0bf45xG/G0j7i+3tumW/0qR0d+z/uP3 lzwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=jxmdSk8laza9uxq9as8HvaMBSjH/aXj9+6Jhb9bawDI=; b=nGhGjSofDsqAtyjViydLLcUpPPkH8tamn0+mf1HSlORuGV+vz+u0Y5x+qE2SG+ypKY 6bfOjP+H4kJFQYWsAvE0nDw5HKIJGDo/FMiFfIaHPMOY0m5W/GkoB6p+zYa3JG1AnLQa iyy2ZMTpUc4Tp+EOL72AbYs3LRFkCiPqvV/0yNM3U/UneAnl8ShduIgsjQOqv5Q4XrNk R4p0wRMMLgn8nNGUwhGGVzG2wYV+Y6RXNvHlDmX8u8fjMF7QwdEGvgwe5vGcBwAlVF05 Xa31j6PQjxJeQzZl5OI1Mw6C7B4WFlKTrW5v3rlDXY9SmrTlk4BflOazOBzy5lQK0vmt Ja0w== X-Gm-Message-State: ANhLgQ3YLMNwt57rFGWRXBeRGvUbjp1D1OHekdwcvZbZtpyBplHQNgjx er/EwkRP4hFYoHjzL3+D5Bb16dYj X-Google-Smtp-Source: ADFU+vsY8WpSlVNpPQ527XNfwoLOdMARk6el+zL0XonSyCzN2GvQsgeXVtzFQtqyfCX/xuW/LZPuwg== X-Received: by 2002:adf:ff8b:: with SMTP id j11mr17379257wrr.117.1585598015203; Mon, 30 Mar 2020 12:53:35 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id w204sm770199wma.1.2020.03.30.12.53.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 30 Mar 2020 12:53:34 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <87fteyl64x.fsf@mail.linkov.net> <47fcc86a-a884-0658-d1cb-8666704924e8@yandex.ru> <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87369xs8zn.fsf@mail.linkov.net> <87a744i4x4.fsf@mail.linkov.net> <450e81be-16dd-f2f0-98dd-02c0e0febe8f@yandex.ru> <87h7y6pz6t.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: Date: Mon, 30 Mar 2020 22:53:32 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <87h7y6pz6t.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 30.03.2020 01:35, Juri Linkov wrote: > I documented this and pushed to master. Also renamed arg > 'observer' to 'not-state-changing' and documented it too. > So this bug report can be closed now. Agreed, and thank you. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 30 16:01:45 2020 Received: (at 34949) by debbugs.gnu.org; 30 Mar 2020 20:01:45 +0000 Received: from localhost ([127.0.0.1]:35126 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jJ0bR-0002Fv-AO for submit@debbugs.gnu.org; Mon, 30 Mar 2020 16:01:45 -0400 Received: from mail-wr1-f50.google.com ([209.85.221.50]:42077) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jJ0bQ-0002Fj-0U for 34949@debbugs.gnu.org; Mon, 30 Mar 2020 16:01:44 -0400 Received: by mail-wr1-f50.google.com with SMTP id h15so23189108wrx.9 for <34949@debbugs.gnu.org>; Mon, 30 Mar 2020 13:01:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=Y9DI4akbnOi4OfZ9mUlEYMWtxmurwMaDAUte/WbDtTE=; b=BA8X50jhBBReRmJhqgpZV1WqLV8Knlav8gPe7wPjI8XviZI0jn8z/7xDlE+0qceLoA 2vn3aob/kEF646vlrK1HW0fYMUzk2JuIB8JYFYJYFh5xYKksANw/q0cJzgVptLKwTCiN xnP1n6VM1T7tvwdrRNdDxIOGg7U4hPkgpM08l+eDpzu0wdUIZf5mcwTohhJEnAexEnId i5q+GBl406CiV8ArsLf8adL8XAiaZ6QixFZp6HX42mfuNQDsOwnlMDHzHTbz3mYRYobI 1WhuOhbTx/I0M9/JrXmkv+RE+nrw/U+xu2uSzgiLyoD2DpEf6mqpeOJT6AWOGzBXAJUX 37Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Y9DI4akbnOi4OfZ9mUlEYMWtxmurwMaDAUte/WbDtTE=; b=YWzRE8Tf/AzpDMEzVaNvqSis3ZR9rDcW0xzfL4H/JPRWX93Tnw2pTtHzFmG95E1CSr QhvaSg/9aP0Im9S97pwaIMocxBLitoZQUCAS34femoYinmhpLPHzWnC3LhblfgFBpsYf qWDx0e6yjfzTkMjryRNZ+P3v1jMeQrR1AGh1DVFPYlv4ah+BM6IDyJz8fB/O/+gANaRq IqqRd46cgKAC7HqGABPyrbnuFY7lbr1mjx7f3sELw8IGTPJN1aUraLf9eVPBWEiTDbd0 7kAAOmbag5KgtcsuxgpIxZaG07AokoD4vVq52hWZNssdJCFacpatDyIQoElPiKQAASF+ q/HQ== X-Gm-Message-State: ANhLgQ2VKXLBQuScRqU/w33MlBDH4Ot3mbfHq+cZqJ2CGf6tjmAgdTEX p4cBkv24YsJutRcuhzrG09Zz6vC9 X-Google-Smtp-Source: ADFU+vtG9BhYGuEM9AtrC5a8N88J6CYBZXTDwWvIeaAsAgH5fI45m2s0f4260FuKPHOOsXwHSJlqIQ== X-Received: by 2002:a5d:6a82:: with SMTP id s2mr17034777wru.205.1585598497831; Mon, 30 Mar 2020 13:01:37 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id j124sm719391wmb.25.2020.03.30.13.01.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 30 Mar 2020 13:01:37 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <87o8tkgbe2.fsf@mail.linkov.net> <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> Date: Mon, 30 Mar 2020 23:01:35 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <87tv26pzji.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 30.03.2020 01:27, Juri Linkov wrote: >>>> However! vc-dir-mark-all-files has a special behavior when it's called with >>>> C-u: it tries to mark all files in the current VC-Dir buffer. >>> Or equivalent behavior is when typing 'M' at the top of VC-Dir buffer. >> >> Not exactly: here it only marks the files in the same state as the first >> file in the buffer. > > Right, it affects only the files in the root directory. Ah, right. Indeed. >> I really think we should optimize for the most frequent operation >> there. Otherwise, 'C-u M' remains fairly useless (but still takes up a key >> sequence). The fact that it can mark a set of files in incompatible >> statuses, and nobody has filed a bug report about that until now, likely >> indicates that people don't often use it. Or don't use it at all. > > Actually, marking all files with 'C-u M' is not useless. There are > other VC commands that make sense to run on all marked files, e.g. > search in all files marked by 'C-u M', query-replace, delete, etc. Hmm, you might be right. If we're sure that people do take advantage of that, let's keep it. We could tweak it a little, though. Like: M -> mark all files in the same status C-u M -> mark all registered files C-u C-u M -> mark all files in the vc-dir buffer Or bind vc-dir-mark-registered to a new char indeed, e.g. 'r'. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 30 18:53:59 2020 Received: (at 34949) by debbugs.gnu.org; 30 Mar 2020 22:53:59 +0000 Received: from localhost ([127.0.0.1]:35239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jJ3I6-0002ta-PW for submit@debbugs.gnu.org; Mon, 30 Mar 2020 18:53:59 -0400 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:53167) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jJ3I3-0002su-KT for 34949@debbugs.gnu.org; Mon, 30 Mar 2020 18:53:56 -0400 X-Originating-IP: 91.129.102.97 Received: from mail.gandi.net (m91-129-102-97.cust.tele2.ee [91.129.102.97]) (Authenticated sender: juri@linkov.net) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 5A5CEFF802; Mon, 30 Mar 2020 22:53:47 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> Date: Tue, 31 Mar 2020 01:40:04 +0300 In-Reply-To: <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> (Dmitry Gutov's message of "Mon, 30 Mar 2020 23:01:35 +0300") Message-ID: <87a73xsbzv.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain >> Actually, marking all files with 'C-u M' is not useless. There are >> other VC commands that make sense to run on all marked files, e.g. >> search in all files marked by 'C-u M', query-replace, delete, etc. > > Hmm, you might be right. If we're sure that people do take advantage of > that, let's keep it. > > We could tweak it a little, though. Like: > > M -> mark all files in the same status > C-u M -> mark all registered files > C-u C-u M -> mark all files in the vc-dir buffer Too messy to overload the binding with long prefixes with different meanings. > Or bind vc-dir-mark-registered to a new char indeed, e.g. 'r'. Better to bind to the mnemonic key '* r' as in this patch. I still don't understand why Drew insists on 100% compatibility between Dired and VC-Dir - they already diverged: 'M' in Dired doesn't mark files like it does in VC-Dir. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-dir-mark-registered-files.patch diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index ab5943917b..0c9e656add 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -147,6 +147,12 @@ vc-dir-menu-map '(menu-item "Unmark Previous " vc-dir-unmark-file-up :help "Move to the previous line and unmark the file")) + (define-key map [mark-unregistered] + '(menu-item "Mark Unregistered" vc-dir-mark-unregistered-files + :help "Mark all files in the unregistered state")) + (define-key map [mark-registered] + '(menu-item "Mark Registered" vc-dir-mark-registered-files + :help "Mark all files in the state edited, added or removed")) (define-key map [mark-all] '(menu-item "Mark All" vc-dir-mark-all-files :help "Mark all files that are in the same state as the current file\ @@ -310,6 +316,10 @@ vc-dir-mode-map (define-key branch-map "l" 'vc-print-branch-log) (define-key branch-map "s" 'vc-retrieve-tag)) + (let ((mark-map (make-sparse-keymap))) + (define-key map "*" mark-map) + (define-key mark-map "r" 'vc-dir-mark-registered-files)) + ;; Hook up the menu. (define-key map [menu-bar vc-dir-mode] `(menu-item @@ -707,6 +717,27 @@ vc-dir-mark-files t)) vc-ewoc)) +(defun vc-dir-mark-state-files (states) + "Mark files that are in the state specified by the list in STATES." + (unless (listp states) + (setq states (list states))) + (ewoc-map + (lambda (filearg) + (when (memq (vc-dir-fileinfo->state filearg) states) + (setf (vc-dir-fileinfo->marked filearg) t) + t)) + vc-ewoc)) + +(defun vc-dir-mark-registered-files () + "Mark files that are in one of registered state: edited, added or removed." + (interactive) + (vc-dir-mark-state-files '(edited added removed))) + +(defun vc-dir-mark-unregistered-files () + "Mark files that are in unregistered state." + (interactive) + (vc-dir-mark-state-files 'unregistered)) + (defun vc-dir-unmark-file () ;; Unmark the current file and move to the next line. (let* ((crt (ewoc-locate vc-ewoc)) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 30 19:22:52 2020 Received: (at 34949) by debbugs.gnu.org; 30 Mar 2020 23:22:53 +0000 Received: from localhost ([127.0.0.1]:35256 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jJ3k4-0003gU-MB for submit@debbugs.gnu.org; Mon, 30 Mar 2020 19:22:52 -0400 Received: from mail-wm1-f41.google.com ([209.85.128.41]:38070) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jJ3k3-0003gF-6j for 34949@debbugs.gnu.org; Mon, 30 Mar 2020 19:22:51 -0400 Received: by mail-wm1-f41.google.com with SMTP id f6so649578wmj.3 for <34949@debbugs.gnu.org>; Mon, 30 Mar 2020 16:22:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=2iVmmDVcm/I0MiRCZDV6wzKvpUeNn9yvSJrqPDDSC1c=; b=EqYgwpas0LsPluWK5ET6iL/zrY0mln9EHCvWIJzKG1c7Ucufqagfz97KYKojSYabML 93Hxf6Grg27q3qwDB+lE6M88XUggcwk+P3o6z1k6TrdzgZAjbjnZtV+LWJqLgRyCXsI/ 42MqUFNWNzTRaGSIzeDoisGrs/5r9YXDGTYcDke/AiqTkhEDwua2fIg36j+noGN4QJox cfFV0cJcCbAA5BuC4sgEfH7d9O52z3/h9RQIgLS00oHuKf3t7d95s3uUVT4cM8UfaIZd P1zgnu8WS7E6WMD8ikbKSVL7F/p+9Dpo7paPiIy4a+oYgRwP+aM8rnIoSoT/jj/pOjB5 0Vbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=2iVmmDVcm/I0MiRCZDV6wzKvpUeNn9yvSJrqPDDSC1c=; b=CGjcP1yBfYk7AwBZY05TZ70uBDWkl+XXBBIxtKHjHcSI6zVxcbJhNi29kTTEOdmYYe zOu/SqpaGu/c2xFqqBJ/YH5wn04+MH0tSw9Oc7o+8eYFmqz781Pi2xBQv1R3AJvL2IW7 Xn1NeTPMZSXmB/Na7flord7bs1DZP1QUMc1FLnAVwsZMdXajZSfuGB1ljz4lG4KT9u1X hjQIzlI7Izljg4E+6KZyL/AcocvtUsPZvCp/cHT6sF8icxTg1zN0vklj2jEPlR8ZlnAl DjWQXqztBekcMrlioJSE2grFSi/rni6FzYvU5lVkxSMmlyIyEFCDNQbOH+2YtkhleVAx CkKw== X-Gm-Message-State: ANhLgQ1bWNVL+hucSvpV4vEkGmnCC5pJ9vx4qrwNtbYe2LAD4qHP8lbC E7FNlFfHrgNpbQFJxGXtNHwVYkvA X-Google-Smtp-Source: ADFU+vtuhe46350y+5KBwssDQR3fu5nuuI1+6MXehUjP9DjcSuHca65n++oARSjOMVAOknXRL7w7vA== X-Received: by 2002:a1c:b743:: with SMTP id h64mr458843wmf.88.1585610565025; Mon, 30 Mar 2020 16:22:45 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id g127sm1386633wmf.10.2020.03.30.16.22.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 30 Mar 2020 16:22:44 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73xsbzv.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <7db441b1-a79b-91fc-6d7a-166547534ef4@yandex.ru> Date: Tue, 31 Mar 2020 02:22:42 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <87a73xsbzv.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 31.03.2020 01:40, Juri Linkov wrote: >> We could tweak it a little, though. Like: >> >> M -> mark all files in the same status >> C-u M -> mark all registered files >> C-u C-u M -> mark all files in the vc-dir buffer > > Too messy to overload the binding with long prefixes with different meanings. *shrug* I think it makes sense: each consecutive C-u press makes us mark more files. With pre-existing 'M' binding, I think that makes sense. >> Or bind vc-dir-mark-registered to a new char indeed, e.g. 'r'. > > Better to bind to the mnemonic key '* r' as in this patch. That's not too bad either. > I still don't understand why Drew insists on 100% compatibility > between Dired and VC-Dir - they already diverged: > 'M' in Dired doesn't mark files like it does in VC-Dir. I wouldn't worry about this too much. But you can make a mini-poll in emacs-devel. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 30 21:02:38 2020 Received: (at 34949) by debbugs.gnu.org; 31 Mar 2020 01:02:38 +0000 Received: from localhost ([127.0.0.1]:35288 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jJ5Ic-0006Iw-Ai for submit@debbugs.gnu.org; Mon, 30 Mar 2020 21:02:38 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:38788) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jJ5Ia-0006Ii-Cr for 34949@debbugs.gnu.org; Mon, 30 Mar 2020 21:02:37 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02V0rUNB097076; Tue, 31 Mar 2020 01:02:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=b1pikyx0e8qPdpBExnxNAeRXMoHyz9YH/tLOHgZykpI=; b=DFm8yPnKEFhk++NeAMqlSPGVNQ6+Rsg3gJe69nRNuMmE+lotvIQ8HW1fVkwSupBiGz5k d2dNLMEDl1D335QtWnAEcqEq43JhRpf/Aujl6yLaTrFjo5ZcNIbc9juy5yFzDIvwfzGF hcPv3E/KDGoWN2yy5nirZIM6Jng/0rKi1fr01LDORp9m79/L128chKyU0XUlrL+qgpUR +JkO9MkR1ICx49qv2pTuoTij/ovP4HxQIN8+8riksfcLzockEhyIV5pyUfe4WEFsjFH3 fSe8TrA6SvdgBIJJXRT1cQW4FHwPruAnxMk4q1W0cXQB5p3ETUNsMAmMOWMJy1+8Aiiq Pg== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2130.oracle.com with ESMTP id 303ceuvs44-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 31 Mar 2020 01:02:30 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02V0qnts157069; Tue, 31 Mar 2020 01:02:29 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userp3030.oracle.com with ESMTP id 302g2cxsh0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 31 Mar 2020 01:02:29 +0000 Received: from abhmp0008.oracle.com (abhmp0008.oracle.com [141.146.116.14]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 02V12L8F000553; Tue, 31 Mar 2020 01:02:21 GMT MIME-Version: 1.0 Message-ID: <8ac17544-402a-4f76-8b6a-e1d20b187ee1@default> Date: Mon, 30 Mar 2020 18:02:20 -0700 (PDT) From: Drew Adams To: Juri Linkov , Dmitry Gutov Subject: RE: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete References: <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73xsbzv.fsf@mail.linkov.net> In-Reply-To: <87a73xsbzv.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4966.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9576 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=814 spamscore=0 mlxscore=0 adultscore=0 phishscore=0 bulkscore=0 suspectscore=18 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003310004 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9576 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 adultscore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 suspectscore=18 mlxscore=0 impostorscore=0 mlxlogscore=879 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003310004 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > I still don't understand why Drew insists on 100% compatibility > between Dired and VC-Dir - they already diverged: > 'M' in Dired doesn't mark files like it does in VC-Dir. I'm not aware that I insisted on anything, let alone 100% compatibility. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 02 18:09:57 2020 Received: (at 34949) by debbugs.gnu.org; 2 Apr 2020 22:09:57 +0000 Received: from localhost ([127.0.0.1]:40886 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jK828-0002qC-OU for submit@debbugs.gnu.org; Thu, 02 Apr 2020 18:09:56 -0400 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:52413) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jK826-0002pR-Ua; Thu, 02 Apr 2020 18:09:55 -0400 X-Originating-IP: 91.129.99.85 Received: from mail.gandi.net (m91-129-99-85.cust.tele2.ee [91.129.99.85]) (Authenticated sender: juri@linkov.net) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 2700EFF804; Thu, 2 Apr 2020 22:09:46 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> Date: Fri, 03 Apr 2020 01:08:46 +0300 In-Reply-To: <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> (Dmitry Gutov's message of "Mon, 30 Mar 2020 23:01:35 +0300") Message-ID: <87a73t8rrl.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) tags 34949 fixed close 34949 28.0.50 quit > Or bind vc-dir-mark-registered to a new char indeed, e.g. 'r'. So this is what I have done now. Many things were implemented under this request and more could be done on another round of improvements, but it would be too much for the same request, so I'm closing it now. Thanks for helping to achieve progress on many stumbling blocks. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 02 20:21:48 2020 Received: (at 34949) by debbugs.gnu.org; 3 Apr 2020 00:21:48 +0000 Received: from localhost ([127.0.0.1]:40989 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jKA5j-0007XW-NF for submit@debbugs.gnu.org; Thu, 02 Apr 2020 20:21:47 -0400 Received: from mail-wr1-f52.google.com ([209.85.221.52]:37937) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jKA5i-0007X8-Hq for 34949@debbugs.gnu.org; Thu, 02 Apr 2020 20:21:47 -0400 Received: by mail-wr1-f52.google.com with SMTP id c7so6467661wrx.5 for <34949@debbugs.gnu.org>; Thu, 02 Apr 2020 17:21:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=zNJTwrBoLaOezWJ5ZJKnda4dKIsoqR7LDCXgLl2Jfro=; b=LMwnNZ/Q7vdJqjW5GD62VDxP386C72Nv+bO65ud9DKaknjHzKaXkHxjc0cS59nB/sm 5F+uReqft3kjhH3Vpjfg0EBbggMAo4jjwp4FjJCh9LDLWAEnqUiJZZ6eO8urxkow8eo0 UC3fM0xoKfdoOTM4ecT2bW3kMJWxNAkw+mE1wbL4oxzX1l5RP9N8mvYeHTTlrBuEEWcW FuV/gqpgvmefWI5V7+qAOY2nD+v1yBj/x7aUAdLtEpOei1B1Mjq8wlrwBgVCHdRpRD2C hdRSws6EST6BSfUKnujgpUb49RchOwSrWULC9D9lcCx6acXeKYPBoOmcdIrEm4Az29DJ Bxtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=zNJTwrBoLaOezWJ5ZJKnda4dKIsoqR7LDCXgLl2Jfro=; b=mCdaKEt8cPH84T9efdE0ojT0gBI896ExTjm/C9KOxN+LE7OwHBM2+J1g0DrJlpLBXp dcCTaHU0uQawSoT63hMFdmB8PXVBOti1M80DQ+fBQJdPx7dwzXaZimoZocEJhcLzb6KH PbWmv4hvF/ZrtHuOscmp1a5kr77/ZCswqlWuIkjYz7T1gkGxIjukJi3dRFrfUv5DJmcL VOrfvo1tjNb+iFrtgS8d/2E1rJLJySZvbzM+hF9zfpROhRXec7zGBGILSaP0kwXzIuOI x4VHnSLTOqiSZL5qNwObzYsHqElLy7sTYtNYrhwkkISy3O7yriOiQWDs67Ch2FAmdTeW odkA== X-Gm-Message-State: AGi0PuZNNy1h0v/jYjBV1EL1KTHkPu+rAbnl8/rl3FYU0232xqQ9Y+vC RO7MTC1Dg3aCt9JpXV3EKNoBjzUc X-Google-Smtp-Source: APiQypJooDUwoPtYqTFutRdQ7Tw9ywEfEw32CWI/PEtNAgJ0RNXr8Nc+lsgL5jjo29GAYmESXbqkzA== X-Received: by 2002:a5d:4003:: with SMTP id n3mr5737784wrp.176.1585873299510; Thu, 02 Apr 2020 17:21:39 -0700 (PDT) Received: from [192.168.0.2] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id f62sm8782252wmf.44.2020.04.02.17.21.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Apr 2020 17:21:38 -0700 (PDT) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov References: <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: <280282b1-85d6-1157-8038-93d20b5b9189@yandex.ru> Date: Fri, 3 Apr 2020 03:21:36 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <87a73t8rrl.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 03.04.2020 01:08, Juri Linkov wrote: > tags 34949 fixed > close 34949 28.0.50 > quit > >> Or bind vc-dir-mark-registered to a new char indeed, e.g. 'r'. > > So this is what I have done now. I rather meant binding to 'r' directly instead of '* r' if we only add one binding. With '* r', we can just as well add '* u' now. Up to you, of course. > Many things were implemented under this request > and more could be done on another round of improvements, > but it would be too much for the same request, > so I'm closing it now. > > Thanks for helping to achieve progress on many stumbling blocks. Thank you. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 03 16:09:19 2020 Received: (at 34949) by debbugs.gnu.org; 3 Apr 2020 20:09:19 +0000 Received: from localhost ([127.0.0.1]:43240 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jKScx-0002aU-HZ for submit@debbugs.gnu.org; Fri, 03 Apr 2020 16:09:19 -0400 Received: from mail-ot1-f52.google.com ([209.85.210.52]:41293) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jKScu-0002Zn-ME for 34949@debbugs.gnu.org; Fri, 03 Apr 2020 16:09:17 -0400 Received: by mail-ot1-f52.google.com with SMTP id f52so8597857otf.8 for <34949@debbugs.gnu.org>; Fri, 03 Apr 2020 13:09:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=0NuN7Y4fU8e4OPejIXN83D091Dc+LB/G22Dd/48HsQc=; b=VQ5G6eQNhtRhx40S2fKcZvOgt7qPyLipzRETqOXFZgBWf4Vxxpp6Yj+cwp7MT1vu3q mWSabOmpfg8QZswUIPTgaCe5aY+uR12Yoh8wLr79wxDWQeGoIv6P2p62rXT/2VNw1Fmy j3rNphKMt8Ubixw3wY73NYUd3hMeoE+IWkq0bLHWuy20JMrOzq2NX9u37sjm0GXSC2+t w7h2iexdC/r+RLNIsLgfGW0HZRxojlDHz5hfNOujDzkWmB79Asw0mTkHTW6T5O8/DyzS +gSaUTzNbvdj5Nd4rTeKvWxupcQsulT9kJfzoNbxqRXve8j4YUPCERDNq4olWX0N6u0s lBCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0NuN7Y4fU8e4OPejIXN83D091Dc+LB/G22Dd/48HsQc=; b=JvY1x8XlfVy6wsRQrQneXQ9gt6dPlsZCs7KAmtbhHiX2cUJTcuY62fxWnkHU6eMl0b 7Ambvrfj/VpBLteKTHtF6ZVIuSQS5Y03i/qnUcIwi8zzgErwwqh3MFTnx2Jx7tojXREc sODx1QpIM0KaDpxPhs+MiGtWgw3IIfFSz/iaiADn5PtVcWxvlvTABjd86u1QM16UdaDF feAzwYEYvx+9eaiu2u1W+nccyrErCh5qjOG4s0H4nxPli6nIvbLCh+6mFIDPo6NSnUCK m1e0zHBPIHyqdgZaTj6cTWIXFlOeplDrCipeTZfBtn8C8fyR0SxapcpmKd81kxYu3CM/ EaNg== X-Gm-Message-State: AGi0PuatkmmVxYtQipWK2KBlfHXoiHcVy7CbRhO/OEEOwGumBClhZuwi KpuVHzoczKO7FLVocsN+AuvRGDVxwpt7wcvpMOI= X-Google-Smtp-Source: APiQypI2w5aFbbUeC7chKDhUyCmdW3zXFpAMC4TC+QWxIPx+peUNJZ2HnaJATyF70/14e4fqF9RPZ7GxoRZLKTQx5ME= X-Received: by 2002:a9d:355:: with SMTP id 79mr7497507otv.174.1585944550909; Fri, 03 Apr 2020 13:09:10 -0700 (PDT) MIME-Version: 1.0 References: <8736avy640.fsf@mail.linkov.net> <76e52ade-bb44-427a-0910-3fe3cf65bf6d@yandex.ru> <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> In-Reply-To: <87a73t8rrl.fsf@mail.linkov.net> From: Philipp Stephani Date: Fri, 3 Apr 2020 22:08:59 +0200 Message-ID: Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Am Fr., 3. Apr. 2020 um 00:10 Uhr schrieb Juri Linkov : > > tags 34949 fixed > close 34949 28.0.50 > quit > > > Or bind vc-dir-mark-registered to a new char indeed, e.g. 'r'. > > So this is what I have done now. > > Many things were implemented under this request > and more could be done on another round of improvements, > but it would be too much for the same request, > so I'm closing it now. > I haven't followed this bug that closely, but it seems the initial issue about the undocumented arguments and return values of vc-deduced-fileset isn't addressed yet. At least on both master and emacs-27 these topics are still not documented. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 04 19:58:27 2020 Received: (at 34949) by debbugs.gnu.org; 4 Apr 2020 23:58:27 +0000 Received: from localhost ([127.0.0.1]:44966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jKsgF-0001Bq-0M for submit@debbugs.gnu.org; Sat, 04 Apr 2020 19:58:27 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:49599) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jKsgC-0001BH-PQ for 34949@debbugs.gnu.org; Sat, 04 Apr 2020 19:58:25 -0400 X-Originating-IP: 91.129.99.85 Received: from mail.gandi.net (m91-129-99-85.cust.tele2.ee [91.129.99.85]) (Authenticated sender: juri@linkov.net) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 0665620003; Sat, 4 Apr 2020 23:58:16 +0000 (UTC) From: Juri Linkov To: Philipp Stephani Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> Date: Sun, 05 Apr 2020 02:37:52 +0300 In-Reply-To: (Philipp Stephani's message of "Fri, 3 Apr 2020 22:08:59 +0200") Message-ID: <87v9me960f.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> Many things were implemented under this request >> and more could be done on another round of improvements, >> but it would be too much for the same request, >> so I'm closing it now. > > I haven't followed this bug that closely, but it seems the initial > issue about the undocumented arguments and return values of > vc-deduced-fileset isn't addressed yet. At least on both master and > emacs-27 these topics are still not documented. Thanks for the report, I checked your initial request to see what remains to do: > The docstring of `vc-deduce-fileset' doesn't describe the OBSERVER parameter. OBSERVER was renamed to NOT-STATE-CHANGING a week ago in master and described in the docstring of `vc-deduce-fileset'. > It also doesn't explain the meaning of the return values > FILESET-ONLY-FILES, STATE, and CHECKOUT-MODEL. This is hard to explain because this is internal data, I even don't know where to begin. For example, here is some code from vc-next-action that uses data returned from vc-deduce-fileset: (not (eq model 'implicit)) (eq state 'up-to-date) Do you know what 'implicit' model means here and where to find all other possible model values? Also please help to find all possible states like 'up-to-date' here. I see more states used in vc-deduce-fileset like 'missing', 'ignored', 'needs-update', but where is a complete list? From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 05 05:47:29 2020 Received: (at 34949) by debbugs.gnu.org; 5 Apr 2020 09:47:29 +0000 Received: from localhost ([127.0.0.1]:45209 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jL1sH-0006oV-K9 for submit@debbugs.gnu.org; Sun, 05 Apr 2020 05:47:29 -0400 Received: from mail-oi1-f169.google.com ([209.85.167.169]:33130) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jL1sF-0006o2-Pj for 34949@debbugs.gnu.org; Sun, 05 Apr 2020 05:47:28 -0400 Received: by mail-oi1-f169.google.com with SMTP id m14so10457139oic.0 for <34949@debbugs.gnu.org>; Sun, 05 Apr 2020 02:47:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ZCX2afRWXt5LqIAv3mQch91sF2dcrqzzuO4wBHdQyxQ=; b=e6Y8VuWlptTmTcBF/fgUbkpXyA0+/1oLTLNLfy7/i+i+cWnrMEdOJI1TcGHstjVgc8 xSc1+EOpbU+UoyDFbJbYyuLQVJGhsvHiRx5nMo4dB7maWvSmR943wayOn2Dt4Z9nu6/t dlGdPGvBjsyYT6jOyTxxt/xy9E3Pyg6bAQe4xBCSANo0PeM+5UZS3yYnEOvaezwMhcGu ih88i9oeEMAgl0DKLrmG5v1lRRDPZEC8GmyNiII1aI/QtL9i+oyddKngECfJegaiqqN7 NWE4JUMeQVt/4tehe55tzc78SaW6xZmFLwspNPg+eLVl98X8nwT7U9C6mKIA92HPXr+S IYpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ZCX2afRWXt5LqIAv3mQch91sF2dcrqzzuO4wBHdQyxQ=; b=mcaTcB9bDoN/rFj2omJWCO9ER63Ka2io49sPFNe1DrcTIvsyBNQfnpPkDeu4IWn/jD ywkrOKMpmJKsk6LvcuYM64Aj0u+mjl01yxhiVOCgGBujFnYpjdJiUDI3hA6J69cVi5uJ +w2KFb0rgTbGnOqSU/gz+i3l++9C8u/Q1Cw5NGwGlm38JwN8hGxSgh6Kd0EpyhBEOwtz cqYv3FYT5XfOD+5Qd70n9I2DAr7fR4UA7Qw4PrtiTJRZ1gLTGsGfkM3DhE0HRmj828Q+ zE2k+6O2gH2Ncwk5aGK5V9UpzBmW06jmTKUc0G/vzvJLM4GMqcDEkuG+dOKySuBHsPH2 rcFA== X-Gm-Message-State: AGi0PubKd0swi7NsN1Ct6mgRFc5cOxCv5wsHI9twqWyQS3lbenlO5vQt co2iUgJaosLc46v3yJiKnZjQ34zBRY3f64+XNdw= X-Google-Smtp-Source: APiQypJfXM240TMyJlpMlceQ/MpA+oR8cTEm7X/ml4OVO66Kb0ssbnDjeAVxI3/TMTCTglez23vupLd5HpVp+RbXYLI= X-Received: by 2002:aca:b245:: with SMTP id b66mr9178327oif.170.1586080041953; Sun, 05 Apr 2020 02:47:21 -0700 (PDT) MIME-Version: 1.0 References: <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> <87v9me960f.fsf@mail.linkov.net> In-Reply-To: <87v9me960f.fsf@mail.linkov.net> From: Philipp Stephani Date: Sun, 5 Apr 2020 11:47:10 +0200 Message-ID: Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete To: Juri Linkov Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Am So., 5. Apr. 2020 um 01:58 Uhr schrieb Juri Linkov : > > >> Many things were implemented under this request > >> and more could be done on another round of improvements, > >> but it would be too much for the same request, > >> so I'm closing it now. > > > > I haven't followed this bug that closely, but it seems the initial > > issue about the undocumented arguments and return values of > > vc-deduced-fileset isn't addressed yet. At least on both master and > > emacs-27 these topics are still not documented. > > Thanks for the report, I checked your initial request to see what > remains to do: > > > The docstring of `vc-deduce-fileset' doesn't describe the OBSERVER parameter. > > OBSERVER was renamed to NOT-STATE-CHANGING a week ago in master and > described in the docstring of `vc-deduce-fileset'. Thanks! > > > It also doesn't explain the meaning of the return values > > FILESET-ONLY-FILES, STATE, and CHECKOUT-MODEL. > > This is hard to explain because this is internal data, I even don't know > where to begin. For example, here is some code from vc-next-action > that uses data returned from vc-deduce-fileset: > > (not (eq model 'implicit)) (eq state 'up-to-date) > > Do you know what 'implicit' model means here and where to find all other > possible model values? Also please help to find all possible states like > 'up-to-date' here. I see more states used in vc-deduce-fileset like > 'missing', 'ignored', 'needs-update', but where is a complete list? Would it make sense to document these values as internal for now, similar to what we do with the 11th return value of parse-partial-sexp? From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 05 19:36:02 2020 Received: (at 34949) by debbugs.gnu.org; 5 Apr 2020 23:36:02 +0000 Received: from localhost ([127.0.0.1]:46881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLEo6-0004sN-C8 for submit@debbugs.gnu.org; Sun, 05 Apr 2020 19:36:02 -0400 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:59169) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jLEo3-0004rY-U4 for 34949@debbugs.gnu.org; Sun, 05 Apr 2020 19:36:00 -0400 X-Originating-IP: 91.129.99.85 Received: from mail.gandi.net (m91-129-99-85.cust.tele2.ee [91.129.99.85]) (Authenticated sender: juri@linkov.net) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 78D7CC0005; Sun, 5 Apr 2020 23:35:51 +0000 (UTC) From: Juri Linkov To: Philipp Stephani Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> <87v9me960f.fsf@mail.linkov.net> Date: Mon, 06 Apr 2020 02:05:11 +0300 In-Reply-To: (Philipp Stephani's message of "Sun, 5 Apr 2020 11:47:10 +0200") Message-ID: <87mu7pwn2w.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> > It also doesn't explain the meaning of the return values >> > FILESET-ONLY-FILES, STATE, and CHECKOUT-MODEL. >> >> This is hard to explain because this is internal data, I even don't know >> where to begin. For example, here is some code from vc-next-action >> that uses data returned from vc-deduce-fileset: >> >> (not (eq model 'implicit)) (eq state 'up-to-date) >> >> Do you know what 'implicit' model means here and where to find all other >> possible model values? Also please help to find all possible states like >> 'up-to-date' here. I see more states used in vc-deduce-fileset like >> 'missing', 'ignored', 'needs-update', but where is a complete list? > > Would it make sense to document these values as internal for now, > similar to what we do with the 11th return value of > parse-partial-sexp? Maybe. In this case the patch could be just: diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 0fd36b7c56..5da6edbd0c 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1027,8 +1027,8 @@ vc-deduce-fileset Otherwise, throw an error. STATE-MODEL-ONLY-FILES if non-nil, means that the caller needs -the FILESET-ONLY-FILES STATE and MODEL info. Otherwise, that -part may be skipped. +the FILESET-ONLY-FILES, STATE and MODEL internal information. +Otherwise, that part may be skipped. BEWARE: this function may change the current buffer." (let (backend) From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 09 04:41:30 2020 Received: (at 34949) by debbugs.gnu.org; 9 Apr 2020 08:41:30 +0000 Received: from localhost ([127.0.0.1]:53223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jMSkc-0006PH-Ku for submit@debbugs.gnu.org; Thu, 09 Apr 2020 04:41:30 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jMSka-0006P2-Ip for 34949@debbugs.gnu.org; Thu, 09 Apr 2020 04:41:28 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42887) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jMSkU-0002Ex-GF; Thu, 09 Apr 2020 04:41:22 -0400 Received: from [176.228.60.248] (port=1481 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jMSkT-0001l1-VU; Thu, 09 Apr 2020 04:41:22 -0400 Date: Thu, 09 Apr 2020 11:41:01 +0300 Message-Id: <83sghdnjaa.fsf@gnu.org> From: Eli Zaretskii To: Juri Linkov In-Reply-To: <87v9me960f.fsf@mail.linkov.net> (message from Juri Linkov on Sun, 05 Apr 2020 02:37:52 +0300) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete References: <87a751uonw.fsf@mail.linkov.net> <9bab3a53-ec31-3300-132f-dc1e17ee0c53@yandex.ru> <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> <87v9me960f.fsf@mail.linkov.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: p.stephani2@gmail.com, 34949@debbugs.gnu.org, larsi@gnus.org, dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Juri Linkov > Date: Sun, 05 Apr 2020 02:37:52 +0300 > Cc: Lars Ingebrigtsen , 34949@debbugs.gnu.org, > Dmitry Gutov > > > It also doesn't explain the meaning of the return values > > FILESET-ONLY-FILES, STATE, and CHECKOUT-MODEL. > > This is hard to explain because this is internal data, I even don't know > where to begin. For example, here is some code from vc-next-action > that uses data returned from vc-deduce-fileset: > > (not (eq model 'implicit)) (eq state 'up-to-date) > > Do you know what 'implicit' model means here and where to find all other > possible model values? They are documented in the doc string of 'vc-checkout-model'. > Also please help to find all possible states like > 'up-to-date' here. I see more states used in vc-deduce-fileset like > 'missing', 'ignored', 'needs-update', but where is a complete list? The full list is in the doc string of 'vc-state'. is anything else missing to document these additional return values? From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 11 19:46:27 2020 Received: (at 34949) by debbugs.gnu.org; 11 Apr 2020 23:46:27 +0000 Received: from localhost ([127.0.0.1]:57185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNPpT-0000rK-7t for submit@debbugs.gnu.org; Sat, 11 Apr 2020 19:46:27 -0400 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:52841) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNPpR-0000r5-4N for 34949@debbugs.gnu.org; Sat, 11 Apr 2020 19:46:25 -0400 X-Originating-IP: 91.129.99.85 Received: from mail.gandi.net (m91-129-99-85.cust.tele2.ee [91.129.99.85]) (Authenticated sender: juri@linkov.net) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 4ADA7FF803; Sat, 11 Apr 2020 23:46:16 +0000 (UTC) From: Juri Linkov To: Eli Zaretskii Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> <87v9me960f.fsf@mail.linkov.net> <83sghdnjaa.fsf@gnu.org> Date: Sun, 12 Apr 2020 02:38:01 +0300 In-Reply-To: <83sghdnjaa.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 09 Apr 2020 11:41:01 +0300") Message-ID: <87d08d3ct2.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: p.stephani2@gmail.com, 34949@debbugs.gnu.org, larsi@gnus.org, dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> Do you know what 'implicit' model means here and where to find all other >> possible model values? > > They are documented in the doc string of 'vc-checkout-model'. > >> Also please help to find all possible states like >> 'up-to-date' here. I see more states used in vc-deduce-fileset like >> 'missing', 'ignored', 'needs-update', but where is a complete list? > > The full list is in the doc string of 'vc-state'. > > is anything else missing to document these additional return values? Sorry, I missed these docstrings, so here's a possible patch: diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 0fd36b7c56..0bc7370a87 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1027,8 +1027,9 @@ vc-deduce-fileset Otherwise, throw an error. STATE-MODEL-ONLY-FILES if non-nil, means that the caller needs -the FILESET-ONLY-FILES STATE and MODEL info. Otherwise, that -part may be skipped. +the FILESET-ONLY-FILES, STATE and MODEL info. Otherwise, that +part may be skipped. Possible values of STATE are explained +in `vc-state', and MODEL in `vc-checkout-model'. BEWARE: this function may change the current buffer." (let (backend) From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 12 02:33:52 2020 Received: (at 34949) by debbugs.gnu.org; 12 Apr 2020 06:33:52 +0000 Received: from localhost ([127.0.0.1]:57314 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNWBk-0004XF-A6 for submit@debbugs.gnu.org; Sun, 12 Apr 2020 02:33:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45049) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNWBi-0004X3-BY for 34949@debbugs.gnu.org; Sun, 12 Apr 2020 02:33:51 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55709) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jNWBc-00023I-4x; Sun, 12 Apr 2020 02:33:44 -0400 Received: from [176.228.60.248] (port=3311 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jNWBV-0007u4-6x; Sun, 12 Apr 2020 02:33:43 -0400 Date: Sun, 12 Apr 2020 09:33:24 +0300 Message-Id: <83imi5kybv.fsf@gnu.org> From: Eli Zaretskii To: Juri Linkov In-Reply-To: <87d08d3ct2.fsf@mail.linkov.net> (message from Juri Linkov on Sun, 12 Apr 2020 02:38:01 +0300) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete References: <875zfd9lzm.fsf@mail.linkov.net> <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> <87v9me960f.fsf@mail.linkov.net> <83sghdnjaa.fsf@gnu.org> <87d08d3ct2.fsf@mail.linkov.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: p.stephani2@gmail.com, 34949@debbugs.gnu.org, larsi@gnus.org, dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Juri Linkov > Cc: p.stephani2@gmail.com, larsi@gnus.org, 34949@debbugs.gnu.org, > dgutov@yandex.ru > Date: Sun, 12 Apr 2020 02:38:01 +0300 > > Sorry, I missed these docstrings, so here's a possible patch: No need to be sorry, I'm glad I could help with this. > STATE-MODEL-ONLY-FILES if non-nil, means that the caller needs > -the FILESET-ONLY-FILES STATE and MODEL info. Otherwise, that > -part may be skipped. > +the FILESET-ONLY-FILES, STATE and MODEL info. Otherwise, that > +part may be skipped. Possible values of STATE are explained > +in `vc-state', and MODEL in `vc-checkout-model'. This still doesn't explain what FILESET-ONLY-FILES is, and the MODEL part is spelled CHECKOUT-MODEL in the list shown at the beginning of the doc string. Also, "that part may be skipped" actually means that those elements will not be in the list, and I think "skip" doesn't describe that clearly enough. Here's my take on that doc string (please double-check for accuracy): "Deduce a set of files and a backend to which to apply an operation. Return a list of the form: (BACKEND FILESET FILESET-ONLY-FILES STATE CHECKOUT-MODEL) where the last 3 members are optional, and must be present only if STATE-MODEL-ONLY-FILES is non-nil. NOT-STATE-CHANGING, if non-nil, means that the operation requesting the fileset doesn't intend to change the VC state, such as when printing the log or showing the diffs. If the current buffer is in `vc-dir' or Dired mode, FILESET is the list of marked files, or the current directory if no files are marked. Otherwise, if the current buffer is visiting a version-controlled file, FILESET is a single-file list containing that file's name. Otherwise, if ALLOW-UNREGISTERED is non-nil and the visited file is unregistered, FILESET is a single-file list containing the name of the visited file. Otherwise, throw an error. STATE-MODEL-ONLY-FILES, if non-nil, means that the caller needs the FILESET-ONLY-FILES, STATE, and CHECKOUT-MODEL info. Otherwise, these 3 members may be omitted from the returned list. BEWARE: this function may change the current buffer." Btw, the "change the current buffer" in the last sentence is ambiguous. Does it mean switch to another buffer, or does it mean modify the buffer text? I assume the former, so maybe say "may switch to another buffer" explicitly. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 12 19:54:12 2020 Received: (at 34949) by debbugs.gnu.org; 12 Apr 2020 23:54:12 +0000 Received: from localhost ([127.0.0.1]:59028 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNmQV-00077L-P5 for submit@debbugs.gnu.org; Sun, 12 Apr 2020 19:54:11 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:57861) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNmQT-000776-BF for 34949@debbugs.gnu.org; Sun, 12 Apr 2020 19:54:09 -0400 X-Originating-IP: 91.129.99.85 Received: from mail.gandi.net (m91-129-99-85.cust.tele2.ee [91.129.99.85]) (Authenticated sender: juri@linkov.net) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 6FFCC20002; Sun, 12 Apr 2020 23:54:01 +0000 (UTC) From: Juri Linkov To: Eli Zaretskii Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> <87v9me960f.fsf@mail.linkov.net> <83sghdnjaa.fsf@gnu.org> <87d08d3ct2.fsf@mail.linkov.net> <83imi5kybv.fsf@gnu.org> Date: Mon, 13 Apr 2020 02:51:17 +0300 In-Reply-To: <83imi5kybv.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 12 Apr 2020 09:33:24 +0300") Message-ID: <87blnwclfu.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: p.stephani2@gmail.com, 34949@debbugs.gnu.org, larsi@gnus.org, dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Here's my take on that doc string (please double-check for accuracy): > > "Deduce a set of files and a backend to which to apply an operation. > Return a list of the form: > > (BACKEND FILESET FILESET-ONLY-FILES STATE CHECKOUT-MODEL) > > where the last 3 members are optional, and must be present only if > STATE-MODEL-ONLY-FILES is non-nil. > > NOT-STATE-CHANGING, if non-nil, means that the operation > requesting the fileset doesn't intend to change the VC state, > such as when printing the log or showing the diffs. > > If the current buffer is in `vc-dir' or Dired mode, FILESET is the > list of marked files, or the current directory if no files are > marked. > Otherwise, if the current buffer is visiting a version-controlled > file, FILESET is a single-file list containing that file's name. > Otherwise, if ALLOW-UNREGISTERED is non-nil and the visited file > is unregistered, FILESET is a single-file list containing the > name of the visited file. > Otherwise, throw an error. > > STATE-MODEL-ONLY-FILES, if non-nil, means that the caller needs > the FILESET-ONLY-FILES, STATE, and CHECKOUT-MODEL info. Otherwise, > these 3 members may be omitted from the returned list. Everything is correct, I couldn't have said it better myself. > BEWARE: this function may change the current buffer." > > Btw, the "change the current buffer" in the last sentence is > ambiguous. Does it mean switch to another buffer, or does it mean > modify the buffer text? I assume the former, so maybe say "may switch > to another buffer" explicitly. Correct, this means switching to another buffer. The only thing I don't see in your fixed docstring are the references to possible values in `vc-state' and `vc-checkout-model'. Are they needed? From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 13 00:31:54 2020 Received: (at 34949) by debbugs.gnu.org; 13 Apr 2020 04:31:54 +0000 Received: from localhost ([127.0.0.1]:59098 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNqlF-0005V5-Nf for submit@debbugs.gnu.org; Mon, 13 Apr 2020 00:31:53 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36337) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNqlE-0005Ur-6e for 34949@debbugs.gnu.org; Mon, 13 Apr 2020 00:31:52 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42689) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jNql8-00036b-8f; Mon, 13 Apr 2020 00:31:46 -0400 Received: from [176.228.60.248] (port=2663 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jNql7-0004gi-If; Mon, 13 Apr 2020 00:31:45 -0400 Date: Mon, 13 Apr 2020 07:31:36 +0300 Message-Id: <83mu7gj9av.fsf@gnu.org> From: Eli Zaretskii To: Juri Linkov In-Reply-To: <87blnwclfu.fsf@mail.linkov.net> (message from Juri Linkov on Mon, 13 Apr 2020 02:51:17 +0300) Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete References: <87mu8mieve.fsf@mail.linkov.net> <87k13pkxdl.fsf@mail.linkov.net> <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> <87v9me960f.fsf@mail.linkov.net> <83sghdnjaa.fsf@gnu.org> <87d08d3ct2.fsf@mail.linkov.net> <83imi5kybv.fsf@gnu.org> <87blnwclfu.fsf@mail.linkov.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: p.stephani2@gmail.com, 34949@debbugs.gnu.org, larsi@gnus.org, dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Juri Linkov > Cc: p.stephani2@gmail.com, larsi@gnus.org, 34949@debbugs.gnu.org, > dgutov@yandex.ru > Date: Mon, 13 Apr 2020 02:51:17 +0300 > > The only thing I don't see in your fixed docstring are the references > to possible values in `vc-state' and `vc-checkout-model'. Are they needed? Yes, please use the text which mentions them that you proposed in your last version. Also, please say something about the FILESET-ONLY-FILES part, I didn't know what to say there. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 13 19:28:47 2020 Received: (at 34949) by debbugs.gnu.org; 13 Apr 2020 23:28:47 +0000 Received: from localhost ([127.0.0.1]:32825 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jO8VT-00074Q-36 for submit@debbugs.gnu.org; Mon, 13 Apr 2020 19:28:47 -0400 Received: from relay10.mail.gandi.net ([217.70.178.230]:53269) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jO8VR-000740-0B for 34949@debbugs.gnu.org; Mon, 13 Apr 2020 19:28:45 -0400 Received: from mail.gandi.net (m91-129-99-85.cust.tele2.ee [91.129.99.85]) (Authenticated sender: juri@linkov.net) by relay10.mail.gandi.net (Postfix) with ESMTPSA id CECD1240004; Mon, 13 Apr 2020 23:28:36 +0000 (UTC) From: Juri Linkov To: Eli Zaretskii Subject: Re: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete Organization: LINKOV.NET References: <207d4e30-aa59-b8eb-c39a-0957757f39eb@yandex.ru> <875zf6cy3w.fsf@mail.linkov.net> <9c39f788-29f1-5a68-c8f3-a4b08ae9ea3b@yandex.ru> <87lfo1dvcf.fsf@mail.linkov.net> <44cda45a-db93-f2c1-626d-9ace68cd6fd1@yandex.ru> <87y2rpqt28.fsf@mail.linkov.net> <874kuci4tx.fsf@mail.linkov.net> <786821a9-ceab-bbe8-b02a-69e77ddde426@yandex.ru> <878sjkjb8p.fsf@mail.linkov.net> <7d73cdd2-6af1-270c-1929-1bf618c304db@yandex.ru> <87tv26pzji.fsf@mail.linkov.net> <979c0191-48ce-f13f-361e-a03b3ff393a6@yandex.ru> <87a73t8rrl.fsf@mail.linkov.net> <87v9me960f.fsf@mail.linkov.net> <83sghdnjaa.fsf@gnu.org> <87d08d3ct2.fsf@mail.linkov.net> <83imi5kybv.fsf@gnu.org> <87blnwclfu.fsf@mail.linkov.net> <83mu7gj9av.fsf@gnu.org> Date: Tue, 14 Apr 2020 02:25:09 +0300 In-Reply-To: <83mu7gj9av.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 13 Apr 2020 07:31:36 +0300") Message-ID: <877dyj9dey.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 34949 Cc: p.stephani2@gmail.com, 34949@debbugs.gnu.org, larsi@gnus.org, dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> The only thing I don't see in your fixed docstring are the references >> to possible values in `vc-state' and `vc-checkout-model'. Are they needed? > > Yes, please use the text which mentions them that you proposed in your > last version. > > Also, please say something about the FILESET-ONLY-FILES part, I didn't > know what to say there. So I added references and FILESET-ONLY-FILES part, and pushed to master. From unknown Sat Jun 21 03:23:45 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 12 May 2020 11:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator