emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [BUG] ob-perl variable handling broken
@ 2013-03-24 23:54 Rick Frankel
  2013-03-25  0:27 ` Eric Schulte
  0 siblings, 1 reply; 4+ messages in thread
From: Rick Frankel @ 2013-03-24 23:54 UTC (permalink / raw)
  To: emacs-orgmode


The commit ca125b82b changed a lot of the variable handling in
ob-perl, and it now will not accept tables as input. Below is an org
doc with an example, the error message and a backtrace.

rick
-----

* Can't use table as input
#+name: t1
| 1 | 
#+begin_src perl :var t=t1 :results value
  $t
#+end_src  
** Error
mapconcat: Wrong type argument: sequencep, 1
#+begin_example
  org-babel-perl--var-to-perl(1)
  mapconcat(org-babel-perl--var-to-perl (1) "")
  org-babel-perl--var-to-perl((1))
  mapconcat(org-babel-perl--var-to-perl ((1)) "")
  org-babel-perl--var-to-perl(((1)))
  org-babel-perl--var-to-perl(((1)) t)
  #[(pair) "\301\bA\b@\"\207" [pair org-babel-perl--var-to-perl] 3]((t (1)))
  mapcar(#[(pair) "\301\bA\b@\"\207" [pair org-babel-perl--var-to-perl] 3] ((t (1))))
  org-babel-variable-assignments:perl(((:comments . "") (:shebang . "") (:cache . "no") (:padline . "") (:noweb . "no") (:tangle . "no") (:exports . "results") (:results . "replace value") (:var t (1)) (:session . "none") (:hlines . "no") (:padnewline . "yes") (:result-type . value) (:result-params "value" "replace") (:rowname-names) (:colname-names)))
  org-babel-execute:perl("$t" ((:comments . "") (:shebang . "") (:cache . "no") (:padline . "") (:noweb . "no") (:tangle . "no") (:exports . "results") (:results . "replace value") (:var t (1)) (:session . "none") (:hlines . "no") (:padnewline . "yes") (:result-type . value) (:result-params "value" "replace") (:rowname-names) (:colname-names)))
  org-babel-execute-src-block(nil ("perl" "$t" ((:comments . "") (:shebang . "") (:cache . "no") (:padline . "") (:noweb . "no") (:tangle . "no") (:exports . "results") (:results . "replace value") (:var t (1)) (:session . "none") (:hlines . "no") (:padnewline . "yes") (:result-type . value) (:result-params "value" "replace") (:rowname-names) (:colname-names)) "" nil 0))
  org-babel-execute-src-block-maybe()
  org-babel-execute-maybe()
  org-babel-execute-safely-maybe()
  run-hook-with-args-until-success(org-babel-execute-safely-maybe)
  org-ctrl-c-ctrl-c(nil)
  call-interactively(org-ctrl-c-ctrl-c nil nil)
  command-execute(org-ctrl-c-ctrl-c)
#+end_example

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] ob-perl variable handling broken
  2013-03-24 23:54 [BUG] ob-perl variable handling broken Rick Frankel
@ 2013-03-25  0:27 ` Eric Schulte
  2013-03-25  8:22   ` Achim Gratz
  0 siblings, 1 reply; 4+ messages in thread
From: Eric Schulte @ 2013-03-25  0:27 UTC (permalink / raw)
  To: Rick Frankel; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 460 bytes --]

Rick Frankel <rick@rickster.com> writes:

> The commit ca125b82b changed a lot of the variable handling in
> ob-perl, and it now will not accept tables as input. Below is an org
> doc with an example, the error message and a backtrace.
>

The attached patch fixes this behavior, however I haven't committed it
because I fear it would undo some of Achim's intentions in commit
ca125b82b.  I'll leave the final solution to Achim.

Thanks for pointing this out,


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-print-Perl-variables-with-a-format-string.patch --]
[-- Type: text/x-patch, Size: 943 bytes --]

From 0007d05de6e2d8994da01eee3ed4cec29ff43682 Mon Sep 17 00:00:00 2001
From: Eric Schulte <schulte.eric@gmail.com>
Date: Sun, 24 Mar 2013 18:25:42 -0600
Subject: [PATCH] print Perl variables with a format string

Don't use princ because it doesn't always return a string.

Thanks to Rick Frankel for pointing this out.

* lisp/ob-perl.el (org-babel-perl--var-to-perl): Print Perl variables
  with a format string.
---
 lisp/ob-perl.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/ob-perl.el b/lisp/ob-perl.el
index 8bc84f0..a9db6ef 100644
--- a/lisp/ob-perl.el
+++ b/lisp/ob-perl.el
@@ -87,7 +87,7 @@ specifying a var of the same value."
 		    (concat "[\n"
 			    (mapconcat #'org-babel-perl--var-to-perl var "")
 			    prefix "]"))
-		(concat "q(" (princ var) ")"))
+		(format "q(~a)" var))
 	      (unless (zerop org-babel-perl--lvl) ",\n")))))
 
 (defvar org-babel-perl-buffers '(:default . nil))
-- 
1.8.2


[-- Attachment #3: Type: text/plain, Size: 46 bytes --]


-- 
Eric Schulte
http://cs.unm.edu/~eschulte

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [BUG] ob-perl variable handling broken
  2013-03-25  0:27 ` Eric Schulte
@ 2013-03-25  8:22   ` Achim Gratz
  2013-03-25 13:40     ` Eric Schulte
  0 siblings, 1 reply; 4+ messages in thread
From: Achim Gratz @ 2013-03-25  8:22 UTC (permalink / raw)
  To: emacs-orgmode

Am 25.03.2013 01:27, schrieb Eric Schulte:
> The attached patch fixes this behavior, however I haven't committed it
> because I fear it would undo some of Achim's intentions in commit
> ca125b82b.  I'll leave the final solution to Achim.

This should be the right solution, please commit.  However, the format 
string should be "q(%s)" and not "q(~a)" I suppose (unless my newsreader 
is fooling me).


Regards,
-- 
Achim.

(on the road :-)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] ob-perl variable handling broken
  2013-03-25  8:22   ` Achim Gratz
@ 2013-03-25 13:40     ` Eric Schulte
  0 siblings, 0 replies; 4+ messages in thread
From: Eric Schulte @ 2013-03-25 13:40 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-orgmode

Achim Gratz <Stromeko@Nexgo.DE> writes:

> Am 25.03.2013 01:27, schrieb Eric Schulte:
>> The attached patch fixes this behavior, however I haven't committed it
>> because I fear it would undo some of Achim's intentions in commit
>> ca125b82b.  I'll leave the final solution to Achim.
>
> This should be the right solution, please commit.

Committed.

> However, the format string should be "q(%s)" and not "q(~a)" I suppose
> (unless my newsreader is fooling me).
>

Sorry, I'm writing more Common Lisp than Emacs Lisp these days.

Cheers,

>
>
> Regards,

-- 
Eric Schulte
http://cs.unm.edu/~eschulte

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-03-25 13:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-24 23:54 [BUG] ob-perl variable handling broken Rick Frankel
2013-03-25  0:27 ` Eric Schulte
2013-03-25  8:22   ` Achim Gratz
2013-03-25 13:40     ` Eric Schulte

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).