From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: interactive interface to supply variables Date: Sun, 15 Dec 2013 01:09:04 +0100 Organization: Aioe.org NNTP Server Message-ID: <87sitvq8jq.fsf@nl106-137-194.student.uu.se> References: <87vbyr45bj.fsf@nl106-137-194.student.uu.se> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1387066213 20620 80.91.229.3 (15 Dec 2013 00:10:13 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 15 Dec 2013 00:10:13 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Dec 15 01:10:20 2013 Return-path: Envelope-to: geh-help-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 1VrzHm-0000Qw-22 for geh-help-gnu-emacs@m.gmane.org; Sun, 15 Dec 2013 01:10:18 +0100 Original-Received: from localhost ([::1]:48968 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VrzHl-00080G-GM for geh-help-gnu-emacs@m.gmane.org; Sat, 14 Dec 2013 19:10:17 -0500 X-Received: by 10.14.216.131 with SMTP id g3mr5339330eep.2.1387066171517; Sat, 14 Dec 2013 16:09:31 -0800 (PST) X-FeedAbuse: http://nntpfeed.proxad.net/abuse.pl feeded by 88.191.116.97 Original-Path: usenet.stanford.edu!w6no722005wiw.0!news-out.google.com!bd4ni9983wib.0!nntp.google.com!proxad.net!feeder1-2.proxad.net!nntpfeed.proxad.net!dedibox.gegeweb.org!gegeweb.eu!gegeweb.org!aioe.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 45 Original-NNTP-Posting-Host: VVbyYd/iFZoeWNmD9i++cQ.user.speranza.aioe.org Original-X-Complaints-To: abuse@aioe.org User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-Notice: Filtered by postfilter v. 0.8.2 Cancel-Lock: sha1:L4f+uQqtTalk4cMulMhw0Fpqkpc= Mail-Copies-To: never Original-Xref: usenet.stanford.edu gnu.emacs.help:202723 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:94992 Archived-At: This proved to be not so easy as I thought. I installed emacs24-el and in help-fns.el I saw how they did it in `describe-variable' - this is a variation of their method, only, to determine if it is a variable, they use (or (get vv 'variable-documentation) (and (boundp vv) (not (keywordp vv))))) while I use `boundp' only - I don't know what `keywordp' brings. However, `boundp' isn't optimal for unbounded variables (of course) - in those cases, it should be communicated that there is such a variable, only it isn't bound. `symbolp' perhaps in combination with something else (because sumbolp is too inclusive). Anyway, check it out. (defun describe-variable-short (var) (interactive (let*((v (variable-at-point)) (var-at-point (not (eq v 0))) (v-name (if var-at-point (symbol-name v))) (v-final (completing-read ;; prompt (format " Variable%s: " (if var-at-point (format " (default %s)" v) "")) obarray ; from this set (all objects?) (lambda (vv) (boundp vv)) ; delimit set t ; require match nil ; no insert to minibuffer (?) nil ; no history v-name ; default ))) `(,(intern v-final)))) (message (format " %s: %s" (symbol-name var) (symbol-value var))) ) (global-set-key "\C-hV" 'describe-variable-short) -- Emanuel Berg, programmer-for-rent. CV, projects, etc at uXu underground experts united: http://user.it.uu.se/~embe8573