From mboxrd@z Thu Jan 1 00:00:00 1970 From: tsd@tsdye.com (Thomas S. Dye) Subject: Re: Lisp code blocks fail Date: Sun, 17 Nov 2013 10:08:25 -1000 Message-ID: References: <87wqkc9m43.fsf@gmail.com> <87vbzv8vsp.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46495) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vi8e8-0004b2-T9 for emacs-orgmode@gnu.org; Sun, 17 Nov 2013 15:08:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vi8e1-0003Cm-Ul for emacs-orgmode@gnu.org; Sun, 17 Nov 2013 15:08:40 -0500 Received: from oproxy17-pub.mail.unifiedlayer.com ([74.220.201.171]:34680) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1Vi8e1-0003Cg-Nc for emacs-orgmode@gnu.org; Sun, 17 Nov 2013 15:08:33 -0500 In-Reply-To: (Thomas S. Dye's message of "Fri, 15 Nov 2013 13:20:30 -1000") 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, 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. -- Thomas S. Dye http://www.tsdye.com