X-Loop: help-debbugs@HIDDEN Subject: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths Resent-From: Evgeniy Dushistov <dushistov@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 20 Feb 2025 16:17:02 +0000 Resent-Message-ID: <handler.76440.B.17400682219115 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 76440 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 76440 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.17400682219115 (code B ref -1); Thu, 20 Feb 2025 16:17:02 +0000 Received: (at submit) by debbugs.gnu.org; 20 Feb 2025 16:17:01 +0000 Received: from localhost ([127.0.0.1]:38755 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tl9ES-0002Mq-1x for submit <at> debbugs.gnu.org; Thu, 20 Feb 2025 11:17:01 -0500 Received: from lists.gnu.org ([2001:470:142::17]:41636) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dushistov@HIDDEN>) id 1tl9EO-0002LQ-1N for submit <at> debbugs.gnu.org; Thu, 20 Feb 2025 11:16:57 -0500 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 <dushistov@HIDDEN>) id 1tl9EE-0004uh-Bf for bug-gnu-emacs@HIDDEN; Thu, 20 Feb 2025 11:16:47 -0500 Received: from send174.i.mail.ru ([95.163.59.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <dushistov@HIDDEN>) id 1tl9EB-0007hW-3W for bug-gnu-emacs@HIDDEN; Thu, 20 Feb 2025 11:16:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail4; h=Content-Type:MIME-Version:Message-ID:Subject:To:From:Date:From: Sender:Reply-To:To:Cc:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive:X-Cloud-Ids: Disposition-Notification-To; bh=L8G5sgEhW/BHrCFnQsMMSe65l6tXeK0H4VSi8Wyb0qU=; t=1740068199; x=1740158199; b=tJIQPHwcjv9YQJ2rstVFm65tJ0b7fiWFnSh3iQuzj/Thp7R WX+X+tSyx4NA94OYPhUvZyRgkLIZbXHiwYkpwNKbS9YI9x1dtELi5WHhvJVUc+sSeA4146KzqLC0O rJjytlyNDb0kQWIQjlgP1zoCOkDWgdfPF9AEGipC/GKpp/42FOofWVCSpUP6ekVybkdwDb3Wy1HmY 6v6ubuP6/uGIwx55dmAIxcsS9VGzt4olNhNb0BHRAN3phqlFjeZ3OTqhTx6DnDMxUe9IK1JLKjMVQ KMBSxpN+gzLF0gGSJZ7iy854uFSTIfFkLJv1Iyug1DXm1fvISxNCDzg6Njgcz5ag==; Received: by exim-smtp-5f589487f8-bsvrn with utf8esmtpa (envelope-from <dushistov@HIDDEN>) id 1tl9E4-00000000LeV-0XJg for bug-gnu-emacs@HIDDEN; Thu, 20 Feb 2025 19:16:36 +0300 Date: Thu, 20 Feb 2025 19:16:32 +0300 From: Evgeniy Dushistov <dushistov@HIDDEN> Message-ID: <Z7dVYKIbOt9viKlq@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline "X-PGP-Key: https://sks-keyservers.net/pks/lookup?op=vindex&search=dushistov%40mail.ru" Authentication-Results: exim-smtp-5f589487f8-bsvrn; auth=pass smtp.auth=dushistov@HIDDEN smtp.mailfrom=dushistov@HIDDEN X-Mailru-Src: smtp X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD916C41472748AFA047650D52D52D6997C0A87834680C0F06C00894C459B0CD1B9DC1B612563947164460A1D3C0470A96D7C0BCA9B957D2BF4FCC8EB1B0A0B41490C43EDF95CA0F6DD X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE727FD6E7FC3A8F857EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637BF3E16F0C87855308638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8C71B0B814CBE3997817E2B5E266596A982F98CFE25093F3420879F7C8C5043D14489FFFB0AA5F4BF176DF2183F8FC7C0565C7A4E90E531F78941B15DA834481FA18204E546F3947CD56D36E97F3F038CF6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F79006379CB0AA5F2FC3A5BC389733CBF5DBD5E9B5C8C57E37DE458BD9DD9810294C998ED8FC6C240DEA76428AA50765F79006371DBCB936B60EA0FBD81D268191BDAD3DBD4B6F7A4D31EC0BE2F48590F00D11D6D81D268191BDAD3D78DA827A17800CE7DEDC13BB9439AB05EC76A7562686271ED91E3A1F190DE8FD2E808ACE2090B5E14AD6D5ED66289B5259CC434672EE63711DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C329D6052AD80E5BE1089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-C1DE0DAB: 0D63561A33F958A547F6CDD7F4E3A76D5002B1117B3ED6960C61364370E380C3466072E6821086B3277AA237ED671D4372AF3B35EA4094CC251EFD5447B32ED69C5DF10A05D560A9D2B5782620B851B7C8C84E951CD0BE2F58C12E6D310A6D53566404C906FA8ADEA71A35648BE338CEED902CAAD3CD6B00BA7CCD254A1CF5E8C545167D1C1EF2FB638A446BE3E5C627BF0CFE790FC11A7261332C5CB50AE517BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF26627E0B569FD6DE0357DC0226EF9A8E87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CF2F7BB925C96FE51BBEB85361DDA86C6C9F898A459C9CACEE058CF93DF09E479A9B17B6A7F8D99C9BE0A03213D1DB87F2AE9B524EF8C55050B398B59716E102F99517D23B767A486C383C93C5AD2DA449913E6812662D5F2A44C8AD4AA6DD08ECCACDBADCC7D60979964550E41902C4E4 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVYrk7BQKFwEt8AZEEocxyHoeJ7NXrzW+kw== X-Mailru-Sender: AFD8F0D0D0E72874173F5846337BA16348EE163F8B391A64B951B70A5BD4BD8E3ED5AED67E84E9A03D9D5E1A15D2B1F6390B4EE339CE7E75FB559BB5D741EB9615E033373711A675E66B5C1DBFD5D09D67EA787935ED9F1B X-Mras: Ok Received-SPF: pass client-ip=95.163.59.13; envelope-from=dushistov@HIDDEN; helo=send174.i.mail.ru 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_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.7 (+) 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: Run "emacs -Q" with such config: ``` (setq straight-check-for-modifications nil) (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs [...] Content analysis details: (1.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.1 URIBL_SBL_A Contains URL's A record listed in the Spamhaus SBL blocklist [URIs: raw.githubusercontent.com] 0.6 URIBL_SBL Contains an URL's NS IP listed in the Spamhaus SBL blocklist [URIs: raw.githubusercontent.com] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -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 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (dushistov[at]mail.ru) 0.0 SPOOFED_FREEMAIL No description available. 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.7 (/) Run "emacs -Q" with such config: ``` (setq straight-check-for-modifications nil) (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) (bootstrap-version 6)) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el" 'silent 'inhibit-cookies) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) (straight-use-package 'use-package) (setq use-package-verbose t) (use-package ivy :straight t :init (setq ivy-use-virtual-buffers t) (setq enable-recursive-minibuffers t) :config (ivy-mode 1) ) ``` After start open "/tmp" directory, and then press C-x C-f and then type /var, the content of minibuffer would be "/tmp//var", if after that press TAB the result would be "/tmp/var" while expected "/var". emacs 29.4 gives "/var", while emacs 30.1-rc1 gives "/tmp/var". In GNU Emacs 30.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.48, cairo version 1.18.2) Repository revision: f33dddcc776e901abd1bb8f444c87d7e51128fec Repository branch: main Windowing system distributor 'The X.Org Foundation', version 11.0.12101015 System Description: Arch Linux Configured using: 'configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib --with-tree-sitter --localstatedir=/var --with-cairo --disable-build-details --with-harfbuzz --with-libsystemd --with-modules --with-x-toolkit=gtk3 'CFLAGS=-march=nehalem -mtune=znver1 -O2 -pipe -fno-plt -fexceptions -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/evgeniy/bigdisk1/linux-infra/arch_build/modified-packages/emacs-30/src=/usr/src/debug/emacs' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs'' 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 XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: ru_RU.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/d Minor modes in effect: ivy-mode: t straight-use-package-mode: t straight-package-neutering-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/evgeniy/.config/emacs/straight/build/bind-key/bind-key hides /usr/share/emacs/30.1/lisp/bind-key /home/evgeniy/.config/emacs/straight/build/use-package/use-package-ensure hides /usr/share/emacs/30.1/lisp/use-package/use-package-ensure /home/evgeniy/.config/emacs/straight/build/use-package/use-package-ensure-system-package hides /usr/share/emacs/30.1/lisp/use-package/use-package-ensure-system-package /home/evgeniy/.config/emacs/straight/build/use-package/use-package-core hides /usr/share/emacs/30.1/lisp/use-package/use-package-core /home/evgeniy/.config/emacs/straight/build/use-package/use-package-delight hides /usr/share/emacs/30.1/lisp/use-package/use-package-delight /home/evgeniy/.config/emacs/straight/build/use-package/use-package-lint hides /usr/share/emacs/30.1/lisp/use-package/use-package-lint /home/evgeniy/.config/emacs/straight/build/use-package/use-package-bind-key hides /usr/share/emacs/30.1/lisp/use-package/use-package-bind-key /home/evgeniy/.config/emacs/straight/build/use-package/use-package-diminish hides /usr/share/emacs/30.1/lisp/use-package/use-package-diminish /home/evgeniy/.config/emacs/straight/build/use-package/use-package-jump hides /usr/share/emacs/30.1/lisp/use-package/use-package-jump /home/evgeniy/.config/emacs/straight/build/use-package/use-package hides /usr/share/emacs/30.1/lisp/use-package/use-package Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils ffap url-parse url-vars thingatpt dired dired-loaddefs tramp trampver tramp-integration files-x tramp-message tramp-compat xdg shell pcomplete parse-time iso8601 format-spec auth-source eieio eieio-core password-cache json map tramp-loaddefs time-date ivy delsel ivy-faces ivy-overlay colir color ivy-autoloads use-package-core use-package-autoloads bind-key-autoloads straight-autoloads compile text-property-search comint ansi-osc ansi-color ring comp-run comp comp-cstr cl-extra help-mode comp-common warnings icons rx straight info loaddefs-gen generate-lisp-file lisp-mnt radix-tree easy-mmode cl-seq pcase subr-x byte-opt cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cyril-util 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 native-compile emacs) Memory information: ((conses 16 153970 11540) (symbols 48 12982 0) (strings 32 39164 2004) (string-bytes 1 1243659) (vectors 16 23992) (vector-slots 8 279176 6265) (floats 8 169 262) (intervals 56 380 0) (buffers 992 14)) -- /Evgeniy
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Evgeniy Dushistov <dushistov@HIDDEN> Subject: bug#76440: Acknowledgement (30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths) Message-ID: <handler.76440.B.17400682219115.ack <at> debbugs.gnu.org> References: <Z7dVYKIbOt9viKlq@HIDDEN> X-Gnu-PR-Message: ack 76440 X-Gnu-PR-Package: emacs Reply-To: 76440 <at> debbugs.gnu.org Date: Thu, 20 Feb 2025 16:17:03 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 76440 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 76440: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D76440 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths Resent-From: Stefan Kangas <stefankangas@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 20 Feb 2025 16:30:03 +0000 Resent-Message-ID: <handler.76440.B76440.174006895615585 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 76440 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Evgeniy Dushistov <dushistov@HIDDEN>, 76440 <at> debbugs.gnu.org Cc: Oleh Krehel <ohwoeowho@HIDDEN> Received: via spool by 76440-submit <at> debbugs.gnu.org id=B76440.174006895615585 (code B ref 76440); Thu, 20 Feb 2025 16:30:03 +0000 Received: (at 76440) by debbugs.gnu.org; 20 Feb 2025 16:29:16 +0000 Received: from localhost ([127.0.0.1]:38916 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tl9QJ-00043A-7t for submit <at> debbugs.gnu.org; Thu, 20 Feb 2025 11:29:16 -0500 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]:58428) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1tl9QG-000424-Sk for 76440 <at> debbugs.gnu.org; Thu, 20 Feb 2025 11:29:13 -0500 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-5ded69e6134so1863308a12.0 for <76440 <at> debbugs.gnu.org>; Thu, 20 Feb 2025 08:29:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740068946; x=1740673746; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=1GBw3GmD63reF/Sqtfwdr6TkktldQ2Y3JLVg9zyUvj0=; b=bYRLBdF9XpBSNSmLAitybuezYMehXMDm7WpwEwGZFerp68vZ35Uzdr/mhLy5bq0j0Q NoGeLxr9mTWbpBEe5pGcVEQCIM0EWqbnPCrthfN1bxOu7wp7MkUIyXOWdww2FB1p2f4o kdho2aSbLLm8cg8B863Rpc2hu5yckOQ8LhJuGs4KgBZCGntMap3WPWYHsxBNgFKpX91k +4Os5Uv3Kh4XMKRAwMReRB1/R0DdIOJGBVos3R6a78QU0SHE6hIxsxdtIcyUCpeL0ANn 3+LqT3WbZHG8642GYizi5PmRWbkTEgbuvlD1MLqZYbSa8Hw5tc6JkraD8kKx0guhVLSH NBdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740068946; x=1740673746; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1GBw3GmD63reF/Sqtfwdr6TkktldQ2Y3JLVg9zyUvj0=; b=r7Rr6tEILLzOhttXZAUt9y9D9b1n3pmTd1q16zuVCJIhAOpehWKv8swGqK1OR7KR4f BCls9hM5runiiLBnum+KgiPcQxcZUyZeT3/uNpURmjDcqsNN8dQam7lUveEMPRdrJ2ea 1Ey5RyDKeKnswEg2pefw89wMZXmYQ0HQsSc2YO6pmGLJx4/PyF3JkIUhztw6sjdalAA4 eFvAlM9z/0fTKpb3/lU/ZX73Xp6Gd0eJaIilQRXGjk5iSXAcVp7aybPVi+ABfLiGG/Ua Xh2FzqgPhXSLq6GmH+nLyZ6BKBJZ3OFXiMCES8aSJdcYImP4sGVO5XwxDOCo4P+RAyBu XXNA== X-Forwarded-Encrypted: i=1; AJvYcCXyQFA5yzDjvwUhNZMSsZy4MiYNnLTbI8O7h7MPBldvAknpYaCnNfllzQqkaVCa6irkdcTn1Q==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwG4MwGaMWkMjGKNZdZvMQmC1ISZjPxr0xGEscGJhykQGqB7K2S CApiOrWNq1Tt6Xd70XlyIZGe96JYioyrnaQ4+sAhrkjT1IufFSJJOXW6hppmNYMeKzccsbM59Wn 6HC46e5LGzf3fiC9rXjRizwnx01c= X-Gm-Gg: ASbGncugSbClLqo1VRQFOOfEP9ld+6YvGf4rV7tnMW7sqznBmBWRd5ctX0a06x3h4Yh 0ifHfmcIhI7Uwu083jTCWSFwA0+LAR+8N6h3sYlp1yOAfdg4fvQhPpzQl3pZrxz3n4hiLpiKkWm Y= X-Google-Smtp-Source: AGHT+IFAJ5io5BGNbNKVXa0BHK5BF7oCtxvUGkDAnx+fFLrfxYBrBZWMQAjIMK6ti9wP5ZU3UJrPCpRwi9D+rRAq2Pg= X-Received: by 2002:a05:6402:2549:b0:5d2:723c:a568 with SMTP id 4fb4d7f45d1cf-5e08950be39mr8617633a12.10.1740068946077; Thu, 20 Feb 2025 08:29:06 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 20 Feb 2025 10:29:04 -0600 From: Stefan Kangas <stefankangas@HIDDEN> In-Reply-To: <Z7dVYKIbOt9viKlq@HIDDEN> References: <Z7dVYKIbOt9viKlq@HIDDEN> MIME-Version: 1.0 Date: Thu, 20 Feb 2025 10:29:04 -0600 X-Gm-Features: AWEUYZlJ3MkKeE_In6JnZb0rfQSNv8MKk-G2yHXyKG5vNn5gQIZ2IQ--EyeBZ48 Message-ID: <CADwFkmmHKHx8ZB8Pf_yoAkMPxzXj8nV00niVutBgb7ik7BcKUQ@HIDDEN> Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) 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 (-) Evgeniy Dushistov via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> writes: > Run "emacs -Q" with such config: [...] Here's a simpler recipe that doesn't involve any third-party package manager: (package-initialize) (use-package ivy :ensure t :init (setq ivy-use-virtual-buffers t) (setq enable-recursive-minibuffers t) :config (ivy-mode 1)) > After start open "/tmp" directory, and then press > C-x C-f and then type /var, the content of minibuffer would be > "/tmp//var", > if after that press TAB > the result would be "/tmp/var" > while expected "/var". > > emacs 29.4 gives "/var", while emacs 30.1-rc1 gives "/tmp/var". I'm copying in Oleh Krehel, the maintainer of ivy.
X-Loop: help-debbugs@HIDDEN Subject: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths Resent-From: "Basil L. Contovounesios" <basil@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 20 Feb 2025 17:28:01 +0000 Resent-Message-ID: <handler.76440.B76440.174007243414612 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 76440 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Kangas <stefankangas@HIDDEN> Cc: Evgeniy Dushistov <dushistov@HIDDEN>, Oleh Krehel <ohwoeowho@HIDDEN>, 76440 <at> debbugs.gnu.org Received: via spool by 76440-submit <at> debbugs.gnu.org id=B76440.174007243414612 (code B ref 76440); Thu, 20 Feb 2025 17:28:01 +0000 Received: (at 76440) by debbugs.gnu.org; 20 Feb 2025 17:27:14 +0000 Received: from localhost ([127.0.0.1]:39759 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tlAKP-0003nZ-G0 for submit <at> debbugs.gnu.org; Thu, 20 Feb 2025 12:27:14 -0500 Received: from mta-14-3.privateemail.com ([198.54.127.110]:42734) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <basil@HIDDEN>) id 1tlAKM-0003mH-42 for 76440 <at> debbugs.gnu.org; Thu, 20 Feb 2025 12:27:11 -0500 Received: from mta-14.privateemail.com (localhost [127.0.0.1]) by mta-14.privateemail.com (Postfix) with ESMTP id 4YzKvB6Bydz3hhTl; Thu, 20 Feb 2025 12:27:02 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net; s=default; t=1740072422; bh=6nErIVk0mD9/7q65kfA2Gvk9Y28bpcSeTv+FSEoTx1Y=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=CWLhU1Y2JeNGswaTwQQ5OKxAhQkKX0c+FNxo2oWsF2F8hunz1hqv6QgfEnbUqSmXm TXMkN5KuxSG3EbU3GK7iekAd/URSiHQId1iWKJB5+1+ubl/xWjM1A+K6qhjtjVQB3A MEgFT54TkFD7jky74l+nvEUyEJt41X3FqW4PNOhBL5EkWBwEMIGHd9rt0SbXN4taYt Uvg8oZ2K69j47fhc5ArHRdq9KdIYIPO+xaoc6WTf87MvXKA4Lkk413Q7CxMRG6FAbE 19x1HFAoc8m6th/j+HV1BR+6ln1xMlteIN1DiNq+fcAS7INooZg08SxBP14x1InV8o REwMdhzi3wiLw== Received: from localhost (unknown [31.46.242.24]) by mta-14.privateemail.com (Postfix) with ESMTPA; Thu, 20 Feb 2025 12:26:59 -0500 (EST) From: "Basil L. Contovounesios" <basil@HIDDEN> In-Reply-To: <CADwFkmmHKHx8ZB8Pf_yoAkMPxzXj8nV00niVutBgb7ik7BcKUQ@HIDDEN> References: <Z7dVYKIbOt9viKlq@HIDDEN> <CADwFkmmHKHx8ZB8Pf_yoAkMPxzXj8nV00niVutBgb7ik7BcKUQ@HIDDEN> Date: Thu, 20 Feb 2025 18:26:53 +0100 Message-ID: <87o6ywedcy.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: 0.0 (/) 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 (-) Stefan Kangas [2025-02-20 10:29 -0600] wrote: > Evgeniy Dushistov writes: > >> After start open "/tmp" directory, and then press >> C-x C-f and then type /var, the content of minibuffer would be >> "/tmp//var", >> if after that press TAB >> the result would be "/tmp/var" >> while expected "/var". >> >> emacs 29.4 gives "/var", while emacs 30.1-rc1 gives "/tmp/var". Thanks, I can reproduce this. The call to minibuffer-complete in ivy-partial-or-done seems to behave differently between Emacs versions 29 and 30; I'll have to take a closer look soon. Sadly this isn't the only (nor even the most severe) filename completion bug in Ivy with Emacs 30+. Stay tuned. > I'm copying in Oleh Krehel, the maintainer of ivy. Feel free to also CC me as co-maintainer in the future. I don't think Oleh has had much time to dedicate to Ivy lately. Thanks, -- Basil
X-Loop: help-debbugs@HIDDEN Subject: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths Resent-From: Evgeniy Dushistov <dushistov@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 20 Feb 2025 19:51:02 +0000 Resent-Message-ID: <handler.76440.B76440.174008102925561 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 76440 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" <basil@HIDDEN> Cc: Stefan Kangas <stefankangas@HIDDEN>, 76440 <at> debbugs.gnu.org, Oleh Krehel <ohwoeowho@HIDDEN> Received: via spool by 76440-submit <at> debbugs.gnu.org id=B76440.174008102925561 (code B ref 76440); Thu, 20 Feb 2025 19:51:02 +0000 Received: (at 76440) by debbugs.gnu.org; 20 Feb 2025 19:50:29 +0000 Received: from localhost ([127.0.0.1]:41722 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tlCZ1-0006e7-VO for submit <at> debbugs.gnu.org; Thu, 20 Feb 2025 14:50:28 -0500 Received: from send241.i.mail.ru ([95.163.59.80]:53832) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dushistov@HIDDEN>) id 1tlCYy-0006cz-8y for 76440 <at> debbugs.gnu.org; Thu, 20 Feb 2025 14:50:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail4; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:From:Sender:Reply-To:To:Cc:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive: X-Cloud-Ids:Disposition-Notification-To; bh=J4o9T70OaxeFkk/8pnwuJ160kQuopAFX7gVibV64e+k=; t=1740081024; x=1740171024; b=DQ4Hhiz+uLQoljiuFL1yHnxWZ80ba12Ar3A4A+X1aB7+4CIofTha7lGcaKLaG5rJH8O+yNEpKbP nfTYLEXIydY15l6847yXIV1S7uKRP0KrSNjXfOcCrwqrmls24yjZqa4k1WdFXGjUhp0n/cKvvku08 Q8WQDsHmOZvSLziEX2C3e27qR/l35lW+KOihy7lRvaPe0avSpknsmuKv5LDubGFC+UTfPTv+WpVYO fT7l5sGAHuqP5OCPTvUYb5PYuBgtM04kb1cdbOcVvwMmvCoKAw+Luib31Cn5xZ8f9VwTvU9oDivHN etSZbG4w0oY7+X3KcpTqfXxP3JBjKXPkAfJg==; Received: by exim-smtp-5f589487f8-7cb4d with utf8esmtpa (envelope-from <dushistov@HIDDEN>) id 1tlCYp-00000000KpP-3twN; Thu, 20 Feb 2025 22:50:16 +0300 Date: Thu, 20 Feb 2025 22:50:12 +0300 From: Evgeniy Dushistov <dushistov@HIDDEN> Message-ID: <Z7eHTUE4BjbmZ9wp@HIDDEN> References: <Z7dVYKIbOt9viKlq@HIDDEN> <CADwFkmmHKHx8ZB8Pf_yoAkMPxzXj8nV00niVutBgb7ik7BcKUQ@HIDDEN> <87o6ywedcy.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87o6ywedcy.fsf@HIDDEN> "X-PGP-Key: https://sks-keyservers.net/pks/lookup?op=vindex&search=dushistov%40mail.ru" Authentication-Results: exim-smtp-5f589487f8-7cb4d; auth=pass smtp.auth=dushistov@HIDDEN smtp.mailfrom=dushistov@HIDDEN X-Mailru-Src: smtp X-7564579A: 78E4E2B564C1792B X-77F55803: 4F1203BC0FB41BD916C41472748AFA04B56FA03FCC4D12AC75A0FE9478744C1200894C459B0CD1B91983A42E2BCBF7FA15C513EAE8123D4DE6D80632507A3F78C54A9285F8DE7389988925F93B33D006 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7A3DED2DACB82E709C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE7D77100FFB2844417EA1F7E6F0F101C6723150C8DA25C47586E58E00D9D99D84E1BDDB23E98D2D38BC08E230531AC9C90A925889280F4669F783852DA3C3A67FDA5AA5969021B5D2E1DF9E95F17B0083B26EA987F6312C9EC599709FD55CB46A628451B159A507268D2E47CDBA5A96583C09775C1D3CA48CF9DB614F8F96CFA30117882F4460429724CE54428C33FAD30A8DF7F3B2552694AC26CFBAC0749D213D2E47CDBA5A9658378DA827A17800CE7CB4401FA74971D499FA2833FD35BB23DF004C90652538430302FCEF25BFAB3454AD6D5ED66289B5278DA827A17800CE7B00C92F7EC6501DCD32BA5DBAC0009BE395957E7521B51C2330BD67F2E7D9AF1090A508E0FED6299176DF2183F8FC7C056235C9C6E4D608FCD04E86FAF290E2DB606B96278B59C421DD303D21008E29813377AFFFEAFD269A417C69337E82CC2E827F84554CEF50127C277FBC8AE2E8BA83251EDC214901ED5E8D9A59859A8B67463935F8A12979E089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-C1DE0DAB: 0D63561A33F958A5D3A9AE163CADA66C5002B1117B3ED69614F6C07BB9CEF85069995D676B7B4CBE823CB91A9FED034534781492E4B8EEADB1D70E2111C441FFBDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADBF74143AD284FC7177DD89D51EBB7742DC8270968E61249B1004E42C50DC4CA955A7F0CF078B5EC49A30900B95165D34EA882B598A2098110853DA329CD64029F00DF50D783EC037F3EAE2804792BF1EE073BCDD038B9F341D7E09C32AA3244C657ABE6C37845A2077DD89D51EBB7742D6F73217DCD26A74EA455F16B58544A21C197AAF4D2E47322F5917587EE625504CF6EEC7833C4BAA5811D22EBD454E4C3FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVQQG/FugD0/CwHC537dRx9M= X-Mailru-Sender: AFD8F0D0D0E72874173F5846337BA16302798EA04B7886F9B951B70A5BD4BD8EA5F7A33722D291BEA0970A890641089B390B4EE339CE7E75FB559BB5D741EB9615E033373711A675E66B5C1DBFD5D09D67EA787935ED9F1B X-Mras: Ok X-Spam-Score: 0.0 (/) 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 (-) On Thu, Feb 20, 2025 at 06:26:53PM +0100, Basil L. Contovounesios wrote: > Stefan Kangas [2025-02-20 10:29 -0600] wrote: > > > Evgeniy Dushistov writes: > > > >> After start open "/tmp" directory, and then press > >> C-x C-f and then type /var, the content of minibuffer would be > >> "/tmp//var", > >> if after that press TAB > >> the result would be "/tmp/var" > >> while expected "/var". > >> > >> emacs 29.4 gives "/var", while emacs 30.1-rc1 gives "/tmp/var". > > Thanks, I can reproduce this. > The similar, but much worse issue competition of absolute paths with gud-gdb+ivy: M-x gud-gdb In minibuffer: "gdb --fullname /tmp" press TAB, and for some reason get: "gdb --fullname tmp/" ok, I fix this and add almost all path to existing directory (build-dir): "gdb --fullname /tmp/build-d" press TAB, and get: "gdb --fullname build-dir" so it just remove for some reason "/tmp" when complete path, again I fix it in minibuffer, and add almost all path to existing binary(exe): "gdb --fullname /tmp/build-dir/ex" press TAB and get: "gdb --fullname /tmp/build-direxe" instead of "gdb --fullname /tmp/build-dir/exe" So with gdb-gud+ivy+emacs 30.1 TAB almost always gives not valid path for some reason, while with emacs 29.4 all works perfect. -- /Evgeniy
X-Loop: help-debbugs@HIDDEN Subject: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths Resent-From: "Basil L. Contovounesios" <basil@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Mon, 24 Feb 2025 11:52:01 +0000 Resent-Message-ID: <handler.76440.B76440.174039790914778 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 76440 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Evgeniy Dushistov <dushistov@HIDDEN> Cc: Stefan Kangas <stefankangas@HIDDEN>, 76440 <at> debbugs.gnu.org, Oleh Krehel <ohwoeowho@HIDDEN> Received: via spool by 76440-submit <at> debbugs.gnu.org id=B76440.174039790914778 (code B ref 76440); Mon, 24 Feb 2025 11:52:01 +0000 Received: (at 76440) by debbugs.gnu.org; 24 Feb 2025 11:51:49 +0000 Received: from localhost ([127.0.0.1]:38730 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tmX00-0003qH-0a for submit <at> debbugs.gnu.org; Mon, 24 Feb 2025 06:51:49 -0500 Received: from mta-10-4.privateemail.com ([198.54.122.149]:48153) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <basil@HIDDEN>) id 1tmWzv-0003pn-Ks; Mon, 24 Feb 2025 06:51:45 -0500 Received: from mta-10.privateemail.com (localhost [127.0.0.1]) by mta-10.privateemail.com (Postfix) with ESMTP id 4Z1fGH6Fdzz3hhd7; Mon, 24 Feb 2025 06:51:35 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net; s=default; t=1740397895; bh=7jw3BTYG3SBs4v6ri1w5Uj13OlCkxYen0nuAj7qhjUU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=NCU2RT6AqRNJPShX03e1lORouXMutSsI3LlW1osXFZHkPqCuiItwr6eG9sD7QbssV 87YbDrzGEBGKadXPVb1s8IY7NWZDWIftm19gqENSZncD1cocJhW21boJbWdVqRIz0h tnxRvn2yXdjDMHDd5FGWV4A1R9fVjuBj1fugHzI83prWB0e5M7TW9vylfNsLXhYGfd gkgdiOlZHCinLhJqKSMlDL7RKCgEx5qq8ROSBZRpbyWMcQLZdcO/zdV7pxCfQ7yOA0 QhGEk3Ft0iSwp+niBfX5/P5DWo79Vqpr7YIt9Dvb+pZtByclpb8h6VF85llhf8WTSA ExJoj0KQswVrg== Received: from localhost (unknown [31.46.241.197]) by mta-10.privateemail.com (Postfix) with ESMTPA; Mon, 24 Feb 2025 06:51:30 -0500 (EST) From: "Basil L. Contovounesios" <basil@HIDDEN> In-Reply-To: <Z7eHTUE4BjbmZ9wp@HIDDEN> References: <Z7dVYKIbOt9viKlq@HIDDEN> <CADwFkmmHKHx8ZB8Pf_yoAkMPxzXj8nV00niVutBgb7ik7BcKUQ@HIDDEN> <87o6ywedcy.fsf@HIDDEN> <Z7eHTUE4BjbmZ9wp@HIDDEN> Date: Mon, 24 Feb 2025 12:51:25 +0100 Message-ID: <87cyf7blxe.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.0 (-) 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.0 (--) --=-=-= Content-Type: text/plain tags 76440 + patch quit Evgeniy Dushistov [2025-02-20 22:50 +0300] wrote: >> > Evgeniy Dushistov writes: >> > >> >> After start open "/tmp" directory, and then press >> >> C-x C-f and then type /var, the content of minibuffer would be >> >> "/tmp//var", >> >> if after that press TAB >> >> the result would be "/tmp/var" >> >> while expected "/var". >> >> >> >> emacs 29.4 gives "/var", while emacs 30.1-rc1 gives "/tmp/var". > > The similar, but much worse issue competition of absolute paths > with gud-gdb+ivy: > > M-x gud-gdb > In minibuffer: > "gdb --fullname /tmp" > > press TAB, and for some reason get: > "gdb --fullname tmp/" > > ok, I fix this and add almost all path to > existing directory (build-dir): > "gdb --fullname /tmp/build-d" > > press TAB, and get: > "gdb --fullname build-dir" > > so it just remove for some reason "/tmp" when complete path, > again I fix it in minibuffer, and add almost all path to existing > binary(exe): > "gdb --fullname /tmp/build-dir/ex" > > press TAB and get: > "gdb --fullname /tmp/build-direxe" > > instead of > "gdb --fullname /tmp/build-dir/exe" > > So with gdb-gud+ivy+emacs 30.1 TAB almost always gives not > valid path for some reason, while with emacs 29.4 all works perfect. Could you please check whether https://github.com/abo-abo/swiper/pull/3065 fixes these issues for you? I attach the constituent patches for convenience. Thanks, -- Basil --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Fix-ivy-completion-in-region-return-value.patch From 576f421b024eee7d087ab204f54071fa93dd0493 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <basil@HIDDEN> Date: Fri, 21 Feb 2025 23:39:52 +0100 Subject: [PATCH 1/5] Fix ivy-completion-in-region return value * ivy.el (ivy-completion-in-region): Return nil/t on no/sole match as well, not just in the multi-match case. Tiny local variable renaming and simplifications. Add FIXME for initial-input woes. --- ivy.el | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/ivy.el b/ivy.el index 7a11c96..38a4575 100644 --- a/ivy.el +++ b/ivy.el @@ -2663,43 +2663,43 @@ ivy-completion-in-region PREDICATE (a function called with no arguments) says when to exit. See `completion-in-region' for further information." (let* ((enable-recursive-minibuffers t) + (reg (- end start)) (str (buffer-substring-no-properties start end)) (completion-ignore-case (ivy--case-fold-p str)) (md (completion-metadata str collection predicate)) - (reg (- end start)) - (comps (completion-all-completions str collection predicate reg md)) (try (completion-try-completion str collection predicate reg md)) + (comps (completion-all-completions str collection predicate reg md)) (ivy--minibuffer-table collection) (ivy--minibuffer-pred predicate)) (cond ((null comps) - (message "No matches")) + (message "No matches") + nil) ((progn (nconc comps nil) (and (null (cdr comps)) (string= str (car comps)))) - (message "Sole match")) + (message "Sole match") + t) (t (when (eq collection 'crm--collection-fn) (setq comps (delete-dups comps))) - (let* ((len (ivy-completion-common-length (car comps))) - (initial (cond ((= len 0) + (let* ((cmn (ivy-completion-common-length (car comps))) + (initial (cond ((= cmn 0) "") - ((let ((str-len (length str))) - (when (> len str-len) - (setq len str-len) - str))) + ((>= cmn reg) + (setq cmn reg) + str) (t - (substring str (- len)))))) - (delete-region (- end len) end) - (setq ivy-completion-beg (- end len)) + (substring str (- cmn)))))) + (delete-region (- end cmn) end) + (setq ivy-completion-beg (- end cmn)) (setq ivy-completion-end ivy-completion-beg) (if (null (cdr comps)) - (progn + (let ((ivy--minibuffer-try try)) (unless (minibuffer-window-active-p (selected-window)) (setf (ivy-state-window ivy-last) (selected-window))) - (let ((ivy--minibuffer-try try)) - (ivy-completion-in-region-action - (substring-no-properties (car comps))))) + (ivy-completion-in-region-action + (substring-no-properties (car comps)))) (dolist (s comps) ;; Remove face `completions-first-difference'. (ivy--remove-props s 'face)) @@ -2713,6 +2713,9 @@ ivy-completion-in-region (setq predicate nil)) (ivy-read (format "(%s): " str) collection :predicate predicate + ;; FIXME: The anchor is intrusive and not easily + ;; configurable by `ivy-initial-inputs-alist' or + ;; `ivy-hooks-alist'. :initial-input (concat (and (derived-mode-p #'emacs-lisp-mode) "^") @@ -2724,7 +2727,7 @@ ivy-completion-in-region (when initial (insert initial)))) :caller 'ivy-completion-in-region))) - ;; Return value should be non-nil on valid completion; + ;; Return value should be t on valid completion; ;; see `completion-in-region'. t)))) -- 2.47.2 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Fix-some-point-placement-on-exact-completion-exit.patch From 05f1d8218180457c6cbd72ae1c7c3355b574f8bc Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <basil@HIDDEN> Date: Sun, 23 Feb 2025 12:43:21 +0100 Subject: [PATCH 2/5] Fix some point placement on exact completion exit When completing ~/foo and ~/foobar is the only completion, vanilla completion inserts a trailing space on exit to indicate an exact match, even though completion-try-completion returned a cons. This is determined by completion--done which calls try-completion on the completion-try-completion return value i.s.o. the completion-all-completions candidate that was inserted. * ivy.el (ivy-completion-in-region-action): Prefer passing completion-try-completion 'new string' to completion--done when possible. --- ivy.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ivy.el b/ivy.el index 38a4575..a109025 100644 --- a/ivy.el +++ b/ivy.el @@ -2622,10 +2622,11 @@ ivy-completion-in-region-action (ivy-state-collection ivy-last))) (minibuffer-completion-predicate (if (boundp 'ivy--minibuffer-pred) ivy--minibuffer-pred - (ivy-state-predicate ivy-last)))) - (completion--done str (cond ((eq ivy--minibuffer-try t) 'finished) - ((eq ivy-exit 'done) 'unknown) - ('exact)))) + (ivy-state-predicate ivy-last))) + (newstr (or (car-safe ivy--minibuffer-try) str))) + (completion--done newstr (cond ((eq ivy--minibuffer-try t) 'finished) + ((eq ivy-exit 'done) 'unknown) + ('exact)))) (setq ivy-completion-end (point)) (save-excursion (dolist (cursor fake-cursors) -- 2.47.2 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-Add-ivy-completion-common-length-regression-tests.patch From 65db8f0245dd8d3735ab9aee546590a578f7501a Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <basil@HIDDEN> Date: Thu, 20 Feb 2025 22:53:56 +0100 Subject: [PATCH 3/5] Add ivy-completion-common-length regression tests * ivy-test.el (ivy-completion-common-length): Extend tests. --- ivy-test.el | 76 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 62 insertions(+), 14 deletions(-) diff --git a/ivy-test.el b/ivy-test.el index 87dda18..e33eccb 100644 --- a/ivy-test.el +++ b/ivy-test.el @@ -1007,20 +1007,68 @@ ivy-completing-read-handlers (ivy-mode ivy-mode-reset-arg)))) (ert-deftest ivy-completion-common-length () - (should (= 2 - (ivy-completion-common-length - #("test/" - 0 2 (face completions-common-part) - 2 3 (face (completions-first-difference)))))) - (should (= 5 - (ivy-completion-common-length - #("Math/E" - 0 5 (face (completions-common-part)) - 5 6 (face (completions-first-difference)))))) - (should (= 3 - (ivy-completion-common-length - #("vec" - 0 3 (face (completions-common-part))))))) + (mapc (lambda (pair) + (dolist (str (cdr pair)) + (ert-info ((format "%S" str) :prefix "String: ") + (should (= (ivy-completion-common-length str) (car pair)))))) + '((0 "" + #("a" 0 1 (face (completions-first-difference))) + #("ab" 0 1 (face (completions-first-difference))) + #("abc" 0 1 (face (completions-first-difference))) + #("a" 0 1 (font-lock-face (completions-first-difference))) + #("ab" 0 1 (font-lock-face (completions-first-difference))) + #("abc" 0 1 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face (completions-first-difference)) + 1 2 (face default)) + #("abc" + 0 1 (face (completions-first-difference)) + 2 3 (face default))) + (1 "a" + #("a" 0 1 (face default)) + #("ab" 1 2 (face (completions-first-difference))) + #("ab" 0 2 (face (completions-first-difference))) + #("abc" 1 2 (face (completions-first-difference))) + #("abc" 0 2 (face (completions-first-difference))) + #("ab" 1 2 (font-lock-face (completions-first-difference))) + #("ab" 0 2 (font-lock-face (completions-first-difference))) + #("abc" 1 2 (font-lock-face (completions-first-difference))) + #("abc" 0 2 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face default) + 1 2 (face (completions-first-difference))) + #("abc" + 1 2 (face (completions-first-difference)) + 2 3 (face default))) + (2 "ab" + #("ab" 0 1 (face default)) + #("ab" 1 2 (face default)) + #("ab" 0 2 (face default)) + #("abc" 2 3 (face (completions-first-difference))) + #("abc" 1 3 (face (completions-first-difference))) + #("abc" 0 3 (face (completions-first-difference))) + #("abc" 2 3 (font-lock-face (completions-first-difference))) + #("abc" 1 3 (font-lock-face (completions-first-difference))) + #("abc" 0 3 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face default) + 2 3 (face (completions-first-difference))) + #("abc" + 1 2 (face default) + 2 3 (face (completions-first-difference))) + #("test/" + 0 2 (face completions-common-part) + 2 3 (face (completions-first-difference)))) + (3 "abc" + #("abc" 0 1 (face default)) + #("abc" 1 2 (face default)) + #("abc" 2 3 (face default)) + #("abc" 0 2 (face default)) + #("abc" 1 3 (face default)) + #("abc" 0 3 (face default))) + (5 #("Math/E" + 0 5 (face completions-common-part) + 5 6 (face (completions-first-difference))))))) (ert-deftest ivy--sort-function () "Test `ivy--sort-function' behavior." -- 2.47.2 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0004-Fix-ivy-completion-common-length.patch From 5a041b11aa68359a0d027adfba43d2c4aa59e622 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <basil@HIDDEN> Date: Fri, 21 Feb 2025 23:39:00 +0100 Subject: [PATCH 4/5] Fix ivy-completion-common-length Thanks to Kien Nguyen <kien.n.quang@HIDDEN> and Madhu <enometh@HIDDEN> for suggestions. Fixes parts of #1361, #1755, #2879, #3051, #3056, and https://bugs.gnu.org/76440. Relates to https://bugs.gnu.org/71419. * ivy.el (ivy--face-list-p): New compatibility shim. (ivy-completion-common-length): Use it to handle both atom and list values for the face property, since it varies across Emacs versions. Use previous-single-property-change instead of iterating by char. Improve documentation. (ivy-completion-in-region): Translate a 'not found' result of ivy-completion-common-length into a first difference at index 0, not at the end of the string. That means, interpret a lack of completions-first-difference as no commonality. This is more consistent with both the definition of ivy-completion-common-length and completion changes in Emacs 30. * ivy-test.el (ivy-completion-common-length): Extend tests. --- ivy-test.el | 34 +++++++++++++++++++++++++++++++ ivy.el | 58 +++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 75 insertions(+), 17 deletions(-) diff --git a/ivy-test.el b/ivy-test.el index e33eccb..e22645d 100644 --- a/ivy-test.el +++ b/ivy-test.el @@ -1012,12 +1012,21 @@ ivy-completion-common-length (ert-info ((format "%S" str) :prefix "String: ") (should (= (ivy-completion-common-length str) (car pair)))))) '((0 "" + #("a" 0 1 (face completions-first-difference)) + #("ab" 0 1 (face completions-first-difference)) + #("abc" 0 1 (face completions-first-difference)) #("a" 0 1 (face (completions-first-difference))) #("ab" 0 1 (face (completions-first-difference))) #("abc" 0 1 (face (completions-first-difference))) #("a" 0 1 (font-lock-face (completions-first-difference))) #("ab" 0 1 (font-lock-face (completions-first-difference))) #("abc" 0 1 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face completions-first-difference) + 1 2 (face default)) + #("abc" + 0 1 (face completions-first-difference) + 2 3 (face default)) #("abc" 0 1 (face (completions-first-difference)) 1 2 (face default)) @@ -1026,6 +1035,10 @@ ivy-completion-common-length 2 3 (face default))) (1 "a" #("a" 0 1 (face default)) + #("ab" 1 2 (face completions-first-difference)) + #("ab" 0 2 (face completions-first-difference)) + #("abc" 1 2 (face completions-first-difference)) + #("abc" 0 2 (face completions-first-difference)) #("ab" 1 2 (face (completions-first-difference))) #("ab" 0 2 (face (completions-first-difference))) #("abc" 1 2 (face (completions-first-difference))) @@ -1034,6 +1047,12 @@ ivy-completion-common-length #("ab" 0 2 (font-lock-face (completions-first-difference))) #("abc" 1 2 (font-lock-face (completions-first-difference))) #("abc" 0 2 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face default) + 1 2 (face completions-first-difference)) + #("abc" + 1 2 (face completions-first-difference) + 2 3 (face default)) #("abc" 0 1 (face default) 1 2 (face (completions-first-difference))) @@ -1044,18 +1063,30 @@ ivy-completion-common-length #("ab" 0 1 (face default)) #("ab" 1 2 (face default)) #("ab" 0 2 (face default)) + #("abc" 2 3 (face completions-first-difference)) + #("abc" 1 3 (face completions-first-difference)) + #("abc" 0 3 (face completions-first-difference)) #("abc" 2 3 (face (completions-first-difference))) #("abc" 1 3 (face (completions-first-difference))) #("abc" 0 3 (face (completions-first-difference))) #("abc" 2 3 (font-lock-face (completions-first-difference))) #("abc" 1 3 (font-lock-face (completions-first-difference))) #("abc" 0 3 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face default) + 2 3 (face completions-first-difference)) + #("abc" + 1 2 (face default) + 2 3 (face completions-first-difference)) #("abc" 0 1 (face default) 2 3 (face (completions-first-difference))) #("abc" 1 2 (face default) 2 3 (face (completions-first-difference))) + #("test/" + 0 2 (face completions-common-part) + 2 3 (face completions-first-difference)) #("test/" 0 2 (face completions-common-part) 2 3 (face (completions-first-difference)))) @@ -1067,6 +1098,9 @@ ivy-completion-common-length #("abc" 1 3 (face default)) #("abc" 0 3 (face default))) (5 #("Math/E" + 0 5 (face completions-common-part) + 5 6 (face completions-first-difference)) + #("Math/E" 0 5 (face completions-common-part) 5 6 (face (completions-first-difference))))))) diff --git a/ivy.el b/ivy.el index a109025..fe3f58a 100644 --- a/ivy.el +++ b/ivy.el @@ -2639,24 +2639,44 @@ ivy-completion-in-region-action (set-marker (overlay-get cursor 'point) (point)) (set-marker (overlay-get cursor 'mark) (point))))))) +(defalias 'ivy--face-list-p + (if (fboundp 'face-list-p) + #'face-list-p + (lambda (face) + (and (listp face) + (listp (cdr face)) + (not (keywordp (car face)))))) + "Compatibility shim for Emacs 25 `face-list-p'.") + +;; FIXME: Should this return the smallest such index instead? +;; Usually the two are equal, but perhaps there exist more +;; exotic applications of `completions-first-difference'. +;; +;; Completing files under a directory foo/ can have a first difference at +;; index 0 in some Emacs versions, and no such property in other versions. +;; So perhaps this function should return 0 instead of (length str) when no +;; property is found? That still follows the 'largest index' definition. (defun ivy-completion-common-length (str) - "Return the amount of characters that match in STR. - -`completion-all-completions' computes this and returns the result -via text properties. - -The first non-matching part is propertized: -- either with: (face (completions-first-difference)) -- or: (font-lock-face completions-first-difference)." - (let ((char-property-alias-alist '((face font-lock-face))) - (i (1- (length str)))) - (catch 'done - (while (>= i 0) - (when (equal (get-text-property i 'face str) - '(completions-first-difference)) - (throw 'done i)) - (cl-decf i)) - (throw 'done (length str))))) + "Return the length of the completion-matching prefix of STR. + +That is, return the largest index into STR at which either the +`face' or `font-lock-face' property value contains the face +`completions-first-difference'. +If no such index is found, return the length of STR. + +Typically the completion-matching parts of STR have previously been +propertized by `completion-all-completions'." + (let* ((char-property-alias-alist '((face font-lock-face))) + (cmn (length str)) + (i cmn)) + (when (> i 0) + (while (if (let ((face (get-text-property (1- i) 'face str))) + (or (eq 'completions-first-difference face) + (and (ivy--face-list-p face) + (memq 'completions-first-difference face)))) + (ignore (setq cmn (1- i))) + (setq i (previous-single-property-change i 'face str))))) + cmn)) (defun ivy-completion-in-region (start end collection &optional predicate) "An Ivy function suitable for `completion-in-region-function'. @@ -2685,6 +2705,10 @@ ivy-completion-in-region (when (eq collection 'crm--collection-fn) (setq comps (delete-dups comps))) (let* ((cmn (ivy-completion-common-length (car comps))) + ;; Translate a 'not found' result to 0. Do this here (instead + ;; of fixing `ivy-completion-common-length') for backward + ;; compatibility, since it's a potentially public function. + (cmn (if (= cmn (length (car comps))) 0 cmn)) (initial (cond ((= cmn 0) "") ((>= cmn reg) -- 2.47.2 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0005-Prefer-base-size-over-ivy-completion-common-length.patch From d5e3974cc47d21b66cfeadaceffc7e3bf6e267a3 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <basil@HIDDEN> Date: Mon, 24 Feb 2025 09:47:29 +0100 Subject: [PATCH 5/5] Prefer base-size over ivy-completion-common-length The latter is very problematic: it is specific to a single candidate, does not necessarily correspond to the string being completed, complicates bounds calculations, relies on only partially documented presentation details rather than the usual API, etc. When completion-all-completions returns a base-size (which in practice seems to be most if not all the time), it corresponds more closely to the substring that is being completed and will be replaced. This should address most of the remaining issues in #1361, #1755, * ivy.el (ivy-completion-common-length): Discourage use. (ivy-completion-in-region): When completion-all-completions returns a base-size, prefer that over the completions-first-difference face to determine the completion boundaries and initial-input. Fixes #1755. Fixes #2879. Closes #3051. Fixes #3056. --- ivy.el | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/ivy.el b/ivy.el index fe3f58a..5f8e608 100644 --- a/ivy.el +++ b/ivy.el @@ -2665,7 +2665,9 @@ ivy-completion-common-length If no such index is found, return the length of STR. Typically the completion-matching parts of STR have previously been -propertized by `completion-all-completions'." +propertized by `completion-all-completions', but then the base-size +returned by that function should be preferred over +`ivy-completion-common-length'." (let* ((char-property-alias-alist '((face font-lock-face))) (cmn (length str)) (i cmn)) @@ -2690,15 +2692,16 @@ ivy-completion-in-region (md (completion-metadata str collection predicate)) (try (completion-try-completion str collection predicate reg md)) (comps (completion-all-completions str collection predicate reg md)) + (last (last comps)) + (base-size (cdr last)) (ivy--minibuffer-table collection) (ivy--minibuffer-pred predicate)) + (when last (setcdr last ())) (cond ((null comps) (message "No matches") nil) - ((progn - (nconc comps nil) - (and (null (cdr comps)) - (string= str (car comps)))) + ((and (null (cdr comps)) + (string= str (car comps))) (message "Sole match") t) (t @@ -2709,15 +2712,20 @@ ivy-completion-in-region ;; of fixing `ivy-completion-common-length') for backward ;; compatibility, since it's a potentially public function. (cmn (if (= cmn (length (car comps))) 0 cmn)) - (initial (cond ((= cmn 0) + (initial (cond (base-size (substring str base-size)) + ;; The remaining clauses should hopefully never + ;; be taken, since they rely on + ;; `ivy-completion-common-length'. + ((= cmn 0) "") ((>= cmn reg) (setq cmn reg) str) (t - (substring str (- cmn)))))) - (delete-region (- end cmn) end) - (setq ivy-completion-beg (- end cmn)) + (substring str (- cmn))))) + (base-pos (if base-size (+ start base-size) (- end cmn)))) + (delete-region base-pos end) + (setq ivy-completion-beg base-pos) (setq ivy-completion-end ivy-completion-beg) (if (null (cdr comps)) (let ((ivy--minibuffer-try try)) -- 2.47.2 --=-=-=--
Received: (at control) by debbugs.gnu.org; 24 Feb 2025 11:51:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 24 06:51:51 2025 Received: from localhost ([127.0.0.1]:38732 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tmX01-0003qO-O8 for submit <at> debbugs.gnu.org; Mon, 24 Feb 2025 06:51:51 -0500 Received: from mta-10-4.privateemail.com ([198.54.122.149]:48153) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <basil@HIDDEN>) id 1tmWzv-0003pn-Ks; Mon, 24 Feb 2025 06:51:45 -0500 Received: from mta-10.privateemail.com (localhost [127.0.0.1]) by mta-10.privateemail.com (Postfix) with ESMTP id 4Z1fGH6Fdzz3hhd7; Mon, 24 Feb 2025 06:51:35 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net; s=default; t=1740397895; bh=7jw3BTYG3SBs4v6ri1w5Uj13OlCkxYen0nuAj7qhjUU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=NCU2RT6AqRNJPShX03e1lORouXMutSsI3LlW1osXFZHkPqCuiItwr6eG9sD7QbssV 87YbDrzGEBGKadXPVb1s8IY7NWZDWIftm19gqENSZncD1cocJhW21boJbWdVqRIz0h tnxRvn2yXdjDMHDd5FGWV4A1R9fVjuBj1fugHzI83prWB0e5M7TW9vylfNsLXhYGfd gkgdiOlZHCinLhJqKSMlDL7RKCgEx5qq8ROSBZRpbyWMcQLZdcO/zdV7pxCfQ7yOA0 QhGEk3Ft0iSwp+niBfX5/P5DWo79Vqpr7YIt9Dvb+pZtByclpb8h6VF85llhf8WTSA ExJoj0KQswVrg== Received: from localhost (unknown [31.46.241.197]) by mta-10.privateemail.com (Postfix) with ESMTPA; Mon, 24 Feb 2025 06:51:30 -0500 (EST) From: "Basil L. Contovounesios" <basil@HIDDEN> To: Evgeniy Dushistov <dushistov@HIDDEN> Subject: Re: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths In-Reply-To: <Z7eHTUE4BjbmZ9wp@HIDDEN> References: <Z7dVYKIbOt9viKlq@HIDDEN> <CADwFkmmHKHx8ZB8Pf_yoAkMPxzXj8nV00niVutBgb7ik7BcKUQ@HIDDEN> <87o6ywedcy.fsf@HIDDEN> <Z7eHTUE4BjbmZ9wp@HIDDEN> Date: Mon, 24 Feb 2025 12:51:25 +0100 Message-ID: <87cyf7blxe.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.0 (-) X-Debbugs-Envelope-To: control Cc: Stefan Kangas <stefankangas@HIDDEN>, 76440 <at> debbugs.gnu.org, Oleh Krehel <ohwoeowho@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: -2.0 (--) --=-=-= Content-Type: text/plain tags 76440 + patch quit Evgeniy Dushistov [2025-02-20 22:50 +0300] wrote: >> > Evgeniy Dushistov writes: >> > >> >> After start open "/tmp" directory, and then press >> >> C-x C-f and then type /var, the content of minibuffer would be >> >> "/tmp//var", >> >> if after that press TAB >> >> the result would be "/tmp/var" >> >> while expected "/var". >> >> >> >> emacs 29.4 gives "/var", while emacs 30.1-rc1 gives "/tmp/var". > > The similar, but much worse issue competition of absolute paths > with gud-gdb+ivy: > > M-x gud-gdb > In minibuffer: > "gdb --fullname /tmp" > > press TAB, and for some reason get: > "gdb --fullname tmp/" > > ok, I fix this and add almost all path to > existing directory (build-dir): > "gdb --fullname /tmp/build-d" > > press TAB, and get: > "gdb --fullname build-dir" > > so it just remove for some reason "/tmp" when complete path, > again I fix it in minibuffer, and add almost all path to existing > binary(exe): > "gdb --fullname /tmp/build-dir/ex" > > press TAB and get: > "gdb --fullname /tmp/build-direxe" > > instead of > "gdb --fullname /tmp/build-dir/exe" > > So with gdb-gud+ivy+emacs 30.1 TAB almost always gives not > valid path for some reason, while with emacs 29.4 all works perfect. Could you please check whether https://github.com/abo-abo/swiper/pull/3065 fixes these issues for you? I attach the constituent patches for convenience. Thanks, -- Basil --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Fix-ivy-completion-in-region-return-value.patch From 576f421b024eee7d087ab204f54071fa93dd0493 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <basil@HIDDEN> Date: Fri, 21 Feb 2025 23:39:52 +0100 Subject: [PATCH 1/5] Fix ivy-completion-in-region return value * ivy.el (ivy-completion-in-region): Return nil/t on no/sole match as well, not just in the multi-match case. Tiny local variable renaming and simplifications. Add FIXME for initial-input woes. --- ivy.el | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/ivy.el b/ivy.el index 7a11c96..38a4575 100644 --- a/ivy.el +++ b/ivy.el @@ -2663,43 +2663,43 @@ ivy-completion-in-region PREDICATE (a function called with no arguments) says when to exit. See `completion-in-region' for further information." (let* ((enable-recursive-minibuffers t) + (reg (- end start)) (str (buffer-substring-no-properties start end)) (completion-ignore-case (ivy--case-fold-p str)) (md (completion-metadata str collection predicate)) - (reg (- end start)) - (comps (completion-all-completions str collection predicate reg md)) (try (completion-try-completion str collection predicate reg md)) + (comps (completion-all-completions str collection predicate reg md)) (ivy--minibuffer-table collection) (ivy--minibuffer-pred predicate)) (cond ((null comps) - (message "No matches")) + (message "No matches") + nil) ((progn (nconc comps nil) (and (null (cdr comps)) (string= str (car comps)))) - (message "Sole match")) + (message "Sole match") + t) (t (when (eq collection 'crm--collection-fn) (setq comps (delete-dups comps))) - (let* ((len (ivy-completion-common-length (car comps))) - (initial (cond ((= len 0) + (let* ((cmn (ivy-completion-common-length (car comps))) + (initial (cond ((= cmn 0) "") - ((let ((str-len (length str))) - (when (> len str-len) - (setq len str-len) - str))) + ((>= cmn reg) + (setq cmn reg) + str) (t - (substring str (- len)))))) - (delete-region (- end len) end) - (setq ivy-completion-beg (- end len)) + (substring str (- cmn)))))) + (delete-region (- end cmn) end) + (setq ivy-completion-beg (- end cmn)) (setq ivy-completion-end ivy-completion-beg) (if (null (cdr comps)) - (progn + (let ((ivy--minibuffer-try try)) (unless (minibuffer-window-active-p (selected-window)) (setf (ivy-state-window ivy-last) (selected-window))) - (let ((ivy--minibuffer-try try)) - (ivy-completion-in-region-action - (substring-no-properties (car comps))))) + (ivy-completion-in-region-action + (substring-no-properties (car comps)))) (dolist (s comps) ;; Remove face `completions-first-difference'. (ivy--remove-props s 'face)) @@ -2713,6 +2713,9 @@ ivy-completion-in-region (setq predicate nil)) (ivy-read (format "(%s): " str) collection :predicate predicate + ;; FIXME: The anchor is intrusive and not easily + ;; configurable by `ivy-initial-inputs-alist' or + ;; `ivy-hooks-alist'. :initial-input (concat (and (derived-mode-p #'emacs-lisp-mode) "^") @@ -2724,7 +2727,7 @@ ivy-completion-in-region (when initial (insert initial)))) :caller 'ivy-completion-in-region))) - ;; Return value should be non-nil on valid completion; + ;; Return value should be t on valid completion; ;; see `completion-in-region'. t)))) -- 2.47.2 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Fix-some-point-placement-on-exact-completion-exit.patch From 05f1d8218180457c6cbd72ae1c7c3355b574f8bc Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <basil@HIDDEN> Date: Sun, 23 Feb 2025 12:43:21 +0100 Subject: [PATCH 2/5] Fix some point placement on exact completion exit When completing ~/foo and ~/foobar is the only completion, vanilla completion inserts a trailing space on exit to indicate an exact match, even though completion-try-completion returned a cons. This is determined by completion--done which calls try-completion on the completion-try-completion return value i.s.o. the completion-all-completions candidate that was inserted. * ivy.el (ivy-completion-in-region-action): Prefer passing completion-try-completion 'new string' to completion--done when possible. --- ivy.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ivy.el b/ivy.el index 38a4575..a109025 100644 --- a/ivy.el +++ b/ivy.el @@ -2622,10 +2622,11 @@ ivy-completion-in-region-action (ivy-state-collection ivy-last))) (minibuffer-completion-predicate (if (boundp 'ivy--minibuffer-pred) ivy--minibuffer-pred - (ivy-state-predicate ivy-last)))) - (completion--done str (cond ((eq ivy--minibuffer-try t) 'finished) - ((eq ivy-exit 'done) 'unknown) - ('exact)))) + (ivy-state-predicate ivy-last))) + (newstr (or (car-safe ivy--minibuffer-try) str))) + (completion--done newstr (cond ((eq ivy--minibuffer-try t) 'finished) + ((eq ivy-exit 'done) 'unknown) + ('exact)))) (setq ivy-completion-end (point)) (save-excursion (dolist (cursor fake-cursors) -- 2.47.2 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-Add-ivy-completion-common-length-regression-tests.patch From 65db8f0245dd8d3735ab9aee546590a578f7501a Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <basil@HIDDEN> Date: Thu, 20 Feb 2025 22:53:56 +0100 Subject: [PATCH 3/5] Add ivy-completion-common-length regression tests * ivy-test.el (ivy-completion-common-length): Extend tests. --- ivy-test.el | 76 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 62 insertions(+), 14 deletions(-) diff --git a/ivy-test.el b/ivy-test.el index 87dda18..e33eccb 100644 --- a/ivy-test.el +++ b/ivy-test.el @@ -1007,20 +1007,68 @@ ivy-completing-read-handlers (ivy-mode ivy-mode-reset-arg)))) (ert-deftest ivy-completion-common-length () - (should (= 2 - (ivy-completion-common-length - #("test/" - 0 2 (face completions-common-part) - 2 3 (face (completions-first-difference)))))) - (should (= 5 - (ivy-completion-common-length - #("Math/E" - 0 5 (face (completions-common-part)) - 5 6 (face (completions-first-difference)))))) - (should (= 3 - (ivy-completion-common-length - #("vec" - 0 3 (face (completions-common-part))))))) + (mapc (lambda (pair) + (dolist (str (cdr pair)) + (ert-info ((format "%S" str) :prefix "String: ") + (should (= (ivy-completion-common-length str) (car pair)))))) + '((0 "" + #("a" 0 1 (face (completions-first-difference))) + #("ab" 0 1 (face (completions-first-difference))) + #("abc" 0 1 (face (completions-first-difference))) + #("a" 0 1 (font-lock-face (completions-first-difference))) + #("ab" 0 1 (font-lock-face (completions-first-difference))) + #("abc" 0 1 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face (completions-first-difference)) + 1 2 (face default)) + #("abc" + 0 1 (face (completions-first-difference)) + 2 3 (face default))) + (1 "a" + #("a" 0 1 (face default)) + #("ab" 1 2 (face (completions-first-difference))) + #("ab" 0 2 (face (completions-first-difference))) + #("abc" 1 2 (face (completions-first-difference))) + #("abc" 0 2 (face (completions-first-difference))) + #("ab" 1 2 (font-lock-face (completions-first-difference))) + #("ab" 0 2 (font-lock-face (completions-first-difference))) + #("abc" 1 2 (font-lock-face (completions-first-difference))) + #("abc" 0 2 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face default) + 1 2 (face (completions-first-difference))) + #("abc" + 1 2 (face (completions-first-difference)) + 2 3 (face default))) + (2 "ab" + #("ab" 0 1 (face default)) + #("ab" 1 2 (face default)) + #("ab" 0 2 (face default)) + #("abc" 2 3 (face (completions-first-difference))) + #("abc" 1 3 (face (completions-first-difference))) + #("abc" 0 3 (face (completions-first-difference))) + #("abc" 2 3 (font-lock-face (completions-first-difference))) + #("abc" 1 3 (font-lock-face (completions-first-difference))) + #("abc" 0 3 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face default) + 2 3 (face (completions-first-difference))) + #("abc" + 1 2 (face default) + 2 3 (face (completions-first-difference))) + #("test/" + 0 2 (face completions-common-part) + 2 3 (face (completions-first-difference)))) + (3 "abc" + #("abc" 0 1 (face default)) + #("abc" 1 2 (face default)) + #("abc" 2 3 (face default)) + #("abc" 0 2 (face default)) + #("abc" 1 3 (face default)) + #("abc" 0 3 (face default))) + (5 #("Math/E" + 0 5 (face completions-common-part) + 5 6 (face (completions-first-difference))))))) (ert-deftest ivy--sort-function () "Test `ivy--sort-function' behavior." -- 2.47.2 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0004-Fix-ivy-completion-common-length.patch From 5a041b11aa68359a0d027adfba43d2c4aa59e622 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <basil@HIDDEN> Date: Fri, 21 Feb 2025 23:39:00 +0100 Subject: [PATCH 4/5] Fix ivy-completion-common-length Thanks to Kien Nguyen <kien.n.quang@HIDDEN> and Madhu <enometh@HIDDEN> for suggestions. Fixes parts of #1361, #1755, #2879, #3051, #3056, and https://bugs.gnu.org/76440. Relates to https://bugs.gnu.org/71419. * ivy.el (ivy--face-list-p): New compatibility shim. (ivy-completion-common-length): Use it to handle both atom and list values for the face property, since it varies across Emacs versions. Use previous-single-property-change instead of iterating by char. Improve documentation. (ivy-completion-in-region): Translate a 'not found' result of ivy-completion-common-length into a first difference at index 0, not at the end of the string. That means, interpret a lack of completions-first-difference as no commonality. This is more consistent with both the definition of ivy-completion-common-length and completion changes in Emacs 30. * ivy-test.el (ivy-completion-common-length): Extend tests. --- ivy-test.el | 34 +++++++++++++++++++++++++++++++ ivy.el | 58 +++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 75 insertions(+), 17 deletions(-) diff --git a/ivy-test.el b/ivy-test.el index e33eccb..e22645d 100644 --- a/ivy-test.el +++ b/ivy-test.el @@ -1012,12 +1012,21 @@ ivy-completion-common-length (ert-info ((format "%S" str) :prefix "String: ") (should (= (ivy-completion-common-length str) (car pair)))))) '((0 "" + #("a" 0 1 (face completions-first-difference)) + #("ab" 0 1 (face completions-first-difference)) + #("abc" 0 1 (face completions-first-difference)) #("a" 0 1 (face (completions-first-difference))) #("ab" 0 1 (face (completions-first-difference))) #("abc" 0 1 (face (completions-first-difference))) #("a" 0 1 (font-lock-face (completions-first-difference))) #("ab" 0 1 (font-lock-face (completions-first-difference))) #("abc" 0 1 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face completions-first-difference) + 1 2 (face default)) + #("abc" + 0 1 (face completions-first-difference) + 2 3 (face default)) #("abc" 0 1 (face (completions-first-difference)) 1 2 (face default)) @@ -1026,6 +1035,10 @@ ivy-completion-common-length 2 3 (face default))) (1 "a" #("a" 0 1 (face default)) + #("ab" 1 2 (face completions-first-difference)) + #("ab" 0 2 (face completions-first-difference)) + #("abc" 1 2 (face completions-first-difference)) + #("abc" 0 2 (face completions-first-difference)) #("ab" 1 2 (face (completions-first-difference))) #("ab" 0 2 (face (completions-first-difference))) #("abc" 1 2 (face (completions-first-difference))) @@ -1034,6 +1047,12 @@ ivy-completion-common-length #("ab" 0 2 (font-lock-face (completions-first-difference))) #("abc" 1 2 (font-lock-face (completions-first-difference))) #("abc" 0 2 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face default) + 1 2 (face completions-first-difference)) + #("abc" + 1 2 (face completions-first-difference) + 2 3 (face default)) #("abc" 0 1 (face default) 1 2 (face (completions-first-difference))) @@ -1044,18 +1063,30 @@ ivy-completion-common-length #("ab" 0 1 (face default)) #("ab" 1 2 (face default)) #("ab" 0 2 (face default)) + #("abc" 2 3 (face completions-first-difference)) + #("abc" 1 3 (face completions-first-difference)) + #("abc" 0 3 (face completions-first-difference)) #("abc" 2 3 (face (completions-first-difference))) #("abc" 1 3 (face (completions-first-difference))) #("abc" 0 3 (face (completions-first-difference))) #("abc" 2 3 (font-lock-face (completions-first-difference))) #("abc" 1 3 (font-lock-face (completions-first-difference))) #("abc" 0 3 (font-lock-face (completions-first-difference))) + #("abc" + 0 1 (face default) + 2 3 (face completions-first-difference)) + #("abc" + 1 2 (face default) + 2 3 (face completions-first-difference)) #("abc" 0 1 (face default) 2 3 (face (completions-first-difference))) #("abc" 1 2 (face default) 2 3 (face (completions-first-difference))) + #("test/" + 0 2 (face completions-common-part) + 2 3 (face completions-first-difference)) #("test/" 0 2 (face completions-common-part) 2 3 (face (completions-first-difference)))) @@ -1067,6 +1098,9 @@ ivy-completion-common-length #("abc" 1 3 (face default)) #("abc" 0 3 (face default))) (5 #("Math/E" + 0 5 (face completions-common-part) + 5 6 (face completions-first-difference)) + #("Math/E" 0 5 (face completions-common-part) 5 6 (face (completions-first-difference))))))) diff --git a/ivy.el b/ivy.el index a109025..fe3f58a 100644 --- a/ivy.el +++ b/ivy.el @@ -2639,24 +2639,44 @@ ivy-completion-in-region-action (set-marker (overlay-get cursor 'point) (point)) (set-marker (overlay-get cursor 'mark) (point))))))) +(defalias 'ivy--face-list-p + (if (fboundp 'face-list-p) + #'face-list-p + (lambda (face) + (and (listp face) + (listp (cdr face)) + (not (keywordp (car face)))))) + "Compatibility shim for Emacs 25 `face-list-p'.") + +;; FIXME: Should this return the smallest such index instead? +;; Usually the two are equal, but perhaps there exist more +;; exotic applications of `completions-first-difference'. +;; +;; Completing files under a directory foo/ can have a first difference at +;; index 0 in some Emacs versions, and no such property in other versions. +;; So perhaps this function should return 0 instead of (length str) when no +;; property is found? That still follows the 'largest index' definition. (defun ivy-completion-common-length (str) - "Return the amount of characters that match in STR. - -`completion-all-completions' computes this and returns the result -via text properties. - -The first non-matching part is propertized: -- either with: (face (completions-first-difference)) -- or: (font-lock-face completions-first-difference)." - (let ((char-property-alias-alist '((face font-lock-face))) - (i (1- (length str)))) - (catch 'done - (while (>= i 0) - (when (equal (get-text-property i 'face str) - '(completions-first-difference)) - (throw 'done i)) - (cl-decf i)) - (throw 'done (length str))))) + "Return the length of the completion-matching prefix of STR. + +That is, return the largest index into STR at which either the +`face' or `font-lock-face' property value contains the face +`completions-first-difference'. +If no such index is found, return the length of STR. + +Typically the completion-matching parts of STR have previously been +propertized by `completion-all-completions'." + (let* ((char-property-alias-alist '((face font-lock-face))) + (cmn (length str)) + (i cmn)) + (when (> i 0) + (while (if (let ((face (get-text-property (1- i) 'face str))) + (or (eq 'completions-first-difference face) + (and (ivy--face-list-p face) + (memq 'completions-first-difference face)))) + (ignore (setq cmn (1- i))) + (setq i (previous-single-property-change i 'face str))))) + cmn)) (defun ivy-completion-in-region (start end collection &optional predicate) "An Ivy function suitable for `completion-in-region-function'. @@ -2685,6 +2705,10 @@ ivy-completion-in-region (when (eq collection 'crm--collection-fn) (setq comps (delete-dups comps))) (let* ((cmn (ivy-completion-common-length (car comps))) + ;; Translate a 'not found' result to 0. Do this here (instead + ;; of fixing `ivy-completion-common-length') for backward + ;; compatibility, since it's a potentially public function. + (cmn (if (= cmn (length (car comps))) 0 cmn)) (initial (cond ((= cmn 0) "") ((>= cmn reg) -- 2.47.2 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0005-Prefer-base-size-over-ivy-completion-common-length.patch From d5e3974cc47d21b66cfeadaceffc7e3bf6e267a3 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <basil@HIDDEN> Date: Mon, 24 Feb 2025 09:47:29 +0100 Subject: [PATCH 5/5] Prefer base-size over ivy-completion-common-length The latter is very problematic: it is specific to a single candidate, does not necessarily correspond to the string being completed, complicates bounds calculations, relies on only partially documented presentation details rather than the usual API, etc. When completion-all-completions returns a base-size (which in practice seems to be most if not all the time), it corresponds more closely to the substring that is being completed and will be replaced. This should address most of the remaining issues in #1361, #1755, * ivy.el (ivy-completion-common-length): Discourage use. (ivy-completion-in-region): When completion-all-completions returns a base-size, prefer that over the completions-first-difference face to determine the completion boundaries and initial-input. Fixes #1755. Fixes #2879. Closes #3051. Fixes #3056. --- ivy.el | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/ivy.el b/ivy.el index fe3f58a..5f8e608 100644 --- a/ivy.el +++ b/ivy.el @@ -2665,7 +2665,9 @@ ivy-completion-common-length If no such index is found, return the length of STR. Typically the completion-matching parts of STR have previously been -propertized by `completion-all-completions'." +propertized by `completion-all-completions', but then the base-size +returned by that function should be preferred over +`ivy-completion-common-length'." (let* ((char-property-alias-alist '((face font-lock-face))) (cmn (length str)) (i cmn)) @@ -2690,15 +2692,16 @@ ivy-completion-in-region (md (completion-metadata str collection predicate)) (try (completion-try-completion str collection predicate reg md)) (comps (completion-all-completions str collection predicate reg md)) + (last (last comps)) + (base-size (cdr last)) (ivy--minibuffer-table collection) (ivy--minibuffer-pred predicate)) + (when last (setcdr last ())) (cond ((null comps) (message "No matches") nil) - ((progn - (nconc comps nil) - (and (null (cdr comps)) - (string= str (car comps)))) + ((and (null (cdr comps)) + (string= str (car comps))) (message "Sole match") t) (t @@ -2709,15 +2712,20 @@ ivy-completion-in-region ;; of fixing `ivy-completion-common-length') for backward ;; compatibility, since it's a potentially public function. (cmn (if (= cmn (length (car comps))) 0 cmn)) - (initial (cond ((= cmn 0) + (initial (cond (base-size (substring str base-size)) + ;; The remaining clauses should hopefully never + ;; be taken, since they rely on + ;; `ivy-completion-common-length'. + ((= cmn 0) "") ((>= cmn reg) (setq cmn reg) str) (t - (substring str (- cmn)))))) - (delete-region (- end cmn) end) - (setq ivy-completion-beg (- end cmn)) + (substring str (- cmn))))) + (base-pos (if base-size (+ start base-size) (- end cmn)))) + (delete-region base-pos end) + (setq ivy-completion-beg base-pos) (setq ivy-completion-end ivy-completion-beg) (if (null (cdr comps)) (let ((ivy--minibuffer-try try)) -- 2.47.2 --=-=-=--
X-Loop: help-debbugs@HIDDEN Subject: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths Resent-From: Evgeniy Dushistov <dushistov@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Mon, 24 Feb 2025 14:13:02 +0000 Resent-Message-ID: <handler.76440.B76440.174040634430996 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 76440 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: "Basil L. Contovounesios" <basil@HIDDEN> Cc: Stefan Kangas <stefankangas@HIDDEN>, 76440 <at> debbugs.gnu.org, Oleh Krehel <ohwoeowho@HIDDEN> Received: via spool by 76440-submit <at> debbugs.gnu.org id=B76440.174040634430996 (code B ref 76440); Mon, 24 Feb 2025 14:13:02 +0000 Received: (at 76440) by debbugs.gnu.org; 24 Feb 2025 14:12:24 +0000 Received: from localhost ([127.0.0.1]:39042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tmZC3-00083r-Pc for submit <at> debbugs.gnu.org; Mon, 24 Feb 2025 09:12:24 -0500 Received: from send173.i.mail.ru ([95.163.59.12]:59134) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dushistov@HIDDEN>) id 1tmZBz-00083Y-Q0 for 76440 <at> debbugs.gnu.org; Mon, 24 Feb 2025 09:12:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail4; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:From:Sender:Reply-To:To:Cc:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive: X-Cloud-Ids:Disposition-Notification-To; bh=WhX4IyK5Tg0x9xOuExn2qyyoXviU+HME+lw/y2BLBgE=; t=1740406339; x=1740496339; b=q0jMBBcDvh4XrMs+XD+tp1VaQKhPb49OUWBs+mK1EEIuMWEkMVgvyFXziCFlZNLM9TLx+R+psvY Tth/po409PQu5R+ML2GR1nrsdyCpUGx4APqWGIAWgAh+Ik954swzgDo7HWUvZ61HYDOs3mi7Z8mt0 m9m1na6MLPZswDZtYUS6Xyagmfzy1MwuEVaFIXX+kh+38PizfMh55Ypk5uQkpTUxdBQurawqfo9CW WKGqIOiD5BfbYYslNlC20og9bcNi6g/tFmoDf40sXvR2G91ugu8EosXD/fxDzswzWzQZWnAmrUC+5 cgRUaNauh7IVUI8WhvQR9m6nOSaYhMfedl9A==; Received: by exim-smtp-78fc676c9d-bgvd2 with utf8esmtpa (envelope-from <dushistov@HIDDEN>) id 1tmZBq-000000007eB-1wT4; Mon, 24 Feb 2025 17:12:10 +0300 Date: Mon, 24 Feb 2025 17:12:04 +0300 From: Evgeniy Dushistov <dushistov@HIDDEN> Message-ID: <Z7x-NG9tqELHQvLi@HIDDEN> References: <Z7dVYKIbOt9viKlq@HIDDEN> <CADwFkmmHKHx8ZB8Pf_yoAkMPxzXj8nV00niVutBgb7ik7BcKUQ@HIDDEN> <87o6ywedcy.fsf@HIDDEN> <Z7eHTUE4BjbmZ9wp@HIDDEN> <87cyf7blxe.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87cyf7blxe.fsf@HIDDEN> "X-PGP-Key: https://sks-keyservers.net/pks/lookup?op=vindex&search=dushistov%40mail.ru" Authentication-Results: exim-smtp-78fc676c9d-bgvd2; auth=pass smtp.auth=dushistov@HIDDEN smtp.mailfrom=dushistov@HIDDEN X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD957BCB5CA1E0F722C41FD2B8ADD64EF212A10D2BA5A3912FB182A05F5380850404A1FC750FFFE83AE3DE06ABAFEAF67052DE388D9073BBFE1CB86C2FF93EC287E7E39F992C946ADCE X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE732F68F8AF5E5BA59EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F790063757004B04402545C58638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D866CC4A204DAA623723A43819C8C2DC5EF7CCBFF231A5B2CD20879F7C8C5043D14489FFFB0AA5F4BF176DF2183F8FC7C0FE6165853F4646218941B15DA834481FA18204E546F3947CB861051D4BA689FCF6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F790063773DCDF0198120BE8389733CBF5DBD5E9B5C8C57E37DE458BD9DD9810294C998ED8FC6C240DEA76428AA50765F7900637C9D02BE70C8D51B8D81D268191BDAD3DBD4B6F7A4D31EC0BE2F48590F00D11D6D81D268191BDAD3D78DA827A17800CE7FD79CD8EB3B7649DEC76A7562686271ED91E3A1F190DE8FD2E808ACE2090B5E14AD6D5ED66289B5259CC434672EE63711DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C3E937D5270AFD6A0D35872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-C1DE0DAB: 0D63561A33F958A542AF9480A89646755002B1117B3ED6966A5C9A720C7329F1E41E333F9D1358D5823CB91A9FED034534781492E4B8EEADADEF88395FA75C5FBDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADBF74143AD284FC7177DD89D51EBB7742424CF958EAFF5D571004E42C50DC4CA955A7F0CF078B5EC49A30900B95165D341E08D7EE1804B7636E2DAA8D814AA23A46742C3C0097DFCE63CEF44BAB7D3E92BC86FD43F95D67781D7E09C32AA3244C64856448B76FC9AD77DD89D51EBB774269685CB4476CDAADEA455F16B58544A21C197AAF4D2E47322F5917587EE625504CF6EEC7833C4BAA5811D22EBD454E4C3FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVQQG/FugD0/CmimcmdHD934= X-Mailru-Sender: AFD8F0D0D0E72874173F5846337BA163D433EC6ADAC886D2B951B70A5BD4BD8E695BBAE71152682EA112D4F2690E931A390B4EE339CE7E75FB559BB5D741EB9615E033373711A675E66B5C1DBFD5D09D67EA787935ED9F1B X-Mras: Ok X-Spam-Score: 0.0 (/) 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 (-) On Mon, Feb 24, 2025 at 12:51:25PM +0100, Basil L. Contovounesios wrote: > patch Thank you, this fixed for me all ivy related issues. -- /Evgeniy
MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: "Basil L. Contovounesios" <basil@HIDDEN> Subject: bug#76440: closed (30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths) CC: tracker <at> debbugs.gnu.org Message-ID: <handler.76440.D76440.174047410526155.ackdone <at> debbugs.gnu.org> References: <878qpuqty0.fsf@HIDDEN> <Z7dVYKIbOt9viKlq@HIDDEN> X-Gnu-PR-Message: closed 76440 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Date: Tue, 25 Feb 2025 09:02:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1740474122-26185-0" This is a multi-part message in MIME format... ------------=_1740474122-26185-0 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Your message dated Tue, 25 Feb 2025 10:01:27 +0100 with message-id <878qpuqty0.fsf@HIDDEN> and subject line Re: bug#76440: 30.1; different behavaiour of 29.4 and 30 f= or ivy completition of absolute paths has caused the debbugs.gnu.org bug report #76440, regarding 30.1; different behavaiour of 29.4 and 30 for ivy completition of= absolute paths to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs@HIDDEN) --=20 76440: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D76440 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems ------------=_1740474122-26185-0 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 20 Feb 2025 16:17:01 +0000 Received: from localhost ([127.0.0.1]:38755 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tl9ES-0002Mq-1x for submit <at> debbugs.gnu.org; Thu, 20 Feb 2025 11:17:01 -0500 Received: from lists.gnu.org ([2001:470:142::17]:41636) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dushistov@HIDDEN>) id 1tl9EO-0002LQ-1N for submit <at> debbugs.gnu.org; Thu, 20 Feb 2025 11:16:57 -0500 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 <dushistov@HIDDEN>) id 1tl9EE-0004uh-Bf for bug-gnu-emacs@HIDDEN; Thu, 20 Feb 2025 11:16:47 -0500 Received: from send174.i.mail.ru ([95.163.59.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <dushistov@HIDDEN>) id 1tl9EB-0007hW-3W for bug-gnu-emacs@HIDDEN; Thu, 20 Feb 2025 11:16:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail4; h=Content-Type:MIME-Version:Message-ID:Subject:To:From:Date:From: Sender:Reply-To:To:Cc:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive:X-Cloud-Ids: Disposition-Notification-To; bh=L8G5sgEhW/BHrCFnQsMMSe65l6tXeK0H4VSi8Wyb0qU=; t=1740068199; x=1740158199; b=tJIQPHwcjv9YQJ2rstVFm65tJ0b7fiWFnSh3iQuzj/Thp7R WX+X+tSyx4NA94OYPhUvZyRgkLIZbXHiwYkpwNKbS9YI9x1dtELi5WHhvJVUc+sSeA4146KzqLC0O rJjytlyNDb0kQWIQjlgP1zoCOkDWgdfPF9AEGipC/GKpp/42FOofWVCSpUP6ekVybkdwDb3Wy1HmY 6v6ubuP6/uGIwx55dmAIxcsS9VGzt4olNhNb0BHRAN3phqlFjeZ3OTqhTx6DnDMxUe9IK1JLKjMVQ KMBSxpN+gzLF0gGSJZ7iy854uFSTIfFkLJv1Iyug1DXm1fvISxNCDzg6Njgcz5ag==; Received: by exim-smtp-5f589487f8-bsvrn with utf8esmtpa (envelope-from <dushistov@HIDDEN>) id 1tl9E4-00000000LeV-0XJg for bug-gnu-emacs@HIDDEN; Thu, 20 Feb 2025 19:16:36 +0300 Date: Thu, 20 Feb 2025 19:16:32 +0300 From: Evgeniy Dushistov <dushistov@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths Message-ID: <Z7dVYKIbOt9viKlq@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline "X-PGP-Key: https://sks-keyservers.net/pks/lookup?op=vindex&search=dushistov%40mail.ru" Authentication-Results: exim-smtp-5f589487f8-bsvrn; auth=pass smtp.auth=dushistov@HIDDEN smtp.mailfrom=dushistov@HIDDEN X-Mailru-Src: smtp X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD916C41472748AFA047650D52D52D6997C0A87834680C0F06C00894C459B0CD1B9DC1B612563947164460A1D3C0470A96D7C0BCA9B957D2BF4FCC8EB1B0A0B41490C43EDF95CA0F6DD X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE727FD6E7FC3A8F857EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637BF3E16F0C87855308638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8C71B0B814CBE3997817E2B5E266596A982F98CFE25093F3420879F7C8C5043D14489FFFB0AA5F4BF176DF2183F8FC7C0565C7A4E90E531F78941B15DA834481FA18204E546F3947CD56D36E97F3F038CF6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F79006379CB0AA5F2FC3A5BC389733CBF5DBD5E9B5C8C57E37DE458BD9DD9810294C998ED8FC6C240DEA76428AA50765F79006371DBCB936B60EA0FBD81D268191BDAD3DBD4B6F7A4D31EC0BE2F48590F00D11D6D81D268191BDAD3D78DA827A17800CE7DEDC13BB9439AB05EC76A7562686271ED91E3A1F190DE8FD2E808ACE2090B5E14AD6D5ED66289B5259CC434672EE63711DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C329D6052AD80E5BE1089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-C1DE0DAB: 0D63561A33F958A547F6CDD7F4E3A76D5002B1117B3ED6960C61364370E380C3466072E6821086B3277AA237ED671D4372AF3B35EA4094CC251EFD5447B32ED69C5DF10A05D560A9D2B5782620B851B7C8C84E951CD0BE2F58C12E6D310A6D53566404C906FA8ADEA71A35648BE338CEED902CAAD3CD6B00BA7CCD254A1CF5E8C545167D1C1EF2FB638A446BE3E5C627BF0CFE790FC11A7261332C5CB50AE517BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF26627E0B569FD6DE0357DC0226EF9A8E87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CF2F7BB925C96FE51BBEB85361DDA86C6C9F898A459C9CACEE058CF93DF09E479A9B17B6A7F8D99C9BE0A03213D1DB87F2AE9B524EF8C55050B398B59716E102F99517D23B767A486C383C93C5AD2DA449913E6812662D5F2A44C8AD4AA6DD08ECCACDBADCC7D60979964550E41902C4E4 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVYrk7BQKFwEt8AZEEocxyHoeJ7NXrzW+kw== X-Mailru-Sender: AFD8F0D0D0E72874173F5846337BA16348EE163F8B391A64B951B70A5BD4BD8E3ED5AED67E84E9A03D9D5E1A15D2B1F6390B4EE339CE7E75FB559BB5D741EB9615E033373711A675E66B5C1DBFD5D09D67EA787935ED9F1B X-Mras: Ok Received-SPF: pass client-ip=95.163.59.13; envelope-from=dushistov@HIDDEN; helo=send174.i.mail.ru 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_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.7 (+) 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: Run "emacs -Q" with such config: ``` (setq straight-check-for-modifications nil) (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs [...] Content analysis details: (1.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.1 URIBL_SBL_A Contains URL's A record listed in the Spamhaus SBL blocklist [URIs: raw.githubusercontent.com] 0.6 URIBL_SBL Contains an URL's NS IP listed in the Spamhaus SBL blocklist [URIs: raw.githubusercontent.com] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -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 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (dushistov[at]mail.ru) 0.0 SPOOFED_FREEMAIL No description available. 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: 0.7 (/) Run "emacs -Q" with such config: ``` (setq straight-check-for-modifications nil) (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) (bootstrap-version 6)) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el" 'silent 'inhibit-cookies) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) (straight-use-package 'use-package) (setq use-package-verbose t) (use-package ivy :straight t :init (setq ivy-use-virtual-buffers t) (setq enable-recursive-minibuffers t) :config (ivy-mode 1) ) ``` After start open "/tmp" directory, and then press C-x C-f and then type /var, the content of minibuffer would be "/tmp//var", if after that press TAB the result would be "/tmp/var" while expected "/var". emacs 29.4 gives "/var", while emacs 30.1-rc1 gives "/tmp/var". In GNU Emacs 30.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.48, cairo version 1.18.2) Repository revision: f33dddcc776e901abd1bb8f444c87d7e51128fec Repository branch: main Windowing system distributor 'The X.Org Foundation', version 11.0.12101015 System Description: Arch Linux Configured using: 'configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib --with-tree-sitter --localstatedir=/var --with-cairo --disable-build-details --with-harfbuzz --with-libsystemd --with-modules --with-x-toolkit=gtk3 'CFLAGS=-march=nehalem -mtune=znver1 -O2 -pipe -fno-plt -fexceptions -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/evgeniy/bigdisk1/linux-infra/arch_build/modified-packages/emacs-30/src=/usr/src/debug/emacs' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs'' 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 XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: ru_RU.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/d Minor modes in effect: ivy-mode: t straight-use-package-mode: t straight-package-neutering-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/evgeniy/.config/emacs/straight/build/bind-key/bind-key hides /usr/share/emacs/30.1/lisp/bind-key /home/evgeniy/.config/emacs/straight/build/use-package/use-package-ensure hides /usr/share/emacs/30.1/lisp/use-package/use-package-ensure /home/evgeniy/.config/emacs/straight/build/use-package/use-package-ensure-system-package hides /usr/share/emacs/30.1/lisp/use-package/use-package-ensure-system-package /home/evgeniy/.config/emacs/straight/build/use-package/use-package-core hides /usr/share/emacs/30.1/lisp/use-package/use-package-core /home/evgeniy/.config/emacs/straight/build/use-package/use-package-delight hides /usr/share/emacs/30.1/lisp/use-package/use-package-delight /home/evgeniy/.config/emacs/straight/build/use-package/use-package-lint hides /usr/share/emacs/30.1/lisp/use-package/use-package-lint /home/evgeniy/.config/emacs/straight/build/use-package/use-package-bind-key hides /usr/share/emacs/30.1/lisp/use-package/use-package-bind-key /home/evgeniy/.config/emacs/straight/build/use-package/use-package-diminish hides /usr/share/emacs/30.1/lisp/use-package/use-package-diminish /home/evgeniy/.config/emacs/straight/build/use-package/use-package-jump hides /usr/share/emacs/30.1/lisp/use-package/use-package-jump /home/evgeniy/.config/emacs/straight/build/use-package/use-package hides /usr/share/emacs/30.1/lisp/use-package/use-package Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils ffap url-parse url-vars thingatpt dired dired-loaddefs tramp trampver tramp-integration files-x tramp-message tramp-compat xdg shell pcomplete parse-time iso8601 format-spec auth-source eieio eieio-core password-cache json map tramp-loaddefs time-date ivy delsel ivy-faces ivy-overlay colir color ivy-autoloads use-package-core use-package-autoloads bind-key-autoloads straight-autoloads compile text-property-search comint ansi-osc ansi-color ring comp-run comp comp-cstr cl-extra help-mode comp-common warnings icons rx straight info loaddefs-gen generate-lisp-file lisp-mnt radix-tree easy-mmode cl-seq pcase subr-x byte-opt cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cyril-util 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 native-compile emacs) Memory information: ((conses 16 153970 11540) (symbols 48 12982 0) (strings 32 39164 2004) (string-bytes 1 1243659) (vectors 16 23992) (vector-slots 8 279176 6265) (floats 8 169 262) (intervals 56 380 0) (buffers 992 14)) -- /Evgeniy ------------=_1740474122-26185-0 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 76440-done) by debbugs.gnu.org; 25 Feb 2025 09:01:45 +0000 Received: from localhost ([127.0.0.1]:44678 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tmqoy-0006nl-Oi for submit <at> debbugs.gnu.org; Tue, 25 Feb 2025 04:01:45 -0500 Received: from mta-05-3.privateemail.com ([198.54.118.212]:33423) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <basil@HIDDEN>) id 1tmqow-0006nN-3H; Tue, 25 Feb 2025 04:01:42 -0500 Received: from mta-05.privateemail.com (localhost [127.0.0.1]) by mta-05.privateemail.com (Postfix) with ESMTP id 4Z2BRg2vf8z3hhby; Tue, 25 Feb 2025 04:01:35 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net; s=default; t=1740474095; bh=/TQ8jy8M1jEUtX/2jz3u+2AB50Rv0gvCWVbtDo7J/08=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=IpR/qmZXsVeU9U3HDZL2GfJLVjTtUJJ+mCGjWpvzxQvtajcN+Ce19VS9fNVnaUZr1 kp0wq+rM8+Nt2v9KwmSUCH4imks1gMzJkcIsRBlg3mZbr186yoFkDvHzjmLMGtnUiO EFQ6EjWYcx1oEECPTO29rG7Mvthsr3j2aycQZ8a8yS8GU6+fjVWOmTGCsvQbwovxe0 7xbt5iR1L0vC1rwUP/wP9OC1reHVjdHw54vpE+cfEkwQ0HuRAYmLyWTGl78g19h5Rz bHmfvadJUD/mKiJw9HrNVhs5s5SqXNn7nnXGOUP0jPvxA5Wt7UN7RdTKIi41BxuDQ5 Eedh8a5pKGXDA== Received: from localhost (unknown [146.70.196.201]) by mta-05.privateemail.com (Postfix) with ESMTPA; Tue, 25 Feb 2025 04:01:30 -0500 (EST) From: "Basil L. Contovounesios" <basil@HIDDEN> To: Evgeniy Dushistov <dushistov@HIDDEN> Subject: Re: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths In-Reply-To: <Z7x-NG9tqELHQvLi@HIDDEN> References: <Z7dVYKIbOt9viKlq@HIDDEN> <CADwFkmmHKHx8ZB8Pf_yoAkMPxzXj8nV00niVutBgb7ik7BcKUQ@HIDDEN> <87o6ywedcy.fsf@HIDDEN> <Z7eHTUE4BjbmZ9wp@HIDDEN> <87cyf7blxe.fsf@HIDDEN> <Z7x-NG9tqELHQvLi@HIDDEN> Date: Tue, 25 Feb 2025 10:01:27 +0100 Message-ID: <878qpuqty0.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76440-done Cc: Stefan Kangas <stefankangas@HIDDEN>, 76440-done <at> debbugs.gnu.org, Oleh Krehel <ohwoeowho@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 (-) close 76440 30.1 quit Evgeniy Dushistov [2025-02-24 17:12 +0300] wrote: > Thank you, this fixed for me all ivy related issues. Thank you for confirming. I've now applied the fixes and tagged a new Ivy version 0.15.0, coming to a GNU ELPA near you soon. [ The new ivy-avy, ivy-hydra, and swiper versions will come tomorrow, and counsel in a couple of days, to avoid interim dependency issues. In the long run the idea is to merge all of these packages into a single package, which follows the project's development model. ] -- Basil ------------=_1740474122-26185-0--
MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Evgeniy Dushistov <dushistov@HIDDEN> Subject: bug#76440: closed (Re: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths) Message-ID: <handler.76440.D76440.174047410526155.notifdone <at> debbugs.gnu.org> References: <878qpuqty0.fsf@HIDDEN> <Z7dVYKIbOt9viKlq@HIDDEN> X-Gnu-PR-Message: they-closed 76440 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 76440 <at> debbugs.gnu.org Date: Tue, 25 Feb 2025 09:02:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1740474122-26185-1" This is a multi-part message in MIME format... ------------=_1740474122-26185-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of a= bsolute paths which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 76440 <at> debbugs.gnu.org. --=20 76440: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D76440 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems ------------=_1740474122-26185-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 76440-done) by debbugs.gnu.org; 25 Feb 2025 09:01:45 +0000 Received: from localhost ([127.0.0.1]:44678 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tmqoy-0006nl-Oi for submit <at> debbugs.gnu.org; Tue, 25 Feb 2025 04:01:45 -0500 Received: from mta-05-3.privateemail.com ([198.54.118.212]:33423) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <basil@HIDDEN>) id 1tmqow-0006nN-3H; Tue, 25 Feb 2025 04:01:42 -0500 Received: from mta-05.privateemail.com (localhost [127.0.0.1]) by mta-05.privateemail.com (Postfix) with ESMTP id 4Z2BRg2vf8z3hhby; Tue, 25 Feb 2025 04:01:35 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net; s=default; t=1740474095; bh=/TQ8jy8M1jEUtX/2jz3u+2AB50Rv0gvCWVbtDo7J/08=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=IpR/qmZXsVeU9U3HDZL2GfJLVjTtUJJ+mCGjWpvzxQvtajcN+Ce19VS9fNVnaUZr1 kp0wq+rM8+Nt2v9KwmSUCH4imks1gMzJkcIsRBlg3mZbr186yoFkDvHzjmLMGtnUiO EFQ6EjWYcx1oEECPTO29rG7Mvthsr3j2aycQZ8a8yS8GU6+fjVWOmTGCsvQbwovxe0 7xbt5iR1L0vC1rwUP/wP9OC1reHVjdHw54vpE+cfEkwQ0HuRAYmLyWTGl78g19h5Rz bHmfvadJUD/mKiJw9HrNVhs5s5SqXNn7nnXGOUP0jPvxA5Wt7UN7RdTKIi41BxuDQ5 Eedh8a5pKGXDA== Received: from localhost (unknown [146.70.196.201]) by mta-05.privateemail.com (Postfix) with ESMTPA; Tue, 25 Feb 2025 04:01:30 -0500 (EST) From: "Basil L. Contovounesios" <basil@HIDDEN> To: Evgeniy Dushistov <dushistov@HIDDEN> Subject: Re: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths In-Reply-To: <Z7x-NG9tqELHQvLi@HIDDEN> References: <Z7dVYKIbOt9viKlq@HIDDEN> <CADwFkmmHKHx8ZB8Pf_yoAkMPxzXj8nV00niVutBgb7ik7BcKUQ@HIDDEN> <87o6ywedcy.fsf@HIDDEN> <Z7eHTUE4BjbmZ9wp@HIDDEN> <87cyf7blxe.fsf@HIDDEN> <Z7x-NG9tqELHQvLi@HIDDEN> Date: Tue, 25 Feb 2025 10:01:27 +0100 Message-ID: <878qpuqty0.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76440-done Cc: Stefan Kangas <stefankangas@HIDDEN>, 76440-done <at> debbugs.gnu.org, Oleh Krehel <ohwoeowho@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 (-) close 76440 30.1 quit Evgeniy Dushistov [2025-02-24 17:12 +0300] wrote: > Thank you, this fixed for me all ivy related issues. Thank you for confirming. I've now applied the fixes and tagged a new Ivy version 0.15.0, coming to a GNU ELPA near you soon. [ The new ivy-avy, ivy-hydra, and swiper versions will come tomorrow, and counsel in a couple of days, to avoid interim dependency issues. In the long run the idea is to merge all of these packages into a single package, which follows the project's development model. ] -- Basil ------------=_1740474122-26185-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 20 Feb 2025 16:17:01 +0000 Received: from localhost ([127.0.0.1]:38755 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tl9ES-0002Mq-1x for submit <at> debbugs.gnu.org; Thu, 20 Feb 2025 11:17:01 -0500 Received: from lists.gnu.org ([2001:470:142::17]:41636) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dushistov@HIDDEN>) id 1tl9EO-0002LQ-1N for submit <at> debbugs.gnu.org; Thu, 20 Feb 2025 11:16:57 -0500 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 <dushistov@HIDDEN>) id 1tl9EE-0004uh-Bf for bug-gnu-emacs@HIDDEN; Thu, 20 Feb 2025 11:16:47 -0500 Received: from send174.i.mail.ru ([95.163.59.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <dushistov@HIDDEN>) id 1tl9EB-0007hW-3W for bug-gnu-emacs@HIDDEN; Thu, 20 Feb 2025 11:16:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail4; h=Content-Type:MIME-Version:Message-ID:Subject:To:From:Date:From: Sender:Reply-To:To:Cc:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive:X-Cloud-Ids: Disposition-Notification-To; bh=L8G5sgEhW/BHrCFnQsMMSe65l6tXeK0H4VSi8Wyb0qU=; t=1740068199; x=1740158199; b=tJIQPHwcjv9YQJ2rstVFm65tJ0b7fiWFnSh3iQuzj/Thp7R WX+X+tSyx4NA94OYPhUvZyRgkLIZbXHiwYkpwNKbS9YI9x1dtELi5WHhvJVUc+sSeA4146KzqLC0O rJjytlyNDb0kQWIQjlgP1zoCOkDWgdfPF9AEGipC/GKpp/42FOofWVCSpUP6ekVybkdwDb3Wy1HmY 6v6ubuP6/uGIwx55dmAIxcsS9VGzt4olNhNb0BHRAN3phqlFjeZ3OTqhTx6DnDMxUe9IK1JLKjMVQ KMBSxpN+gzLF0gGSJZ7iy854uFSTIfFkLJv1Iyug1DXm1fvISxNCDzg6Njgcz5ag==; Received: by exim-smtp-5f589487f8-bsvrn with utf8esmtpa (envelope-from <dushistov@HIDDEN>) id 1tl9E4-00000000LeV-0XJg for bug-gnu-emacs@HIDDEN; Thu, 20 Feb 2025 19:16:36 +0300 Date: Thu, 20 Feb 2025 19:16:32 +0300 From: Evgeniy Dushistov <dushistov@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths Message-ID: <Z7dVYKIbOt9viKlq@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline "X-PGP-Key: https://sks-keyservers.net/pks/lookup?op=vindex&search=dushistov%40mail.ru" Authentication-Results: exim-smtp-5f589487f8-bsvrn; auth=pass smtp.auth=dushistov@HIDDEN smtp.mailfrom=dushistov@HIDDEN X-Mailru-Src: smtp X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD916C41472748AFA047650D52D52D6997C0A87834680C0F06C00894C459B0CD1B9DC1B612563947164460A1D3C0470A96D7C0BCA9B957D2BF4FCC8EB1B0A0B41490C43EDF95CA0F6DD X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE727FD6E7FC3A8F857EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637BF3E16F0C87855308638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8C71B0B814CBE3997817E2B5E266596A982F98CFE25093F3420879F7C8C5043D14489FFFB0AA5F4BF176DF2183F8FC7C0565C7A4E90E531F78941B15DA834481FA18204E546F3947CD56D36E97F3F038CF6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F79006379CB0AA5F2FC3A5BC389733CBF5DBD5E9B5C8C57E37DE458BD9DD9810294C998ED8FC6C240DEA76428AA50765F79006371DBCB936B60EA0FBD81D268191BDAD3DBD4B6F7A4D31EC0BE2F48590F00D11D6D81D268191BDAD3D78DA827A17800CE7DEDC13BB9439AB05EC76A7562686271ED91E3A1F190DE8FD2E808ACE2090B5E14AD6D5ED66289B5259CC434672EE63711DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C329D6052AD80E5BE1089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-C1DE0DAB: 0D63561A33F958A547F6CDD7F4E3A76D5002B1117B3ED6960C61364370E380C3466072E6821086B3277AA237ED671D4372AF3B35EA4094CC251EFD5447B32ED69C5DF10A05D560A9D2B5782620B851B7C8C84E951CD0BE2F58C12E6D310A6D53566404C906FA8ADEA71A35648BE338CEED902CAAD3CD6B00BA7CCD254A1CF5E8C545167D1C1EF2FB638A446BE3E5C627BF0CFE790FC11A7261332C5CB50AE517BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF26627E0B569FD6DE0357DC0226EF9A8E87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CF2F7BB925C96FE51BBEB85361DDA86C6C9F898A459C9CACEE058CF93DF09E479A9B17B6A7F8D99C9BE0A03213D1DB87F2AE9B524EF8C55050B398B59716E102F99517D23B767A486C383C93C5AD2DA449913E6812662D5F2A44C8AD4AA6DD08ECCACDBADCC7D60979964550E41902C4E4 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVYrk7BQKFwEt8AZEEocxyHoeJ7NXrzW+kw== X-Mailru-Sender: AFD8F0D0D0E72874173F5846337BA16348EE163F8B391A64B951B70A5BD4BD8E3ED5AED67E84E9A03D9D5E1A15D2B1F6390B4EE339CE7E75FB559BB5D741EB9615E033373711A675E66B5C1DBFD5D09D67EA787935ED9F1B X-Mras: Ok Received-SPF: pass client-ip=95.163.59.13; envelope-from=dushistov@HIDDEN; helo=send174.i.mail.ru 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_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.7 (+) 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: Run "emacs -Q" with such config: ``` (setq straight-check-for-modifications nil) (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs [...] Content analysis details: (1.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.1 URIBL_SBL_A Contains URL's A record listed in the Spamhaus SBL blocklist [URIs: raw.githubusercontent.com] 0.6 URIBL_SBL Contains an URL's NS IP listed in the Spamhaus SBL blocklist [URIs: raw.githubusercontent.com] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -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 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (dushistov[at]mail.ru) 0.0 SPOOFED_FREEMAIL No description available. 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: 0.7 (/) Run "emacs -Q" with such config: ``` (setq straight-check-for-modifications nil) (defvar bootstrap-version) (let ((bootstrap-file (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) (bootstrap-version 6)) (unless (file-exists-p bootstrap-file) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el" 'silent 'inhibit-cookies) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) (straight-use-package 'use-package) (setq use-package-verbose t) (use-package ivy :straight t :init (setq ivy-use-virtual-buffers t) (setq enable-recursive-minibuffers t) :config (ivy-mode 1) ) ``` After start open "/tmp" directory, and then press C-x C-f and then type /var, the content of minibuffer would be "/tmp//var", if after that press TAB the result would be "/tmp/var" while expected "/var". emacs 29.4 gives "/var", while emacs 30.1-rc1 gives "/tmp/var". In GNU Emacs 30.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.48, cairo version 1.18.2) Repository revision: f33dddcc776e901abd1bb8f444c87d7e51128fec Repository branch: main Windowing system distributor 'The X.Org Foundation', version 11.0.12101015 System Description: Arch Linux Configured using: 'configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib --with-tree-sitter --localstatedir=/var --with-cairo --disable-build-details --with-harfbuzz --with-libsystemd --with-modules --with-x-toolkit=gtk3 'CFLAGS=-march=nehalem -mtune=znver1 -O2 -pipe -fno-plt -fexceptions -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/evgeniy/bigdisk1/linux-infra/arch_build/modified-packages/emacs-30/src=/usr/src/debug/emacs' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs'' 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 XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: ru_RU.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/d Minor modes in effect: ivy-mode: t straight-use-package-mode: t straight-package-neutering-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/evgeniy/.config/emacs/straight/build/bind-key/bind-key hides /usr/share/emacs/30.1/lisp/bind-key /home/evgeniy/.config/emacs/straight/build/use-package/use-package-ensure hides /usr/share/emacs/30.1/lisp/use-package/use-package-ensure /home/evgeniy/.config/emacs/straight/build/use-package/use-package-ensure-system-package hides /usr/share/emacs/30.1/lisp/use-package/use-package-ensure-system-package /home/evgeniy/.config/emacs/straight/build/use-package/use-package-core hides /usr/share/emacs/30.1/lisp/use-package/use-package-core /home/evgeniy/.config/emacs/straight/build/use-package/use-package-delight hides /usr/share/emacs/30.1/lisp/use-package/use-package-delight /home/evgeniy/.config/emacs/straight/build/use-package/use-package-lint hides /usr/share/emacs/30.1/lisp/use-package/use-package-lint /home/evgeniy/.config/emacs/straight/build/use-package/use-package-bind-key hides /usr/share/emacs/30.1/lisp/use-package/use-package-bind-key /home/evgeniy/.config/emacs/straight/build/use-package/use-package-diminish hides /usr/share/emacs/30.1/lisp/use-package/use-package-diminish /home/evgeniy/.config/emacs/straight/build/use-package/use-package-jump hides /usr/share/emacs/30.1/lisp/use-package/use-package-jump /home/evgeniy/.config/emacs/straight/build/use-package/use-package hides /usr/share/emacs/30.1/lisp/use-package/use-package Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils ffap url-parse url-vars thingatpt dired dired-loaddefs tramp trampver tramp-integration files-x tramp-message tramp-compat xdg shell pcomplete parse-time iso8601 format-spec auth-source eieio eieio-core password-cache json map tramp-loaddefs time-date ivy delsel ivy-faces ivy-overlay colir color ivy-autoloads use-package-core use-package-autoloads bind-key-autoloads straight-autoloads compile text-property-search comint ansi-osc ansi-color ring comp-run comp comp-cstr cl-extra help-mode comp-common warnings icons rx straight info loaddefs-gen generate-lisp-file lisp-mnt radix-tree easy-mmode cl-seq pcase subr-x byte-opt cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cyril-util 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 native-compile emacs) Memory information: ((conses 16 153970 11540) (symbols 48 12982 0) (strings 32 39164 2004) (string-bytes 1 1243659) (vectors 16 23992) (vector-slots 8 279176 6265) (floats 8 169 262) (intervals 56 380 0) (buffers 992 14)) -- /Evgeniy ------------=_1740474122-26185-1--
Received: (at control) by debbugs.gnu.org; 25 Feb 2025 09:02:10 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 25 04:02:10 2025 Received: from localhost ([127.0.0.1]:44684 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tmqpN-0006p8-CH for submit <at> debbugs.gnu.org; Tue, 25 Feb 2025 04:02:09 -0500 Received: from mta-05-3.privateemail.com ([198.54.118.212]:33423) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <basil@HIDDEN>) id 1tmqow-0006nN-3H; Tue, 25 Feb 2025 04:01:42 -0500 Received: from mta-05.privateemail.com (localhost [127.0.0.1]) by mta-05.privateemail.com (Postfix) with ESMTP id 4Z2BRg2vf8z3hhby; Tue, 25 Feb 2025 04:01:35 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net; s=default; t=1740474095; bh=/TQ8jy8M1jEUtX/2jz3u+2AB50Rv0gvCWVbtDo7J/08=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=IpR/qmZXsVeU9U3HDZL2GfJLVjTtUJJ+mCGjWpvzxQvtajcN+Ce19VS9fNVnaUZr1 kp0wq+rM8+Nt2v9KwmSUCH4imks1gMzJkcIsRBlg3mZbr186yoFkDvHzjmLMGtnUiO EFQ6EjWYcx1oEECPTO29rG7Mvthsr3j2aycQZ8a8yS8GU6+fjVWOmTGCsvQbwovxe0 7xbt5iR1L0vC1rwUP/wP9OC1reHVjdHw54vpE+cfEkwQ0HuRAYmLyWTGl78g19h5Rz bHmfvadJUD/mKiJw9HrNVhs5s5SqXNn7nnXGOUP0jPvxA5Wt7UN7RdTKIi41BxuDQ5 Eedh8a5pKGXDA== Received: from localhost (unknown [146.70.196.201]) by mta-05.privateemail.com (Postfix) with ESMTPA; Tue, 25 Feb 2025 04:01:30 -0500 (EST) From: "Basil L. Contovounesios" <basil@HIDDEN> To: Evgeniy Dushistov <dushistov@HIDDEN> Subject: Re: bug#76440: 30.1; different behavaiour of 29.4 and 30 for ivy completition of absolute paths In-Reply-To: <Z7x-NG9tqELHQvLi@HIDDEN> References: <Z7dVYKIbOt9viKlq@HIDDEN> <CADwFkmmHKHx8ZB8Pf_yoAkMPxzXj8nV00niVutBgb7ik7BcKUQ@HIDDEN> <87o6ywedcy.fsf@HIDDEN> <Z7eHTUE4BjbmZ9wp@HIDDEN> <87cyf7blxe.fsf@HIDDEN> <Z7x-NG9tqELHQvLi@HIDDEN> Date: Tue, 25 Feb 2025 10:01:27 +0100 Message-ID: <878qpuqty0.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control Cc: Stefan Kangas <stefankangas@HIDDEN>, 76440-done <at> debbugs.gnu.org, Oleh Krehel <ohwoeowho@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 (-) close 76440 30.1 quit Evgeniy Dushistov [2025-02-24 17:12 +0300] wrote: > Thank you, this fixed for me all ivy related issues. Thank you for confirming. I've now applied the fixes and tagged a new Ivy version 0.15.0, coming to a GNU ELPA near you soon. [ The new ivy-avy, ivy-hydra, and swiper versions will come tomorrow, and counsel in a couple of days, to avoid interim dependency issues. In the long run the idea is to merge all of these packages into a single package, which follows the project's development model. ] -- Basil
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.