emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Vladimir Panteleev <git@thecybershadow.net>
To: emacs-orgmode@gnu.org
Cc: Vladimir Panteleev <git@thecybershadow.net>
Subject: [PATCH 0/3] org-sbe fixes
Date: Wed,  7 Mar 2018 22:58:44 +0000	[thread overview]
Message-ID: <20180307225847.24068-1-git@thecybershadow.net> (raw)

Inspired by this SE question:

https://emacs.stackexchange.com/questions/32895/how-to-feed-range-from-org-table-filled-with-strings-to-code-block-via-tblfm

Passing table ranges through org-sbe is too hard, and even then the
solution there was not fully correct (did not handle empty cells and
'"' characters properly). As it turns out, we can improve the
situation by addressing some critical shortcomings in the
implementation of org-sbe itself.

There are still quite a few "funny" things left about org-sbe:

 - How var and "var" (as the value for a variable) mean the same
   thing. This matches the syntax used in org-mode documents, but
   doesn't make much sense as part of an API. This creates an
   additional hurdle of using it in tables (references must be further
   $-prefixed, and this $-prefixing will fail in a bad way with
   ranges).

 - The confusing $"string" syntax (or $$3 in tables). It looks like
   some distinct syntax (like bash localizable strings), but $"string"
   is in fact parsed as two tokens ($ and "string").

 - The undocumented syntax where using more than one value for a
   variable implicitly converts it into a list.

 - How these implicit lists are handled differently than single
   values, including when they are also lists.

 - The way it encodes its parameters into a string, just so another
   part of org-mode can decode it later. This happens on two levels,
   org-babel-parse-header-arguments (in org-sbe itself) and parsing of
   the actual argument values.

 - How there are no tests for the entire file, except one that has
   been disabled and left as a TODO since 2011.

This is my first org-mode contribution. I've already done the
copyright assignment process for my first Emacs contribution from last
year, so hopefully that applies here as well.

Vladimir Panteleev (3):
  ob-table: Fix org-sbe's handling of quotes in arguments
  ob-table: Fix org-sbe's handling of list arguments
  ob-table: Mention passing ranges as lists in org-sbe's documentation

 lisp/ob-table.el              | 21 ++++++++++++++-------
 testing/lisp/test-ob-table.el | 30 ++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 7 deletions(-)

-- 
2.16.2

             reply	other threads:[~2018-03-07 22:58 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-07 22:58 Vladimir Panteleev [this message]
2018-03-07 22:58 ` [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments Vladimir Panteleev
2018-03-12 23:15   ` Nicolas Goaziou
2018-03-13 19:16     ` Vladimir Panteleev
2018-03-14 13:49       ` Nicolas Goaziou
2018-03-14 14:03         ` Vladimir Panteleev
2018-03-14 15:00           ` Nicolas Goaziou
2018-03-14 16:23             ` Vladimir Panteleev
2018-03-18 22:24               ` Nicolas Goaziou
2018-03-18 22:43                 ` Vladimir Panteleev
2018-03-18 23:30                   ` Nicolas Goaziou
2018-03-19  0:23                     ` [PATCH v2 0/3] org-sbe fixes Vladimir Panteleev
2018-03-19  0:23                       ` [PATCH v2 1/3] ob-table: Fix org-sbe's handling of quotes in cell values Vladimir Panteleev
2018-03-19  0:23                       ` [PATCH v2 2/3] ob-table: Fix org-sbe's handling of list arguments Vladimir Panteleev
2018-03-19  0:23                       ` [PATCH v2 3/3] ob-table: Mention passing ranges as lists in org-sbe's documentation Vladimir Panteleev
2018-03-19 23:07                       ` [PATCH v2 0/3] org-sbe fixes Nicolas Goaziou
2018-03-25 18:24                         ` Alan Schmitt
2018-03-25 20:26                           ` Nicolas Goaziou
2018-03-25 20:40                             ` Vladimir Panteleev
2018-03-25 21:06                               ` Nicolas Goaziou
2018-03-25 22:08                                 ` Vladimir Panteleev
2018-03-26 20:16                                   ` Nicolas Goaziou
2018-03-26 21:33                                     ` Vladimir Panteleev
2018-03-26 21:42                                       ` Nicolas Goaziou
2018-03-26 21:53                                         ` Vladimir Panteleev
2018-03-27  6:21                                           ` Nicolas Goaziou
2018-03-26  8:12                                 ` Alan Schmitt
2018-03-26 21:40                                   ` Nicolas Goaziou
2018-03-27  1:01                                     ` Bastien
2018-03-07 22:58 ` [PATCH 2/3] ob-table: Fix org-sbe's handling of list arguments Vladimir Panteleev
2018-03-07 22:58 ` [PATCH 3/3] ob-table: Mention passing ranges as lists in org-sbe's documentation Vladimir Panteleev

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=20180307225847.24068-1-git@thecybershadow.net \
    --to=git@thecybershadow.net \
    --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).