From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sebastien Vauban" Subject: Re: [ANN] BREAKING CHANGE -- removing #+BABEL file-wide property lines Date: Tue, 25 Oct 2011 11:35:35 +0200 Message-ID: <80pqhltnvc.fsf@somewhere.org> References: <87pqhrih3s.fsf@gmail.com> <30891.1319141196@alphaville.dokosmarshall.org> <87fwinifqu.fsf@gmail.com> <32184.1319143892@alphaville.dokosmarshall.org> <87zkgvgxe7.fsf@gmail.com> <1405.1319147324@alphaville.dokosmarshall.org> <87zkgvfhra.fsf@gmail.com> <2127.1319148505@alphaville.dokosmarshall.org> <87vcrjfgt1.fsf@gmail.com> <80sjmmvm60.fsf@somewhere.org> <4EA129DB.4070006@christianmoe.com> <8762ji5jr6.fsf@gmail.com> <87fwil10o2.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: 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-mXXj517/zsQ@public.gmane.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org Hi Eric, Eric Schulte wrote: >> #+BABEL: :var SVNVERSION=(vc-working-revision (buffer-file-name)) >> #+BABEL: :var SVNSTATE=( symbol-name (vc-state (or (buffer-file-name) org-current-export-file))) >> #+BABEL: :var SVNSTATENUM=(if (eq (vc-state (or (buffer-file-name) org-current-export-file)) 'up-to-date) 0 13) >> >> which would look horrible in one line and a nightmare to edit. > > I can think of three options for how to handle this situation. > > 1. If it turns out to be possible/desirable my preferred solution here > would be to add general property support for appending values to > properties when properties are over specified rather than simply > replacing the value. Perhaps this could be done with a variable like > org-accumulating-properties which could hold a list of those > properties which should accumulate values rather than overwriting > them. > > 2. Adding a "#+PROPERTY:" line authoring helper similar to the table > formula helper making it more natural to edit such long property > lines. > > 3. It may be possible to add syntax for extending #+PROPERTY: > specifications across multiple lines, something like > > #+PROPERTY: SVNVERSION=(vc-working-revision (buffer-file-name)), > #+PROPERTY+: SVNSTATE=( symbol-name (vc-state (or (buffer-file-name) org-current-export-file))), > #+PROPERTY+: SVNSTATENUM=(if (eq (vc-state (or (buffer-file-name) org-current-export-file)) 'up-to-date) 0 13), > > FWIW I would like to have a similar extender for #+TBLFM: lines. > Actually this choice may be my preferred solution. > > What do you think? I think that makes sense. While thinking about all of this, and working in real-life documents, I just came back to a suggestion which I made some time ago. It goes about this enhancement: Would it be possible to specify "buffer-wide language specific" header arguments? That is, be able to say: "In this document, I want to: - tangle all my .sql chunks, but no other; - eval all the elisp chunks with query, but no other." Something we could write quite easily along the lines: #+PROPERTY: tangle no #+PROPERTY: eval never #+PROPERTY[SQL]: tangle yes #+PROPERTY[EMACS-LISP]: eval query (the syntax used here is just a draft sample!) What do you think about this feature? If you feel it can be something interesting to have, this is surely to incorporate in the current syntax debate. If not... never mind. Best regards, Seb -- Sebastien Vauban