From unknown Mon Jun 23 23:49:24 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#27841 <27841@debbugs.gnu.org> To: bug#27841 <27841@debbugs.gnu.org> Subject: Status: 25.2; Patch for completion-table-with-predicate Reply-To: bug#27841 <27841@debbugs.gnu.org> Date: Tue, 24 Jun 2025 06:49:24 +0000 retitle 27841 25.2; Patch for completion-table-with-predicate reassign 27841 emacs submitter 27841 Ryan severity 27841 normal tag 27841 fixed patch thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 26 14:37:13 2017 Received: (at submit) by debbugs.gnu.org; 26 Jul 2017 18:37:13 +0000 Received: from localhost ([127.0.0.1]:57656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1daRBI-0005tW-D0 for submit@debbugs.gnu.org; Wed, 26 Jul 2017 14:37:13 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40303) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1daRBG-0005tH-55 for submit@debbugs.gnu.org; Wed, 26 Jul 2017 14:37:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1daRB7-0003nI-SP for submit@debbugs.gnu.org; Wed, 26 Jul 2017 14:37:04 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:32859) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1daRB7-0003n4-NH for submit@debbugs.gnu.org; Wed, 26 Jul 2017 14:37:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59449) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1daRB4-0003uP-IJ for bug-gnu-emacs@gnu.org; Wed, 26 Jul 2017 14:37:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1daRB1-0003jf-Ac for bug-gnu-emacs@gnu.org; Wed, 26 Jul 2017 14:36:58 -0400 Received: from mail-pg0-x22f.google.com ([2607:f8b0:400e:c05::22f]:37132) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1daRB0-0003iF-UZ for bug-gnu-emacs@gnu.org; Wed, 26 Jul 2017 14:36:55 -0400 Received: by mail-pg0-x22f.google.com with SMTP id y129so87603222pgy.4 for ; Wed, 26 Jul 2017 11:36:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thompsonclan-org.20150623.gappssmtp.com; s=20150623; h=to:subject:from:message-id:date:user-agent:mime-version; bh=2vCVgaufFImFC8PmJXCGHIJcapuv8LKMPkqhjlbooBg=; b=OKL3SJqoiTjGpogSz+OW49hR3ItOZXNTGm/pDPssFdqJBEXCUC3rxPGjxdp26up+3P QSmO9AQp8or2vYBGcEZ5wyX5zjWVLAHPN8fGbH4qfmrebajmzgVJOWD8HMpoNemwCNGX Vc7qfWD2PvZy0OIoAEssB6qSLxNJ6oCxeMLHAHhV61Pga5CMr3vMTLdMSMHJHpCSDU8p XhUiRGANPxDWru1ArsVjrjYpg7w/VYKnqAI3EXHW/uQnw/SdWRqLXVo97TMTAH2Aq2Se 6ncG69YTHRoy0sCxRfG1Qq9IRRg/9aAg6DeS2kroloSzL7ypoJKkJGLQcZgaAiU74a6Y EQdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:subject:from:message-id:date:user-agent :mime-version; bh=2vCVgaufFImFC8PmJXCGHIJcapuv8LKMPkqhjlbooBg=; b=NfqqAOHjSw8jn5GkNLNDMORIg7JYnVhTcitxESeR7RmujOqyeVy+6CepWC2gm8EPZx Rqd5naT4Py10nk0TmZwJoVhRyEA0qIr+bzqc8rlxLXQ7MXWB6rL4Upz/mXGlWGXTmGgf vx9Ctw5v0fKYUvGqNI43xagjJ59qiRystiUKIK4G2TFIcGNR2jWGkuWABntxLendK2Q7 K76Wsq47ldhfT39/RdLWa0TyENj/eEl3XocKtpWlWKbc59a4FtP7Z/eCfbCcmYQbfmpt KJoes4AbBxsZ/iJoY9jagDQ3CI6F5W6kwnLBkj/AeEH8LI1L7153nG6y3rVQO10rhsGz MBkA== X-Gm-Message-State: AIVw110JgKO9BDICVneh57YtF5Q4/mppN+OEhX0fTboQtmA3/ZRBqqef Nrv9lRExpuK1QT6pJibjzw== X-Received: by 10.84.241.207 with SMTP id t15mr1809807plm.338.1501094211483; Wed, 26 Jul 2017 11:36:51 -0700 (PDT) Received: from techne.lan ([209.134.95.37]) by smtp.googlemail.com with ESMTPSA id 74sm31948225pfh.49.2017.07.26.11.36.49 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 26 Jul 2017 11:36:50 -0700 (PDT) To: bug-gnu-emacs@gnu.org Subject: 25.2; Patch for completion-table-with-predicate From: Ryan Message-ID: Date: Wed, 26 Jul 2017 11:36:47 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------590A38A3A481F8A10992744B" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) This is a multi-part message in MIME format. --------------590A38A3A481F8A10992744B Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit When the pred2 arg to completion-table-with-predicate is nil, it acts like strict is non-nil, even if it isn't. I'm attaching a patch (created with "git format-patch") that fixes the bug. In GNU Emacs 25.2.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version 10.9.5 (Build 13F1911)) of 2017-04-21 built on builder10-9.porkrind.org Windowing system distributor 'Apple', version 10.3.1404 Configured using: 'configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules' Configured features: NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Magit Minor modes in effect: smex-mode: t recentf-mode: t ws-butler-global-mode: t ws-butler-mode: t winner-mode: t sml-modeline-mode: t savehist-mode: t save-place-mode: t minibuffer-electric-default-mode: t minibuffer-depth-indicate-mode: t midnight-mode: t ido-yes-or-no-mode: t icomplete-mode: t highlight-stages-global-mode: t highlight-stages-mode: t global-undo-tree-mode: t undo-tree-mode: t global-pointback-mode: t pointback-mode: t global-hl-line-mode: t global-anzu-mode: t anzu-mode: t desktop-save-mode: t delete-selection-mode: t beacon-mode: t auto-dim-other-buffers-mode: t ido-ubiquitous-mode: t ido-complete-space-or-hyphen-mode: t ido-everywhere: t osx-pseudo-daemon-mode: t magit-filenotify-mode: t diff-auto-refine-mode: t magit-auto-revert-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t autopair-global-mode: t show-paren-mode: t global-auto-complete-mode: t override-global-mode: t shell-dirtrack-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t global-prettify-symbols-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t line-number-mode: t transient-mark-mode: t Recent messages: Zsh finished [2 times] C-x C-g is undefined Quit [3 times] Git failed ... [Hit $ to see buffer *magit-process: emacs for details] [2 times] mwheel-scroll: Beginning of buffer [6 times] error in process filter: Selecting deleted buffer [2 times] Git failed ... [See buffer nil for details] [2 times] Quit [2 times] C-c g [2 times] Killed inactive buffer: emacs. Load-path shadows: /Users/ryan/.emacs.d/el-get/ido-completing-read+/ido-completing-read+ hides /Users/ryan/.emacs.d/.cask/25.2/elpa/ido-completing-read+-20170601.559/ido-completing-read+ /Users/ryan/.emacs.d/.cask/25.2/elpa/org-bullets-20140918.1137/org-bullets hides /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-bullets /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-texinfo hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-texinfo /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-publish hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-publish /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-org hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-org /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-odt hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-odt /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-md hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-md /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-man hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-man /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-latex hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-latex /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-icalendar hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-icalendar /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-html hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-html /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-beamer hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-beamer /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ox-ascii hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-ascii /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org hides /Applications/Emacs.app/Contents/Resources/lisp/org/org /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-w3m hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-w3m /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-version hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-version /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-timer hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-timer /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-table hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-table /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-src hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-src /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-rmail hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-rmail /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-protocol hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-protocol /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-plot hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-plot /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-pcomplete hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-pcomplete /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-mouse hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mouse /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-mobile hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mobile /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-mhe hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mhe /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-macs hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macs /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-macro hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macro /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-loaddefs hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-loaddefs /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-list hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-list /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-irc hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-irc /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-install hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-install /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-inlinetask hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-inlinetask /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-info hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-info /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-indent hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-indent /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-id hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-id /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-habit hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-habit /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-gnus hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-gnus /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-footnote hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-footnote /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-feed hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-feed /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-faces hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-faces /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-eshell hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-eshell /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-entities hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-entities /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-element hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-element /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-docview hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-docview /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-datetree hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-datetree /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-ctags hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-ctags /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-crypt hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-crypt /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-compat hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-compat /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-colview hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-colview /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-clock hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-clock /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-capture hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-capture /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-bibtex hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-bibtex /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-bbdb hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-bbdb /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-attach hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-attach /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-archive hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-archive /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/org-agenda hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-agenda /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-tangle hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-tangle /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-table hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-table /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-sqlite hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sqlite /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-sql hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sql /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-shen hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-shen /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-screen hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-screen /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-scheme hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-scheme /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-scala hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-scala /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-sass hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sass /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-ruby hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ruby /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-ref hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ref /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-R hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-R /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-python hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-python /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-plantuml hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-plantuml /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-picolisp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-picolisp /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-perl hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-perl /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-org hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-org /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-octave hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-octave /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-ocaml hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ocaml /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-mscgen hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-mscgen /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-maxima hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-maxima /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-matlab hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-matlab /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-makefile hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-makefile /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-lob hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lob /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-lisp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lisp /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-lilypond hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lilypond /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-ledger hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ledger /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-latex hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-latex /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-keys hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-keys /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-js hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-js /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-java hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-java /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-io hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-io /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-haskell hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-haskell /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-gnuplot hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-fortran hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-fortran /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-exp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-exp /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-eval hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-eval /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-emacs-lisp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-dot hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-dot /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-ditaa hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ditaa /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-css hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-css /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-core hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-core /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-comint hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-comint /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-clojure hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-clojure /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-calc hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-calc /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-C hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-C /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-awk hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-awk /Users/ryan/.emacs.d/.cask/25.2/elpa/org-plus-contrib-20170606/ob-asymptote hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-asymptote /Users/ryan/.emacs.d/.cask/25.2/elpa/seq-2.20/seq hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/seq /Users/ryan/.emacs.d/.cask/25.2/elpa/let-alist-1.0.5/let-alist hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/let-alist Features: (shadow sort mail-extr macros rect colir apropos thai-util thai-word reposition two-column iso-transl with-simulated-input ivy ivy-overlay ffap magit-extras git-rebase view pulse debug dabbrev recentf tree-widget eieio-opt speedbar sb-image ezimage dframe misearch multi-isearch imenu ess-toolbar ess-mouse mouseme ess-swv ess-noweb ess-noweb-font-lock-mode ess-bugs-l ess-sas-d ess-sas-l ess-sas-a ess-stata-mode ess-stata-lang make-regexp essd-els ess-sp6-d ess-dde ess-sp3-d ess-julia julia-mode ess-r-mode ess-r-package ess-r-syntax ess-r-completion ess-roxy essddr ess-rd hideshow ess-s-lang ess-help ess-site checkdoc conf-mode make-mode org-eldoc sh-script smie org-rmail org-mhe org-irc org-info org-gnus org-docview doc-view image-mode org-bibtex bibtex org-bbdb org-w3m macrostep-c cmacexp macrostep cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs yaml-mode jka-compr vc-git flymake emacsbug sendmail face-remap ws-butler winner sml-modeline savehist saveplace minibuf-eldef mb-depth midnight ido-yes-or-no icomplete highlight-stages undo-tree diff pointback assoc hl-line anzu desktop frameset delsel beacon auto-dim-other-buffers ido-completing-read+ loadhist bar-cursor debian-changelog-mode git-wip-mode vc vc-dispatcher ido-complete-space-or-hyphen tempbuf smooth-scrolling .loaddefs cus-edit cus-start cus-load warnings system-specific-settings snakemake-mode smex ido slime etags xref project arc-mode archive-mode hyperspec python pretty-symbols polymode poly-base polymode-weave polymode-export polymode-debug polymode-methods poly-lock polymode-compat polymode-classes polymode-core eieio-custom wid-edit eieio-base color osx-pseudo-daemon org-bullets occur-context-resize noflet cl-indent markdown-mode thingatpt magit-filenotify magit-obsolete magit-blame magit-stash magit-bisect magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-branch magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode diff-mode magit-core magit-autorevert autorevert filenotify magit-process magit-margin magit-mode magit-git magit-section magit-popup git-commit magit-utils crm log-edit message rfc822 mml mml-sec epg mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log with-editor async-bytecomp async tramp-sh server lexbind-mode highlight-defined header2 git-gutter-fringe fringe-helper git-gutter esup esup-child benchmark ess ess-mode ess-noweb-mode ess-inf ess-tracebug ess-generics ess-utils ess-custom executable ess-compat el-get el-get-autoloading el-get-list-packages el-get-dependencies el-get-build el-get-status pp el-get-methods el-get-fossil el-get-svn el-get-pacman el-get-github-zip el-get-github-tar el-get-http-zip el-get-http-tar el-get-hg el-get-go el-get-git-svn el-get-fink el-get-emacswiki el-get-http el-get-notify el-get-emacsmirror el-get-github el-get-git el-get-elpa el-get-darcs el-get-cvs el-get-bzr el-get-brew el-get-builtin el-get-apt-get el-get-recipes el-get-byte-compile subr-x el-get-custom el-get-core autoload dired creole-mode keydef cperl-mode cl-lib-highlight bs browse-url autopair paren auto-complete edmacro kmacro popup apache-mode adjust-parens exec-path-from-shell use-package diminish bind-key compile org-element avl-tree org org-macro org-footnote org-pcomplete org-list org-faces org-entities noutline outline easy-mmode org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint tramp tramp-compat tramp-loaddefs trampver shell pcomplete comint ansi-color ring ob-core ob-eval org-compat org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs pallet advice gh-common gh-profile url-parse auth-source gnus-util password-cache url-vars marshal eieio-compat ht eieio eieio-core cl slime-autoloads rx info cask cl-seq cl-macs cask-bootstrap package-build mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr json map lisp-mnt shut-up epl git commander f dash s finder-inf package epg-config seq byte-opt gv bytecomp byte-compile cl-extra help-mode easymenu cconv cl-loaddefs pcase cl-lib time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win ucs-normalize term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic 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 charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 2624592 167877) (symbols 48 73936 186) (miscs 40 14857 9003) (strings 32 824806 20285) (string-bytes 1 9927758) (vectors 16 100674) (vector-slots 8 2332190 308432) (floats 8 1441 5743) (intervals 56 54878 10061) (buffers 976 308)) --------------590A38A3A481F8A10992744B Content-Type: application/x-gzip; name="Emacs patch for completion-table-with-predicate.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Emacs patch for completion-table-with-predicate.tar.gz" H4sIAPTfeFkAA+2VW2/bNhTH88xPcZCHRYYjRaRusbsN6boU67Ab1gB7GPZAUZTFTaY0Xea4 2IffoSQ3SXPx0jYFhvEPA7Qo6ujc9Dvnay5aqHknCsirBkS1rkvZqUq7HU9L6W5UV7h1IzMl eCdPDt5Dvu8nUQTDGo+rz8JxnQQ0oEFMoySkIfiMMT88gOh9XvZY9W3HG3Sl2XL90Dk8lucP 3J/ieLv+R4S+UvelunS5m/YrV2l3Twd4Q6889h1xGN5bfxrH4a7+cRhh/YMQ7x+A/0Qx39BT 1f/8cR/WR47qX+tlU60hj31+KgMhfZHHEaNhlJ36SSbD5DSNBfXDRShikQv4vtLwWtZAE/D9 5fADhhUkxswSDn/GJMILDy4KjLat9CF83ojurJsuRcm1VzWrL8nXGPISfpHZMbAYvu1LNING KV36i2XIwPUT3yev+/R3Kbol/PrT84sX3wA9Yb8BNitwwGYFpfdllZBXObRdo0QHG96CViVw nYE5wHY7x9AVUoPqgItOZlCqP+S1h4hG43jMI67rErzb1idrpVXa57lsPFnC38Bgjrco5KqU IAquVyYyih62sjHeOfOZuc7k6KzjzgjJVJ6D667Mi0/uMJvesUmUzuQlyCilPlsIn3pemp6K nFGOAdHhQzN+3mmRzOfzu62enYEbLNhxAvNxwY0qldsW3qay9Q4J7Jdj0uvkvRa8LIenKVzO bu4w3DG6svfsGWChrooJOcdMZkOtNvKokaArzFJdl1ulV5PZsUTlFuvXbG/Y4iuOvWFaoeq7 8TRW76aLxuBoYTbZG1wj8z3H3kmCMzk9dR52kHF/WoaWHB6fnGazKXACTiYxJ7cbGAnc9Y0G 57NGtt1oop1hTYEwjwZeQMjH/P4Nit0f606t1Ru5j/0ugmy4oq5+xBzYy3+fvcP/KGLM8v9T aOA/R9bnOZUYYRIlp1ImcpGwIGJZmqac+alY5FGEVfoE/Kfhkgb38J8Z/u+adV9Gh6yPX/YX BvPkAX4HgGi8DfDgCuAtEvyDkH2Fac8LeLLAts8w0A9DdrI4jhHZuCwMsg0glWxB5WaaZRX+ NfzCHPRCmikHreygyqGu2lYZNl3lsIWuIuZ4gbDyAH6oTIUunn/13TloKTNzH1KJo7duqlpe b+iJc5tCiYLcMzeQkzob4DqyfiyMmgZwzVu0XzRVvyqGQ46j+938mI1MfjRpB1I7tzHuyD93 jx2VfJ1mfDeKjGsrXeG4mSaM0pi3KZX6yGQSZ9gWCv6XNOkYBhIOqe2Gb73RhIMRd9c4uvNp dHDn2VPR3MrKysrKysrKysrKysrKysrKysrKysrKyur/rn8AMFkZLgAoAAA= --------------590A38A3A481F8A10992744B-- From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 04 18:53:32 2017 Received: (at 27841) by debbugs.gnu.org; 4 Aug 2017 22:53:32 +0000 Received: from localhost ([127.0.0.1]:42130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ddlTH-0000Q4-U5 for submit@debbugs.gnu.org; Fri, 04 Aug 2017 18:53:32 -0400 Received: from mail-io0-f180.google.com ([209.85.223.180]:34422) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ddlTG-0000Pm-Hk; Fri, 04 Aug 2017 18:53:30 -0400 Received: by mail-io0-f180.google.com with SMTP id o9so10830323iod.1; Fri, 04 Aug 2017 15:53:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=UqMekUEIubEUZL92XHM5ihNPHyk4qBEsbMyZA5uhRlE=; b=CD7Z/u5BjzYTYAU7af/InPeFWo79xbjBstiCa8Ii6A2/kkGYhMvLPTHLZj3OPYxoNL +PtpfJwoQGALmY83QivZdoXSbhvTM+GVoJeChjUFV6ECVsOSu1Xa3sU4yZNCvQd6LM8m IDOVXQECD2IE2RiZL883Y+nzPfn1pbuq4sWXR9qa/S54qSanpIjupO46lbm0sgkKAkjR ur+E4eABYVVI9qL3BCOhKiAnUgrZcujvDIbdGZB0JJLmgDEuyHaTVBFCsgOyj2IEBYH8 P/vOdd6W/SZkm8bOHP6KBfk/gTiKMrBsXIrh17nNma4LLlFaQjx13wpocLWp0XDYGlVB UEhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=UqMekUEIubEUZL92XHM5ihNPHyk4qBEsbMyZA5uhRlE=; b=FmoNBRdwYSfRPofdHDb8zyzIIHhU7cE9hXPNpz/BKgTtLReNVkc9yxYX+mOUFoztID S3hZw4gLdMlUqhHRoG2RD4spl4MqpxQtI4HEPMec2lquXIC+C1SfucvJbl2CdHY3/NWK xcPiTnvhTR1wh8mfz4m3yr63c5xGLV9kSWkotJoEcFPFDOF8cJYuDa/9X9x7tOo1I4+Y w9OWyUk5Fy/4OBfMr0dDzke+qOjnr3MSJHkKzmfEqN2avXBMIBgv49gkoYDktGR0ZAxL pGmekLapoAP6co0kH6NJCKt5/3FH+/0gWrA9Q3WGaLReH1bS9zdnJnsSfbXGSzaLnoXZ FAuw== X-Gm-Message-State: AHYfb5hMsKRM5HNI4c7oIO4DxaEpD2wjF6vuM7IOozUg+NIAG81BN+PS Kk83YllrkV4cQGCu X-Received: by 10.107.12.70 with SMTP id w67mr4567146ioi.295.1501887204682; Fri, 04 Aug 2017 15:53:24 -0700 (PDT) Received: from zony ([45.2.119.48]) by smtp.googlemail.com with ESMTPSA id y28sm855804ita.2.2017.08.04.15.53.23 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 04 Aug 2017 15:53:23 -0700 (PDT) From: npostavs@users.sourceforge.net To: Ryan Subject: Re: bug#27841: 25.2; Patch for completion-table-with-predicate References: Date: Fri, 04 Aug 2017 18:55:05 -0400 In-Reply-To: (Ryan's message of "Wed, 26 Jul 2017 11:36:47 -0700") Message-ID: <87mv7f6j06.fsf@users.sourceforge.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.1 (--) X-Debbugs-Envelope-To: 27841 Cc: 27841@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) --=-=-= Content-Type: text/plain tags 27841 + patch quit Ryan writes: > When the pred2 arg to completion-table-with-predicate is nil, it acts > like strict is non-nil, even if it isn't. I'm attaching a patch > (created with "git format-patch") that > fixes the bug. Looks reasonable, though I'm not very familiar with this code. The commit messages should be reformatted into ChangeLog format, and the first one would be better rephrased into present tense. I'm reattaching the patches inline here for convenience. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Fix-a-bug-in-completion-table-with-predicate.patch Content-Description: patch >From e531f97247bc7f28d20cd9d4f468aa062924e117 Mon Sep 17 00:00:00 2001 From: "Ryan C. Thompson" Date: Wed, 26 Jul 2017 11:09:42 -0700 Subject: [PATCH 1/2] Fix a bug in completion-table-with-predicate If strict was nil and pred2 was nil, then it acted like strict was non-nil. --- lisp/minibuffer.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index e5b1029c01..bb8cf21ad2 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -392,7 +392,7 @@ (defun completion-table-with-predicate (table pred1 strict string pred2 action) (and (funcall pred1 x) (funcall pred2 x))))) ;; If completion failed and we're not applying pred1 strictly, try ;; again without pred1. - (and (not strict) pred1 pred2 + (and (not strict) pred1 (complete-with-action action table string pred2)))))) (defun completion-table-in-turn (&rest tables) -- 2.11.1 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0002-Optimize-completion-table-with-predicate-for-pred1-n.patch Content-Description: patch >From 422c87af1dafd57f4e8c97a70b2104a76c77d104 Mon Sep 17 00:00:00 2001 From: "Ryan C. Thompson" Date: Wed, 26 Jul 2017 11:14:13 -0700 Subject: [PATCH 2/2] Optimize completion-table-with-predicate for pred1 = nil --- lisp/minibuffer.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index bb8cf21ad2..3a79016d13 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -379,6 +379,9 @@ (defun completion-table-with-predicate (table pred1 strict string pred2 action) nothing. Note: TABLE needs to be a proper completion table which obeys predicates." (cond + ;; If pred1 is nil, pass through + ((null pred1) + (complete-with-action action table string pred2)) ((and (not strict) (eq action 'lambda)) ;; Ignore pred1 since it doesn't really have to apply anyway. (test-completion string table pred2)) -- 2.11.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 04 19:00:35 2017 Received: (at 27841) by debbugs.gnu.org; 4 Aug 2017 23:00:35 +0000 Received: from localhost ([127.0.0.1]:42136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ddla6-00016D-O7 for submit@debbugs.gnu.org; Fri, 04 Aug 2017 19:00:34 -0400 Received: from mail-it0-f43.google.com ([209.85.214.43]:38425) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ddla4-0000zF-PV for 27841@debbugs.gnu.org; Fri, 04 Aug 2017 19:00:33 -0400 Received: by mail-it0-f43.google.com with SMTP id h199so14623185ith.1 for <27841@debbugs.gnu.org>; Fri, 04 Aug 2017 16:00:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thompsonclan-org.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=FD/wyuHLqaXcAt3Sw6O5qV2oQgeW7TTQ5on60u7Pibg=; b=omUzoj5zj0wTqJfP0cMQGXZQ0slwpeudXmX073RjWpERSvMPNi8ZI3wwby28pBAmsY Dk0eCahvFzE5Xdzq/80prmr1YkkJB9MWKGHVrE+x55ndocpqWYf7toSCXGvv1dA2uNgq EGCtS9hp7aFcSv0JCHxv1wuTQylq9kHU2SmirFoRQ7EIOKp8iUCgVK4Dy+6wNRvTf4wx Ahg2WjhuEhyCdv+680DzlVr7+gbsPc1/30q0tg1tCkWSL59Obo858C4RCOoH6HOJFNRn FUGKA6YcNVdLhawMPuIzYCJa3vo9RrsAM55ODkWKatabtdPJqhGPxOeXxX4mky8uKIMi 8O5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=FD/wyuHLqaXcAt3Sw6O5qV2oQgeW7TTQ5on60u7Pibg=; b=NnGNw6g20wmECHUklGO43LwSvDSl74p1a6DYniJTzkSTw8e59vu0wZ3OlYA/QnSdQy DqaUJD7eN0OnBF1OdlXo/LrAdqkm6dPUYCjL/TE2u4mY0ErpcJtSXVd+4WZhsSrP7ILJ vGeO5F1iXhGZmoVnJRfJY9Gl+UFwvr/0Mki6rAaAH2SKU5jhydJl5DTbmq74ma5se/Oa GFJlFgQjxjr51yNmACNHXyxc2ARsBs6q8Z2T2WakA/XGXxd+ztvPivWU3Vdofk8LUcUz 5EOxT0ogCkdJF461hAcEa786CSTlUvpcdjeOCDX+S9vmPSCPkIhGXC4AqKG5u1AkIi/p 7PKg== X-Gm-Message-State: AHYfb5i008My2WWRQTqFMuzbZN9dfzUNuH/yw3gJKZ3iwdep+2pLhPGc IqYEsn/Eh5lESgxJZjgI8bpdLH0PpBGW X-Received: by 10.36.86.139 with SMTP id o133mr3918621itb.50.1501887627048; Fri, 04 Aug 2017 16:00:27 -0700 (PDT) MIME-Version: 1.0 References: <87mv7f6j06.fsf@users.sourceforge.net> In-Reply-To: <87mv7f6j06.fsf@users.sourceforge.net> From: Ryan Thompson Date: Fri, 04 Aug 2017 23:00:16 +0000 Message-ID: Subject: Re: bug#27841: 25.2; Patch for completion-table-with-predicate To: npostavs@users.sourceforge.net Content-Type: multipart/alternative; boundary="001a11419c6680caed0555f57605" X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 27841 Cc: 27841@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) --001a11419c6680caed0555f57605 Content-Type: text/plain; charset="UTF-8" Ok, I will reformat them when I get the chance. Would you also like me to provide an example where the old code does the wrong thing? On Fri, Aug 4, 2017 at 3:53 PM wrote: > tags 27841 + patch > quit > > Ryan writes: > > > When the pred2 arg to completion-table-with-predicate is nil, it acts > > like strict is non-nil, even if it isn't. I'm attaching a patch > > (created with "git format-patch") that > > fixes the bug. > > Looks reasonable, though I'm not very familiar with this code. The > commit messages should be reformatted into ChangeLog format, and the > first one would be better rephrased into present tense. I'm reattaching > the patches inline here for convenience. > > --001a11419c6680caed0555f57605 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Ok, I will reformat them when I get the chance. Would you = also like me to provide an example where the old code does the wrong thing?=

On Fri, Aug 4, 2017 a= t 3:53 PM <npostavs@us= ers.sourceforge.net> wrote:
= tags 27841 + patch
quit

Ryan <rct@thom= psonclan.org> writes:

> When the pred2 arg to completion-table-with-predicate is nil, it acts<= br> > like strict is non-nil, even if it isn't. I'm attaching a patc= h
> (created with "git format-patch") that
> fixes the bug.

Looks reasonable, though I'm not very familiar with this code.=C2=A0 Th= e
commit messages should be reformatted into ChangeLog format, and the
first one would be better rephrased into present tense.=C2=A0 I'm reatt= aching
the patches inline here for convenience.

--001a11419c6680caed0555f57605-- From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 04 19:08:46 2017 Received: (at 27841) by debbugs.gnu.org; 4 Aug 2017 23:08:46 +0000 Received: from localhost ([127.0.0.1]:42140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ddli2-0002b4-Ke for submit@debbugs.gnu.org; Fri, 04 Aug 2017 19:08:46 -0400 Received: from mail-io0-f179.google.com ([209.85.223.179]:36538) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ddli1-0002ar-5a for 27841@debbugs.gnu.org; Fri, 04 Aug 2017 19:08:45 -0400 Received: by mail-io0-f179.google.com with SMTP id g35so10732575ioi.3 for <27841@debbugs.gnu.org>; Fri, 04 Aug 2017 16:08:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=j3doLvKlT2JGYNxZXo1Pel4pQ5/TwBu7o7YQI77sYA0=; b=bJ7cXHvW0tcEurgsvZfX7SnYvRdtifLZ61R2RAkOzIk+rdxGmymrCB0o8z3N0vlEfr /dIN8QhAYcMBFmC/1pVTtTMXfGJXcz4/Iwtr2B4/M22wtRsMnqSwl4Ur3PSKna000Dyv 2oGmPbGfaq7EGGlnyS1LAZXzjoKlppx+gUAWdmpWmvikB8kMhW6iEoxDx5YepmH/59VD 52zrNTRmJJXNNFqiDh8zWgASCOqxLsAD2cryi7ErnBL45nnsYD95IxocK4m9rHyVra3n MAGil/DrgaibTVKYbnrQld0gegJnhRJihtWVcOzwl0iPS5ie3hyVieb2al5A5G5Z1yGb pTMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=j3doLvKlT2JGYNxZXo1Pel4pQ5/TwBu7o7YQI77sYA0=; b=lEBoxMhp7lnHbYCpeCj7ZhObol7X9qXk3LT5Ih2XS57R/poEkvlolFmwptvDjAeP9t 1BXPjI5HPhQy4pY9iAskQ+yWiqRiuCJHjTjUh9CRxC/25kQsJCfqoDT1wO3cgbF9AgIa 9WXwv2M2uc9qjraiMbMGzkcZiHv+hL+oWDTmoyxWJCT5dtxbIUM0pN7/elWvADhIqWe1 KHUf5tVOsHv6gnXHDJsRNJO/Icdw8v3FVx8JZwQBxLyfi5GrrER0mYCr1Dsd4XFksnGq FBMQ0/QWXlJWRCJRMmnr7HkuittcdycLY5Ztl3+DKCBwHGebMY/GKz78vngHBBZizBLU TXUw== X-Gm-Message-State: AHYfb5iapa/kaGqL8gurNJU4wH4/Ov7ZYCXf1WJnrXLGC+FkBBiqCcEg x7L1Ko1AG/VkRDku X-Received: by 10.107.203.6 with SMTP id b6mr4098019iog.232.1501888119434; Fri, 04 Aug 2017 16:08:39 -0700 (PDT) Received: from zony ([45.2.119.48]) by smtp.googlemail.com with ESMTPSA id f78sm1208328iod.76.2017.08.04.16.08.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 04 Aug 2017 16:08:38 -0700 (PDT) From: npostavs@users.sourceforge.net To: Ryan Thompson Subject: Re: bug#27841: 25.2; Patch for completion-table-with-predicate References: <87mv7f6j06.fsf@users.sourceforge.net> Date: Fri, 04 Aug 2017 19:10:20 -0400 In-Reply-To: (Ryan Thompson's message of "Fri, 04 Aug 2017 23:00:16 +0000") Message-ID: <87ini36iar.fsf@users.sourceforge.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.1 (--) X-Debbugs-Envelope-To: 27841 Cc: 27841@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) Ryan Thompson writes: > Ok, I will reformat them when I get the chance. Thanks. > Would you also like me to provide an example where the old code does > the wrong thing? That would be helpful, yes. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 04 19:11:19 2017 Received: (at 27841) by debbugs.gnu.org; 4 Aug 2017 23:11:19 +0000 Received: from localhost ([127.0.0.1]:42145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ddlkV-0002er-0t for submit@debbugs.gnu.org; Fri, 04 Aug 2017 19:11:19 -0400 Received: from mail-wr0-f181.google.com ([209.85.128.181]:34099) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ddlkT-0002ef-LF for 27841@debbugs.gnu.org; Fri, 04 Aug 2017 19:11:17 -0400 Received: by mail-wr0-f181.google.com with SMTP id 12so21420520wrb.1 for <27841@debbugs.gnu.org>; Fri, 04 Aug 2017 16:11:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=aTG+5Y3c/fHMB0kK9IfU4eI0A2eWRNe9z1/vdBzTKwk=; b=hp87u7dWTWHCeut7LKzHAK2gt5PB0chyhu8MNWFxxGJjioXYBaMGOIS69ye9Kh4Xp9 ghj6HTgcnmP/70QDgsJ+jIYDh90ClJQgq1Hrqf/dAdSjrlkoneC5gcV9GkG3SL43aX7/ eav8uC+caPgTTHolt1oDc9CFAn/vfhWd8vj/Kku9s+Q0f0tIvgGYo29tOHEF9X4vJ5i9 veGCv8XdcT49B8Y8Hac3LbiVyqRgh7f8Do/EYWfilnii5LMuKnUnEn5mYn3B4YyDp0bC kF8wtJTMGDqRg9Cdx4TdrmtEfwnSmPfQg8Wcy6V+6OS8kGNqRN8fYcKNUyUjVdrsOMaC jQgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=aTG+5Y3c/fHMB0kK9IfU4eI0A2eWRNe9z1/vdBzTKwk=; b=UuMHGXZhLvgbh8CxdB/mIUYlYBbCPEpicL+SKBzFiTEdlzAUjXDSZmQ7cDC4k/bNfI qdW8aZ08cecuZH4+J21wVO0XrKackE0ckpMrA8EOKVTwcj218DhLZ3p4tREmkd6pQD3x EHlBeSy97lIdtLEh2I1CqL/pJtaSr0ce0EZIdVivjstXFfynpetOUt7YieUor7ncajal k5duc6UOOTh1m4GDditC6J8/pbbMPXUmFp58VOvtwAOPR83vPwoxJabeBmV4761RjRsg lcJj7MIRG8eTwZwpx4XgfwaiQ1+s3BYIHrFdJsVaWTb4yLMEYG6lp1E88Ov9z5g4T9UV 0kvQ== X-Gm-Message-State: AIVw110ea5zflg/4r178IkrjmOTPSFpUdqA1ty0d/jKmMwo1AdTfUBMo naAdYprB12aTRzKk8yg= X-Received: by 10.223.177.158 with SMTP id q30mr3277222wra.123.1501888271781; Fri, 04 Aug 2017 16:11:11 -0700 (PDT) Received: from [192.168.1.3] ([185.105.174.193]) by smtp.googlemail.com with ESMTPSA id p20sm5773939wmg.10.2017.08.04.16.11.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 04 Aug 2017 16:11:10 -0700 (PDT) Subject: Re: bug#27841: 25.2; Patch for completion-table-with-predicate To: Ryan Thompson , npostavs@users.sourceforge.net References: <87mv7f6j06.fsf@users.sourceforge.net> From: Dmitry Gutov Message-ID: <10ad76ff-8e89-d8f2-1278-3fd04845b243@yandex.ru> Date: Sat, 5 Aug 2017 02:11:08 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:55.0) Gecko/20100101 Thunderbird/55.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 27841 Cc: 27841@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) On 8/5/17 2:00 AM, Ryan Thompson wrote: > Would you also like me > to provide an example where the old code does the wrong thing? Adding a test case or two to test/lisp/minibuffer-tests.el would be ideal (in the same patch that fixes it). From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 05 02:22:58 2017 Received: (at 27841) by debbugs.gnu.org; 5 Aug 2017 06:22:58 +0000 Received: from localhost ([127.0.0.1]:42365 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ddsUE-0001Ec-0c for submit@debbugs.gnu.org; Sat, 05 Aug 2017 02:22:58 -0400 Received: from mail-io0-f179.google.com ([209.85.223.179]:33893) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ddsUC-0001EO-F5 for 27841@debbugs.gnu.org; Sat, 05 Aug 2017 02:22:56 -0400 Received: by mail-io0-f179.google.com with SMTP id o9so12483497iod.1 for <27841@debbugs.gnu.org>; Fri, 04 Aug 2017 23:22:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thompsonclan-org.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pGuu/j0tV92ooENmOQFiwpQQWlSE6of/y6v43Q4jvnI=; b=VMIytiXM+9WnWkUOn6p68pxb/f0AqArDAiIc/nBvCQsmvK6Bnpn7Um+6HOgjaCM4yv ori0SepKEphOL5TFLhfSxg9RM6of6ursnEH0RBylzAEBzALlOQyAFcULh+BNmBxl+q4f 46eIV+8ZuQVmqkKodJxWA3GTYTJzohg+naQi4aFhtgwPorCYjRuCY3l2jrVMXstEVMK4 3CZP6bEMc3CwVWniWGvfXahHHR8IWyCoV5C7gUBgj/juYPO0hKsxQtwQuV9+DFbute1T zxeOD8p9tQYG3b5slQR9sHdM4udxHb1n5Uuw2PlmwcYoKiHzSyzAzCrg8v2w6Q5EIwVl AniA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pGuu/j0tV92ooENmOQFiwpQQWlSE6of/y6v43Q4jvnI=; b=Vn9YRSIGBhTgn4VEnyCl2dh72DjZDtfLVusPHeskiKo+QnLkN/sUDVVlsq1ZCIhw83 xUwyaYuuymHbbHOntvUPu6l6LVo6I1NHS3de0aJd2hUTr98X9ylCAUIgPG/OQ8WcyUqr zsTKTIgGiV3g80tLsz7BXzb1N9vP8tWjrl9mM46Bumzp64ZeEj9yMK1SBNbjgkiFTlK4 IQKfgbyksTRComxlmTNUEB5VtgeldM9oLMtjzH5XIQrPU5OAvJSeeymWI+HlCdbnb1Ya Y2KvKM+Wz8lfPgrMkIb/JFJTBBdxCVe7nwOvVwMbMa8PpJgV8yie+WFlIlA6vNW+3IGS jgag== X-Gm-Message-State: AHYfb5ijfMiiQ6/5Z3+zA/IGHxRX3Bpy7EoBegY5kSWJxjRBOGkEJNUY CFFPta5gAStYMxzfWpqUTgsyuGf8bssE X-Received: by 10.107.37.141 with SMTP id l135mr4934368iol.146.1501914170524; Fri, 04 Aug 2017 23:22:50 -0700 (PDT) MIME-Version: 1.0 References: <87mv7f6j06.fsf@users.sourceforge.net> <10ad76ff-8e89-d8f2-1278-3fd04845b243@yandex.ru> In-Reply-To: <10ad76ff-8e89-d8f2-1278-3fd04845b243@yandex.ru> From: Ryan Thompson Date: Sat, 05 Aug 2017 06:22:39 +0000 Message-ID: Subject: Re: bug#27841: 25.2; Patch for completion-table-with-predicate To: Dmitry Gutov , npostavs@users.sourceforge.net Content-Type: multipart/mixed; boundary="001a114031ea9e456a0555fba43b" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 27841 Cc: 27841@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --001a114031ea9e456a0555fba43b Content-Type: multipart/alternative; boundary="001a114031ea9e45640555fba439" --001a114031ea9e45640555fba439 Content-Type: text/plain; charset="UTF-8" Ok, here is the revised patch. I added a test and reformatted the commit message in (hopefully) ChangeLog format. The test includes a few basic tests of "completion-table-with-predicate" including one which is fixed by this patch (noted in the test comments). I've dropped the second patch entirely, because I realized it was inappropriately optimizing for a rare case (i.e. PRED1 being nil). Also, a few other related things: First, I noticed that while the test file name is minibuffer-tests.el, the lisp header and provide statement both contain "completion-tests.el" instead. Presumably this file was renamed at some point without updating its contents. Second, I notice that there is not much in this file, in particular nothing testing interactive completion in the minibuffer. I recently wrote a package for simulating interactive input to a command in order to implement tests for my ido-comrpleting-read+ package, and it might be useful for adding more tests here. You can view it here: https://github.com/DarwinAwardWinner/with-simulated-input and view example usage in the ido-cr+ test suite here: https://github.com/DarwinAwardWinner/ido-completing-read-plus/blob/master/tests/test-ido-completing-read%2B.el Let me know if there is interest in using such an approach to add automated tests for some of the core interactive Emacs functions like "completing-read". On Fri, Aug 4, 2017 at 4:11 PM Dmitry Gutov wrote: > On 8/5/17 2:00 AM, Ryan Thompson wrote: > > Would you also like me > > to provide an example where the old code does the wrong thing? > > Adding a test case or two to test/lisp/minibuffer-tests.el would be > ideal (in the same patch that fixes it). > --001a114031ea9e45640555fba439 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Ok, here is the revised patch. I added a test and reformat= ted the commit message in (hopefully) ChangeLog format. The test includes a= few basic tests of "completion-table-with-predicate" including o= ne which is fixed by this patch (noted in the test comments).=C2=A0
I've dropped the second patch entirely, because I realized = it was inappropriately optimizing for a rare case (i.e. PRED1 being nil).

Also, a few other related things: First, I noticed = that while the test file name is minibuffer-tests.el, the lisp header and p= rovide statement both contain "completion-tests.el" instead. Pres= umably this file was renamed at some point without updating its contents.= =C2=A0

Second, I notice that there is not much in = this file, in particular nothing testing interactive completion in the mini= buffer. I recently wrote a package for simulating interactive input to a co= mmand in order to implement tests for my ido-comrpleting-read+ package, and= it might be useful for adding more tests here. You can view it here:=C2=A0= https= ://github.com/DarwinAwardWinner/with-simulated-input=C2=A0and view exam= ple usage in the ido-cr+ test suite here:=C2=A0https://github.com/DarwinAwardWinner/ido-completing-rea= d-plus/blob/master/tests/test-ido-completing-read%2B.el=C2=A0

Let me know if there is interest in using such an approach = to add automated tests for some of the core interactive Emacs functions lik= e "completing-read".

On Fri, Aug 4, 2017 at 4:11 PM Dmitry Gutov <dgutov@yandex.ru> wrote:
On 8/5/17 2:00 AM, Ryan Thompson wrote:
> Would you also like me
> to provide an example where the old code does the wrong thing?

Adding a test case or two to test/lisp/minibuffer-tests.el would be
ideal (in the same patch that fixes it).
--001a114031ea9e45640555fba439-- --001a114031ea9e456a0555fba43b Content-Type: application/octet-stream; name="0001-Fix-a-bug-in-completion-table-with-predicate.patch" Content-Disposition: attachment; filename="0001-Fix-a-bug-in-completion-table-with-predicate.patch" Content-Transfer-Encoding: base64 Content-ID: <15db0fa54e739467c1b1> X-Attachment-Id: 15db0fa54e739467c1b1 RnJvbSBiNTMxM2RlZmIxMTMyMDIxYmQ4NmQ1ZDM4NWU4ZWE2ZDJkOTJhNjYzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUnlhbiBDLiBUaG9tcHNvbiIgPHJjdEB0aG9tcHNvbmNsYW4u b3JnPgpEYXRlOiBXZWQsIDI2IEp1bCAyMDE3IDExOjA5OjQyIC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gRml4IGEgYnVnIGluIGNvbXBsZXRpb24tdGFibGUtd2l0aC1wcmVkaWNhdGUKCgkqIC4uL2xp c3AvbWluaWJ1ZmZlci5lbCAoY29tcGxldGlvbi10YWJsZS13aXRoLXByZWRpY2F0ZSk6IERvbid0 CglhY3QgYXMgaWYgc3RyaWN0IGlzIG5vbi1uaWwgd2hlbiBwcmVkMiBpcyBuaWwgKEJ1ZyMyNzg0 MSkuCgkqIC4uL3Rlc3QvbGlzcC9taW5pYnVmZmVyLXRlc3RzLmVsCgkoY29tcGxldGlvbi10YWJs ZS13aXRoLXByZWRpY2F0ZS10ZXN0KTogQWRkIGEgdGVzdCBmb3IgQnVnIzI3ODQxLgotLS0KIGxp c3AvbWluaWJ1ZmZlci5lbCAgICAgICAgICAgIHwgIDIgKy0KIHRlc3QvbGlzcC9taW5pYnVmZmVy LXRlc3RzLmVsIHwgMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxl cyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv bGlzcC9taW5pYnVmZmVyLmVsIGIvbGlzcC9taW5pYnVmZmVyLmVsCmluZGV4IGU1YjEwMjljMDEu LmJiOGNmMjFhZDIgMTAwNjQ0Ci0tLSBhL2xpc3AvbWluaWJ1ZmZlci5lbAorKysgYi9saXNwL21p bmlidWZmZXIuZWwKQEAgLTM5Miw3ICszOTIsNyBAQCBvYmV5cyBwcmVkaWNhdGVzLiIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChmdW5jYWxsIHByZWQxIHgpIChmdW5j YWxsIHByZWQyIHgpKSkpKQogICAgICAgICA7OyBJZiBjb21wbGV0aW9uIGZhaWxlZCBhbmQgd2Un cmUgbm90IGFwcGx5aW5nIHByZWQxIHN0cmljdGx5LCB0cnkKICAgICAgICAgOzsgYWdhaW4gd2l0 aG91dCBwcmVkMS4KLSAgICAgICAgKGFuZCAobm90IHN0cmljdCkgcHJlZDEgcHJlZDIKKyAgICAg ICAgKGFuZCAobm90IHN0cmljdCkgcHJlZDEKICAgICAgICAgICAgICAoY29tcGxldGUtd2l0aC1h Y3Rpb24gYWN0aW9uIHRhYmxlIHN0cmluZyBwcmVkMikpKSkpKQogCiAoZGVmdW4gY29tcGxldGlv bi10YWJsZS1pbi10dXJuICgmcmVzdCB0YWJsZXMpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvbWlu aWJ1ZmZlci10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9taW5pYnVmZmVyLXRlc3RzLmVsCmluZGV4IDdj NWZjYjQ4MzguLmIyMDlhZTFjMjIgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9taW5pYnVmZmVyLXRl c3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9taW5pYnVmZmVyLXRlc3RzLmVsCkBAIC00Miw1ICs0Miwz OSBAQAogICAgICAgICAoc2hvdWxkIChlcXVhbCAoYnVmZmVyLXN0cmluZykKICAgICAgICAgICAg ICAgICAgICAgICAgInRlc3Q6ICIpKSkpKSkKIAorKGVydC1kZWZ0ZXN0IGNvbXBsZXRpb24tdGFi bGUtd2l0aC1wcmVkaWNhdGUtdGVzdCAoKQorICAoY2wtbGV0ZiogKChmdWxsLWNvbGxlY3Rpb24K KyAgICAgICAgICAgICAgJygiYXBwbGUiICAgICAgICAgICAgICAgICAgOyBIYXMgQQorICAgICAg ICAgICAgICAgICJiZWV0IiAgICAgICAgICAgICAgICAgICA7IEhhcyBCCisgICAgICAgICAgICAg ICAgImJhbmFuYSIgICAgICAgICAgICAgICAgIDsgSGFzIEEgJiBCCisgICAgICAgICAgICAgICAg ImNoZXJyeSIgICAgICAgICAgICAgICAgIDsgSGFzIG5laXRoZXIKKyAgICAgICAgICAgICAgICAp KQorICAgICAgICAgICAgICgoc3ltYm9sLWZ1bmN0aW9uICduby1BKQorICAgICAgICAgICAgICAo bGFtYmRhICh4KSAobm90IChzdHJpbmctbWF0Y2gtcCAiYSIgeCkpKSkKKyAgICAgICAgICAgICAo KHN5bWJvbC1mdW5jdGlvbiAnbm8tQikKKyAgICAgICAgICAgICAgKGxhbWJkYSAoeCkgKG5vdCAo c3RyaW5nLW1hdGNoLXAgImIiIHgpKSkpKQorICAgIChzaG91bGQKKyAgICAgKG1lbWJlciAiY2hl cnJ5IgorICAgICAgICAgICAgIChjb21wbGV0aW9uLXRhYmxlLXdpdGgtcHJlZGljYXRlCisgICAg ICAgICAgICAgIGZ1bGwtY29sbGVjdGlvbiAnbm8tQSB0ICIiICduby1CIHQpKSkKKyAgICAoc2hv dWxkLW5vdAorICAgICAobWVtYmVyICJiYW5hbmEiCisgICAgICAgICAgICAgKGNvbXBsZXRpb24t dGFibGUtd2l0aC1wcmVkaWNhdGUKKyAgICAgICAgICAgICAgZnVsbC1jb2xsZWN0aW9uICduby1B IHQgIiIgJ25vLUIgdCkpKQorICAgIDs7ICJhcHBsZSIgc2hvdWxkIHN0aWxsIG1hdGNoIHdoZW4g c3RyaWN0IGlzIG5pbAorICAgIChzaG91bGQgKGVxIHQgKHRyeS1jb21wbGV0aW9uCisgICAgICAg ICAgICAgICAgICAgImFwcGxlIgorICAgICAgICAgICAgICAgICAgIChhcHBseS1wYXJ0aWFsbHkK KyAgICAgICAgICAgICAgICAgICAgJ2NvbXBsZXRpb24tdGFibGUtd2l0aC1wcmVkaWNhdGUKKyAg ICAgICAgICAgICAgICAgICAgZnVsbC1jb2xsZWN0aW9uICduby1BIG5pbCkKKyAgICAgICAgICAg ICAgICAgICAnbm8tQikpKQorICAgIDs7ICJhcHBsZSIgc2hvdWxkIHN0aWxsIG1hdGNoIHdoZW4g c3RyaWN0IGlzIG5pbCBhbmQgcHJlZDIgaXMgbmlsCisgICAgOzsgKEJ1ZyMyNzg0MSkKKyAgICAo c2hvdWxkIChlcSB0ICh0cnktY29tcGxldGlvbgorICAgICAgICAgICAgICAgICAgICJhcHBsZSIK KyAgICAgICAgICAgICAgICAgICAoYXBwbHktcGFydGlhbGx5CisgICAgICAgICAgICAgICAgICAg ICdjb21wbGV0aW9uLXRhYmxlLXdpdGgtcHJlZGljYXRlCisgICAgICAgICAgICAgICAgICAgIGZ1 bGwtY29sbGVjdGlvbiAnbm8tQSBuaWwpKSkpKSkKKwogKHByb3ZpZGUgJ2NvbXBsZXRpb24tdGVz dHMpCiA7OzsgY29tcGxldGlvbi10ZXN0cy5lbCBlbmRzIGhlcmUKLS0gCjIuMTMuNAoK --001a114031ea9e456a0555fba43b-- From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 07 21:26:03 2017 Received: (at 27841) by debbugs.gnu.org; 8 Aug 2017 01:26:03 +0000 Received: from localhost ([127.0.0.1]:50933 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1detHX-0001VF-C6 for submit@debbugs.gnu.org; Mon, 07 Aug 2017 21:26:03 -0400 Received: from mail-io0-f193.google.com ([209.85.223.193]:38122) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1detHV-0001Ui-JF for 27841@debbugs.gnu.org; Mon, 07 Aug 2017 21:26:02 -0400 Received: by mail-io0-f193.google.com with SMTP id o9so1476184iod.5 for <27841@debbugs.gnu.org>; Mon, 07 Aug 2017 18:26:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=kaK8zpEESjx7RHRP58RpwAL1xKdbb/dkNtQ5nxW3En0=; b=drizxBCWIICFJpaa6BXORthrEmL1w85iTbTbNHGb1xGPY6gJHJPxNNt9zcGwGd9ArO nWhuRveRE7BrYfapozlha2cMAhH1D7GYkQAco/YRKE4NDuEPklYq88Sr1R0cZEkJ+wcr WwNbaUgQirLRx49kF7/HdA2C6fOpowNFRqNuKMfW5AOIAyvrnZrUk/13zJowCD+Mmnlv YNXXfAMxxu1LKPpqC+O1VnsmE3rHb66wRiCEYINbdaLT/5SmRxr5Cjh+D8oIic8URjFk rIvUk6LVCqqPF5gcAUa1SBbMGbs8zODsGfqG7jjnutT8+FSZ3OPGSuiWeiyDSq0iOZdV 0j3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=kaK8zpEESjx7RHRP58RpwAL1xKdbb/dkNtQ5nxW3En0=; b=aHhrFaOQKk0QtIZlWqYBr5mIHANZxbsC0udnW7TAeR6uaU6ZnugYi9Bh29GRBNAVtL LmPabNY0Mxa43gB8xtRjqBzGICGNBZ8M+ASpEvAGqjJ1oSO354wK9V8aEW1C6OYDOKZ4 BB1WumR4BOIuJUDaIhQvTv43m9BCpYYW5UfwCTCg3b/zjmuEGkwnNejNhakbir5Ijzim ge3YhzQcBIAcJ/J3Pk7HWeKhxVeDVL7gO0cy3VHN55ZNU/qNFarPKFKlwNAMVG9+LbHm nBD6C6aVmcpBs+BLXaFeuYLdzAJJOJqPF4cSjy1IktVWf50oXxbZstMDHA/4cHtYrIvl bVaA== X-Gm-Message-State: AIVw110KoX9TvIjN5hJhdX5kO/Yxff/H1KA+0Xw0LKkvGVdB6ELfGHmx XQ+/oDJq7SkSWl9/jTw= X-Received: by 10.107.15.16 with SMTP id x16mr2279697ioi.288.1502155555916; Mon, 07 Aug 2017 18:25:55 -0700 (PDT) Received: from zony ([45.2.119.49]) by smtp.googlemail.com with ESMTPSA id a83sm64826ioj.36.2017.08.07.18.25.53 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 07 Aug 2017 18:25:54 -0700 (PDT) From: npostavs@users.sourceforge.net To: Ryan Thompson Subject: Re: bug#27841: 25.2; Patch for completion-table-with-predicate References: <87mv7f6j06.fsf@users.sourceforge.net> <10ad76ff-8e89-d8f2-1278-3fd04845b243@yandex.ru> Date: Mon, 07 Aug 2017 21:27:31 -0400 In-Reply-To: (Ryan Thompson's message of "Sat, 05 Aug 2017 06:22:39 +0000") Message-ID: <874lti4zng.fsf@users.sourceforge.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.1 (--) X-Debbugs-Envelope-To: 27841 Cc: 27841@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) Ryan Thompson writes: > Second, I notice that there is not much in this file, in particular > nothing testing interactive completion in the minibuffer. I recently > wrote a package for simulating interactive input to a command in order > to implement tests for my ido-comrpleting-read+ package, and it might > be useful for adding more tests here. You can view it here: > https://github.com/DarwinAwardWinner/with-simulated-input and view > example usage in the ido-cr+ test suite here: > https://github.com/DarwinAwardWinner/ido-completing-read-plus/blob/master/tests/test-ido-completing-read%2B.el > > Let me know if there is interest in using such an approach to add > automated tests for some of the core interactive Emacs functions like > "completing-read". Sounds like that a useful addition to me. > * ../lisp/minibuffer.el (completion-table-with-predicate): Don't > act as if strict is non-nil when pred2 is nil (Bug#27841). > * ../test/lisp/minibuffer-tests.el > (completion-table-with-predicate-test): Add a test for Bug#27841. I wonder how you ended up with the ../ prefix on the filenames? > +(ert-deftest completion-table-with-predicate-test () > + (cl-letf* ((full-collection > + '("apple" ; Has A > + "beet" ; Has B > + "banana" ; Has A & B > + "cherry" ; Has neither > + )) > + ((symbol-function 'no-A) > + (lambda (x) (not (string-match-p "a" x)))) > + ((symbol-function 'no-B) > + (lambda (x) (not (string-match-p "b" x))))) It looks to me like things would be simpler with a let instead of cl-letf, no? From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 07 21:30:23 2017 Received: (at 27841) by debbugs.gnu.org; 8 Nov 2017 02:30:23 +0000 Received: from localhost ([127.0.0.1]:57319 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCG8F-0008Q9-F8 for submit@debbugs.gnu.org; Tue, 07 Nov 2017 21:30:23 -0500 Received: from mail-io0-f174.google.com ([209.85.223.174]:46104) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCG8C-0008Pl-27; Tue, 07 Nov 2017 21:30:20 -0500 Received: by mail-io0-f174.google.com with SMTP id 101so4361756ioj.3; Tue, 07 Nov 2017 18:30:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=UwonurDoA6VqkVV1GCbvt/1ARDFBNIr9lwJU7U4k/Y8=; b=Qzyc8tWDOyquA6pxKJOfCo1oa+RQBPaH7St2bV5qY3t93TOphtTKWT3e7ffVE/1jNk y4wuLklQed1/uDqcCkIGBD3P62DvO/eSK8gWGiwsIjCCbiXZ/7v/e/evOoGxNRFQ5fm1 mEvepwkI+5SEtZZM5c8IqPkVacQYcNVX70nXqlv3/H7EVy4MXlDEgJym2B2N6DENmp0B PJAm3O5ZRJ2HpwxQF8diZ9krzShlkb9w9ao9OH1mDavj/NwxajqVLb8fosTvZBPOrfqS Ukym5t+59DQC6n8J7srmRrxxO2RqaI0ITCs6Sn0B6Xfs+Vb9DOD/mjRfyvDobovFFVhN FrNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=UwonurDoA6VqkVV1GCbvt/1ARDFBNIr9lwJU7U4k/Y8=; b=PfD07zNDh0T0PTapNwaEm1+4q2yrafSmtb71p7p36KAMyz0T99Llaekw8CWdzCUgBf tt6PG8M3tIRHAQbmdBFzLe3epaj/yE2h4aMeUSWXt455KxBmD87q7wxG3Ct4eKuUgRJa E515QBiISqM2saF/2vRrxQiyPZtzRXEHgPPW/5e9IDs+gviIPBFB3LnxeZst+OIF6PGf chpeyN2ZuujL8TCoPd714TQlgx/7aQaHS1QjjyDeAZM8Egs59aQr6HpGOKmcHbnbjuYx wkhxufcY7jE2FXwFOVVjfgKEalRdlP5LKTFkafRWTCl4jKbHXUsFgUNpqUqDBLyy+yhV aYEw== X-Gm-Message-State: AJaThX67D6CE7g6raPDz2n8D8+V3qzvMp5wSU0mWFg6KgQyJw/+JETGR JcUkc4iOO8IBJr8PsMCmCoCoqw== X-Google-Smtp-Source: AGs4zMZaVpKFSsl2gw1oRPQuUFgLU/U3DwzedLcFMcH9rTZqp5D4xqy9u9V/GiMVCkzex/dVTQRVgw== X-Received: by 10.107.222.17 with SMTP id v17mr1054460iog.283.1510108213895; Tue, 07 Nov 2017 18:30:13 -0800 (PST) Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id r65sm1553132ith.1.2017.11.07.18.30.11 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 07 Nov 2017 18:30:12 -0800 (PST) From: Noam Postavsky To: Ryan Thompson Subject: Re: bug#27841: 25.2; Patch for completion-table-with-predicate References: <87mv7f6j06.fsf@users.sourceforge.net> <10ad76ff-8e89-d8f2-1278-3fd04845b243@yandex.ru> <874lti4zng.fsf@users.sourceforge.net> Date: Tue, 07 Nov 2017 21:30:11 -0500 In-Reply-To: <874lti4zng.fsf@users.sourceforge.net> (npostavs's message of "Mon, 07 Aug 2017 21:27:31 -0400") Message-ID: <871sl95wp8.fsf@users.sourceforge.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.1 (--) X-Debbugs-Envelope-To: 27841 Cc: 27841@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) tags 27841 fixed close 27841 26.1 quit npostavs@users.sourceforge.net writes: > Ryan Thompson writes: > >> * ../lisp/minibuffer.el (completion-table-with-predicate): Don't >> act as if strict is non-nil when pred2 is nil (Bug#27841). >> * ../test/lisp/minibuffer-tests.el >> (completion-table-with-predicate-test): Add a test for Bug#27841. > > I wonder how you ended up with the ../ prefix on the filenames? >> +(ert-deftest completion-table-with-predicate-test () >> + (cl-letf* ((full-collection >> + ((symbol-function 'no-A) >> + (lambda (x) (not (string-match-p "a" x)))) >> + ((symbol-function 'no-B) >> + (lambda (x) (not (string-match-p "b" x))))) > > It looks to me like things would be simpler with a let instead of > cl-letf, no? I fixed the commit message, changed this to let, and pushed to emacs-26. [1: 255ba01148]: 2017-11-07 21:25:55 -0500 Fix handling of nil PRED2 arg for completion-table-with-predicate https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=255ba01148f69f452937e67feb7af5d4c1466fed From unknown Mon Jun 23 23:49:24 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 06 Dec 2017 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator