From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: stardiviner <numbchild@gmail.com>
Cc: org-mode <emacs-orgmode@gnu.org>
Subject: Re: [PATCH] Add support for Babel with Eshell, (updated PATCH)
Date: Mon, 23 Apr 2018 11:34:59 +0200 [thread overview]
Message-ID: <87po2q5kqk.fsf@nicolasgoaziou.fr> (raw)
In-Reply-To: <87a7twrmyv.fsf@gmail.com> (stardiviner's message of "Sun, 22 Apr 2018 10:31:20 +0800")
Hello,
stardiviner <numbchild@gmail.com> writes:
> From 596da7b0384d64f3c1c22a49bc9bced8d0d8abf8 Mon Sep 17 00:00:00 2001
> From: stardiviner <numbchild@gmail.com>
> Date: Sun, 22 Apr 2018 09:37:40 +0800
> Subject: [PATCH] ob-eshell.el: Add Eshell support for Babel.
Thank you. This could go into master branch once Org 9.2 is out.
> | D | d | ditaa | ditaa |
> | Graphviz | dot | Emacs Calc | calc |
> | Emacs Lisp | emacs-lisp | Fortran | fortran |
> +| Shell | sh | Eshell | eshell |
> | Gnuplot | gnuplot | Haskell | haskell |
> | Java | java | Javascript | js |
> | LaTeX | latex | Ledger | ledger |
Shell sh pair is already defined later in the table (ordered
alphabetically). Those are spurious.
> +;; Org-Babel support for evaluating Eshell source code.
Org Babel support....
> +(defvar org-babel-default-header-args:eshell '())
> +
> +(defun org-babel-execute:eshell (body params)
> + "Execute a block of Eshell code.
> +This function is called by `org-babel-execute-src-block'."
Could you expound a bit and explain what are the arguments, i.e., BODY
and PARAMS?
> +(defun org-babel-prep-session:eshell (session params)
> + "Prepare SESSION according to the header arguments specified in PARAMS."
> + (let* ((session (org-babel-eshell-initiate-session session))
> + ;; Eshell session buffer is read from variable `eshell-buffer-name'.
> + (eshell-buffer-name session)
> + (var-lines (org-babel-variable-assignments:eshell params)))
> + (call-interactively 'eshell)
#'eshell
> + (dolist (var-line var-lines)
> + (eshell-command var-line))
(mapc #'eshell-command var-lines)
> + session))
> +
> +(defun ob-eshell-session-live-p (session)
> + "Detect Eshell SESSION exist."
"Non-nil if Eshell SESSION exists."
> + (and (get-buffer session) t))
Simply:
(get-buffer session)
> +;;; test-ob-eshell.el
> +
> +;; Copyright (c) 2010-2014 Eric Schulte
I don't think so ;)
Barring the minor comments above, it looks good.
Could you send an updated patch?
Regards,
--
Nicolas Goaziou
next prev parent reply other threads:[~2018-04-23 9:35 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-22 2:00 [PATCH] Add support for Babel with Eshell, and some questions stardiviner
2018-04-22 2:01 ` stardiviner
2018-04-22 2:31 ` [PATCH] Add support for Babel with Eshell, (updated PATCH) stardiviner
2018-04-23 9:34 ` Nicolas Goaziou [this message]
2018-04-23 13:22 ` stardiviner
2018-04-23 21:35 ` Nicolas Goaziou
2018-04-24 2:39 ` stardiviner
2018-04-25 8:31 ` Nicolas Goaziou
2018-04-26 10:53 ` stardiviner
2018-05-02 14:53 ` stardiviner
2018-05-31 21:13 ` Nicolas Goaziou
2018-06-01 6:26 ` stardiviner
2018-06-02 10:16 ` Nicolas Goaziou
2018-06-04 2:11 ` stardiviner
2018-06-14 19:12 ` Nicolas Goaziou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87po2q5kqk.fsf@nicolasgoaziou.fr \
--to=mail@nicolasgoaziou.fr \
--cc=emacs-orgmode@gnu.org \
--cc=numbchild@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.