emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <dominik@uva.nl>
To: Dan Davison <davison@stats.ox.ac.uk>
Cc: emacs org-mode mailing list <emacs-orgmode@gnu.org>
Subject: Re: org to lisp
Date: Wed, 23 Jul 2008 13:47:48 -0700	[thread overview]
Message-ID: <6DAFFDEE-D941-4C33-82E7-D774A064B35D@uva.nl> (raw)
In-Reply-To: <20080723190902.GA6797@stats.ox.ac.uk>


On Jul 23, 2008, at 12:09 PM, Dan Davison wrote:

> Is there an existing function that will convert an org syntax buffer
> into a corresponding (recursive) lisp data structure? (preserving all
> the metadata of each heading in some way?)

Well, not part of the Org core yet, but still distributed in the git  
repo.
It is org-export-parse in EXPERIMENTAL/org-export.el


> I guess I'm thinking of
> structs in C, but is this a natural thing to do in lisp? I think the
> existence of such code might have been mentioned in Carsten's talk. If
> so, then my second question is whether there's a recursive 'mapping'
> function, to apply a function at each node of such a tree (and return
> some recursive structure containing the results of those function
> calls) (R users: I mean like rapply and dendrapply).

No, that does not exist, but it wold not be hard to write one that
uses the structure returned by org-export-parse.


> My understanding
> is that org-map-entries returns a flat, rather than a recursive, list,
> and that it doesn't create a recursive representation of the buffer in
> memory.

That is correct.

HTH

- Carsten

> But if it's the case that I simply haven't tried hard enough
> to understand the code, please just say so! My current motivation is
> to create a directory/filesystem tree corresponding to the org
> tree. But I don't want to try to write an org-buffer traversal
> function if there's existing code written by non-beginners.
>
> DAn
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

      parent reply	other threads:[~2008-07-23 20:48 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-23 19:09 org to lisp Dan Davison
2008-07-23 20:18 ` Manish
2008-07-23 20:47 ` Carsten Dominik [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6DAFFDEE-D941-4C33-82E7-D774A064B35D@uva.nl \
    --to=dominik@uva.nl \
    --cc=davison@stats.ox.ac.uk \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).