From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Marcin Borkowski Newsgroups: gmane.emacs.help Subject: Re: Interactively edit a list of strings Date: Mon, 23 Jul 2018 06:22:52 +0200 Message-ID: <871sbueg2r.fsf@mbork.pl> References: <87y3e27ocq.fsf@bsb.me.uk> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1532319709 22654 195.159.176.226 (23 Jul 2018 04:21:49 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 23 Jul 2018 04:21:49 +0000 (UTC) User-Agent: mu4e 1.1.0; emacs 27.0.50 Cc: help-gnu-emacs@gnu.org To: Ben Bacarisse Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Jul 23 06:21:45 2018 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhSLw-0005mx-VO for geh-help-gnu-emacs@m.gmane.org; Mon, 23 Jul 2018 06:21:45 +0200 Original-Received: from localhost ([::1]:60918 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fhSO3-0001XK-LX for geh-help-gnu-emacs@m.gmane.org; Mon, 23 Jul 2018 00:23:55 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38961) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fhSNc-0001X3-UW for help-gnu-emacs@gnu.org; Mon, 23 Jul 2018 00:23:30 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fhSNa-0006OE-9s for help-gnu-emacs@gnu.org; Mon, 23 Jul 2018 00:23:28 -0400 Original-Received: from mail.mojserwer.eu ([195.110.48.8]:45884) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fhSNa-0006O3-1V for help-gnu-emacs@gnu.org; Mon, 23 Jul 2018 00:23:26 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by mail.mojserwer.eu (Postfix) with ESMTP id 61FAFE64AB; Mon, 23 Jul 2018 06:23:25 +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 k3tMs3gHWK-v; Mon, 23 Jul 2018 06:23:19 +0200 (CEST) Original-Received: from localhost (static-dwadziewiec-jedenpiec7.echostar.pl [109.232.29.157]) by mail.mojserwer.eu (Postfix) with ESMTPSA id 6F21AE62D7; Mon, 23 Jul 2018 06:23:19 +0200 (CEST) In-reply-to: <87y3e27ocq.fsf@bsb.me.uk> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 195.110.48.8 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.help:117567 Archived-At: On 2018-07-23, at 03:05, Ben Bacarisse wrote: > Joe Riel writes: > >> Am looking for a good way to interactively edit a list of strings, >> that is, to allow the user to selectively delete strings from the list. >> Any suggestions on how to implement this? >> >> My first thought is to write each string on a separate line in a >> temporary buffer, allow the user to edit that, then reassemble the >> buffer into a list, however, that isn't ideal, it allows too much >> freedom to modify the content. I could restrict the allowable >> commands to deleting lines, but am wondering if there is a better way. > > You might consider using widgets: > > https://www.gnu.org/software/emacs/manual/html_mono/widget.html > > You could write the strings as an "editable-list" widget without the > [INS] buttons so only a [DEL] button available. Nice idea, though a bit of work. But widget.el is very powerful! (I wrote about it also in 2015: http://mbork.pl/2015-11-21_The_Emacs_widget_library_and_automatic_modification_of_editing_fields) Best, -- Marcin Borkowski http://mbork.pl