emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Re: [babel] Executing sh-code


From: Sébastien Vauban
Subject: [Orgmode] Re: [babel] Executing sh-code
Date: Fri, 27 Nov 2009 10:15:41 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Hi,

Can I bump up this thread?


> I'm trying to execute code through babel, for the first time -- I did use it
> for small examples of LP, but not yet for enhanced work.
>
> This is my first file:
>
> * Prerequisites
>
> #+begin_src sh :session ecm
>     cd ~/Personal
> #+end_src
>
> If I C-c on the command, Emacs hangs -- just doing nothing (like waiting for
> something that never comes).
>
> C-g gives this:
>
> Debugger entered--Lisp error: (quit)
>   accept-process-output(#<process shell>)
>   (while (progn (goto-char comint-last-input-end) (not ...)) 
> (accept-process-output (get-buffer-process buffer)))
>   (progn (unless (org-babel-comint-buffer-livep buffer) (error ...)) 
> (set-buffer buffer) (while (progn ... ...) (accept-process-output ...)))
>   (unwind-protect (progn (unless ... ...) (set-buffer buffer) (while ... 
> ...)) (set-match-data save-match-data-internal (quote evaporate)))
>   (let ((save-match-data-internal ...)) (unwind-protect (progn ... ... ...) 
> (set-match-data save-match-data-internal ...)))
>   (save-match-data (unless (org-babel-comint-buffer-livep buffer) (error 
> ...)) (set-buffer buffer) (while (progn ... ...) (accept-process-output ...)))
>   (save-window-excursion (save-match-data (unless ... ...) (set-buffer 
> buffer) (while ... ...)))
>   (org-babel-comint-in-buffer buffer (while (progn ... ...) 
> (accept-process-output ...)))
>   org-babel-comint-wait-for-output(#<buffer *shell*>)
>   (progn (setq sh-buffer (current-buffer)) (org-babel-comint-wait-for-output 
> sh-buffer))
>   (if newp (progn (setq sh-buffer ...) (org-babel-comint-wait-for-output 
> sh-buffer)))
>   (when newp (setq sh-buffer (current-buffer)) 
> (org-babel-comint-wait-for-output sh-buffer))
>   (let* ((session ...) (sh-buffer ...) (newp ...)) (if (and sh-buffer ... 
> ...) (setq sh-buffer nil)) (shell sh-buffer) (when newp (setq sh-buffer ...) 
> (org-babel-comint-wait-for-output sh-buffer)) (setq org-babel-sh-buffers 
> (cons ... ...)) session)
>   (save-window-excursion (let* (... ... ...) (if ... ...) (shell sh-buffer) 
> (when newp ... ...) (setq org-babel-sh-buffers ...) session))
>   org-babel-sh-initiate-session-by-key("ecm")
>   (org-babel-sh-session-buffer (org-babel-sh-initiate-session-by-key session))
>   (if (string= session "none") nil (org-babel-sh-session-buffer 
> (org-babel-sh-initiate-session-by-key session)))
>   (unless (string= session "none") (org-babel-sh-session-buffer 
> (org-babel-sh-initiate-session-by-key session)))
>   org-babel-sh-initiate-session("ecm")
>   (let* ((processed-params ...) (session ...) (vars ...) (result-type ...) 
> (full-body ...)) (org-babel-sh-evaluate session full-body result-type))
>   org-babel-execute:sh("cd ~/Personal\n" ((:exports . "code") (:nocache) 
> (:results . "replace") (:session . "ecm") (:tangle . "")))
>   funcall(org-babel-execute:sh "cd ~/Personal\n" ((:exports . "code") 
> (:nocache) (:results . "replace") (:session . "ecm") (:tangle . "")))
>   (setq result (funcall cmd body params))
>   (if (and (not arg) new-hash (equal new-hash old-hash)) (save-excursion 
> (goto-char ...) (move-end-of-line 1) (forward-char 1) (setq result ...) 
> (message ...) result) (setq result (funcall cmd body params)) (if (eq 
> result-type ...) (setq result ...)) (org-babel-insert-result result 
> result-params info new-hash) result)
>   (let* ((info ...) (lang ...) (params ...) (new-hash ...) (old-hash ...) 
> (body ...) (result-params ...) (result-type ...) (cmd ...) result) (unless 
> (member lang org-babel-interpreters) (error "Language is not in 
> `org-babel-interpreters': %s" lang)) (if (and ... new-hash ...) 
> (save-excursion ... ... ... ... ... result) (setq result ...) (if ... ...) 
> (org-babel-insert-result result result-params info new-hash) result))
>   org-babel-execute-src-block(nil ("sh" "cd ~/Personal\n" ((:exports . 
> "code") (:nocache) (:results . "replace") (:session . "ecm") (:tangle . "")) 
> ""))
>   (progn (org-babel-execute-src-block current-prefix-arg info) t)
>   (if info (progn (org-babel-execute-src-block current-prefix-arg info) t) 
> nil)
>   (let ((info ...)) (if info (progn ... t) nil))
>   org-babel-execute-src-block-maybe()
>   run-hook-with-args-until-success(org-babel-execute-src-block-maybe)
>   org-ctrl-c-ctrl-c(nil)
>   call-interactively(org-ctrl-c-ctrl-c nil nil)
>
> and I have an empty Shell buffer:
>
>
> [Wed Nov 25 15:13:10]
> address@hidden ~>
>
> What am I doing wrong?  Or have I set something wrong (or missing) in my
> .emacs file?
>
> (require 'org-babel-init)
>
> ;; activate a subset of languages
> (require 'org-babel-R)
> (require 'org-babel-sh)
>
> ;; make pre-built helper functions available
> (org-babel-load-library-of-babel)
>
> Anything interesting in there?

Is this Emacs config wrong?  Anybody can give me some extract of a working
Babel config (for shell code execution)?


> BTW, my next question will be: can we have an SSH session?  Or, I guess that
> it's the difficult part: is there a way to ask the password and go on with my
> commands?

Best regards,
  Seb

-- 
Sébastien Vauban





reply via email to

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