Browse Source

ob-shell: Make `org-babel-shell-initalize' a command

* lisp/ob-shell.el (org-babel-shell-initialize): Add `interactive.
Nicolas Goaziou 3 years ago
parent
commit
250304bd2e
1 changed files with 12 additions and 11 deletions
  1. 12 11
      lisp/ob-shell.el

+ 12 - 11
lisp/ob-shell.el

@@ -41,21 +41,11 @@
 
 (defvar org-babel-default-header-args:shell '())
 
-(defcustom org-babel-shell-names
-  '("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh")
-  "List of names of shell supported by babel shell code blocks.
-Call `org-babel-shell-initialize' when modifying this variable
-outside the Customize interface."
-  :group 'org-babel
-  :type '(repeat (string :tag "Shell name: "))
-  :set (lambda (symbol value)
-	 (set-default symbol value)
-	 (org-babel-shell-initialize)))
-
 (defun org-babel-shell-initialize ()
   "Define execution functions associated to shell names.
 This function has to be called whenever `org-babel-shell-names'
 is modified outside the Customize interface."
+  (interactive)
   (dolist (name org-babel-shell-names)
     (eval `(defun ,(intern (concat "org-babel-execute:" name))
 	       (body params)
@@ -63,6 +53,17 @@ is modified outside the Customize interface."
 	     (let ((shell-file-name ,name))
 	       (org-babel-execute:shell body params))))))
 
+(defcustom org-babel-shell-names
+  '("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh")
+  "List of names of shell supported by babel shell code blocks.
+Call `org-babel-shell-initialize' when modifying this variable
+outside the Customize interface."
+  :group 'org-babel
+  :type '(repeat (string :tag "Shell name: "))
+  :set (lambda (symbol value)
+	 (set-default symbol value)
+	 (org-babel-shell-initialize)))
+
 (defun org-babel-execute:shell (body params)
   "Execute a block of Shell commands with Babel.
 This function is called by `org-babel-execute-src-block'."