GNU bug report logs - #80722
31.0.50; Ambiguity in vc.el's dir-status-files

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Kristoffer Balintona <krisbalintona@HIDDEN>; dated Wed, 1 Apr 2026 22:22:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 80722 <at> debbugs.gnu.org:


Received: (at 80722) by debbugs.gnu.org; 6 Apr 2026 11:17:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 06 07:17:26 2026
Received: from localhost ([127.0.0.1]:45836 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1w9hxN-0001B9-Rk
	for submit <at> debbugs.gnu.org; Mon, 06 Apr 2026 07:17:26 -0400
Received: from flow-a3-smtp.messagingengine.com ([103.168.172.138]:37871)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <spwhitton@HIDDEN>)
 id 1w9hxL-0001A6-Fh
 for 80722 <at> debbugs.gnu.org; Mon, 06 Apr 2026 07:17:24 -0400
Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46])
 by mailflow.phl.internal (Postfix) with ESMTP id 091C01380573;
 Mon,  6 Apr 2026 07:17:18 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-06.internal (MEProxy); Mon, 06 Apr 2026 07:17:18 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=spwhitton.name;
 h=cc:content-type:content-type:date:date:from:from:in-reply-to
 :in-reply-to:message-id:mime-version:references:reply-to:subject
 :subject:to:to; s=fm1; t=1775474238; x=1775477838; bh=RaVRaQMtU+
 axuFpAls7BRsN9U6J44jAo8jqaAeh7hd4=; b=cZDQfd30izLwE8STs7zmMSwcPx
 dyxPvQ38G2tlh/lRZ5UKMa0jusJPJV0vu3v5KCU5IcRUD9UrOOXe/xHnqO4gyDCq
 Osfravor038bzrXnLdQAIBHUzlgVyFxkVs3SPf85Taka9up8WPwpLSvXH2XypeQk
 3drzM/JLidl7IW8eICZlQPj66R7xDDm0jt4Fi2p91cFxqqz51dkJZgKyKAtpIYnB
 iy4hqDpNaTbv5SO4aHLbSFyEhYoozx/tpaJdYKlSh//jsfiVCiQl/qKFDENt5olb
 XgRsYaMqVZ1kBlwxc+cObdh4uRM0+SCAIUjgRgnzhhYV1tQhmVBkzo0ZAMWw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-type:content-type:date:date
 :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
 :message-id:mime-version:references:reply-to:subject:subject:to
 :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
 1775474238; x=1775477838; bh=RaVRaQMtU+axuFpAls7BRsN9U6J44jAo8jq
 aAeh7hd4=; b=cSFBn7+sjmT8jvOzdxQchYMnVErkm/37Ss4cpulYwVZ0LGK+TOo
 ikcTGDcpPBMdWGOGU2EjwmknD8a8ZSIfgKNEFKl0UVJWsNL3KMhG6jyWADp9RcJ8
 Pu0ntOLsFVhE6Alrt1EJBOdDO2LeBgc5cPek3pYPLDRzbeC2S3yBjcnRhghM0G8K
 nCRTfKwhLlLZCtT1O8WXCWWE4KJHVwPVMU85GGrDkknFPt9euee4Xtm6WbtN/T2F
 /aonkZLtTq1o01eztYh44BaQX8MXsphQqIUqvhpHpNS0aXEMIBVudllqZbBfu+mb
 tvk+qB3BMFLdnBGcSi+hnTnIn0on8Y/erCQ==
X-ME-Sender: <xms:PZbTaX3_BPrps0FsJBa4TLSGQH4fcEHjO057ZG6AQSUPOibGMpUWDA>
 <xme:PZbTacG1ereqZcHywKNNwhm5jr8P_hEPy5xkkK3Mf971zgw6Fc7ZlGPZQtAp_5uz1
 P-cy_DmEgBOksK9k5Bhfd3EE6qWe7r4QuMCC9kbA5IBhCQRYGlpgIo>
X-ME-Received: <xmr:PZbTaVi_v34UIsu-5q7riKPXqdFhZgyt-ngcr-wb3kNg2E2wibvnfxdPhtvHSkXJ8xPS2S4eAQVe1pPMU9zFRVQdG34lxA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgddujeehjecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr
 ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug
 hrpefhvffujghffffkgggtsehttddttddttddtnecuhfhrohhmpefuvggrnhcuhghhihht
 thhonhcuoehsphifhhhithhtohhnsehsphifhhhithhtohhnrdhnrghmvgeqnecuggftrf
 grthhtvghrnhephefgtedvfefhffeftdeiueeufeelgeejgfdvgeffjeeghedvueeuheff
 vefhvddvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh
 epshhpfihhihhtthhonhesshhpfihhihhtthhonhdrnhgrmhgvpdhnsggprhgtphhtthho
 pedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeektdejvddvseguvggssghugh
 hsrdhgnhhurdhorhhgpdhrtghpthhtohepkhhrihhssggrlhhinhhtohhnrgesghhmrghi
 lhdrtghomh
X-ME-Proxy: <xmx:PZbTaX_Rhxo41xP2kYV2T7T4rNrPHEI-BOWAaqeVgrm0Sp1K8FmNTg>
 <xmx:PZbTacrK5n51cHZdeU-rwMhAUoGj-DLgNTldQZcwDaNQwXcJgIfLIw>
 <xmx:PZbTaW-_RR69bzV26DtPAyX8a-RQdUmgrkYXhVfMGJbyf35pxCqPiw>
 <xmx:PZbTaQXvmCXqWZtCsuEwjKITipgpq794JCvzD4dgi89hP1Cl9w_tgg>
 <xmx:PZbTafFUFJHbeRND5IHyiRHG3K_0Q0-XHKJ2F2qtn1_3CxH4KdTlwnyw>
Feedback-ID: i62564b17:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 6 Apr 2026 07:17:17 -0400 (EDT)
Received: by zephyr.silentflame.com (Postfix, from userid 1000)
 id 19A769402EE; Mon, 06 Apr 2026 12:17:15 +0100 (BST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Kristoffer Balintona <krisbalintona@HIDDEN>, 80722 <at> debbugs.gnu.org
Subject: Re: 31.0.50; Ambiguity in vc.el's dir-status-files
In-Reply-To: <CANVbq5mwZTwgoaG+kPm36L+1SF__yWcKpYr7r-nGv8D5Y1oH0A@HIDDEN>
References: <CANVbq5=GCMfjwOoim8z1jGuZSHMh_8BCW5bKz-TucCn+-L92ew@HIDDEN>
 <878qb15txh.fsf@HIDDEN>
 <CANVbq5mwZTwgoaG+kPm36L+1SF__yWcKpYr7r-nGv8D5Y1oH0A@HIDDEN>
Date: Mon, 06 Apr 2026 12:17:15 +0100
Message-ID: <8734189w3o.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 80722
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Kristoffer Balintona [05/Apr  2:04pm -05] wrote:
> On Sun, Apr 05 2026, Sean Whitton wrote:
> --text follows this line--
>> [be sure to use X-debbugs-cc not plain Cc when filing a new bug]
>
> Good to know. Will do.
>
>> Kristoffer Balintona [01/Apr  5:21pm -05] wrote:
>>> My questions are:
>>>
>>> - Is DIR the repository root? Or can it be a subdirectory of the
>>>   repository?
>>
>> It can be a subdirectory.  You can invoke vc-dir for a subdirectory of a
>> repository to see edited/removed/missing/etc. files in only that
>> subdirectory.
>
> That's what I suspected. From my perspective as someone implementing the
> method I think this is worth stating explicitly.

Okay, done that.

>>> - When FILES is nil, are files in the up-to-date and ignored states
>>>   reported on? (The following statement from the (emacs) VC Directory
>>>   Buffer Info page suggest not for up-to-date files: "Files that are
>>>   up-to-date (i.e., the same as in the repository) are omitted.")
>>
>> Good question.  I think that we should say that they are reported on.
>> Does that make sense to you?
>
> (By "reported on" I mean the dir-status-files backend function includes
> those files in the list of (FILE STATE EXTRA) passed to
> UPDATE-FUNCTION.)
>
> Hmm, I actually think the contrary: when I call 'vc-dir' on a repo, by
> default I see files not in the up-to-date and ignored states -- so they
> aren't reported on, right? Up-to-date and ignored files are only
> reported on when an existing vc-dir's file entries change states due to
> other VC operations, e.g. 'vc-checkin'.
>
> So, to sum up: my understanding is that when FILES is nil the up-to-date
> and ignored states are not reported on.

I see what you mean.  After looking at a few of our existing
implementations I added that if FILES is nil, up-to-date and ignored
files *may* be excluded.  It would be a breaking change to say that they
must, which I'd rather avoid.

>>> - Is every file in FILES relative to DIR or can those paths be absolute?
>>
>> Generally VC is not careful about this distinction, unfortunately.
>> I think you'd better program defensively and assume that they could be
>> absolete.
>
> Good to know. This is a detail I think is also worth briefly mentioning
> in the VC spec.

I'm not sure where to put it.  It's a general thing, not specific to
dir-status-files.  Any thoughts?

-- 
Sean Whitton




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80722; Package emacs. Full text available.

Message received at 80722 <at> debbugs.gnu.org:


Received: (at 80722) by debbugs.gnu.org; 5 Apr 2026 19:04:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 05 15:04:41 2026
Received: from localhost ([127.0.0.1]:34103 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1w9Slz-00060a-4H
	for submit <at> debbugs.gnu.org; Sun, 05 Apr 2026 15:04:41 -0400
Received: from mail-lf1-x129.google.com ([2a00:1450:4864:20::129]:61722)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <krisbalintona@HIDDEN>)
 id 1w9Slt-0005zB-JY
 for 80722 <at> debbugs.gnu.org; Sun, 05 Apr 2026 15:04:36 -0400
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5a2967e5de4so4399906e87.3
 for <80722 <at> debbugs.gnu.org>; Sun, 05 Apr 2026 12:04:33 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1775415871; cv=none;
 d=google.com; s=arc-20240605;
 b=OxK8hDF9TqHkhuBv5Gx9hcVGLshsZG1pVL1MudVFWpFV68gZO9pFccIz6ZNh92Q2wH
 5eTZPtYQHX8HCFq9njiYGFmO8oIhEJCXd9Xol/DnBNfxiVZ/1wE3oiRBfCI8/ApklEOQ
 FsUdTQMgGA1XOZkWxFYp0h4V/3YdS2F3U62CDQ9d4Sjod7zDJSAeD/GyhOOJm6rW3QBL
 Ij9b3BDPO4FNV25feM5dXsWFkfaK9PZGrUKwHnkVHUysDtbybREBlQ6usCSXncfKDZ3T
 uiJH08k2/1fSBWMLCT8ZP9JCZyaD6LOd265wBnTPNBIygx2D/6HOCLezY1kxQWfTe19h
 yIWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
 s=arc-20240605; 
 h=to:subject:message-id:date:mime-version:references:in-reply-to:from
 :dkim-signature;
 bh=YcLaKH+aYJmab+xMht8j+ERXEmzvY6ZVEj1hx7myz/0=;
 fh=pKZJ9MFW/bDPZ0VvzAI7mjlD7ucqrD3dK22Q2Xx5RAA=;
 b=Dpq7ghH8CiqBlXmy26MWOlSxw5X1IpskGrL2c8sz9yd1st/LzNVKf8jDsXsywdfsgW
 DKCW3XBmXDiD/C/siKL3b73A8RGT//Sf/t3AktlijSBXcbrwG2McGic5TRsQgNq3557c
 M+6OOQOAUobp0EX+PiDyY/Uc3S8ZRt6JYPylfUNm68ortuLHBwrnkrEvc4tey3j9Y6df
 eqmQ5mA3A8Jkntldk7ZGeAZJSpReM1q79CZkvGmbm0XHuJPqmOVz59OvN8ySY0NRrzIL
 bs0I6afvA8GASZ+Ui4cflIdo4dZris7ViYAH7H6qCi/JMnQBvwFOT4Bu1tBM2fwIWsH5
 2J9Q==; darn=debbugs.gnu.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20251104; t=1775415871; x=1776020671; darn=debbugs.gnu.org;
 h=to:subject:message-id:date:mime-version:references:in-reply-to:from
 :from:to:cc:subject:date:message-id:reply-to;
 bh=YcLaKH+aYJmab+xMht8j+ERXEmzvY6ZVEj1hx7myz/0=;
 b=Dx12lMIWdvjrfnZyqHjmg/5AIQE3AchIyITIAPI0ekwVRpL+bl/gB57kWNWq1Jg52U
 fQ5nBy3+DutBbMR6vvnlGSgxv+9CRahCeWC9Iy1MTxigdwmUjajzeaUWVMRW21UN9dIS
 iC4cJw9AeB8uMntxLPk8RzlgFzleFt41DcNNPoF/timMUlmkRIlmDO6gdW+/NVJnHaeN
 z3kgsHBL+hbh6HF0vvBspDp+EPFXC7YGYTJUlpiRbWpp7el06VUBpWVIfepcZXgpV6Ll
 6aHRVixAJeqzcsbd8GCrG4oOiq7tjQUMngI52Ilwq6ypWJz3yTxNFVnl+GiLvAhr10Nc
 ywUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20251104; t=1775415871; x=1776020671;
 h=to:subject:message-id:date:mime-version:references:in-reply-to:from
 :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=YcLaKH+aYJmab+xMht8j+ERXEmzvY6ZVEj1hx7myz/0=;
 b=OwPmf5ne9heq9tfErMa5qUMf2I1azy295dMbyBAD50F12y0KCNLxndQjveqGQKBuPO
 bQXzlU6tNd6c5geLQGcDYwioi/tehz2x1qkiYu98PFjDl1zaNHWlooz1IdPYcfoSiLkW
 LgVeq9SoeZvOjL40MJo4G21MhL8koMU0s/g/fX5a0T/IX92EcMgDEzyFzoh0fm+wH3rO
 hO7wj4VwjoqnBMArwPN2CNNzsdsqRX/e2hSAk+ORETmgcGo/iVPWld6fx/0s9VxW/p48
 jbmtVQ3Qo14kyg9p9BAilx90X3R0rm8TR2HPnKqFrS0M2LbgtIAf35PTFLyvWBS+ovT2
 mxsg==
X-Forwarded-Encrypted: i=1;
 AJvYcCWQ0vAhxgaX4+zFhr0G1yuTuYxSOdRd1pW5HiysCnlFBsM0IEWWwFIU4SWSTlFaDERNz3kNPQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yw1gmXCsLo0iQ4Dssj4kD/0rA2llXVkzKyNmDcVGhLshLab2R1q
 8pW/tFw5HrplJAuzEFVokFYGwPhMZ1TJJy6gds4nj8eZSI6azsYtCCfJ7KROEBCJRfU8U8iqe7Y
 UeDLiHttfE0XR5An8YrRVPf7mp0kyUEF/VA==
X-Gm-Gg: AeBDieu3RW7E7XvDeHR4ybHlyeUK6lCS9XBTZ95MH9C1nXdxsiLsn9VP1+oEiPLNKjt
 ZUbAFYptH49nqfioWmJnoNJbniCWQDZ50xE+9ucsr4Z+L2vRl4TIoEXxfib/qewli/DIMQyZE7D
 TLp7UskLoBwYCN/OdLOYGb4nlcItQzMqL7XEZhqecbk47mIALie3oHxHAl9HA5gCkJq6P5IDMqw
 BV5m9s0byVMbNrg/xkROwvfpvyUjYq8rd+hQikHzvGDTe0uhykQyI/ePuSJh5ZbupNZhtNIUGZS
 tq2kzfY=
X-Received: by 2002:a05:6512:3d24:b0:5a1:4158:ea9b with SMTP id
 2adb3069b0e04-5a33757c166mr2856335e87.22.1775415870747; Sun, 05 Apr 2026
 12:04:30 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sun, 5 Apr 2026 14:04:30 -0500
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sun, 5 Apr 2026 14:04:30 -0500
From: Kristoffer Balintona <krisbalintona@HIDDEN>
In-Reply-To: <878qb15txh.fsf@HIDDEN>
References: <CANVbq5=GCMfjwOoim8z1jGuZSHMh_8BCW5bKz-TucCn+-L92ew@HIDDEN>
 <878qb15txh.fsf@HIDDEN>
MIME-Version: 1.0
Date: Sun, 5 Apr 2026 14:04:30 -0500
X-Gm-Features: AQROBzCSlq0zLwel0rUucQXQIhCqXVRfY3fNobtEgEbYhnisAZV4ZxdMWWCxG20
Message-ID: <CANVbq5mwZTwgoaG+kPm36L+1SF__yWcKpYr7r-nGv8D5Y1oH0A@HIDDEN>
Subject: Re: 31.0.50; Ambiguity in vc.el's dir-status-files
To: Sean Whitton <spwhitton@HIDDEN>, 80722 <at> debbugs.gnu.org
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 80722
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.0 (/)

On Sun, Apr 05 2026, Sean Whitton wrote:
--text follows this line--
> [be sure to use X-debbugs-cc not plain Cc when filing a new bug]

Good to know. Will do.

> Kristoffer Balintona [01/Apr  5:21pm -05] wrote:
>> My questions are:
>>
>> - Is DIR the repository root? Or can it be a subdirectory of the
>>   repository?
>
> It can be a subdirectory.  You can invoke vc-dir for a subdirectory of a
> repository to see edited/removed/missing/etc. files in only that
> subdirectory.

That's what I suspected. From my perspective as someone implementing the
method I think this is worth stating explicitly.

>> - When FILES is nil, are files in the up-to-date and ignored states
>>   reported on? (The following statement from the (emacs) VC Directory
>>   Buffer Info page suggest not for up-to-date files: "Files that are
>>   up-to-date (i.e., the same as in the repository) are omitted.")
>
> Good question.  I think that we should say that they are reported on.
> Does that make sense to you?

(By "reported on" I mean the dir-status-files backend function includes
those files in the list of (FILE STATE EXTRA) passed to
UPDATE-FUNCTION.)

Hmm, I actually think the contrary: when I call 'vc-dir' on a repo, by
default I see files not in the up-to-date and ignored states -- so they
aren't reported on, right? Up-to-date and ignored files are only
reported on when an existing vc-dir's file entries change states due to
other VC operations, e.g. 'vc-checkin'.

So, to sum up: my understanding is that when FILES is nil the up-to-date
and ignored states are not reported on.

>> - Is every file in FILES relative to DIR or can those paths be absolute?
>
> Generally VC is not careful about this distinction, unfortunately.
> I think you'd better program defensively and assume that they could be
> absolete.

Good to know. This is a detail I think is also worth briefly mentioning
in the VC spec.

>> - What is EXTRA? What uses could EXTRA be used for? What other VC
>>   methods are relevant to make use of EXTRA? What form does should EXTRA
>>   take?
>
> As an example, vc-git uses EXTRA to transfer information about
> permission changes and rename states.  It can take whatever form you
> like.  vc-git uses a cl-defstruct.  I'm not sure I can answer what other
> VC methods might be relevant.

Hmm, I suppose if there isn't anything more concrete to say about EXTRA,
perhaps, if anything, an existing function that uses EXTRA can be
mentioned as a "breadcrumb" for lispers interested in how one might use
EXTRA? But this isn't a strong opinion of mine.

-- 
Kind regards,
Kristoffer




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80722; Package emacs. Full text available.

Message received at 80722 <at> debbugs.gnu.org:


Received: (at 80722) by debbugs.gnu.org; 5 Apr 2026 15:06:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 05 11:06:25 2026
Received: from localhost ([127.0.0.1]:59083 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1w9P3Q-0005e9-Ez
	for submit <at> debbugs.gnu.org; Sun, 05 Apr 2026 11:06:25 -0400
Received: from flow-b8-smtp.messagingengine.com ([202.12.124.143]:33891)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <spwhitton@HIDDEN>)
 id 1w9P3N-0005dj-43
 for 80722 <at> debbugs.gnu.org; Sun, 05 Apr 2026 11:06:22 -0400
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailflow.stl.internal (Postfix) with ESMTP id D8A83130000F;
 Sun,  5 Apr 2026 11:05:31 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-05.internal (MEProxy); Sun, 05 Apr 2026 11:05:31 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=spwhitton.name;
 h=cc:content-type:content-type:date:date:from:from:in-reply-to
 :in-reply-to:message-id:mime-version:references:reply-to:subject
 :subject:to:to; s=fm1; t=1775401531; x=1775405131; bh=WZARiXmRDh
 OS56TUiMIrEHBQh0UTWA0XHGYAPpZl8Mc=; b=f8PU0mL1xxgAoO5X4ltQNBkZBP
 P25meGSoMaSRHhGeKImg+bIsrstqadQgYKRNUZX0GobrNVfC7RWUWgcEczb3Mnth
 P0vvA1LnOGV+WQujS/yH6A/LLXoduq09pAl301ES/aHSmN5rqzHOy0Q/yEMiR8Zt
 nkAS2R2vPUBHkn9aCu5UZHhIXOW8wtL7xDxDuRyjSjfzrutCjUQjT86umMNtY+xn
 HTtoP3mM3obajmuJDfcC0T5Hm5wsxqUj1S0DfwKQidjm+UTZcCuIY2WXpap9Zmcg
 Z6wS9sd/o9iblHHaiksy3Lye9A2OPniGpGvbHKnT+Ahp6undxALafwzwc0/w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-type:content-type:date:date
 :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
 :message-id:mime-version:references:reply-to:subject:subject:to
 :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
 1775401531; x=1775405131; bh=WZARiXmRDhOS56TUiMIrEHBQh0UTWA0XHGY
 APpZl8Mc=; b=ZNnJ2vClwpnVXYhU5AQUy6z9NUNI8JbmLAJtr330tLDiU5fto7Y
 ZpOjevNC9s2sqWMoH8vWAtpoO3VOucYky0W02FViUtrO7MEJetLttV0sVAZhk37Z
 lyQgSnYMBW8CCzLC8NuxtNFTNZk15wIOBO+ERYcxmuqtcwN9iS++kYnLqiwnWhqU
 JphITnZeIGF0VdcO/mtpLYh/baBpRCJdsRTLuDQjc/I33i8gS1S3GGsl8n54D6Cn
 VmrKVJAteJP2hdunIKztmF//YGPRl/Ak7bM4mzWBzZG8/zm+JM4hVs99f26mj1zC
 60RGUVFIxi/DpNJ6oi04et3fSDvUoJdmmXA==
X-ME-Sender: <xms:O3rSaVi95lR7HrddX9RikddoPukBzsY1WRIjqcpxuaVJbfViwm2-Dg>
 <xme:O3rSaQBODyq77BPIC4wde_AKaiXVZptD4TcE_gGa8i-CbJbCWS39sanLCZRIAUL-z
 p9iDwjYuXG6l0KbZrnnyBNbEQ6e271A9AMDDciZpCVSaMdPY1usb8Y>
X-ME-Received: <xmr:O3rSaSss4cQ955U4YVYZC_ZSerNMvVlBQoEWjsk-42HwiH0J3Ls2qOSHitFPgUKpeS_K3OpKW2hKbcHslu4klorGn3I3Mg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdduhedtjecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr
 ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug
 hrpefhvffujghffffkgggtsehttddttddttddtnecuhfhrohhmpefuvggrnhcuhghhihht
 thhonhcuoehsphifhhhithhtohhnsehsphifhhhithhtohhnrdhnrghmvgeqnecuggftrf
 grthhtvghrnhephefgtedvfefhffeftdeiueeufeelgeejgfdvgeffjeeghedvueeuheff
 vefhvddvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh
 epshhpfihhihhtthhonhesshhpfihhihhtthhonhdrnhgrmhgvpdhnsggprhgtphhtthho
 pedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeektdejvddvseguvggssghugh
 hsrdhgnhhurdhorhhgpdhrtghpthhtohepkhhrihhssggrlhhinhhtohhnrgesghhmrghi
 lhdrtghomh
X-ME-Proxy: <xmx:O3rSaVa5DEv8Zx2Fju2arYhUNKeqjrkLm9V8K7AZDfPjjNeGiDXPSw>
 <xmx:O3rSaVWr_Ls5y6dXKlgblpuYjfSkP-9qXPLgoqruwfzfXv8Rv6jqYw>
 <xmx:O3rSaZ48d1LeCfYghFv2h0lm4pXBDhuk9eT_cEmB4CBI1IR077WeSA>
 <xmx:O3rSaQh2d_6sza3sF8TO0SdCElnbKW_9-xOq7DTl_mqhS_tKxWnWIg>
 <xmx:O3rSaT-2Ww_dil-8MjiiwYzA1-B1LHBcecqGo0bnE0S6HNQOGqmtW78m>
Feedback-ID: i62564b17:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 5 Apr 2026 11:05:31 -0400 (EDT)
Received: by zephyr.silentflame.com (Postfix, from userid 1000)
 id 9839294035B; Sun, 05 Apr 2026 16:05:30 +0100 (BST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Kristoffer Balintona <krisbalintona@HIDDEN>, 80722 <at> debbugs.gnu.org
Subject: Re: 31.0.50; Ambiguity in vc.el's dir-status-files
In-Reply-To: <CANVbq5=GCMfjwOoim8z1jGuZSHMh_8BCW5bKz-TucCn+-L92ew@HIDDEN>
References: <CANVbq5=GCMfjwOoim8z1jGuZSHMh_8BCW5bKz-TucCn+-L92ew@HIDDEN>
Date: Sun, 05 Apr 2026 16:05:30 +0100
Message-ID: <878qb15txh.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 80722
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

[be sure to use X-debbugs-cc not plain Cc when filing a new bug]

Kristoffer Balintona [01/Apr  5:21pm -05] wrote:
> My questions are:
>
> - Is DIR the repository root? Or can it be a subdirectory of the
>   repository?

It can be a subdirectory.  You can invoke vc-dir for a subdirectory of a
repository to see edited/removed/missing/etc. files in only that
subdirectory.

> - When FILES is nil, are files in the up-to-date and ignored states
>   reported on? (The following statement from the (emacs) VC Directory
>   Buffer Info page suggest not for up-to-date files: "Files that are
>   up-to-date (i.e., the same as in the repository) are omitted.")

Good question.  I think that we should say that they are reported on.
Does that make sense to you?

> - Is every file in FILES relative to DIR or can those paths be absolute?

Generally VC is not careful about this distinction, unfortunately.
I think you'd better program defensively and assume that they could be
absolete.

> - What is EXTRA? What uses could EXTRA be used for? What other VC
>   methods are relevant to make use of EXTRA? What form does should EXTRA
>   take?

As an example, vc-git uses EXTRA to transfer information about
permission changes and rename states.  It can take whatever form you
like.  vc-git uses a cl-defstruct.  I'm not sure I can answer what other
VC methods might be relevant.

-- 
Sean Whitton




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80722; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 1 Apr 2026 22:21:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 01 18:21:47 2026
Received: from localhost ([127.0.0.1]:32780 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1w83wW-0004h2-Uo
	for submit <at> debbugs.gnu.org; Wed, 01 Apr 2026 18:21:46 -0400
Received: from lists.gnu.org ([2001:470:142::17]:54402)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <krisbalintona@HIDDEN>)
 id 1w83wT-0004gc-3C
 for submit <at> debbugs.gnu.org; Wed, 01 Apr 2026 18:21:43 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <krisbalintona@HIDDEN>)
 id 1w83wN-0004ea-HT
 for bug-gnu-emacs@HIDDEN; Wed, 01 Apr 2026 18:21:35 -0400
Received: from mail-lf1-x12d.google.com ([2a00:1450:4864:20::12d])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <krisbalintona@HIDDEN>)
 id 1w83wH-0005zJ-5p
 for bug-gnu-emacs@HIDDEN; Wed, 01 Apr 2026 18:21:33 -0400
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5a12cd0bcd8so344746e87.3
 for <bug-gnu-emacs@HIDDEN>; Wed, 01 Apr 2026 15:21:28 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1775082086; cv=none;
 d=google.com; s=arc-20240605;
 b=N+3JU8C40Kb9WUONa/LoCrYMcKRch9IL9RHe90bl8/lMp0s1migyLYpg42HKkllWHr
 xPOOyECDWWz4V/sw+42CtMAB+zigE0T54YrRpg0BQo61dqfrbS4v4+oaKEB/5le0ye3r
 nN/el8YBqJCZz9X+6WOj+oXnt0IVZyUk8Pjmy/NmN10jsrD2/DvJl5TJ0k/ZBEN6mCbs
 Dg74t0RlUH00OUMHNSyKA8TX+QHkkBzheXKtu76D4vSVr36F0uH9Sh0IhbQE2zBAjvR0
 PmGf6amk0TiUtTzDV+h582z4vtRKQPup0X60CM5zZ0OdpVbKB5n+wQCBF7dn8cVFSNbF
 jAAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
 s=arc-20240605; 
 h=cc:to:subject:message-id:date:mime-version:from:dkim-signature;
 bh=JWQP4hZNWl7nyRowlZ5ce6gziKORAbKMrwqJFO5suyk=;
 fh=HZM5GIEL+vB5NhU/AckK8TkWUbaEo6bMH4zwLnFz9WY=;
 b=JjfDhNk+oLUp2cW10mfFYoC33LOiry+03WqPJv+Nx9xzAz4m+0IoAP9DfNaCYEthB8
 SwUOyaNUlHXL/Kak7Ac57OSAK/ozIwdLuH7w5TWOtk/tYULvXo2+gRoDKoJm4urWFO/D
 Ws9TmPBbqFWk1f3iDObE9pB9iBRAl54EtUHa82DLRrxGzZMWPCBIKJoKhfUkFU9RhJaz
 beKwmG42Ui/r6WQdYNEhe0XnouzmJFsBagEFtqaNVkFgOdauXeSUIDwy2V7CL0Ol5glr
 J+A38tzAENLKbxys38keQx8WsYmubKt8Nh6W6md7yPFzuSETzVOB0FvzYE0u7etnXn2d
 ugKQ==; darn=gnu.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20251104; t=1775082086; x=1775686886; darn=gnu.org;
 h=cc:to:subject:message-id:date:mime-version:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=JWQP4hZNWl7nyRowlZ5ce6gziKORAbKMrwqJFO5suyk=;
 b=iejhQOy8wovKga5ZOPNoASgFsfjuPo8GXcmvlGT7AWfHdLNFKP0Tz5e5zeFXO0uDko
 +Ex5dsvKHnVFRWg2J1D2tNrkyD9EDS4aywMINMYtP2i6Sp+Jro2wfPlVPbSHgKyYo3BI
 JJqkA2ZTGRESJ8bTwwQSH/nTYbLbL5Spo2rspwo7zFGgMe6vsCS350KA60G8RF6RBpnX
 tX4f8PQbAmDEKlyDC0DrJ6lO8WdOUv671MEr5khpBFYdh2LgoexKY09+X3NnS5H4Tgln
 5MgX0sylmrQrOyd0z7Is7d0C2psldDadMli5GILSGBdHZdZ3GczLxmkzxxYBTDb9tabK
 WxmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20251104; t=1775082086; x=1775686886;
 h=cc:to:subject:message-id:date:mime-version:from:x-gm-gg
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=JWQP4hZNWl7nyRowlZ5ce6gziKORAbKMrwqJFO5suyk=;
 b=cMk3b6TnLqpS32YPx6y4GF/nxK31aVa7ytZ3mtYyjjEetb9eu8HAFtunSFrb48DJWd
 rnrKKNtiVaQItjg1YSrIc9JJmGEC/CgdMW9rjKgxMSQ9OUNMxYYGqVWDu7AjLtlUXX4/
 +3QTmrnoRxFgG35syVK99XeHKrnEQB9FvmhZw0r+3zdouvG97ha8JeWrQPgXpeMFz4sd
 rCVfIRAtPXrqWxooG4evWdx3y6Fbf7pIWjx6uPS3Gid39mfKPz1UhqqGj8tVvCAh/GXm
 TXV8xTo7dZKByCVA5iKVYUd9QzhtqLg4uaGOwftytomSl1INY8lk0EA1ih6pA7ApGWNU
 sRVg==
X-Gm-Message-State: AOJu0YwYQQ5tnjcIpN1nyoUty/uIeg+aGh56jqd/uDPauVHH2L0Kbd63
 tpvxDEvX2IhzXLRH6yuhrZA6e54Tm3KCc+XeWu/X6x0bKux9YL0E2n4EV2tcK4rdAAmy6DqVZH4
 4C0/Ctp7wH5PBDOfP5Cgw9UBfJWcLz9n+cQ==
X-Gm-Gg: ATEYQzwi8SUGYDq+EpNLe7SJiSxZ2yks561Zv3D1sCf7ucWBkl/MO98w6LkO/2qeX0R
 LfPYyWsGwFuG9zIfGokPz+/5dtr/Vu1PIJ3Amq3hGzDhsWIUmrE3ECT2cvSCO0VtXv6v/GEu5mm
 ahiQgXHhaYK4kf8L3wsQA1TmGklUsLDnBM/jqc+yqGz7XtJsWmINFmCpM1G9Uq2hX4EBgIdOw5P
 kmDN/G2VFmN3U9lUeootMXaQiH0PPfsUeI1QeCCUuQAu65GSK1dyYIzIli+lgBxxAvZpHOY4t36
 15Eqrug=
X-Received: by 2002:a05:6512:1092:b0:5a2:c6f2:fd7c with SMTP id
 2adb3069b0e04-5a2c766f166mr278903e87.31.1775082085501; Wed, 01 Apr 2026
 15:21:25 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Wed, 1 Apr 2026 17:21:24 -0500
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Wed, 1 Apr 2026 17:21:24 -0500
From: Kristoffer Balintona <krisbalintona@HIDDEN>
MIME-Version: 1.0
Date: Wed, 1 Apr 2026 17:21:24 -0500
X-Gm-Features: AQROBzAiPnzZJtnykVMctF1FzZmhUVSxhqcUYTKmPew1x-t6AGDOHxXryWFOoLg
Message-ID: <CANVbq5=GCMfjwOoim8z1jGuZSHMh_8BCW5bKz-TucCn+-L92ew@HIDDEN>
Subject: 31.0.50; Ambiguity in vc.el's dir-status-files
To: bug-gnu-emacs@HIDDEN
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=2a00:1450:4864:20::12d;
 envelope-from=krisbalintona@HIDDEN; helo=mail-lf1-x12d.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 2.0 (++)
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:  Hello, I would like to ask a few questions regarding vc.el's
 dir-status-files method specification. These questions are motivated by a
 recent attempt[1] at rewriting vc-jj[2]'s implementation where I found t
 [...] Content analysis details:   (2.0 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (krisbalintona[at]gmail.com)
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 1.0 FORGED_GMAIL_RCVD      'From' gmail.com does not match 'Received'
 headers
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
 0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay
 lines
X-Debbugs-Envelope-To: submit
Cc: Sean Whitton <spwhitton@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

Hello,

I would like to ask a few questions regarding vc.el's dir-status-files
method specification. These questions are motivated by a recent
attempt[1] at rewriting vc-jj[2]'s implementation where I found the
existing documentation ambiguous. My hope is that, regardless of the
answers to the questions below, the documentation can be improved to
address these ambiguities.

I am on an Emacs recently built from the master branch and the
specification (found in the preamble of vc.el) currently reads:
--8<---------------cut here---------------start------------->8---
;; - dir-status-files (dir files update-function)
;;
;;   Produce RESULT: a list of lists of the form (FILE VC-STATE EXTRA)
;;   for FILES in DIR.  If FILES is nil, report on all files in DIR.
;;   (It is OK, though possibly inefficient, to ignore the FILES argument
;;   and always report on all files in DIR.)
;;
;;   If FILES is non-nil, this function should report on all requested
;;   files, including up-to-date or ignored files.
;;
;;   EXTRA can be used for backend specific information about FILE.
;;
;;   If a command needs to be run to compute this list, it should be
;;   run asynchronously using (current-buffer) as the buffer for the
;;   command.
;;
;;   When RESULT is computed, it should be passed back by doing:
;;   (funcall UPDATE-FUNCTION RESULT nil).  If the backend uses a
;;   process filter, hence it produces partial results, they can be
;;   passed back by doing: (funcall UPDATE-FUNCTION RESULT t) and then
;;   do a (funcall UPDATE-FUNCTION RESULT nil) when all the results
;;   have been computed.
;;
;;   To provide more backend specific functionality for `vc-dir'
;;   the following functions might be needed: `dir-extra-headers',
;;   `dir-printer', and `extra-dir-menu'.
;;
;;   NOTE: project.el includes a similar method `project-list-files'
;;   that has a slightly different return value and performance
;;   trade-offs.  If you want to use it in your code and it suits your
;;   needs better than `dir-status-files', consider contacting the
;;   development list about changes or having it promoted to the core
;;   VC.  See also `vc-dir-status-files'.
--8<---------------cut here---------------end--------------->8---

My questions are:

- Is DIR the repository root? Or can it be a subdirectory of the
  repository?

- When FILES is nil, are files in the up-to-date and ignored states
  reported on? (The following statement from the (emacs) VC Directory
  Buffer Info page suggest not for up-to-date files: "Files that are
  up-to-date (i.e., the same as in the repository) are omitted.")

- Is every file in FILES relative to DIR or can those paths be absolute?

- What is EXTRA? What uses could EXTRA be used for? What other VC
  methods are relevant to make use of EXTRA? What form does should EXTRA
  take?

Thank you in advance.


In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.51, cairo version 1.18.4) of 2026-03-30 built on mute
Repository revision: c1c08f3c9f6ffc6d113af3c0267c4ee5bfae72c0
Repository branch: master
Windowing system distributor 'Microsoft Corporation', version 11.0.12010000
System Description: Arch Linux

Configured using:
 'configure --prefix=/home/krisbalintona/emacs/31.0
 --exec-prefix=/home/krisbalintona/emacs/31.0 --with-modules
 --with-tree-sitter --with-threads --without-gconf
 --with-native-compilation=yes 'CFLAGS=-O2 -pipe -march=native''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM
XRANDR GTK3 ZLIB

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

Major mode: Elisp/l

Minor modes in effect:
  save-place-mode: t
  recentf-mode: t
  notmuch-bookmarks-mode: t
  gcmh-mode: t
  whitespace-mode: t
  outli-mode: t
  flyspell-mode: t
  flymake-mode: t
  global-sops-mode: t
  which-function-mode: t
  delete-selection-mode: t
  fancy-compilation-mode: t
  citar-org-node-mode: t
  work-timer-with-org-clock-mode: t
  global-word-wrap-whitespace-mode: t
  word-wrap-whitespace-mode: t
  lin-global-mode: t
  smart-mark-mode: t
  desktop-save-mode: t
  display-time-mode: t
  global-paren-face-mode: t
  paren-face-mode: t
  global-org-repeat-by-cron-mode: t
  org-node-context-follow-mode: t
  org-node-track-modifications-mode: t
  org-node-cache-mode: t
  repeat-mode: t
  org-mem-updater-mode: t
  pulsar-global-mode: t
  pulsar-mode: t
  electric-pair-mode: t
  corfu-history-mode: t
  corfu-popupinfo-mode: t
  global-corfu-mode: t
  corfu-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  minibuffer-depth-indicate-mode: t
  fontaine-mode: t
  override-global-mode: t
  outline-minor-mode: t
  find-function-mode: t
  el-patch-use-package-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  vc-auto-revert-mode: t
  mouse-wheel-mode: t
  tab-bar-history-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-nonselected-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  auto-save-visited-mode: t
  abbrev-mode: t
  hs-minor-mode: t

Load-path shadows:
/home/krisbalintona/.emacs.d/wip/notmuch-show hides
/home/krisbalintona/.emacs.d/elpa/31.0/notmuch-20260314.2247/notmuch-show
/home/krisbalintona/.emacs.d/wip/notmuch-tree hides
/home/krisbalintona/.emacs.d/elpa/31.0/notmuch-20260314.2247/notmuch-tree
/home/krisbalintona/.emacs.d/wip/notmuch-mua hides
/home/krisbalintona/.emacs.d/elpa/31.0/notmuch-20260314.2247/notmuch-mua
/home/krisbalintona/.emacs.d/wip/notmuch hides
/home/krisbalintona/.emacs.d/elpa/31.0/notmuch-20260314.2247/notmuch
/home/krisbalintona/.emacs.d/wip/org-capture hides
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-capture
/home/krisbalintona/.emacs.d/elpa/31.0/peg-1.0.2/peg hides
/home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/progmodes/peg
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-table
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-table
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-python
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-python
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-C
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-C
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-koma-letter
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-koma-letter
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-js
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-js
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-java
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-java
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-perl
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-perl
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-fold
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-fold
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-w3m
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-w3m
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-eval
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-eval
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-lob
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-lob
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-core
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-core
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-attach-git
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-attach-git
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-cycle
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-cycle
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-refile
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-refile
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-mouse
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-mouse
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-org
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-org
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-html
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-html
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-ruby
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-ruby
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/oc
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/oc
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-gnuplot
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-gnuplot
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-entities
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-entities
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-awk
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-awk
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-latex
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-latex
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-ocaml
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-ocaml
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-sql
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-sql
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/oc-csl
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/oc-csl
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-goto
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-goto
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-protocol
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-protocol
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-crypt
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-crypt
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-octave
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-octave
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-table
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-table
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-mhe
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-mhe
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-icalendar
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-icalendar
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-ditaa
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-ditaa
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-org
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-org
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-groovy
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-groovy
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-exp
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-exp
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-list
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-list
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-macs
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-macs
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-ctags
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-ctags
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-clock
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-clock
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-bbdb
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-bbdb
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-bibtex
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-bibtex
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-sed
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-sed
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-num
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-num
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-matlab
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-matlab
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-plot
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-plot
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-keys
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-keys
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-indent
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-indent
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-element
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-element
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-info
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-info
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-macro
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-macro
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-agenda
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-agenda
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-eshell
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-eshell
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-mobile
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-mobile
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-dot
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-dot
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-emacs-lisp
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-emacs-lisp
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/oc-biblatex
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/oc-biblatex
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-tangle
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-tangle
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-css
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-css
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-md
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-md
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-lilypond
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-lilypond
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-docview
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-docview
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-screen
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-screen
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/oc-natbib
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/oc-natbib
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-version
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-version
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-julia
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-julia
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-latex
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-latex
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-pcomplete
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-pcomplete
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-fold-core
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-fold-core
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-irc
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-irc
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-archive
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-archive
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-haskell
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-haskell
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-doi
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-doi
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-inlinetask
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-inlinetask
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-faces
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-faces
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-id
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-id
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-texinfo
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-texinfo
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-maxima
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-maxima
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-R
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-R
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-rmail
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-rmail
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-processing
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-processing
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-makefile
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-makefile
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-element-ast
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-element-ast
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-man
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-man
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-ref
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-ref
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-clojure
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-clojure
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-fortran
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-fortran
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-plantuml
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-plantuml
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-loaddefs
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-loaddefs
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-comint
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-comint
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-colview
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-colview
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/oc-bibtex
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/oc-bibtex
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-datetree
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-datetree
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-sqlite
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-sqlite
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-lint
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-lint
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-footnote
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-footnote
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-scheme
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-scheme
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-ascii
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-ascii
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-attach
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-attach
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-publish
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-publish
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-forth
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-forth
/home/krisbalintona/.emacs.d/wip/org-capture hides
/home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-capture
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-src
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-src
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-gnus
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-gnus
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-compat
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-compat
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-lua
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-lua
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-habit
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-habit
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-sass
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-sass
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-man
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-man
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-beamer
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-beamer
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-tempo
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-tempo
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-persist
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-persist
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-timer
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-timer
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-duration
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-duration
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-eshell
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-eshell
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/org-feed
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/org-feed
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ox-odt
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ox-odt
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ol-eww
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ol-eww
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-lisp
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-lisp
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/oc-basic
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/oc-basic
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-calc
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-calc
/home/krisbalintona/.emacs.d/elpa/31.0/org-10.0pre0.20260301.150718/ob-shell
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/org/ob-shell
/home/krisbalintona/.emacs.d/wip/vtable hides
/home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/emacs-lisp/vtable
/home/krisbalintona/.emacs.d/elpa/31.0/faceup-20170925.1946/faceup
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/emacs-lisp/faceup
/home/krisbalintona/.emacs.d/elpa/31.0/package-x-1.0.0.20260219.70820/package-x
hides /home/krisbalintona/emacs/31.0/share/emacs/31.0.50/lisp/obsolete/package-x

Features:
(shadow sort footnote mixed-pitch emacsbug cal-move org-web-tools plz
esxml-query do-at-point apropos display-line-numbers vc-annotate
vc-filewise rect org-expiry tabify mail-extr ol-notmuch mm-archive eat
term ehelp misc saveplace recentf tree-widget inspector edebug cl-print
debug backtrace puni dabbrev cape tempel vc-hg vc-bzr vc-src vc-sccs
vc-svn vc-cvs vc-rcs reposition consult-imenu consult notmuch-bookmarks
bookmark elisp-demos shortdoc shortdoc-doc textsec uni-scripts
idna-mapping ucs-normalize uni-confusable textsec-check notmuch-addr
notmuch notmuch-tree notmuch-jump notmuch-hello notmuch-show
notmuch-print notmuch-crypto notmuch-mua notmuch-message notmuch-draft
notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser
notmuch-wash coolj goto-addr icalendar notmuch-tag crm notmuch-lib
notmuch-compat org-clock org-review org-ql peg ts org-habit org-duration
diary-lib diary-loaddefs cal-iso smerge-mode diff misearch multi-isearch
gcmh emacs-news-mode texinfo texinfo-loaddefs caddyfile-mode loop
guix-devel edit-indirect ffap guix-misc guix-ui guix-ui-messages bui
bui-list bui-info bui-entry bui-core bui-history bui-button guix-read
guix-help-vars guix-repl guix-profiles guix-external guix-config
guix-default-config guix-geiser geiser-mode geiser-xref geiser-compile
guix-guile geiser-guile info-look finder-inf info geiser geiser-debug
geiser-repl geiser-image geiser-capf geiser-doc geiser-menu
geiser-autodoc geiser-edit etags xref geiser-completion geiser-eval
geiser-connection tq geiser-syntax geiser-impl help-fns geiser-log
geiser-popup view geiser-custom geiser-base guix-prettify guix-utils
bui-utils guix-auto-mode guix scheme make-mode tramp-archive flymake-cc
vc-dir ewoc bug-reference dired-aux svelte-mode mhtml-mode css-mode
sgml-mode facemenu cap-words superword subword typescript-ts-mode js
c-ts-common cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs elisp-scope checkdoc tramp-theme
em-dirs esh-mode esh-var esh-cmd esh-ext esh-proc esh-opt esh-io esh-arg
esh-module esh-module-loaddefs esh-util tramp-hlo tramp-sh tramp-gvfs
zeroconf tramp-cache time-stamp tramp trampver tramp-integration
tramp-message tramp-compat shell tramp-loaddefs hideshow disp-table
whitespace visual-wrap org-modern org-hide-drawers olivetti astute outli
flyspell ispell flymake-vale flymake ol-eww eww vtable url-queue mm-url
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015
mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku
url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud
nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range
message yank-media puny rfc822 mml mml-sec epa derived epg rfc6068
epg-config mm-decode mm-bodies mm-encode gmm-utils mailheader gnus-win
gnus nnheader gnus-util range ol-docview doc-view jka-compr image-mode
exif dired dired-loaddefs ol-bbdb ol-w3m ol-doi org-link-doi autorevert
filenotify vc-jj log-view log-edit add-log pcvs-util vc-git diff-mode
track-changes files-x vc vc-dispatcher project sops which-func imenu
delsel fancy-compilation citar-org-node org-capture ht citar-org oc-csl
citeproc citeproc-itemgetters citeproc-cite citeproc-biblatex
citeproc-bibtex ol-bibtex parse-time citeproc-subbibs citeproc-sort
citeproc-name citeproc-formatters citeproc-proc citeproc-disamb
citeproc-itemdata citeproc-generic-elements citeproc-macro
citeproc-choose citeproc-date citeproc-number rst citeproc-context
citeproc-prange citeproc-style citeproc-locale citeproc-term f
citeproc-rt citeproc-lib citeproc-s s let-alist queue dash oc-basic
citar citar-file citar-cache citar-format parsebib bibtex iso8601
foldout work-timer notifications dbus sendmail mail-parse rfc2231
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils word-wrap-mode
lin hl-line mailabbrev smart-mark desktop frameset time paren-face
org-repeat-by-cron org-node-context magit-section cursor-sensor org-node
cond-let org-node-changes repeat fileloop org-mem-updater org-mem
org-mem-parser truename-cache el-job el-job-ng llama comp comp-cstr
oc-biblatex pulsar pulse face-remap elec-pair corfu-history
corfu-popupinfo corfu savehist exec-path-from-shell orderless
minibuf-eldef mb-depth ef-themes modus-themes color fontaine advice on
no-littering compat setup bind-key config-units thunk
.user-lisp-autoloads loaddefs-gen lisp-mnt radix-tree warnings cl-extra
help-mode esxml xml ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox org-attach
org-element org-persist org-id org-refile org ob ob-tangle ob-ref ob-lob
ob-table org-macro org-src sh-script smie treesit executable ob-comint
org-element-ast org-pcomplete pcomplete org-list org-footnote org-faces
org-entities time-date noutline outline ob-emacs-lisp org-table org-keys
org-loaddefs thingatpt find-func cal-menu calendar cal-loaddefs avl-tree
generator ol oc ob-exp ob-core org-cycle org-fold org-fold-core
org-compat ob-eval org-version org-macs compile text-property-search
comint ansi-osc ansi-color ring comp-run comp-common
activities-autoloads astute-autoloads caddyfile-mode-autoloads
cape-autoloads citar-org-node-autoloads citar-autoloads
citeproc-autoloads consult-autoloads corfu-autoloads
do-at-point-autoloads eat-autoloads ef-themes-autoloads
el-patch-autoloads el-patch el-patch-stub elisp-demos-autoloads
exec-path-from-shell-autoloads faceup-autoloads
fancy-compilation-autoloads fish-mode-autoloads flymake-vale-autoloads
fontaine-autoloads gcmh-autoloads geiser-guile-autoloads guix-autoloads
rx edit-indirect-autoloads bui-autoloads geiser-autoloads
highlight-function-calls-autoloads hotfuzz-autoloads inspector-autoloads
jinx-autoloads lin-autoloads list-packages-ext-autoloads loop-autoloads
magit-popup-autoloads mixed-pitch-autoloads modus-themes-autoloads
nftables-mode-autoloads no-littering-autoloads notmuch-addr-autoloads
ol-notmuch-autoloads notmuch-autoloads olivetti-autoloads on-autoloads
orderless-autoloads org-contrib-autoloads org-hide-drawers-autoloads
org-mime-autoloads org-modern-autoloads org-node-autoloads
org-mem-autoloads el-job-autoloads org-ql-autoloads f-autoloads
org-repeat-by-cron-autoloads org-review-autoloads
org-roam-folgezettel-autoloads org-roam-ql-autoloads org-roam-autoloads
magit-section-autoloads llama-autoloads cond-let-autoloads
org-super-agenda-autoloads ht-autoloads org-web-tools-autoloads
esxml-autoloads orgmdb-autoloads org-autoloads outli-autoloads
ov-autoloads package-x-autoloads paren-face-autoloads parsebib-autoloads
peg-autoloads persid-autoloads persist-autoloads
persistent-soft-autoloads list-utils-autoloads inline pcache-autoloads
plz-autoloads powerthesaurus-autoloads transient byte-opt bytecomp
byte-compile pcase format-spec edmacro kmacro jeison-autoloads
pulsar-autoloads puni-autoloads easy-mmode queue-autoloads
regexp-disasm-autoloads sesman-autoloads setup-autoloads
smart-mark-autoloads sops-autoloads string-inflection-autoloads
svelte-mode-autoloads tab-bookmark-autoloads tempel-autoloads
tramp-hlo-autoloads tramp-theme-autoloads truename-cache-autoloads
try-autoloads ts-autoloads s-autoloads dash-autoloads vc-jj-autoloads
vertico-autoloads winpulse-autoloads wombag-autoloads request-autoloads
emacsql-autoloads work-timer-autoloads yaml-mode-autoloads package
browse-url xdg url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs gv
password-cache json subr-x mule-util map url-vars package-activate
cus-edit pp cus-start cus-load icons wid-edit cl-loaddefs cl-lib rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt
fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode
register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
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 emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process tty-child-frames native-compile emacs)

Memory information:
((conses 16 2786990 2716551) (symbols 48 70192 7)
 (strings 32 503172 102134) (string-bytes 1 28639507)
 (vectors 16 6453600) (vector-slots 8 59674294 4028813)
 (floats 8 1615 16870) (intervals 56 160248 44767) (buffers 1064 217))


Footnotes:
[1]  https://codeberg.org/emacs-jj-vc/vc-jj.el/pulls/165
[2]  https://codeberg.org/emacs-jj-vc/vc-jj.el

-- 
Kind regards,
Kristoffer




Acknowledgement sent to Kristoffer Balintona <krisbalintona@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#80722; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 6 Apr 2026 11:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.