From mboxrd@z Thu Jan 1 00:00:00 1970 From: tsd@tsdye.com (Thomas S. Dye) Subject: Re: Lisp code blocks fail Date: Tue, 19 Nov 2013 08:50:49 -1000 Message-ID: References: <87wqkc9m43.fsf@gmail.com> <87vbzv8vsp.fsf@gmail.com> <871u2c9xw1.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46282) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ViqUi-0005XA-QK for emacs-orgmode@gnu.org; Tue, 19 Nov 2013 13:57:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ViqUa-0005rm-JW for emacs-orgmode@gnu.org; Tue, 19 Nov 2013 13:57:52 -0500 Received: from alt-proxy8.mail.unifiedlayer.com ([74.220.207.38]:34297) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1ViqUa-0005rR-CO for emacs-orgmode@gnu.org; Tue, 19 Nov 2013 13:57:44 -0500 In-Reply-To: <871u2c9xw1.fsf@gmail.com> (Eric Schulte's message of "Tue, 19 Nov 2013 09:09:18 -0700") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Schulte Cc: Org-mode Hi Eric, No problem with the "slow" reply. Thanks for the fix, which gets me back up and running. All the best, Tom Eric Schulte writes: > Hi Tom, > > Sorry about the slow reply, I've been busy as usual. > > I just pushed up a fix for this problem. As you've discovered, the > slime function returns a two-element list holding any strings written to > STDOUT, and the value of the evaluated code. In two different places > org-babel-execute:lisp was trying to split this list into the separate > values however by the second time the list had been reduced to "2". > > I've just pushed up a fix. > > Best, > > tsd@tsdye.com (Thomas S. Dye) writes: > >> 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 >> >> tsd@tsdye.com (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 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, >>>> >>>> tsd@tsdye.com (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 writes: >>>>> >>>>>> Hi Tom, >>>>>> >>>>>> Could you provide a minimal example? I'm unable to debug from the stack >>>>>> trace alone. -- T.S. Dye & Colleagues, Archaeologists 735 Bishop St, Suite 315, Honolulu, HI 96813 Tel: 808-529-0866, Fax: 808-529-0884 http://www.tsdye.com