From: Nick Dokos <nicholas.dokos@hp.com>
To: emacs-orgmode@gnu.org
Subject: Re: Functions in SBE blocks
Date: Sat, 07 Jul 2012 16:02:49 -0400 [thread overview]
Message-ID: <1372.1341691369@alphaville> (raw)
In-Reply-To: Message from Viktor Rosenfeld <listuser36@googlemail.com> of "Sat, 07 Jul 2012 20:58:31 +0200." <20120707185831.GA25982@client195-161.wlan.hu-berlin.de>
Viktor Rosenfeld <listuser36@googlemail.com> wrote:
> Hi,
>
> I can't get SBE blocks called from a table to work, if they use
> functions like org-parse-time-string.
>
> Suppose I have the following table:
>
> | Start | Ende | |
> |------------------+------------------+-|
> | [2011-06-29 Wed] | [2012-02-29 Wed] | |
> #+TBLFM: $3='(sbe "billable-month" (start $1) (end $2))
>
> and the following source block:
>
> #+NAME: billable-month(start="[2011-06-29 Wed]", end="[2012-02-29 Wed]")
> #+BEGIN_SRC emacs-lisp
> (let* ((start-date start))
> (message "%s" start-date))
> #+END_SRC
>
> If I evaluate the table, the start date is put into the last column.
> However, if I change the code to the following:
>
> #+NAME: billable-month(start="[2011-06-29 Wed]", end="[2012-02-29 Wed]")
> #+BEGIN_SRC emacs-lisp
> (let* ((start-date (org-parse-time-string start)))
> (message "%s" (nth 4 start-date)))
> #+END_SRC
>
> then the string #ERROR is inserted into the table. Evaluating the source
> block directly yields the correct result.
>
> What's going on here?
>
Finicky type matching: if you evaluate the second code block in the buffer with
ESC ESC : (sbe "billable-month" (start "[2011-06-29 Wed]") (end "[2012-02-29 Wed]")) RET
you get a backtrace similar to this:
,----
| Debugger entered--Lisp error: (wrong-type-argument stringp [2011-06-29 Wed])
| string-match("\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\)\\( +[^]+0-9>
\n -]+\\)?\\( +\\([0-9]\\{1,2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)" [2011-06-29 Wed])
| (if (string-match org-ts-regexp0 s) (list 0 (if (or (match-beginning 8) (not nodefault)) (string-to-number (or (match-string 8 s) "0"))) (if (or (match-beginning 7) (not nodefault)) (string-to-number (or (match-string 7 s) "0"))) (string-to-number (match-string 4 s)) (string-to-number (match-string 3 s)) (string-to-number (match-string 2 s)) nil nil nil) (error "Not a standard Org-mode time string: %s" s))
| org-parse-time-string([2011-06-29 Wed])
| (let* ((start-date (org-parse-time-string start))) (format "%d" (nth 4 start-date)))
| ...
`----
Somewhere, the string becomes not a string. Try modifying the block to this:
#+BEGIN_SRC emacs-lisp
(let* ((start-date (org-parse-time-string (format "%s" start))))
(message "%s" (nth 4 start-date)))
#+END_SRC
Nick
next prev parent reply other threads:[~2012-07-07 20:03 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-22 7:36 [Bug] local variables definition at beginning of file is ignored Viktor Rosenfeld
2011-09-22 9:48 ` Viktor Rosenfeld
[not found] ` <listuser36@googlemail.com>
2011-09-22 14:43 ` Nick Dokos
2011-09-22 14:58 ` Nick Dokos
2011-10-19 16:47 ` [babel] Verbatim output from SQL command Nick Dokos
2011-10-19 17:31 ` Viktor Rosenfeld
2011-10-19 17:34 ` Sebastien Vauban
2011-10-19 21:12 ` Export an org file from the command line in the background Nick Dokos
2011-10-19 22:28 ` Viktor Rosenfeld
2011-10-19 21:22 ` Code block evaluation export bug ? (was: Re: Export an org file from the command line in the background) Nick Dokos
2011-10-21 1:57 ` Code block evaluation export bug ? Thomas S. Dye
2011-10-21 2:42 ` Nick Dokos
2011-10-21 4:37 ` Nick Dokos
2011-10-22 23:51 ` Nick Dokos
2011-11-09 21:13 ` Eric Schulte
2011-11-09 21:55 ` Nick Dokos
2011-10-19 22:37 ` Export an org file from the command line in the background Nick Dokos
2011-11-16 15:52 ` Question regarding remote references in tables Nick Dokos
2011-11-16 16:40 ` Nick Dokos
2011-11-16 17:43 ` Viktor Rosenfeld
2011-12-13 22:16 ` Refresh of http://orgmode.org Nick Dokos
2012-07-07 20:02 ` Nick Dokos [this message]
2012-07-08 0:55 ` Functions in SBE blocks Viktor Rosenfeld
-- strict thread matches above, loose matches on Subject: below --
2011-10-18 13:20 [babel] Verbatim output from SQL command Sebastien Vauban
2011-10-18 16:15 ` Eric Schulte
2011-10-19 9:19 ` Sebastien Vauban
2011-10-19 18:08 ` Eric Schulte
2011-10-20 8:03 ` Sebastien Vauban
2011-10-19 16:29 ` Viktor Rosenfeld
2011-10-19 16:21 Export an org file from the command line in the background Viktor Rosenfeld
2011-10-19 16:27 ` Jambunathan K
2011-10-19 20:14 ` Viktor Rosenfeld
2011-11-16 15:27 Question regarding remote references in tables Viktor Rosenfeld
2011-12-12 23:39 Refresh of http://orgmode.org Bastien
2011-12-13 17:25 ` Achim Gratz
2011-12-13 19:27 ` Bastien
2011-12-13 19:32 ` Nick Dokos
2011-12-13 20:27 ` Achim Gratz
2011-12-20 23:23 ` Bastien
2011-12-13 17:39 ` Samuel Wales
2011-12-13 18:39 ` Eric S Fraga
2011-12-13 18:59 ` Samuel Wales
2011-12-13 19:35 ` Bastien
2011-12-13 19:51 ` Samuel Wales
2011-12-14 8:49 ` Eric S Fraga
2011-12-13 19:33 ` Bastien
2011-12-13 21:50 ` Viktor Rosenfeld
2011-12-13 22:22 ` Bastien
2011-12-14 8:53 ` Eric S Fraga
2011-12-14 12:54 ` Viktor Rosenfeld
2011-12-14 17:40 ` Bastien
2011-12-14 18:15 ` Bastien
2011-12-14 22:10 ` Viktor Rosenfeld
2011-12-14 22:17 ` Eric Schulte
2011-12-14 1:19 ` Eric Schulte
2011-12-14 10:07 ` Bastien
2011-12-14 18:45 ` Eric Schulte
2011-12-15 4:11 ` Eric Schulte
2011-12-15 14:03 ` Bastien
2011-12-15 15:10 ` Eric Schulte
2011-12-15 15:18 ` Bastien
2011-12-15 15:26 ` Eric Schulte
2011-12-15 15:44 ` Bastien
2011-12-15 14:10 ` Bastien
2011-12-14 13:17 ` Stefan Vollmar
2011-12-14 2:30 ` Scott Randby
2011-12-15 13:10 ` Martyn Jago
2012-07-07 18:58 Functions in SBE blocks Viktor Rosenfeld
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=1372.1341691369@alphaville \
--to=nicholas.dokos@hp.com \
--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).