From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Marcin Borkowski Newsgroups: gmane.emacs.help Subject: Re: How to handle default value in read-string? Date: Tue, 04 Aug 2015 20:44:21 +0200 Message-ID: <87twseyjui.fsf@mbork.pl> References: <87k2tc9jeu.fsf@mbork.pl> <93600d92-2698-483a-8c1b-f1333363f541@default> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1438713918 23566 80.91.229.3 (4 Aug 2015 18:45:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 4 Aug 2015 18:45:18 +0000 (UTC) To: Help Gnu Emacs mailing list Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Aug 04 20:45:07 2015 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 1ZMhCv-00032l-Md for geh-help-gnu-emacs@m.gmane.org; Tue, 04 Aug 2015 20:45:01 +0200 Original-Received: from localhost ([::1]:36761 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMhCu-0006aG-Ui for geh-help-gnu-emacs@m.gmane.org; Tue, 04 Aug 2015 14:45:00 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47990) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMhCd-0006YN-9L for help-gnu-emacs@gnu.org; Tue, 04 Aug 2015 14:44:47 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZMhCY-0000wf-LA for help-gnu-emacs@gnu.org; Tue, 04 Aug 2015 14:44:43 -0400 Original-Received: from mail.mojserwer.eu ([2a01:5e00:2:52::8]:37062) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMhCY-0000w6-Dx for help-gnu-emacs@gnu.org; Tue, 04 Aug 2015 14:44:38 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by mail.mojserwer.eu (Postfix) with ESMTP id A563D8F2002 for ; Tue, 4 Aug 2015 20:44:37 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail.mojserwer.eu Original-Received: from mail.mojserwer.eu ([127.0.0.1]) by localhost (mail.mojserwer.eu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id am8FKVFSMsri for ; Tue, 4 Aug 2015 20:44:35 +0200 (CEST) Original-Received: from localhost (cdn32.neoplus.adsl.tpnet.pl [83.30.163.32]) by mail.mojserwer.eu (Postfix) with ESMTPSA id 5ECE64F607B for ; Tue, 4 Aug 2015 20:44:35 +0200 (CEST) In-reply-to: <93600d92-2698-483a-8c1b-f1333363f541@default> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a01:5e00:2:52::8 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:106233 Archived-At: On 2015-08-04, at 01:51, Drew Adams wrote: >> I'd like read-string to somehow indicate the default value. A natural >> idea is to include it in the prompt, for example having a prompt like >> >> (format "Foo (%s): " default) >> >> However, Icicles' version of read-string already does exactly that, so >> for Icicles users this would be superfluous. >> >> So here's the question: is there a better way than just have a prompt of >> >> (if icicle-mode (don't-include-default) (do-include-default))? > > That's OK. Or wrap the `read-string' call in: > > (let ((icicle-default-value nil)) ...) > > A nil value of `icicle-default-value' tells Icicles not to put the > default value in the prompt. Then you can add it to the prompt > explicitly, so it will be there with and without Icicle mode: > > (defun foo (strg) > (interactive > (let ((icicle-default-value nil)) > (list (read-string "String (default my-default): " > nil nil "my-default"))))) Thanks, Drew, that's much better! Fun fact: I thought that putting the default into the prompt was the default Emacs behavior, until I ran my code with Icicles off (I occasionally turn Icicles off to restore some keybindings used by Org-mode. Yes, yes, I should check how to customize Icicles. I'll do it some day;-).). Then I spent a few minutes looking for a bug in my code ("Did I change anything recently that could influence the read-string prompt?"). Then it dawned upon me that Icicles (again?) does what (maybe) Emacs should do by default... Drew, thanks again for Icicles. It is so cool. (The only problem I have with it is speed. But I'll move to a faster computer within a few weeks, and I hope this won't be an issue then.) Best, -- Marcin Borkowski http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski Faculty of Mathematics and Computer Science Adam Mickiewicz University