From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Pogonyshev Newsgroups: gmane.emacs.bugs Subject: bug#65763: Error opening a file from a Git working directory if Git is not installed Date: Sun, 10 Sep 2023 19:36:47 +0200 Message-ID: References: <831qfc4d7h.fsf@gnu.org> <83y1hk2g29.fsf@gnu.org> <83a5tz33er.fsf@gnu.org> <7fa60b9c-ae00-5fdd-4805-aa55cb4094e3@gutov.dev> <83jzt31ez5.fsf@gnu.org> <6a42daae-db48-4c81-8121-79515ac94bf9@gutov.dev> <83zg1usfwm.fsf@gnu.org> <74306db9-aaa8-186e-0e3c-9d5c3935281f@gutov.dev> <837coyrvtb.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000203cab060504a8a3" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17840"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Dmitry Gutov , 65763@debbugs.gnu.org, monnier@iro.umontreal.ca To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Sep 10 19:38:12 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qfONv-0004SW-SY for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 10 Sep 2023 19:38:11 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qfONs-00050G-8c; Sun, 10 Sep 2023 13:38:08 -0400 Original-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 ) id 1qfONl-0004xo-EY for bug-gnu-emacs@gnu.org; Sun, 10 Sep 2023 13:38:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qfONi-0007ED-GK for bug-gnu-emacs@gnu.org; Sun, 10 Sep 2023 13:37:59 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qfONm-0004ih-1A for bug-gnu-emacs@gnu.org; Sun, 10 Sep 2023 13:38:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Pogonyshev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 10 Sep 2023 17:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65763 X-GNU-PR-Package: emacs Original-Received: via spool by 65763-submit@debbugs.gnu.org id=B65763.169436743218080 (code B ref 65763); Sun, 10 Sep 2023 17:38:01 +0000 Original-Received: (at 65763) by debbugs.gnu.org; 10 Sep 2023 17:37:12 +0000 Original-Received: from localhost ([127.0.0.1]:51230 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfOMy-0004hY-0U for submit@debbugs.gnu.org; Sun, 10 Sep 2023 13:37:12 -0400 Original-Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]:54622) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfOMu-0004hH-RK for 65763@debbugs.gnu.org; Sun, 10 Sep 2023 13:37:11 -0400 Original-Received: by mail-lj1-x231.google.com with SMTP id 38308e7fff4ca-2bce552508fso60554921fa.1 for <65763@debbugs.gnu.org>; Sun, 10 Sep 2023 10:37:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694367419; x=1694972219; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=cP23kXM5qhYrZ255a2YCbvaMINOSEbPBoq/w9HbnuSc=; b=qZIHRmAHDPI1B7xpLV3Vm2y1kki9FnwCOVvRFEEfkh9/sWeslaZB8l5fbTSDWd93jr Vn4L/eDT+bTNBtlvN25ftI8rI0idRTKpBH0XimUeoWLBns7OKc8iF7BqgDVLGvA0zuQo nOIb/hQQM4Otrz0BSENlnxbOekYn7tQsrvBRWkFL9DZDHzkBwWq4D9a5P70dKePciCZn 80vQ+FECGDh8IWW/nspRb+PaeC3iy5WDCB5FqXNLUt8lKo8x4QQYhBFuau70YpMT4909 q5jrEA+LUW+2FBCW40GR8xGrhHfD0dN8Qz1+FwsqitDHQWu78U8VHbyJcgO3tD6s/E2E vhOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694367419; x=1694972219; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cP23kXM5qhYrZ255a2YCbvaMINOSEbPBoq/w9HbnuSc=; b=oRm/Qp5XFjh8sGsbBtQEkASGT6viNVDyEl9lAmPuT7uJ2n5yc6cgSs/lBa9oMjst1+ gnwMb1BJPhSzYnYt1/2p32VGTGkCTbRnA55SxLVadVgNt8/+PfuQ9J4IbAVnyozKMWhe 1wdzNGs8I0Wk9n8WaSnD2c9svDlAWnztoTN83C5MKqYZY7+QYbVkE+tZEPtUDr11t3mu 3PcHawO1uflAbdln1ohu00z1ozZc+GbDZufANC/UeuaDMVVgkrtcaglMsSHgZ8SgK1g5 r8+3ZTfbKN0BJmKiRwDBGm/Q+NuPe3i8Ud8CBluKQCGyjP0w9lUPBsIDtyCUNn2O/DfV s9vQ== X-Gm-Message-State: AOJu0YwZou/XThKCa/4bY3zCJsfppatger9D3ysIg0nCgFo/i23hOEwB 1Mo6RdUKKWv4OKd2L3C+FTWlFOeAa41Vf1NgkG8sDPPUUw== X-Google-Smtp-Source: AGHT+IFMCyOu0v16si9EBA2T+u4PF7722qXHWobQJjYaKzYjRo/in8zoY1349xBXA3EEqdiHx89LHiATu7kCWqYsevc= X-Received: by 2002:a2e:88d4:0:b0:2bc:cee6:4342 with SMTP id a20-20020a2e88d4000000b002bccee64342mr5892861ljk.13.1694367418955; Sun, 10 Sep 2023 10:36:58 -0700 (PDT) In-Reply-To: <837coyrvtb.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:269988 Archived-At: --000000000000203cab060504a8a3 Content-Type: text/plain; charset="UTF-8" - ((setq backend (with-demoted-errors "VC refresh error: %S" - (vc-backend buffer-file-name))) + ((setq backend (let (debug-on-error) + (with-demoted-errors "VC refresh error: %S" + (vc-backend buffer-file-name)))) >From my experience, you should always comment such things. Or add an automated test ensuring it. Or even better, do both. It is extremely non-obvious why this is needed at all and someone can easily undo your changes a few years later. Paul On Sun, 10 Sept 2023 at 15:40, Eli Zaretskii wrote: > > Date: Sun, 10 Sep 2023 16:21:00 +0300 > > Cc: pogonyshev@gmail.com, 65763@debbugs.gnu.org > > From: Dmitry Gutov > > > > On 10/09/2023 09:26, Eli Zaretskii wrote: > > > diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el > > > index a4de0a6..0715236 100644 > > > --- a/lisp/vc/vc-hooks.el > > > +++ b/lisp/vc/vc-hooks.el > > > @@ -799,7 +799,7 @@ vc-refresh-state > > > (add-hook 'vc-mode-line-hook #'vc-mode-line nil t) > > > (let (backend) > > > (cond > > > - ((setq backend (with-demoted-errors "VC refresh error: %S" > > > + ((setq backend (ignore-errors > > > (vc-backend buffer-file-name))) > > > ;; Let the backend setup any buffer-local things he needs. > > > (vc-call-backend backend 'find-file-hook) > > > > This seems to work better: > > That'd be fine by me, but I'd still want to understand why > ignore-errors didn't work. > > Thanks. > --000000000000203cab060504a8a3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
-=C2= =A0 =C2=A0 =C2=A0 =C2=A0((setq backend (with-demoted-errors "VC refres= h error: %S"
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (vc-backend buffer-file-name)))
+= =C2=A0 =C2=A0 =C2=A0 =C2=A0((setq backend (let (debug-on-error)
+=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 (with-demoted-errors "VC refresh error: %S"
+=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 (vc-backend buffer-file-name))))

From my experience, you sh= ould always comment such things. Or add an automated test ensuring it. Or e= ven better, do both. It is extremely non-obvious why this is needed at all = and someone can easily undo your changes a few years later.

<= /div>
Paul

On Sun, 10 Sept 2023 at 15:40, Eli Zaretskii <= eliz@gnu.org> wrote:
> Date: Sun, 10 Sep 2023 16:= 21:00 +0300
> Cc: pogonysh= ev@gmail.com, 65763@debbugs.gnu.org
> From: Dmitry Gutov <dmitry@gutov.dev>
>
> On 10/09/2023 09:26, Eli Zaretskii wrote:
> > diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el
> > index a4de0a6..0715236 100644
> > --- a/lisp/vc/vc-hooks.el
> > +++ b/lisp/vc/vc-hooks.el
> > @@ -799,7 +799,7 @@ vc-refresh-state
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0(add-hook 'vc-mode-line-hook #'= vc-mode-line nil t)
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0(let (backend)
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(cond
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0((setq backend (with-demoted-errors &= quot;VC refresh error: %S"
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0((setq backend (ignore-errors
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(vc-backend buffer-file-name)))
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; Let the backend setup = any buffer-local things he needs.
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(vc-call-backend backend = 'find-file-hook)
>
> This seems to work better:

That'd be fine by me, but I'd still want to understand why
ignore-errors didn't work.

Thanks.
--000000000000203cab060504a8a3--