[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: [BABEL] [PROPOSAL] Seemless editing of Babel Blocks
From: |
Jambunathan K |
Subject: |
[Orgmode] Re: [BABEL] [PROPOSAL] Seemless editing of Babel Blocks |
Date: |
Sun, 05 Sep 2010 15:25:40 +0530 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (windows-nt) |
Eric
>
> I've just pushed up an implementation of the functionality described at
> the link above, see [1] for examples and details.
>
> Footnotes:
> [1]
> http://eschulte.github.com/babel-dev/DONE-tangle-entire-org-mode-file-in-comments.html
>
I have pulled your changes and examined it. Some commets:
Comment #1: Org Manual
> Org Manual - Section 14.8.2.7 comments
> org - Include text from the original org-mode file which preceded the
> code block as a comment which precedes the tangled code.
I suggest the following wording -
"Include text from the org-mode file as a comment.
The text is picked from the leading context of the tangled code and is
limited by the nearest headline or source block as the case may be."
Comment #2: Perceived gaps
In my original case,
1. Tangling happens in-place.
The source and target buffers are one and the same only their major
made changes. i.e., it is destructive. Think of 'replace-region' ...
2. There is no lossage.
I can tangle to elisp-mode and untangle it to org-mode without any
round-trip losses.
With your changes, the following are lost - the 'trailing' text and
the 'stars' in the headline.
That said, I have upgraded my request to a generic API (see attachment)
and I am not too particular about my original use-case (which I agree as
'contrived', 'drastic' and 'one-off')
Jambunathan K.
Attachments: This for the benefit of the list.
I had accidentally unicast the reply. My recent transition to gnus has
made me very clumsy.
From: Jambunathan K <address@hidden>
To: "Eric Schulte" <address@hidden>
Subject: Re: [BABEL] [PROPOSAL] Seemless editing of Babel Blocks
References: <address@hidden> <address@hidden>
<address@hidden> <address@hidden>
<address@hidden> <address@hidden>
<address@hidden>
X-Draft-From: ("nntp+news.gmane.org:gmane.emacs.orgmode" 29790)
Date: Sun, 05 Sep 2010 14:28:16 +0530
In-Reply-To: <address@hidden> (Eric Schulte's message of "Sat, 04
Sep 2010 09:04:03 -0600")
Message-ID: <address@hidden>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (windows-nt)
--text follows this line--
jambu> How about providing user-accessible tapping points within
jambu> 'org-babel-map-src-blocks' (or a variation thereof) that would
jambu> enable me have a custom command in my .emacs.
jambu>
jambu> For the sake of record, my suggestion is very closely related to
jambu> what is discussed here.
jambu>
jambu>
http://eschulte.github.com/babel-dev/PROPOSED-tangle-entire-org-mode-file-in-comments.html
Eric> I've just pushed up an implementation of the functionality
Eric> described at the link above, see [1] for examples and details.
Eric>
Eric> Is this sufficient to satisfy the need you were addressing? If
Eric> not how could it be improved?
Eric> Footnotes:
Eric> [1]
http://eschulte.github.com/babel-dev/DONE-tangle-entire-org-mode-file-in-comments.html
I am making a request for an API from BABEL core which roughly parallels
org's org-map-entries.
Using this API a user should be able to 'traverse' babel and non-babel
blocks within a given scope (region, buffer), examine the local state
(say a tag or a user-defined property on a subtree), provide a verdict
on it's inclusion (yes I want it, no skip it) or possibly return a
transformed custom content (as a list).
'org-babel-map-src-blocks' has the skeletal structure for this API. All
it needs is some minimal tinkering to take on a more user-pluggable
form.
The proposed API would make UseCase-1 and UseCase-2 possible.
UseCase-1:
http://article.gmane.org/gmane.emacs.orgmode/28823
Section-6 provides an illustration.
Section-5 helps one visualize the essentials of the propsed API.
a) org-to-org-src-view => potential consumer of the proposed API.
b) beg-org, end-org, beg-babel, end-babel => strategic 'points' of
user-interest.
c) body, body1 => Hooks for user
UseCase-2: Tangling with custom pragmas.
http://article.gmane.org/gmane.emacs.orgmode/29805
Additional Note: Thinking out loud here (aka contrived, over-the-top
requirement).
A user might want to override the in-buffer babel-control parameters
while tangling or execution.
Think of this scenario, I would like to tangle but with comments and
line nos as a one-off (say for circulating to my colleagues). The
in-buffer 'static/default' settings suppresses comments. I couldn't be
bothered to edit the in-buffer settings just for this one-off case. Is
there a possible way I can achieve this?
Jambunathan K.