emacs-orgmode
[Top][All Lists]
Advanced

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

[O] [babel] session initialization (was RE: python/babel inline images)


From: Mikhail Titov
Subject: [O] [babel] session initialization (was RE: python/babel inline images)
Date: Wed, 6 Jun 2012 12:41:05 -0500

> -----Original Message-----
> From: address@hidden [mailto:emacs-orgmode-
> address@hidden On Behalf Of Eric Schulte
> Sent: Wednesday, June 06, 2012 12:20 AM
> To: Mikhail Titov
> Cc: address@hidden; 'henry atting'
> Subject: Re: [O] python/babel inline images
> 
> "Mikhail Titov" <address@hidden> writes:
> 
> >> -----Original Message-----
> >> From: address@hidden [mailto:emacs-orgmode-
> >> address@hidden On Behalf Of Eric Schulte
> >> Sent: Tuesday, June 05, 2012 9:57 AM
> >> To: henry atting
> >> Cc: address@hidden
> >> Subject: Re: [O] python/babel inline images
> >>
> >> I'm not python expert, but the code block should be run in your current
> >> directory, e.g., the following outputs the current working path
expected
> >> for me.
> >>
> >> #+begin_src sh
> >>   pwd
> >> #+end_src
> >>
> >> If you want to explicitly pass the current directory to your code block
> >> as an argument, you could try something like the following
> >>
> >> #+begin_src python :var mydir=(file-name-directory (buffer-file-name))
> >>   return mydir
> >> #+end_src
> >>
> >
> > I've noticed some inconsistency between various languages in this
aspect.
> > For instance, ob-R starts session in proper working directory, while all
> > looks like everything (?) else does not.
> >
> > Should not it be somewhat standardized? I think it make sense to always
cd
> > to org doc folder.
> >
> 
> Most languages should and (at least those I use regularly) do run in the
> directory of the containing Org-mode file.  Which languages do not?

I'm working on ob-octave.el which does not. So I'll fix it in this case.
Which leads me to another question I was about to ask. How to comint
commands in org-babel-XXX-initiate-session as session is not assigned yet?
Right now I have something like the following in that function

          (comint-send-string
           (get-buffer-process (current-buffer))
                               "set(0, 'defaultfigurevisible', 'off');\n")

I do it there as it does not make sense to call for each block. I was about
to write that ob-R does show stuff but I believe it was in earlier versions
of ob-R.el or something as I've checked and indeed nothing appears on screen
as code being wrapped in a device output block.

Also IIRC ob-sh does not change directory though I tried it on Windows with
cmd.exe . Worth mentioning that it tangles into dot sh instead of dot bat or
dot cmd on that platform. It misses platform specific

(defvar org-babel-tangle-lang-exts) 
(if (string-equal system-type "windows-nt") 
  (add-to-list 'org-babel-tangle-lang-exts '("sh" . "bat"))
)

P.S. I feel like I'm hijacking the thread....

M.




reply via email to

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