From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Robert Irelan Newsgroups: gmane.emacs.bugs Subject: bug#51140: 28.0.50; cl-letf appears not to work with native-comp (at least for process-exit-status and other builtins) Date: Tue, 13 Sep 2022 20:22:36 -0700 Message-ID: References: <87a6jf3rft.fsf@web.de> <877dejgdmu.fsf@web.de> <87y1uo7qyp.fsf@gnus.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000007b47a805e89aa57a" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26716"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Michael Heerdegen , 51140@debbugs.gnu.org, Stefan Kangas , Andrea Corallo To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Sep 14 05:24:12 2022 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 1oYJ0W-0006nZ-Dn for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 14 Sep 2022 05:24:12 +0200 Original-Received: from localhost ([::1]:49386 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oYJ0V-000121-46 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 13 Sep 2022 23:24:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42154) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oYJ0N-00011m-SR for bug-gnu-emacs@gnu.org; Tue, 13 Sep 2022 23:24:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36372) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oYJ0M-0003cq-DG for bug-gnu-emacs@gnu.org; Tue, 13 Sep 2022 23:24:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oYJ0M-00044Y-3E for bug-gnu-emacs@gnu.org; Tue, 13 Sep 2022 23:24:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Robert Irelan Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Sep 2022 03:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51140 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 51140-submit@debbugs.gnu.org id=B51140.166312579215591 (code B ref 51140); Wed, 14 Sep 2022 03:24:02 +0000 Original-Received: (at 51140) by debbugs.gnu.org; 14 Sep 2022 03:23:12 +0000 Original-Received: from localhost ([127.0.0.1]:53304 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYIzX-00043P-Nj for submit@debbugs.gnu.org; Tue, 13 Sep 2022 23:23:12 -0400 Original-Received: from mail-vs1-f47.google.com ([209.85.217.47]:34793) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYIzU-000438-Hn for 51140@debbugs.gnu.org; Tue, 13 Sep 2022 23:23:09 -0400 Original-Received: by mail-vs1-f47.google.com with SMTP id m65so14517532vsc.1 for <51140@debbugs.gnu.org>; Tue, 13 Sep 2022 20:23:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=Wguw/cUyqcpApW0fFSPW/6AhvdDuJS5bOI8IuZs6+xg=; b=QYxrfUWMFC5jurO2mboJfghDGn0V7ZpvlQRKSxhk6lIIHz3ntgWPgfrn7eOfz16NZt 5mCnkjKJvOabwszSY1G92ZLdgHvrP4GO6cRpObWhv+6dHaHja5tUeW0n7/aJlmeQWg5b 2z22cteDro0v0m1juEDZvw1yGe5s3eBWNVdm3RLcR494NQ7Ois4Cr7s77/u+dOY33pmg QQpMrVNBVnT2yC06zPzy9xfBGoSk3q69dwWs3lgNvn5ldpbx7OtmQZm2vmG83MIAxMkY x8CMMqOJYVyusT9+fW+dwSIpLS2SaCF8KRadWd73LVTcAqp7/h5das3L/VP8kvSmBfqM nVNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=Wguw/cUyqcpApW0fFSPW/6AhvdDuJS5bOI8IuZs6+xg=; b=4d/KMQdC8F4CPk7WIJop4hgUkYYaGQvrze4NmV2HoPJ+cZvL5KV+8xDVUnHfgI2a0X rTbCxnIj6svs2mZAHDyktOBbEn13Lirc39eyciTZwI/W7Fj+c/R+uI4gOO6ThSU5qqMi qHuZNYM1ka5Xl7p3FL+zZUviCiI1/zXuwR9Mz1sqte8rSwy6VrUeuiZgglRFH376lveI BCyFgc0rabFFRzIPI8OZ1wfH8sZiQK/i4A1cnrRLWM+ULQZxkejUL/HuwaQPOlX05tI8 tCEQ6ExX9sh5LeDzCaoYcVw+POaLJIMwd2/bU9U7atC4Lu8zKA6c6ua6WtJS8aFw+ZFR 9SLA== X-Gm-Message-State: ACgBeo1xUxxdYztstePxQWH7Y0W9vtl1P1fkP81flx+S9bFPELW5onWU VrPIMzYuulnCvghwEApCKVMKEc+UMyyqFTf+0w== X-Google-Smtp-Source: AA6agR436Gq0ZDqphG9FPBAVkHCNZwbGwjfc8+dMD9NzAoKJPly97EoZpb683C8JZzkVZjCiXDwzMC5v4O9qD4aJ0cU= X-Received: by 2002:a67:f655:0:b0:398:c5fd:737c with SMTP id u21-20020a67f655000000b00398c5fd737cmr117390vso.43.1663125782479; Tue, 13 Sep 2022 20:23:02 -0700 (PDT) In-Reply-To: <87y1uo7qyp.fsf@gnus.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" Xref: news.gmane.io gmane.emacs.bugs:242429 Archived-At: --0000000000007b47a805e89aa57a Content-Type: text/plain; charset="UTF-8" I can't reproduce this anymore on 28.1 either: > (defun +ivy--always-return-zero-exit-code-a (fn &rest args) > (let ((process-exit-status-orig > (symbol-function 'process-exit-status))) > (cl-letf* (((symbol-function 'process-exit-status) > (lambda (_proc) > (let ((code (funcall process-exit-status-orig _proc))) > (if (/= code 0) 0 code))))) > (apply fn args)))) > (defun my-test-exit-status-advised () > (my-test-exit-status)) > (defun my-test-exit-status () > (let ((proc (start-process "my-test-exit-status" nil "false"))) > (while (not (eq (process-status proc) 'exit)) > (sit-for 0.05)) > (process-exit-status proc))) > (advice-add #'my-test-exit-status-advised :around #'+ivy--always-return-zero-exit-code-a) > (my-test-exit-status-advised) ; => 0 > (my-test-exit-status) ; => 1 So let's close this. On Mon, Sep 12, 2022 at 4:49 AM Lars Ingebrigtsen wrote: > Robert Irelan writes: > > > (defun +ivy--always-return-zero-exit-code-a (fn &rest args) > > (let ((process-exit-status-orig > > (symbol-function 'process-exit-status))) > > (cl-letf* (((symbol-function 'process-exit-status) > > (lambda (_proc) > > (let ((code (funcall process-exit-status-orig > _proc))) > > (if (= code 2) 0 code))))) > > (apply fn args))) > > (advice-add #'counsel-rg :around > #'+ivy--always-return-zero-exit-code-a) > > (I'm going through old bug reports that unfortunately weren't resolved > at the time.) > > Andrea was apparently unable to reproduce the problem here on the > current "master" branch. Robert, would it be possible for you to test > this on that branch and see whether this works better there? > -- Robert Irelan rirelan@gmail.com --0000000000007b47a805e89aa57a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I can't reproduce this anymore on 28.1 either:
> (defun +ivy--always-return-zero-exit-code-a (fn &rest = args)
> =C2=A0 (let ((process-exit-status-orig
> =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0(symbol-function 'process-exit-status)))
> = =C2=A0 =C2=A0 (cl-letf* (((symbol-function 'process-exit-status)
>= ; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (lambda (_proc)> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (let = ((code (funcall process-exit-status-orig _proc)))
> =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (if (/=3D code 0) 0 co= de)))))
> =C2=A0 =C2=A0 =C2=A0 (apply fn args))))
> (defun my-t= est-exit-status-advised ()
> =C2=A0 (my-test-exit-status))
> (d= efun my-test-exit-status ()
> =C2=A0 (let ((proc (start-process "= ;my-test-exit-status" nil "false")))
> =C2=A0 =C2=A0 (= while (not (eq (process-status proc) 'exit))
> =C2=A0 =C2=A0 =C2= =A0 (sit-for 0.05))
> =C2=A0 =C2=A0 (process-exit-status proc)))
&= gt; (advice-add #'my-test-exit-status-advised :around #'+ivy--alway= s-return-zero-exit-code-a)
> (my-test-exit-status-advised) =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 ; =3D> 0
> (my-test-exit-status) =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ; =3D> 1

So let's close this.

On Mon, Sep 12, 2022 at= 4:49 AM Lars Ingebrigtsen <larsi@gnus= .org> wrote:
Robert Irelan <rirelan@gmail.com> writes:

>=C2=A0 =C2=A0 =C2=A0(defun +ivy--always-return-zero-exit-code-a (fn &am= p;rest args)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0(let ((process-exit-status-orig
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (symbol-function '= process-exit-status)))
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(cl-letf* (((symbol-function 'pro= cess-exit-status)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0(lambda (_proc)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0(let ((code (funcall process-exit-status-orig _proc)))
>=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(if (=3D code 2) 0 code)))))
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(apply fn args)))
>=C2=A0 =C2=A0 =C2=A0(advice-add #'counsel-rg :around #'+ivy--al= ways-return-zero-exit-code-a)

(I'm going through old bug reports that unfortunately weren't resol= ved
at the time.)

Andrea was apparently unable to reproduce the problem here on the
current "master" branch.=C2=A0 Robert, would it be possible for y= ou to test
this on that branch and see whether this works better there?


--
Robert Irelan
rirelan@gmail.com
--0000000000007b47a805e89aa57a--