فهرست منبع

Add org-babel-make-language-alias function.

* lisp/ob-core.el (org-babel-make-language-alias): New function.
* lisp/ob-emacs-lisp.el: Use it.

Previously this was accomplished via org-src-lang-modes, but that is a
poor solution, as it conflates the remapping of language mode names with
the creation of aliases.
Aaron Ecay 10 سال پیش
والد
کامیت
848a87634d
2فایلهای تغییر یافته به همراه22 افزوده شده و 0 حذف شده
  1. 20 0
      lisp/ob-core.el
  2. 2 0
      lisp/ob-emacs-lisp.el

+ 20 - 0
lisp/ob-core.el

@@ -3161,6 +3161,26 @@ plus the parameter value."
   (and (member "graphics" (cdr (assq :result-params params)))
        (cdr (assq :file params))))
 
+(defun org-babel-make-language-alias (new old)
+  "Make source blocks of type NEW aliases for those of type OLD.
+
+NEW and OLD should be strings.  This function should be called
+after the babel API for OLD-type source blocks is fully defined.
+
+Callers of this function will probably want to add an entry to
+`org-src-lang-modes' as well."
+  (dolist (fn '("execute" "expand-body" "prep-session"
+		"variable-assignments" "load-session"))
+    (let ((sym (intern-soft (concat "org-babel-" fn ":" old))))
+      (when (and sym (fboundp sym))
+	(defalias (intern (concat "org-babel-" fn ":" new)) sym))))
+  ;; Technically we don't need a `dolist' for just one variable, but
+  ;; we keep it for symmetry/ease of future expansion.
+  (dolist (var '("default-header-args"))
+    (let ((sym (intern-soft (concat "org-babel-" var ":" old))))
+      (when (and sym (boundp sym))
+	(defvaralias (intern (concat "org-babel-" var ":" new)) sym)))))
+
 (provide 'ob-core)
 
 ;; Local variables:

+ 2 - 0
lisp/ob-emacs-lisp.el

@@ -72,6 +72,8 @@
          (org-babel-pick-name (cdr (assoc :rowname-names params))
                               (cdr (assoc :rownames params))))))))
 
+(org-babel-make-language-alias "elisp" "emacs-lisp")
+
 (provide 'ob-emacs-lisp)