From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#21252: 25.0.50; `describe-variable': use current buffer, not minibuffer, in `completing-read' PREDICATE Date: Thu, 13 Aug 2015 08:44:24 -0700 (PDT) Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1439480735 12645 80.91.229.3 (13 Aug 2015 15:45:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 13 Aug 2015 15:45:35 +0000 (UTC) To: 21252@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Aug 13 17:45:22 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZPugz-0007fa-Rl for geb-bug-gnu-emacs@m.gmane.org; Thu, 13 Aug 2015 17:45:22 +0200 Original-Received: from localhost ([::1]:43132 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPugy-00073E-UB for geb-bug-gnu-emacs@m.gmane.org; Thu, 13 Aug 2015 11:45:20 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38517) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPugn-0006kG-Hu for bug-gnu-emacs@gnu.org; Thu, 13 Aug 2015 11:45:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZPugh-0006RP-L8 for bug-gnu-emacs@gnu.org; Thu, 13 Aug 2015 11:45:09 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:34718) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPugh-0006QY-Hx for bug-gnu-emacs@gnu.org; Thu, 13 Aug 2015 11:45:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZPugh-0008Tt-BZ for bug-gnu-emacs@gnu.org; Thu, 13 Aug 2015 11:45:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Aug 2015 15:45:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21252 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.143948068832544 (code B ref -1); Thu, 13 Aug 2015 15:45:03 +0000 Original-Received: (at submit) by debbugs.gnu.org; 13 Aug 2015 15:44:48 +0000 Original-Received: from localhost ([127.0.0.1]:55161 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZPugR-0008Sn-CL for submit@debbugs.gnu.org; Thu, 13 Aug 2015 11:44:48 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:56609) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZPugO-0008Sd-Nz for submit@debbugs.gnu.org; Thu, 13 Aug 2015 11:44:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZPugI-00067x-EQ for submit@debbugs.gnu.org; Thu, 13 Aug 2015 11:44:44 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:46903) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPugI-00067s-Bq for submit@debbugs.gnu.org; Thu, 13 Aug 2015 11:44:38 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38331) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPugC-0005qv-Ij for bug-gnu-emacs@gnu.org; Thu, 13 Aug 2015 11:44:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZPug8-00065o-Ei for bug-gnu-emacs@gnu.org; Thu, 13 Aug 2015 11:44:32 -0400 Original-Received: from userp1040.oracle.com ([156.151.31.81]:26085) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPug8-00065X-7q for bug-gnu-emacs@gnu.org; Thu, 13 Aug 2015 11:44:28 -0400 Original-Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t7DFiQQI014767 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 13 Aug 2015 15:44:26 GMT Original-Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t7DFiPDJ002052 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Thu, 13 Aug 2015 15:44:25 GMT Original-Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by aserv0121.oracle.com (8.13.8/8.13.8) with ESMTP id t7DFiPUr002204 for ; Thu, 13 Aug 2015 15:44:25 GMT X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] X-Source-IP: userv0022.oracle.com [156.151.31.74] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:105453 Archived-At: This bug is at least as old as Emacs 20! Never noticed it before. 1. emacs -Q 2. Type this in *scratch* and evaluate it using `C-x C-e': (set (make-local-variable 'toto) 42) 3. C-h v tot TAB There is no completion for variable `toto'. The reason is that the PREDICATE arg passed to `completing-read' gets evaluated with the minibuffer as the current buffer, and `toto' is not bound in the minibuffer. The predicate should use `with-current-buffer' to make the originally current buffer current for the test. For example, instead of this: (interactive (let ((v (variable-at-point)) (enable-recursive-minibuffers t) val) (setq val (completing-read (if (symbolp v) (format "Describe variable (default %s): " v) "Describe variable: ") obarray (lambda (vv) (or (get vv 'variable-documentation) (and (boundp vv) (not (keywordp vv))))) t nil nil (if (symbolp v) (symbol-name v)))) (list (if (equal val "") v (intern val))))) Use this (or similar - since the file now binds `lexical-binding to t, you need not resort to backquote+comma for CURBUF): (interactive (let ((v (variable-at-point)) (enable-recursive-minibuffers t) (curbuf (current-buffer)) val) (setq val (completing-read (if (symbolp v) (format "Describe variable (default %s): " v) "Describe variable: ") obarray `(lambda (vv) (with-current-buffer ',curbuf (or (get vv 'variable-documentation) (and (boundp vv) (not (keywordp vv)))= ))) t nil nil (if (symbolp v) (symbol-name v)))) (list (if (equal val "") v (intern val))))) In GNU Emacs 25.0.50.1 (i686-pc-mingw32) of 2014-10-20 on LEG570 Bzr revision: 118168 rgm@gnu.org-20141020195941-icp42t8ttcnud09g Windowing system distributor `Microsoft Corp.', version 6.1.7601 Configured using: `configure --enable-checking=3Dyes,glyphs CPPFLAGS=3D-DGLYPH_DEBUG=3D1'