Received: (at submit) by debbugs.gnu.org; 11 Oct 2024 17:09:21 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 11 13:09:21 2024 Received: from localhost ([127.0.0.1]:35205 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1szJ8i-00060k-NU for submit <at> debbugs.gnu.org; Fri, 11 Oct 2024 13:09:21 -0400 Received: from lists.gnu.org ([209.51.188.17]:48010) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <stephen.berman@HIDDEN>) id 1szJ8g-00060b-R0 for submit <at> debbugs.gnu.org; Fri, 11 Oct 2024 13:09:20 -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 <stephen.berman@HIDDEN>) id 1szJ8A-0004gj-Bw for bug-gnu-emacs@HIDDEN; Fri, 11 Oct 2024 13:08:51 -0400 Received: from mout.gmx.net ([212.227.15.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <stephen.berman@HIDDEN>) id 1szE31-0001aa-Pr for bug-gnu-emacs@HIDDEN; Fri, 11 Oct 2024 07:43:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1728646979; x=1729251779; i=stephen.berman@HIDDEN; bh=KXktBzawks8Hyiq0qewpiJi8NXNOoDLofkskYRdH+yo=; h=X-UI-Sender-Class:From:To:Subject:Date:Message-ID:MIME-Version: Content-Type:cc:content-transfer-encoding:content-type:date:from: message-id:mime-version:reply-to:subject:to; b=AcZygVdo3/m/sEAliXuSJTgSSHu/clxNbiC9+9Ez2nga5nKe+xVHKF8La3rD/rfj pBEqL5H6cPnvyq+bwVFvJR+gLfPULTpJ/b/7ucq+XUQq74PYFd3fE2OjxfVjKD8Bu 1zq8dX6fJuCVDC5CKKPquWm06/rSTIx+60+KtF6XrrGHDoCPG+2PukpA5kc90/z/X FFBslqZDu/AFNcauQTDoEaqwY2rP0bOvS5gihiJH0vHMUighIRkRKGHp+VYWb35p7 PDvekWVdqp58RNa/PA8PLFKxts/0WTUHAoftgWsHMA5zqb0Y3wGSj4lA2v+r0fjuW /U7fuLcPYHkwQPNHdg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from strobelfssd ([94.134.94.63]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mel7v-1tZNg61aWz-00cBmh for <bug-gnu-emacs@HIDDEN>; Fri, 11 Oct 2024 13:42:59 +0200 From: Stephen Berman <stephen.berman@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 31.0.50; Problems with company-dabbrev in GNU ELPA package company X-Debbugs-Cc: Date: Fri, 11 Oct 2024 13:42:54 +0200 Message-ID: <87plo6uapt.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:7jqGEfvNVvvwtfb0W5XUYZFQckEWz7kLIB9iyPuGImKDodXUNr4 E8X7+bURhhykDjXJTnh3gp0lhzWkQGaC+O513v8BNRXyf9e/xB4M9kkQNI0lfvbSZEft55D LBQU0hRoZ9HmWnEB6ctMVkG8gnsIzFWrC5fZJU22eNCu8HTEnxbYoV1HNhkJaiY+8QbCl3p Tiv0PYA7mPpX/UwxQAclg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:mumePrp8U4I=;dRSWXtN0H6/A9Yq0hKb1ZHZ/jUN MpQzKZAHf/EE/OsukRoPhdcz4gQgpN6xReQ+eTHi0jLgShkdGss/iVjMAwe1viAw5L0sCcK7Y wcfRYanCRwKGh+QiYduK770sdRu/rnBgPEcAHgiCRvF8raqLsY70P2LOG+rBx2kWkgmM2YVA/ ciSpoTGqloVGXSrHb+Do3xHAI+U4CUCGPt+PlZoqPStD2NSdFWZvJhSawwpYDiPsQVdhFYBLC W35RPC0jd7EEgusAYtHfFnKVAJS2+VjbGTFn/2RyLbRP21tMpSLTG/PNFg9lmPN9aMXcxKVtp 2V1xvSGrJRA258ldHkzZij+ig1wTGjXHtd5p/Cz3YLX69T9g4YQ3n7lkwbBimr8MBSs88s58a H2YZBPSTpzg/eBiwhaB3Iju4/+zmRZ1rYSIYmx7UtMUCq2VMX9xzQR2tdzAuXOP1J8O8JPLGT SJgal+LF/FoB1bKJEba9efynIpt6IWJOSVhT73MInJkrORqbp5Ln43F4DC8JFy88KoqWd0771 vOis1YcKWfzOzgQrCqrUK9AnXDiXptQgHYPN+ikE2LQFkfTotSOm/mQJIwYGZq023ocdwc4rL dbqKNUqGWZ4aokB2RndGkXC/GbNH0q4lF0IfW3AKy1K8DrWsZjzpvB/WMSITWgLWo+I/Ca5/e bOMZl41oKDA2rVsdWPtpU7YTSLxFAJb9QgKxnyBOUcOOO0BEyOnGMzPQtHAgotQvjtRohinaU J+kc3jtE5uhTTbiFbeO108OCQDbLzsaeCYP1Kge4zu7N+VTB10eEJq1wiDWcbiupev84yNmf0 npn4tMrl3ES2E+XKMBHg/PfA== Received-SPF: pass client-ip=212.227.15.19; envelope-from=stephen.berman@HIDDEN; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit 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: -2.3 (--) --=-=-= Content-Type: text/plain 0. Install the GNU ELPA packages company and gnu-elpa. 1. emacs -Q 2. M-x package-initialize and M-x toggle-debug-on-error 3. C-x b a M-x company-mode (switch to buffer "a" in fundamental-mode and enable company-mode there) 4. Type three arbitrary letters, e.g. dkf 5. On typing the third letter, the following prompt appears in the echo area: "Install package all? (yes or no) ". Type "no". ==> This raises the error "Abort!" and pops up a *Backtrace* buffer, whose content is attached. Looking at the backtrace here is what I think happens (though I couldn't actually get Edebug to stop execution before the prompt in step 5): company-dabbrev--fetch call company-dabbrev--search, in which the sexp `(eq other-buffer-modes 'all)' is evaluated as t ('all being the default value of company-dabbrev-other-buffers), and this causes gnu-elpa--perform-autoload (in gnu-elpa-utils.el) to be invoked, which invokes the install package prompt in step 5 because the symbol `all' is in gnu-elpa-features.el (from the GNU ELPA package "all"). It would not be unreasonable to lay the blame for this problem on the "all" package with its namespace-unclean autoloaded command `all' (naming it something like `all-show' would have avoided the problem). However, the pcase code in company-dabbrev--fetch actually triggers the problem, and `M-x eval-buffer' on company-dabbrev.el points to why: that invocation issues the warning "pcase pattern `all shadowed by previous pcase pattern". The attached patch (I don't have a local clone of the company package repo, so it's just a plain diff) avoids both this warning and the problematic interaction with gnu-elpa--perform-autoload. This patch uses 'all instead of `all, since they are the same for symbols in pcase patterns, and replaces `t by _, in accordance with (info "(elisp) pcase Macro"). In addition, the patch fixes a typo in the defcustom `company-dabbrev-other-buffers' that prevents choosing "Function to return similar major-modes" from the value menu. In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.2) of 2024-10-05 built on strobelfssd Repository revision: 4c7a6dc1a0ce8fe7bb603c907efb52d2ecf30858 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101013 System Description: Linux From Scratch r12.2-17-systemd Configured using: 'configure -C 'CFLAGS=-Og -g3' PKG_CONFIG_PATH=/opt/qt6/lib/pkgconfig' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=company-dabbrev-backtrace Content-Transfer-Encoding: base64 RGVidWdnZXIgZW50ZXJlZC0tTGlzcCBlcnJvcjogKGVycm9yICJBYm9ydCEiKQogIGVycm9yKCJB Ym9ydCEiKQogIGdudS1lbHBhLS1wZXJmb3JtLWF1dG9sb2FkKCkKICBieXRlLWNvZGUoIlwzMDBc MzAxIVwyMTBcMzAyIFwyMDciIFtyZXF1aXJlIGdudS1lbHBhLXV0aWxzIGdudS1lbHBhLS1wZXJm b3JtLWF1dG9sb2FkXSAyKQogIGFsbCgjPGJ1ZmZlciBhPikKICBjb21wYW55LWRhYmJyZXYtLWZl dGNoKCkKICBjb21wYW55LWNhY2hlLWZldGNoKGRhYmJyZXYtY2FuZGlkYXRlcyBjb21wYW55LWRh YmJyZXYtLWZldGNoIDpleHBpcmUgdCkKICBjb21wYW55LWRhYmJyZXYoY2FuZGlkYXRlcyAiZGtm IiAiIikKICBhcHBseShjb21wYW55LWRhYmJyZXYgKGNhbmRpZGF0ZXMgImRrZiIgIiIpKQogIGNv bXBhbnktY2FsbC1iYWNrZW5kLXJhdyhjYW5kaWRhdGVzICJka2YiICIiKQogIGNvbXBhbnktLWZl dGNoLWNhbmRpZGF0ZXMoImRrZiIgIiIpCiAgY29tcGFueS1jYWxjdWxhdGUtY2FuZGlkYXRlcygi ZGtmIiBuaWwgIiIpCiAgY29tcGFueS0tYmVnaW4tbmV3KCkKICBjb21wYW55LS1wZXJmb3JtKCkK ICBjb21wYW55LWF1dG8tYmVnaW4oKQogIGNvbXBhbnktaWRsZS1iZWdpbigjPGJ1ZmZlciBhPiAj PHdpbmRvdyAzIG9uIGE+IDQgNCkKICBhcHBseShjb21wYW55LWlkbGUtYmVnaW4gKCM8YnVmZmVy IGE+ICM8d2luZG93IDMgb24gYT4gNCA0KSkKICB0aW1lci1ldmVudC1oYW5kbGVyKFt0IDI2Mzc2 IDIyMTE5IDIzODc1OSBuaWwgY29tcGFueS1pZGxlLWJlZ2luICgjPGJ1ZmZlciBhPiAjPHdpbmRv dyAzIG9uIGE+IDQgNCkgbmlsIDc3MDAwMCBuaWxdKQo= --=-=-= Content-Type: text/x-patch Content-Disposition: attachment Content-Description: company-dabbrev patch Content-Transfer-Encoding: quoted-printable *** /home/steve/.emacs.d/elpa/company-1.0.2/company-dabbrev.el_orig 2024-0= 9-23 15:23:02.270065887 +0200 =2D-- /home/steve/.emacs.d/elpa/company-1.0.2/company-dabbrev.el 2024-10-1= 1 11:17:54.607254997 +0200 *************** *** 41,47 **** :type '(choice (const :tag "Off" nil) (const :tag "Same major mode" t) (const :tag "All" all) ! (function :tag "Function to return similar major-modes"= group))) (defcustom company-dabbrev-ignore-buffers "\\`[ *]" "Regexp matching the names of buffers to ignore. =2D-- 41,47 ---- :type '(choice (const :tag "Off" nil) (const :tag "Same major mode" t) (const :tag "All" all) ! (function :tag "Function to return similar major-modes"= ))) (defcustom company-dabbrev-ignore-buffers "\\`[ *]" "Regexp matching the names of buffers to ignore. *************** *** 198,206 **** (company-dabbrev--search (company-dabbrev--make-regexp) company-dabbrev-time-limit (pcase company-dabbrev-other-buffers ! (`t (list major-mode)) ! ((pred functionp) (funcall company-dabbrev-= other-buffers (current-buffer))) ! (`all `all)))) ;;;###autoload (defun company-dabbrev (command &optional arg &rest _ignored) =2D-- 198,208 ---- (company-dabbrev--search (company-dabbrev--make-regexp) company-dabbrev-time-limit (pcase company-dabbrev-other-buffers ! ('all 'all) ! ((pred functionp) ! (funcall company-dabbrev-other-buffers ! (current-buffer))) ! (_ (list major-mode))))) ;;;###autoload (defun company-dabbrev (command &optional arg &rest _ignored) --=-=-=--
Stephen Berman <stephen.berman@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#73748
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.