emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Seeking advice for conditional code


From: François Pinard
Subject: Re: [O] Seeking advice for conditional code
Date: Thu, 31 Jan 2013 17:09:25 -0500
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/23.4 (gnu/linux)

"Sebastien Vauban"
<address@hidden> writes:

> Hi François,

Hi, Sebastien! :-)

> Please tell if that's more or less the direction you want to take...

Direction already taken, and completed a few minutes ago! :-).  But I'll
happily revert to something else it if there is a better way to proceed.
The addition of pseudo-Org directives does not really please me, I would
prefer plain Org if possible.  If you are curious, see comments at start
of https://github.com/pinard/poporg/blob/master/extradoc.py.  In my
application, I even define context from the Makefile, which is an
unexpected advantage.

> I want to be sure to understand: do you need
> - conditional tangled code, or
> - conditional "full" document (containing conditional code and conditional
>   doc)?
> When you say "conditional", do you mean to to be able to decide to include it
> or not, or even more (such as including one version or the other)?

Exactly! :-) It's not tangling.  Rather, merely extract the
documentation out of comments found in (program) source code.  The
comments (once removed the hash marks) are in Org format.  I'm seeking
for conditional documentation.

> What's sure if that you can have conditions based on tags, and things in the
> following spirit::
> * Show the params                                                        :dev:
> Params are "dynamically" assigned. Here the results with the "dev" tag:
> #+begin_src sh :rownames no :var data=(concat (car (org-get-tags-at (point))) 
> "-params") :exports both
> echo $data
> #+end_src

I should have thought at exploring the usage of Org tags.  :export: and
:noexport: are already very useful, but the idea did not come to me that I
could extend this to other tags.  I probably do not use tags enough!

In any case, the example above is quite interesting, and could be useful
to solve other problems.  I'll keep it around.

> #+tblname: params
> | Variable           | dev | stg | prd |
> |--------------------+-----+-----+-----|
> | webServerName      | a   | g   | m   |
> | loginWebServerName | b   | h   | n   |
> | pwWebServerName    | c   | i   | o   |
> | appBaseDir         | d   | j   | p   |
> | dbName             | e   | k   | q   |
> | dbBackupFile       | f   | l   | r   |

I missed the point of this table however, I presume the "dev" column is
to be linked in some way to the ":dev:" tag, but I do not see why/how.

> Best regards,

Thanks for caring, Sebastien!  I feel all warm inside :-).

François



reply via email to

[Prev in Thread] Current Thread [Next in Thread]