emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Lisp code blocks fail


From: Thomas S. Dye
Subject: Re: [O] Lisp code blocks fail
Date: Sun, 17 Nov 2013 10:08:25 -1000

Hi Eric,

I understand this a bit better now.

In org-babel-execute:lisp, the local variable result is getting set to
("" "2").

With :results value, the call to read in org-babel-result-cond is being
passed "2" when it expects a list.  With :results output, it gets "",
which triggers the same error.

As I noted earlier, slime-eval executes the lisp code properly, but for
some reason it appears to be returning a string instead of a vector or a
list.

I'm not sure what I did to make this stop working.  It was fine
a week ago. I haven't changed slime in six months AFAIK.

Other babel languages work as usual. My problem appears to be confined
to lisp.

All the best,
Tom

address@hidden (Thomas S. Dye) writes:

> Hi Eric,
>
> An edebug adventure :)
>
> AFAICT, the error is thrown by this call to a macro:
> (org-babel-result-cond ("replace") (car result)), where result has been
> set to "2" by the long (funcall) in (let).
>
> Specifically, (org-babel-lisp-vector-to-list "2") appears to trigger the
> (error)--at least that is the last code line edebug stops at before
> getting to the (error) line. The modeline says Result: "2" just before
> the error.
>
> Does this help?
>
> Tom
>
> Eric Schulte <address@hidden> writes:
>
>> Hi Tom,
>>
>> That example works for me.  Perhaps you could edebug (C-u C-M-x) the
>> `org-babel-execute:lisp' function and then run that code block again to
>> see at which statement the error is thrown.
>>
>> I'm not sure what the problem could be.
>>
>> Best,
>>
>> address@hidden (Thomas S. Dye) writes:
>>
>>> Hi Eric,
>>>
>>> #+begin_src lisp
>>> (+ 1 1)
>>> #+end_src
>>>
>>> Debugger entered--Lisp error: (wrong-type-argument listp "2")
>>>   byte-code("\211A@)\207" [result x] 2)
>>>   org-babel-execute:lisp("(+ 1 1)" ((:comments . "") (:shebang . "")
>>> (:cache . "no") (:padline . "") (:noweb . "yes") (:tangle . "no")
>>> (:exports . "code") (:results . "replace") (:session . "none")
>>> (:hlines . "no") (:result-type . value) (:result-params "replace")
>>> (:rowname-names) (:colname-names)))
>>>   org-babel-execute-src-block(nil)
>>>   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)
>>>   ad-Orig-call-interactively(org-ctrl-c-ctrl-c nil nil)
>>>   (with-no-warnings (ad-Orig-call-interactively function record-flag keys))
>>>   (setq ad-return-value (with-no-warnings
>>> (ad-Orig-call-interactively function record-flag keys)))
>>>   (let ((ido-ubiquitous-next-override
>>> (ido-ubiquitous-get-command-override function))) (setq ad-return-value
>>> (with-no-warnings (ad-Orig-call-interactively function record-flag
>>> keys))))
>>>   (ido-ubiquitous-with-override (ido-ubiquitous-get-command-override
>>> function) (setq ad-return-value (with-no-warnings
>>> (ad-Orig-call-interactively function record-flag keys))))
>>>   (let (ad-return-value) (ido-ubiquitous-with-override
>>> (ido-ubiquitous-get-command-override function) (setq ad-return-value
>>> (with-no-warnings (ad-Orig-call-interactively function record-flag
>>> keys)))) ad-return-value)
>>>   call-interactively(org-ctrl-c-ctrl-c nil nil)
>>>
>>> Org-mode version 8.2.3b (release_8.2.3b-200-gb6522a @
>>> /Users/dk/.emacs.d/src/org-mode/lisp/)
>>>
>>> All the best,
>>> Tom
>>>
>>> Eric Schulte <address@hidden> writes:
>>>
>>>> Hi Tom,
>>>>
>>>> Could you provide a minimal example?  I'm unable to debug from the stack
>>>> trace alone.

-- 
Thomas S. Dye
http://www.tsdye.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]