From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id HRYwLU01+l4qRwAA0tVLHw (envelope-from ) for ; Mon, 29 Jun 2020 18:39:09 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id sHeRKE01+l5yGgAA1q6Kng (envelope-from ) for ; Mon, 29 Jun 2020 18:39:09 +0000 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 D35889402D1 for ; Mon, 29 Jun 2020 18:39:08 +0000 (UTC) Received: from localhost ([::1]:32780 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jpygL-0008F8-RJ for larch@yhetil.org; Mon, 29 Jun 2020 14:39:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37842) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpyeK-0005CV-C8 for emacs-orgmode@gnu.org; Mon, 29 Jun 2020 14:37:00 -0400 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:52889) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpyeD-0002Qz-Ny for emacs-orgmode@gnu.org; Mon, 29 Jun 2020 14:37:00 -0400 X-Originating-IP: 185.131.40.67 Received: from localhost (40-67.ipv4.commingeshautdebit.fr [185.131.40.67]) (Authenticated sender: admin@nicolasgoaziou.fr) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id BF3BAC0004; Mon, 29 Jun 2020 18:36:49 +0000 (UTC) From: Nicolas Goaziou To: Mario Frasca Subject: Re: [PATCH] allow for multiline headers References: <87wo4bhpkx.fsf@nicolasgoaziou.fr> <87tuzeehk2.fsf@nicolasgoaziou.fr> <87a715e9ju.fsf@nicolasgoaziou.fr> <3e6ee551-4ef7-7d96-93dc-19a4973e1af8@anche.no> <871rm5vslh.fsf@nicolasgoaziou.fr> <381d1495-7d26-6105-6a29-d6f001f7004d@anche.no> <874kquwzjp.fsf@nicolasgoaziou.fr> <87366em3xf.fsf@nicolasgoaziou.fr> Mail-Followup-To: Mario Frasca , emacs-orgmode@gnu.org Date: Mon, 29 Jun 2020 20:36:46 +0200 In-Reply-To: (Mario Frasca's message of "Mon, 29 Jun 2020 11:26:45 -0500") Message-ID: <87imf9lnwh.fsf@nicolasgoaziou.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=217.70.183.198; envelope-from=mail@nicolasgoaziou.fr; helo=relay6-d.mail.gandi.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/29 14:36:50 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: emacs-orgmode@gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: -1.01 X-TUID: Y+hiuK1HyITz Mario Frasca writes: > again, my idea is that we're describing something new, and I'm > wondering what lisp construct could be used to describe a table like > this one: > > | h1 | h2 | h3 | > |----+----+----| > | 11 | 12 | 13 | > | 21 | 22 | 23 | > | 31 | 32 | 33 | > |----+----+----| > | a1 | a2 | a3 | > | b1 | b2 | b3 | > |----+----+----| > |=C2=A0 5 |=C2=A0 8 |=C2=A0 9 | > > and my guess in the above case would be '(:header ("h1" "h2" > "h3") :body ((11 12 13)(21 22 23)(31 32 33)) :body ((a1 a2 a3)(b1 b2 > b3)) :body ((5 8 9))) These are called "row groups" in ox.el, but I don't think we should parse them like the above. It is easy enough to get this kind of result just walking through the table. > with a option for collapsing all :body parts into one, like in > '(:header ("h1" "h2" "h3") :body ((11 12 13)(21 22 23)(31 32 33)(a1 a2 > a3)(b1 b2 b3)(5 8 9))) > > with a option for separating the last row (if the one-but-last is > a 'hline) as a summary, like in '(:header ("h1" "h2" "h3") :body ((11 > 12 13)(21 22 23)(31 32 33)) :body ((a1 a2 a3)(b1 b2 b3)) :summary (5 > 8 9)) > > or using both options, like in '(:header ("h1" "h2" "h3") :body ((11 > 12 13)(21 22 23)(31 32 33)(a1 a2 a3)(b1 b2 b3)) :summary (5 8 9)) > > your suggestion as a cons cell would only cover the first case, as in > '(("h1" "h2" "h3") . ((11 12 13)(21 22 23)(31 32 33)(a1 a2 a3)(b1 b2 > b3)(5 8 9))) You're missing `hline' symbols in the body. I didn't suggest to remove them, except for the separator between the header and the body, and trailing separators. > in my very brief experience with org-tables, mostly from the point of > view of org-plot, I think this (separating the bottom "summary" line) > would be useful (I had to remove the "country summary" bottom line > from a demographics histogram table).=C2=A0 for sure, if I follow your hi= nt > to use gnuplot code and refer to the table, then org-plot can stay as > it is now.=C2=A0 in fact it would not need any maintenance, would it? You can indeed extract a specific part of the table as an input of a gnuplot code block. IMO, Org Plot should be very basic, and complexity should go into Babel code blocks, which are more capable. Regards,