From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: [babel] session initialization (was RE: python/babel inline images) Date: Thu, 07 Jun 2012 16:48:39 -0600 Message-ID: <87oboun3f7.fsf@gmx.com> References: <87pq9egifm.fsf@bye.fritz.box> <874nqp9580.fsf@gmx.com> <007401cd437f$ab542b20$01fc8160$@us> <878vg0bbwm.fsf@gmx.com> <000001cd440b$8d20abb0$a7620310$@us> <87ehpsqn5v.fsf@gmx.com> <002601cd441c$685c60b0$39152210$@us> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:42380) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SclWS-00005W-NN for emacs-orgmode@gnu.org; Thu, 07 Jun 2012 18:49:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SclWQ-0002cI-Oz for emacs-orgmode@gnu.org; Thu, 07 Jun 2012 18:49:44 -0400 Received: from mailout-us.gmx.com ([74.208.5.67]:53455) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1SclWQ-0002bj-Ip for emacs-orgmode@gnu.org; Thu, 07 Jun 2012 18:49:42 -0400 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: Mikhail Titov Cc: emacs-orgmode@gnu.org "Mikhail Titov" writes: >> -----Original Message----- >> From: emacs-orgmode-bounces+mlt=gmx.us@gnu.org [mailto:emacs-orgmode- >> bounces+mlt=gmx.us@gnu.org] On Behalf Of Eric Schulte >> Sent: Wednesday, June 06, 2012 2:02 PM >> To: Mikhail Titov >> Cc: emacs-orgmode@gnu.org; 'henry atting'; 'Eric Schulte' >> Subject: Re: [O] [babel] session initialization (was RE: python/babel inline images) >> >> > 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. >> > >> >> I'm not aware of a way to run code on the start of a session. I do see >> how this could be a useful addition. > > So the fragment above does look legitimate to you? I just add > > (format "cd('%s');\n" (file-name-directory (buffer-file-name))) > > and problem solved? Well... for sessions. I don't know if it is common to > use non-session based calculations... > The vast majority of my code blocks do not use sessions but I don't use matlab or octave. Running something like the following as part of the session start up does seem reasonable. (format "cd('%s');\n" default-directory) > >> > Also IIRC ob-sh does not change directory though I tried it on >> > Windows with cmd.exe. >> >> Granted I only run on linux, but (on linux) ob-sh *does* run in the >> directory of the containing Org-mode file. >> >> > 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")) >> > ) >> > >> >> OK, could you convert the above into a patch which we could apply to >> ob-sh? > > I think there should be more than that. I do sometimes use bash from msys on > Win32 so I'd expect sh as a tangled file name extension in this case. I > believe it can be accomplished as with matlab / octave by adding a new > language cmd that will reuse most of sh. I'll see what I can do. > The alternate (and probably simpler) solution here is to set the default to whichever of .sh or .bat seems more likely to be desired based on the OS, and then let the user customize the `org-babel-tangle-lang-exts' to suite their preference. -- Eric Schulte http://cs.unm.edu/~eschulte