From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Alekseyev Subject: Re: [BUG] Inconsistency in src block hiding Date: Mon, 23 Jan 2012 22:23:31 -0600 Message-ID: References: <8739djqfkv.fsf@gmail.com> <87fwhiwwr0.fsf@gmail.com> <87bos6pp1a.fsf@gmail.com> <8739dhnxjs.fsf@gmail.com> <87ipmcxboo.fsf@gmail.com> <87pqgjipu8.fsf@gmail.com> <87y5v6x3lv.fsf@gmail.com> <87fwh86533.fsf@gmail.com> <87ehwbdxk2.fsf@gnu.org> <874nx782wi.fsf@gmx.com> <87lip76p48.fsf@norang.ca> <87d3ai2p98.fsf@gmail.com> <8762ga6whl.fsf@norang.ca> <87pqehrnjv.fsf@gmx.com> <8739bc3ob5.fsf@gmail.com> <87ehuv4la3.fsf@gmx.com> <87ty3r4hop.fsf@gmail.com> <87k44hn4uz.fsf@gmx.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([140.186.70.92]:47563) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RpXuw-0001Nf-4N for emacs-orgmode@gnu.org; Mon, 23 Jan 2012 23:23:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RpXuv-0000xu-30 for emacs-orgmode@gnu.org; Mon, 23 Jan 2012 23:23:34 -0500 Received: from mail-pw0-f41.google.com ([209.85.160.41]:50992) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RpXuu-0000xp-QP for emacs-orgmode@gnu.org; Mon, 23 Jan 2012 23:23:33 -0500 Received: by pbdu6 with SMTP id u6so2394324pbd.0 for ; Mon, 23 Jan 2012 20:23:32 -0800 (PST) In-Reply-To: <87k44hn4uz.fsf@gmx.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Schulte Cc: emacs-orgmode@gnu.org, Rick Frankel , Nicolas Goaziou > statement above. =A0The tag-line to the "Drawers" section in the manual i= s > "Tucking stuff away" which I think is often how drawers are used. > Changing the default drawer export behavior from "don't export" to "do > export" would be surprising, would break many existing work flows, and > would likely make drawers less useful. > > In general I think the Org-mode specification is best defined by how > Org-mode is used and how it may be more easily and intuitively used in > the future. =A0Org-mode doesn't currently have a formal specification, an= d > I think that is a good thing. =A0Formal specification don't prevent bugs, > they just move them from the code to the spec. "Tucking stuff away" can mean different things to different users. Personally, I have treated them purely as an organizational device for supplementary information (I have :DETAILS: drawers all over my org files). The problem is that I may or may not want this supplementary information in the export, and will really vary from case to case. (Personally, in most cases, I do want to export that information -- but not always!) Furthermore, assuming that I _do_ want drawers exported, I may or may not want the drawer markup to be exported, i.e. if drawers are used purely for organizing the presentation of information, the drawer markup doesn't belong in the export. On the other hand, in certain cases one might want to denote the information as supplementary, either by exporting drawer markup (or, more likely, by putting drawer contents inside something like a block). If I were designing this behavior from scratch, I would allow for maximum flexibility by (1) creating e.g. org-drawers-to-export variable which could take on the values nil (don't export), 'all (all drawers except :PROPERTIES:) exported, or a list of drawer names to export (2) introducing drawer flags that would control the export and display behavior of individual drawers. For instance, something like :FOO: -vis -export stuff... :END: would indicate that this drawer is to be kept unfolded and exported by defa= ult. (3) controlling whether the drawer contents are separated out from the rest of the contents by some markups (
's or a block) I'm not sure how easy and/or practical any of this would be. My general philosophy is that if a behavior isn't specified, many possible (sensible) behaviors should be considered and accommodated. In that sense, hiding #+name: blocks is a good thing, because it increases the amount of allowed sensible usage patterns. If we were to take it away, I think it would be necessary to compensate for this by increasing the amount of allowed sensible usage patterns of the drawers, kind of along the lines of what I described above. --Leo