Просмотр исходного кода

smarter gnuplot file extension to terminal mapping
* lisp/ob-gnuplot.el (*org-babel-gnuplot-terms*): Smarter gnuplot file
extension to terminal mapping.
(org-babel-expand-body:gnuplot): Smarter gnuplot file extension to
terminal mapping.

Eric Schulte 12 лет назад
Родитель
Сommit
c5cc342e1c
1 измененных файлов с 12 добавлено и 1 удалено
  1. 12 1
      lisp/ob-gnuplot.el

+ 12 - 1
lisp/ob-gnuplot.el

@@ -75,6 +75,13 @@ blocks."
   :group 'org-babel
   :group 'org-babel
   :type 'string)
   :type 'string)
 
 
+(defcustom *org-babel-gnuplot-terms*
+  '((eps . "postscript eps"))
+  "List of file extensions and the associated gnuplot terminal."
+  :group 'org-babel
+  :type '(repeat (cons (symbol :tag "File extension")
+		       (string :tag "Gnuplot terminal"))))
+
 (defun org-babel-gnuplot-process-vars (params)
 (defun org-babel-gnuplot-process-vars (params)
   "Extract variables from PARAMS and process the variables.
   "Extract variables from PARAMS and process the variables.
 Dumps all vectors into files and returns an association list
 Dumps all vectors into files and returns an association list
@@ -97,7 +104,11 @@ code."
     (let* ((vars (org-babel-gnuplot-process-vars params))
     (let* ((vars (org-babel-gnuplot-process-vars params))
            (out-file (cdr (assoc :file params)))
            (out-file (cdr (assoc :file params)))
            (term (or (cdr (assoc :term params))
            (term (or (cdr (assoc :term params))
-                     (when out-file (file-name-extension out-file))))
+                     (when out-file
+		       (let ((ext (file-name-extension out-file)))
+			 (or (cdr (assoc (intern (downcase ext))
+					 *org-babel-gnuplot-terms*))
+			     ext)))))
            (cmdline (cdr (assoc :cmdline params)))
            (cmdline (cdr (assoc :cmdline params)))
            (title (cdr (assoc :title params)))
            (title (cdr (assoc :title params)))
            (lines (cdr (assoc :line params)))
            (lines (cdr (assoc :line params)))