From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id YH3eIBMsNGPD1gAAbAwnHQ (envelope-from ) for ; Wed, 28 Sep 2022 13:12:19 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id e8sEIBMsNGOPEQAAG6o9tA (envelope-from ) for ; Wed, 28 Sep 2022 13:12:19 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 57B473D702 for ; Wed, 28 Sep 2022 13:12:18 +0200 (CEST) Received: from localhost ([::1]:34338 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1odUz9-0002hh-Ds for larch@yhetil.org; Wed, 28 Sep 2022 07:12:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36682) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1odTZp-0002JA-Vp for emacs-orgmode@gnu.org; Wed, 28 Sep 2022 05:42:02 -0400 Received: from stw1.rcdrun.com ([217.170.207.13]:48581) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1odTZc-00040k-Vw for emacs-orgmode@gnu.org; Wed, 28 Sep 2022 05:42:01 -0400 Received: from localhost ([::ffff:102.83.37.37]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 00000000000BA409.00000000633416DC.00002E03; Wed, 28 Sep 2022 02:41:48 -0700 Date: Wed, 28 Sep 2022 12:23:44 +0300 From: Jean Louis To: emacs-orgmode@gnu.org Subject: Re: form-like process for entering rows in an org-mode table? Message-ID: Mail-Followup-To: emacs-orgmode@gnu.org References: <278048.1658506324@apollo2.minshall.org> <533058.1664335982@archlinux> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <533058.1664335982@archlinux> User-Agent: Mutt/+ () (2022-06-11) Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1664363538; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=fI+vCgg3XBVGDJmTpMELjZF0UyDmmVythVHrblhj/8w=; b=sqZej0F/mq3KzkLWbv/IsTDWBLSqljMgvYgmhpuhLpUpBY0ST4zmX0IWeXlT6SExD3y+bx fBXF8WKIQ11WN1hP7pXqFPo4vVf5lFzqdeTSyPdVjaS83+U0VduqKAosqsFiJxqlnedLqd 7m3+xDpVrp+noWFydsqIjP5K6h/SrqLF9ZwDRl+6pRyBhPXEhm8Qy8KS1omjlj32dECMbc AIt753h17AsG4ccXr1sPnzD3tZ2BqAy3L8EBZUmrX1f9wFnPmxr+x5OmSUbRoNUG2XErFs ScwCjdunO+bjcVnw4pTtlJtA81NoItUyQV6NtgKTDkKGtm5XUgefDNryNoWloQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1664363538; a=rsa-sha256; cv=none; b=EShDyBfVmYd7DSTYoPv/OF3HP2f7Cr/gr1YnUoc9BtF92jh/OETvEkxCygMFNJOHlnKSxT Xkqn20jDn8TTim8FDdeUSjskPfwOHGBdkaiN4dNwwjFqwJfi3wpXqNH3biIUsT1ouYmm8h 46oWs18Y+gSXimYCRlVVrX6WrGxF0PqeJ+km58kQ17RCxUP4XjAkpVHF0GgO04FlXYlEwr Twk/Gx10efzWp9RHayIZIb8wnSU1Wa0gxlVMaOZ5pDrsUfqw6yITBkgY06lBPnmDPhWgR6 F9KN8Ho6XpxiNZerc+zGPIoSIwp6J4Z4WoFhAFdFdF4GiY/WcY1UYj5rbDJ/EA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.65 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 57B473D702 X-Spam-Score: -2.65 X-Migadu-Scanner: scn0.migadu.com X-TUID: /7q1WBFt6vNg * Greg Minshall [2022-09-28 06:34]: > Jean Louis, > > > * Greg Minshall [2022-07-22 19:14]: > > > hi. does anyone have any code, or know of any existing package, that > > > would allow for some sort of form-like (or "transient"-like) interface > > > for adding rows to an org-mode table? in particular, that provides some > > > sort of =completing-read= interface for a given set of choices for a > > > given column, etc. > > > > I have total understanding for this use case, as I do similar all the > > time. Just that I don't use Org tables, I use database tables. > > the project that needs this has been on the back-burner for a while, > but, for the record, i have looked at "Column View" as a possible > replacement for "org tables as a database". in addition to a > completing-read interface, column view gives the opportunity to add > descriptive text to a row -- i.e., just the regular, non-property, > content under a headline -- which is very nice. but, i haven't played > with it enough to see how well it will fit my "needs". I do not know what is column view. But I understand that you need descriptive text. What I know is that without unique ID, there can't be conclusive completion. That is why I first construct various completions like this: ;; because there can be same names in different rows (let* ((list '("Greg [1]" "Greg [2]")) (choice (completing-read "Choose: " list))) (rcd-get-bracketed-id-end choice)) ⇒ 2 (defun rcd-get-bracketed-id-end (s) "Return the ID number in string S from within first brackets on its end. For example it would return 123 from `Some string [123]'" (let* ((match (string-match "\\[\\([[:digit:]]*\\)\\][[:space:]]*$" s))) (when match (string-to-number (substring-no-properties s (match-beginning 1) (match-end 1)))))) -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/