From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Shuguang Sun via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#60188: 30.0.50; zerop cpd-length are not all handled in project--read-file-cpd-relative Date: Wed, 21 Dec 2022 16:48:37 +0800 Message-ID: References: <86v8m7dvh1.fsf@mail.linkov.net> Reply-To: Shuguang Sun Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15245"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 60188@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Dec 21 09:49:33 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 1p7un5-0003kR-WD for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 21 Dec 2022 09:49:32 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p7umj-0001aZ-0r; Wed, 21 Dec 2022 03:49:09 -0500 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 1p7umd-0001XT-9z for bug-gnu-emacs@gnu.org; Wed, 21 Dec 2022 03:49:04 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p7umc-0006AP-Mb for bug-gnu-emacs@gnu.org; Wed, 21 Dec 2022 03:49:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p7umc-00043J-6r for bug-gnu-emacs@gnu.org; Wed, 21 Dec 2022 03:49:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Shuguang Sun Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 21 Dec 2022 08:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60188 X-GNU-PR-Package: emacs Original-Received: via spool by 60188-submit@debbugs.gnu.org id=B60188.167161253915571 (code B ref 60188); Wed, 21 Dec 2022 08:49:02 +0000 Original-Received: (at 60188) by debbugs.gnu.org; 21 Dec 2022 08:48:59 +0000 Original-Received: from localhost ([127.0.0.1]:50404 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p7umZ-000435-6a for submit@debbugs.gnu.org; Wed, 21 Dec 2022 03:48:59 -0500 Original-Received: from out203-205-221-233.mail.qq.com ([203.205.221.233]:45980) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p7umU-00042z-Ok for 60188@debbugs.gnu.org; Wed, 21 Dec 2022 03:48:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1671612519; bh=GdjfLVf+ViJmVE3hboz6X3i7YoGjXGaFp3jaQ0nNPgY=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=x84U3mWSnxS0xkGud9zbkC7G5yamcmXappayUMJ8j5hX+r5JAs+D3aJQpYBKBo+XW 9fmPlQSCEeQXFenFJ0F8Xyl1RV5ce28mM/RW47LLE3ljD7cyTcqVbyZ+eyc9qUBq5n QKpMKJpNPx4lG9YNWs7CSwIx0pK+yPRKpinl0t50= Original-Received: from YJ190169 ([101.88.14.99]) by newxmesmtplogicsvrsza2-0.qq.com (NewEsmtp) with SMTP id C250DCC1; Wed, 21 Dec 2022 16:48:37 +0800 X-QQ-mid: xmsmtpt1671612517tp4gsj7e9 X-QQ-XMAILINFO: NvH2zBBgt3uT3jo9ji3HzUc4mXwb1G5p+mFJnFQc+BL9U4wmjq31DlCrzPwT+Q 8EUNMyoGz7Rfg/yJP/gvVdMad7UWAWA49zeXDxCBF6l3Zpdh0lRF/lJn/Q9SXr5a8eRsu9Akq1jE 4psuuSvGZNf3/tDEOxFrI7kv0lczesv2MYqd15c53ujA0vgfqCJRURCdWkrNc/Z+1+PyBdTBPinX MR1TM9AF3uBSrnLlgk47N3xJrEY344cVQhn7y2uIlWqjlkfqLOvpU3yueaAcL/mhLVbj9hPA2Ncb ksrwM/WAVoFvyov/guXxdyiALNbvnHk5fsjmSZ0cG68aTAG0ct7t5YSCMqqDsZWj9c4QyB7Fb+Zz 1dSIoLJ4rmXAhAmQIj3isHq9JAgxHKpo+a7cqV6Dj8AyhjnLa07WMjxDfeNiftgkk1qceN6tW+E/ P0zWDJ/ziwFRY1KT0kwJQt5A6uQBA4cjHUWQY/G6PKkaLgHrfYWp+rENdDxHyKEaSafrrXcC+9Hn pCEJ8SGiAAnbmmWssLswPXgfVDl4qwOKR61ywhO7Ytxn3+Nk2Smy83zgtHPtYg66ycKr+zq9hwEa xfZxw0Bo4pqNVZJzFTJLhVIvL8kSFzK3XdhBcC7QFSne877Gf/sa6L8Brar0RRaNgrRmeIoeb1Hz m97WwLgm9R4HA3VnKMrmelZoaBU2DTlQcYXXAl45syaggAyInwLSgT26uqVN5TqSiRVBSFZTnA6w s/WmbRBsv1NT52RDnNgOh/M0FxJ1iHGwfJd6gbrK4VrurcL1gsAfWOhfAjs48PTB3n6C6BKqXn74 rEfNssUY3MPhm95YU5O8KkZu+ktb8NUcGjmlN932 In-Reply-To: <86v8m7dvh1.fsf@mail.linkov.net> (Juri Linkov's message of "Mon, 19 Dec 2022 21:50:02 +0200") Original-Message-ID: <86a63hm9ay.fsf@qq.com> 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:251574 Juri Linkov writes: >> When I call C-x p d (project-find-dir), it reports the error message: >> `project--read-file-cpd-relative: Wrong type argument: stringp, nil` >> >> Finaly I found it is due the the zero length of >> `common-parent-directory` in `project--read-file-cpd-relative` as I >> using `fd` to provide the list of dirs which does not include the common >> project root in the returnd dirs. >> >> In `project--read-file-cpd-relative`, the zero length of >> `common-parent-directory` is handled for `prompt` but not for `abbr-cpd` >> which will be used as parameter of `string-prefix-p`. >> >> Below is the diff and a working patch. But no sure for the impact of HIST. >> >> ``` >> diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el >> index 559da6dd649..8c4ea8eeca0 100644 >> --- a/lisp/progmodes/project.el >> +++ b/lisp/progmodes/project.el >> @@ -1039,7 +1039,9 @@ project--read-file-cpd-relative >> (_ (when included-cpd >> (setq substrings (cons "./" substrings)))) >> (new-collection (project--file-completion-table substrings)) >> - (abbr-cpd (abbreviate-file-name common-parent-directory)) >> + (abbr-cpd (if (zerop cpd-length) >> + "" >> + (abbreviate-file-name common-parent-directory))) > > Strange, I can't reproduce the problem. When cpd-length is 0, > then for the empty string (abbreviate-file-name "") returns "". > > > > Actually in my case, it is `(abbreviate-file-name nil)`. As `fd` returns relative path, common-parent-directory is nil. -- Best Regards Shuguang Sun