From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: python sessions Date: Mon, 25 Mar 2013 09:40:18 -0600 Message-ID: <87vc8fv671.fsf@gmail.com> References: <51496061.20706@easy-emacs.de> <514AB9FC.3050601@easy-emacs.de> <87d2ut2o5m.fsf@bzg.ath.cx> <514AC116.7030408@easy-emacs.de> <877gkxrbgn.fsf@gmail.com> <87fvzko0zv.fsf@gmail.com> <22817.1364179114@alphaville> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:45850) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UK9Ve-0005rY-TU for emacs-orgmode@gnu.org; Mon, 25 Mar 2013 11:40:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UK9Vb-0006qI-SM for emacs-orgmode@gnu.org; Mon, 25 Mar 2013 11:40:30 -0400 Received: from mail-da0-x235.google.com ([2607:f8b0:400e:c00::235]:63143) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UK9Vb-0006q8-JR for emacs-orgmode@gnu.org; Mon, 25 Mar 2013 11:40:27 -0400 Received: by mail-da0-f53.google.com with SMTP id n34so2146817dal.12 for ; Mon, 25 Mar 2013 08:40:26 -0700 (PDT) In-Reply-To: (John Hendy's message of "Sun, 24 Mar 2013 21:59:39 -0500") 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: John Hendy Cc: Bastien , nicholas.dokos@hp.com, emacs-orgmode , Eric Schulte John Hendy writes: > On Sun, Mar 24, 2013 at 9:38 PM, Nick Dokos wrote: >> Eric Schulte wrote: >> >>> > >>> > From participating in evaluating code throughout the discussion and >>> > catching the comments throughout, I'd say yes, at least in terms of >>> > how other babel languages function. In other words =#+begin_src R >>> > :session foo= creates an R session named "foo" whereas doing the same >>> > with =python= instead of =R= does not yield a named session. >>> > >>> > From what others experienced, however, the functionality was working >>> > correctly (results were persistent across blocks and two differently >>> > names blocks created two different sessions), just not named >>> > correctly. >>> > >>> >>> See the cond form starting at line 169 in ob-python.el. Different >>> session functionality is used based on the `org-babel-python-mode' >>> variable, and on the version of Emacs in use (prior to 24.1 or not). >>> >>> The branch taken when `org-babel-python-mode' equals 'python is >>> certainly broken, as it never saves the name of the newly created >>> buffer, so session re-use and use of multiple named sessions probably >>> works only when `org-babel-python-mode' equals 'python-mode. >>> >> >> That's me: org-babel-python-mode's value is python, so it's no wonder >> it's broken given what Eric says. I'm on emacs 24.3.50 where there is >> python.el but no python-mode.el. I tried the "cheap" workaround of >> switching the value to python-mode, but that does a (require >> 'python-mode) somewhere, so that option is out as well. > > I'm on Emacs 24.3.1 and have no python-mode.el, either (only > python.el). My setup is working correctly (again, with the caveat of > not having named sessions). > It sounds like we have the same setup, and the following un-named session example does not work for me. The first code block evaluates successfully, but it doesn't appear to be having any impact on the default session (e.g., in the *Python* buffer). Returns the value of x as expected. #+begin_src python :session x = 1 return x #+end_src #+RESULTS: : 1 #+begin_src python :session return x #+end_src #+RESULTS: The second code block /should/ have access to the x variable defined previous, but instead it throws an error because x is undefined. Currently I'd say session support for python is completely broken. -- Eric Schulte http://cs.unm.edu/~eschulte