From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: arvid-harnack@lavache.com Newsgroups: gmane.emacs.help Subject: Going through a list using the minibuffer Date: Sun, 13 Jun 2021 14:30:47 +0200 (CEST) Message-ID: References: <87fsxmmxh8.fsf@zoho.eu> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28497"; mail-complaints-to="usenet@ciao.gmane.io" To: moasenwood@zoho.eu, help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jun 13 15:55:58 2021 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lsQaj-00077t-M1 for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 13 Jun 2021 15:55:57 +0200 Original-Received: from localhost ([::1]:50548 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lsQah-00071i-S1 for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 13 Jun 2021 09:55:55 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37042) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lsQa6-00071a-Af for help-gnu-emacs@gnu.org; Sun, 13 Jun 2021 09:55:18 -0400 Original-Received: from ip-16.mailobj.net ([213.182.54.16]:59422 helo=msg-6.mailo.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lsQa3-0006VH-BX for help-gnu-emacs@gnu.org; Sun, 13 Jun 2021 09:55:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=lavache.com; s=mailo; t=1623587458; bh=GqwuA+w9Aty/zyYpbL15HPNRkNjY3dTZv/15BCrIFwU=; h=X-EA-Auth:From:To:Date:Subject:MIME-Version:X-Mailer:Message-ID: In-Reply-To:Content-Type; b=DTW6/k3prk3jB6pO6wmri0Acx6SNHPVrZokp/bdo6pBcpQX9u1LDgfi+jljR2ruOt vfIoMnDv3Pq9d2InRsqnWOwCsbrWhxnJFGLTN3cYVtN8FCbY7Z9XNIzXWesRRr8opj CRQonPf4uVFwCo/A3qhTXaH5sOVHBLtgB99QOPN8= Original-Received: by www-7.mailo.com with http webmail; Sun, 13 Jun 2021 14:30:47 +0200 (CEST) X-EA-Auth: w7LvuXiY7mkZGtJvmGrfXGP15f58fUzJnvuYNvMdDbuCbODeqLBzTm47MqSwY7JSiPEi3iuNY0dBSzw91KUvgP8jES3uWngp X-Priority: 3 X-Mailer: COMS/EA21.01/r20210601 In-Reply-To: <87fsxmmxh8.fsf@zoho.eu> Received-SPF: pass client-ip=213.182.54.16; envelope-from=arvid-harnack@lavache.com; helo=msg-6.mailo.com 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, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:130791 Archived-At: It is good , but I want to have something more elaborate. Suppose I define a list namely '("alpha" "beta" "gamma") I would like to get the minibuffer to show me the options one by one as the down and up arrow keys are pressed.=C2=A0 Then in my function I get the equivalent position "k" of the string in the list. Thanks=20 Arvid From: Emanuel Berg via Users list for the GNU Emacs text editor To: help-gnu-emacs@gnu.org Subject: Re: Going through a list using the minibuffer Date: 13/06/2021 02:14:59 Europe/Paris arvid-harnack wrote: > Would like to have a list of strings that can be selected > using the minibuffer. And then set a variable > > number "k" that corresponds to the location of the string in > the list. Try this ... ;;; -*- lexical-binding: t -*- ;;; ;;; this file: ;;; http://user.it.uu.se/~embe8573/emacs-init/string-minibuffer.el ;;; https://dataswamp.org/~incal/emacs-init/string-minibuffer.el (require 'cl-lib) (defun select-list-item (lst) (let ((ps "")) (cl-loop for i from 0 to (1- (length lst)) for l in lst do (setq ps (concat ps (format "%d: %s " i l)))) (nth (read-number (concat ps "[index?] ")) lst))) ;; (select-list-item '("test" "string" "three")) --=20 underground experts united https://dataswamp.org/~incal