From: Aaron Ecay <aaronecay@gmail.com>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>,
Org-mode <emacs-orgmode@gnu.org>
Subject: Re: [RFC] [PATCH] [babel] read description lists as lists of lists
Date: Tue, 23 Sep 2014 00:02:08 -0400 [thread overview]
Message-ID: <87d2anougv.fsf@gmail.com> (raw)
In-Reply-To: <87ha02a4qg.fsf@nicolasgoaziou.fr>
Hi Nicolas,
Thanks for your feedback.
2014ko irailak 20an, Nicolas Goaziou-ek idatzi zuen:
>
> The problem I see here is that you're introducing yet another internal
> representation for lists (along with element's and
> org-list-parse-list's). Worse, it can only be discovered when reading
> the docstring of a Babel internal function and will only benefit to
> Babel.
>
> If this new internal representation is better than current one, by all
> means, improve `org-list-parse-list', and document it in
>
> (info "(org) Radio lists")
>
> This is more work, but, IMO, it is also the only sane way to proceed.
Indeed. The internals of org-list are not pretty. org-list-parse-list
has few callers:
- org-list-make-subtree
- org-babel-read-list
- org-toggle-heading
org-list-to-subtree has only two callers:
- org-list-make-subtree
- org-toggle-heading
org-list-to-generic also has only two callers:
- org-babel-insert-result
- org-list-to-subtree
I think I can remove these three functions (-parse-list, -to-subtree,
and -to-generic), and rewrite their callers to use org-element. Thus,
the org-list-parse-list format would be eradicated from the code base
incl. contrib (AFAICT). Can I do that, or do I need to care about
preserving backwards compatibility with external callers of these
functions? If backwards compatibility must be preserved, may I mark
these functions as deprecated and what is the minimum period (measured
in calendar time and/or org versions) that should pass before their
removal?
The babel feature is compelling to me (and I guess Chuck) on its
own. It’s familiar (e.g. in the case of tables) that babel gets to
have its own data format for org elements. I’m happy to undertake
the above-described demolition job on org-list-parse-list in order
to offset the added complexity from the babel change (we can call it
a cap-and-trade system). But given that org-list-parse-list is a
marginal part of the code base – and perhaps moribund in the era of
org-element – I don’t really think it’s worth it (to me) to try and
engineer an improvement to it in order to enable the babel feature.
WDYT?
--
Aaron Ecay
next prev parent reply other threads:[~2014-09-23 4:02 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-19 19:17 [RFC] [PATCH] [babel] read description lists as lists of lists Aaron Ecay
2014-09-20 0:30 ` Charles Berry
2014-09-20 11:52 ` Nicolas Goaziou
2014-09-23 4:02 ` Aaron Ecay [this message]
2014-09-24 19:56 ` Nicolas Goaziou
2014-09-24 22:49 ` Aaron Ecay
2014-09-26 9:03 ` Nicolas Goaziou
2014-09-28 5:55 ` Aaron Ecay
2014-09-28 10:49 ` Thorsten Jolitz
2014-09-28 22:09 ` Nicolas Goaziou
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87d2anougv.fsf@gmail.com \
--to=aaronecay@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=mail@nicolasgoaziou.fr \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.