emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [babel] Property engine can't be set globally


From: Eric Schulte
Subject: Re: [O] [babel] Property engine can't be set globally
Date: Wed, 26 Oct 2011 06:22:15 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux)

Hi Seb,

This is because engine is a ob-sql specific header argument.  Language
specific files a supposed to declare the names of their header arguments
so that they may be inherited through variables with names like
`org-babel-header-arg-names:sql'.  I've just added such a variable to
ob-sql with "engine" and "out-file" keywords, so this problem should now
be fixed.

Thanks -- Eric

"Sebastien Vauban" <address@hidden> writes:

> #+SEQ_TODO: DOESN'T_WORK | WORKS
> #+PROPERTY:  eval never
> #+PROPERTY:  engine msosql
> #+PROPERTY:  cmdline -S <SERVER> -U <UESR> -P <PASS> -d <DB> -n -w 700
> #+PROPERTY:  results value
>
> * Overview
>
> Some properties, either set at file level or at tree level, still remain
> _invisible_ (unset) to code blocks.
>
> This is at least the case with the =engine= property.
>
> * Test suite
>
> The first 2 cases end in an error:
>
>     let: Wrong type argument: stringp, nil
>     (See [[id:cada6588-de8a-4225-86cf-9ef840e09aa1][Backtrace]])
>
> The 3^rd one succeeds.
>
> ** DOESN'T_WORK Buffer-wide properties
>
> #+begin_src sql :eval yes
> select getdate()
> go
> #+end_src
>
> Property engine is unknown.
>
> ** DOESN'T_WORK Properties in subtree
>    :PROPERTIES:
>    :engine: msosql
>    :END:
>
> #+begin_src sql :eval yes
> select getdate()
> go
> #+end_src
>
> Property engine is still unknown...
>
> ** WORKS Properties at block level
>
> #+begin_src sql :eval yes :engine msosql
> select getdate()
> go
> #+end_src
>
> #+results:
> |                         |
> |-------------------------|
> | 2011-10-26 12:25:11.347 |
> |                         |
> | (1 ligne affect´╝Ž)      |
>
> * Backtrace
>   :PROPERTIES:
>   :ID:       cada6588-de8a-4225-86cf-9ef840e09aa1
>   :END:
>
> #+begin_src text
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>   intern(nil)
>   (let ((--cl-var-- (intern engine))) (cond ((member* --cl-var-- (quote 
> (quote msosql))) (format "osql %s -s \"       \" -i %s -o %s" (or cmdline "") 
> (org-babel-process-file-name in-file) (org-babel-process-file-name 
> out-file))) ((member* --cl-var-- (quote (quote mysql))) (format "mysql %s < 
> %s > %s" (or cmdline "") (org-babel-process-file-name in-file) 
> (org-babel-process-file-name out-file))) ((member* --cl-var-- (quote (quote 
> postgresql))) (format "psql -A -P footer=off -F \"    \"  -f %s -o %s %s" 
> (org-babel-process-file-name in-file) (org-babel-process-file-name out-file) 
> (or cmdline ""))) (t (error "no support for the %s sql engine" engine))))
>   (case (intern engine) ((quote msosql) (format "osql %s -s \"        \" -i 
> %s -o %s" (or cmdline "") (org-babel-process-file-name in-file) 
> (org-babel-process-file-name out-file))) ((quote mysql) (format "mysql %s < 
> %s > %s" (or cmdline "") (org-babel-process-file-name in-file) 
> (org-babel-process-file-name out-file))) ((quote postgresql) (format "psql -A 
> -P footer=off -F \"      \"  -f %s -o %s %s" (org-babel-process-file-name 
> in-file) (org-babel-process-file-name out-file) (or cmdline ""))) (t (error 
> "no support for the %s sql engine" engine)))
>   (let* ((result-params (cdr (assoc :result-params params))) (cmdline (cdr 
> (assoc :cmdline params))) (engine (cdr (assoc :engine params))) (in-file 
> (org-babel-temp-file "sql-in-")) (out-file (or (cdr (assoc :out-file params)) 
> (org-babel-temp-file "sql-out-"))) (header-delim "") (command (case (intern 
> engine) ((quote msosql) (format "osql %s -s \"  \" -i %s -o %s" (or cmdline 
> "") (org-babel-process-file-name in-file) (org-babel-process-file-name 
> out-file))) ((quote mysql) (format "mysql %s < %s > %s" (or cmdline "") 
> (org-babel-process-file-name in-file) (org-babel-process-file-name 
> out-file))) ((quote postgresql) (format "psql -A -P footer=off -F \"      \"  
> -f %s -o %s %s" (org-babel-process-file-name in-file) 
> (org-babel-process-file-name out-file) (or cmdline ""))) (t (error "no 
> support for the %s sql engine" engine))))) (with-temp-file in-file (insert 
> (org-babel-expand-body:sql body params))) (message command) (shell-command 
> command) (if (or (member "scalar" result-params) (member "verbatim" 
> result-params) (member "html" result-params) (member "code" result-params) 
> (equal (point-min) (point-max))) (with-temp-buffer (progn 
> (insert-file-contents-literally out-file) (buffer-string))) (with-temp-buffer 
> (with-temp-buffer (insert-file-contents out-file) (goto-char (point-min)) 
> (when (re-search-forward "^\\(-+\\)[^-]" nil t) (setq header-delim 
> (match-string-no-properties 1))) (goto-char (point-max)) (forward-char -1) 
> (while (looking-at "\n") (delete-char 1) (goto-char (point-max)) 
> (forward-char -1)) (write-file out-file)) (org-table-import out-file (quote 
> (16))) (org-babel-reassemble-table (mapcar (lambda (x) (if (string= ... 
> header-delim) (quote hline) x)) (org-table-to-lisp)) (org-babel-pick-name 
> (cdr (assoc :colname-names params)) (cdr (assoc :colnames params))) 
> (org-babel-pick-name (cdr (assoc :rowname-names params)) (cdr (assoc 
> :rownames params)))))))
>   org-babel-execute:sql("select getdate()\ngo" ((:colname-names) 
> (:rowname-names) (:result-params "value" "replace") (:result-type . value) 
> (:comments . "") (:shebang . "") (:cache . "no") (:padline . "") (:noweb . 
> "no") (:tangle . "no") (:exports . "code") (:results . "value replace") 
> (:eval . "yes") (:cmdline . "-S cauchy -U sa -P LpmdlP -d pfi-dev -n -w 700") 
> (:padnewline . "yes") (:hlines . "no") (:session . "none")))
>   funcall(org-babel-execute:sql "select getdate()\ngo" ((:colname-names) 
> (:rowname-names) (:result-params "value" "replace") (:result-type . value) 
> (:comments . "") (:shebang . "") (:cache . "no") (:padline . "") (:noweb . 
> "no") (:tangle . "no") (:exports . "code") (:results . "value replace") 
> (:eval . "yes") (:cmdline . "-S cauchy -U sa -P LpmdlP -d pfi-dev -n -w 700") 
> (:padnewline . "yes") (:hlines . "no") (:session . "none")))
>   ((lambda (result) (if (and (eq (cdr (assoc :result-type params)) (quote 
> value)) (or (member "vector" result-params) (member "table" result-params)) 
> (not (listp result))) (list (list result)) result)) (funcall cmd body params))
>   (setq result ((lambda (result) (if (and (eq (cdr (assoc :result-type 
> params)) (quote value)) (or (member "vector" result-params) (member "table" 
> result-params)) (not (listp result))) (list (list result)) result)) (funcall 
> cmd body params)))
>   (if (and (not arg) new-hash (equal new-hash old-hash)) (save-excursion 
> (goto-char (org-babel-where-is-src-block-result nil info)) (end-of-line 1) 
> (forward-char 1) (setq result (org-babel-read-result)) (message 
> (replace-regexp-in-string "%" "%%" (format "%S" result))) result) (message 
> "executing %s code block%s..." (capitalize lang) (if (nth 4 info) (format " 
> (%s)" (nth 4 info)) "")) (setq result ((lambda (result) (if (and (eq (cdr 
> ...) (quote value)) (or (member "vector" result-params) (member "table" 
> result-params)) (not (listp result))) (list (list result)) result)) (funcall 
> cmd body params))) (when (cdr (assoc :file params)) (when result 
> (with-temp-file (cdr (assoc :file params)) (insert (org-babel-format-result 
> result (cdr (assoc :sep ...)))))) (setq result (cdr (assoc :file params)))) 
> (org-babel-insert-result result result-params info new-hash indent lang) 
> (run-hooks (quote org-babel-after-execute-hook)) result)
>   (progn (fset (quote call-process-region) (function* (lambda (&rest args) 
> (block call-process-region (apply (quote 
> org-babel-tramp-handle-call-process-region) args))))) (flet ((lang-check (f) 
> (let ((f (intern ...))) (when (fboundp f) f)))) (setq cmd (or (lang-check 
> lang) (lang-check (symbol-name (cdr (assoc lang org-src-lang-modes)))) (error 
> "No org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash 
> (equal new-hash old-hash)) (save-excursion (goto-char 
> (org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char 
> 1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string 
> "%" "%%" (format "%S" result))) result) (message "executing %s code 
> block%s..." (capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) 
> "")) (setq result ((lambda (result) (if (and (eq ... ...) (or ... ...) (not 
> ...)) (list (list result)) result)) (funcall cmd body params))) (when (cdr 
> (assoc :file params)) (when result (with-temp-file (cdr (assoc :file params)) 
> (insert (org-babel-format-result result (cdr ...))))) (setq result (cdr 
> (assoc :file params)))) (org-babel-insert-result result result-params info 
> new-hash indent lang) (run-hooks (quote org-babel-after-execute-hook)) 
> result))
>   (unwind-protect (progn (fset (quote call-process-region) (function* (lambda 
> (&rest args) (block call-process-region (apply (quote 
> org-babel-tramp-handle-call-process-region) args))))) (flet ((lang-check (f) 
> (let ((f ...)) (when (fboundp f) f)))) (setq cmd (or (lang-check lang) 
> (lang-check (symbol-name (cdr ...))) (error "No org-babel-execute function 
> for %s!" lang)))) (if (and (not arg) new-hash (equal new-hash old-hash)) 
> (save-excursion (goto-char (org-babel-where-is-src-block-result nil info)) 
> (end-of-line 1) (forward-char 1) (setq result (org-babel-read-result)) 
> (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result) 
> (message "executing %s code block%s..." (capitalize lang) (if (nth 4 info) 
> (format " (%s)" (nth 4 info)) "")) (setq result ((lambda (result) (if (and 
> ... ... ...) (list ...) result)) (funcall cmd body params))) (when (cdr 
> (assoc :file params)) (when result (with-temp-file (cdr (assoc :file params)) 
> (insert (org-babel-format-result result ...)))) (setq result (cdr (assoc 
> :file params)))) (org-babel-insert-result result result-params info new-hash 
> indent lang) (run-hooks (quote org-babel-after-execute-hook)) result)) (if 
> --cl-letf-bound-- (fset (quote call-process-region) --cl-letf-save--) 
> (fmakunbound (quote call-process-region))))
>   (let* ((--cl-letf-bound-- (fboundp (quote call-process-region))) 
> (--cl-letf-save-- (and --cl-letf-bound-- (symbol-function (quote 
> call-process-region))))) (unwind-protect (progn (fset (quote 
> call-process-region) (function* (lambda (&rest args) (block 
> call-process-region (apply ... args))))) (flet ((lang-check (f) (let (...) 
> (when ... f)))) (setq cmd (or (lang-check lang) (lang-check (symbol-name 
> ...)) (error "No org-babel-execute function for %s!" lang)))) (if (and (not 
> arg) new-hash (equal new-hash old-hash)) (save-excursion (goto-char 
> (org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char 
> 1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string 
> "%" "%%" (format "%S" result))) result) (message "executing %s code 
> block%s..." (capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) 
> "")) (setq result ((lambda (result) (if ... ... result)) (funcall cmd body 
> params))) (when (cdr (assoc :file params)) (when result (with-temp-file (cdr 
> ...) (insert ...))) (setq result (cdr (assoc :file params)))) 
> (org-babel-insert-result result result-params info new-hash indent lang) 
> (run-hooks (quote org-babel-after-execute-hook)) result)) (if 
> --cl-letf-bound-- (fset (quote call-process-region) --cl-letf-save--) 
> (fmakunbound (quote call-process-region)))))
>   (letf (((symbol-function (quote call-process-region)) (function* (lambda 
> (&rest args) (block call-process-region (apply (quote 
> org-babel-tramp-handle-call-process-region) args)))))) (flet ((lang-check (f) 
> (let ((f (intern ...))) (when (fboundp f) f)))) (setq cmd (or (lang-check 
> lang) (lang-check (symbol-name (cdr (assoc lang org-src-lang-modes)))) (error 
> "No org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash 
> (equal new-hash old-hash)) (save-excursion (goto-char 
> (org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char 
> 1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string 
> "%" "%%" (format "%S" result))) result) (message "executing %s code 
> block%s..." (capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) 
> "")) (setq result ((lambda (result) (if (and (eq ... ...) (or ... ...) (not 
> ...)) (list (list result)) result)) (funcall cmd body params))) (when (cdr 
> (assoc :file params)) (when result (with-temp-file (cdr (assoc :file params)) 
> (insert (org-babel-format-result result (cdr ...))))) (setq result (cdr 
> (assoc :file params)))) (org-babel-insert-result result result-params info 
> new-hash indent lang) (run-hooks (quote org-babel-after-execute-hook)) 
> result))
>   (letf* (((symbol-function (quote call-process-region)) (function* (lambda 
> (&rest args) (block call-process-region (apply (quote 
> org-babel-tramp-handle-call-process-region) args)))))) (flet ((lang-check (f) 
> (let ((f (intern ...))) (when (fboundp f) f)))) (setq cmd (or (lang-check 
> lang) (lang-check (symbol-name (cdr (assoc lang org-src-lang-modes)))) (error 
> "No org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash 
> (equal new-hash old-hash)) (save-excursion (goto-char 
> (org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char 
> 1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string 
> "%" "%%" (format "%S" result))) result) (message "executing %s code 
> block%s..." (capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) 
> "")) (setq result ((lambda (result) (if (and (eq ... ...) (or ... ...) (not 
> ...)) (list (list result)) result)) (funcall cmd body params))) (when (cdr 
> (assoc :file params)) (when result (with-temp-file (cdr (assoc :file params)) 
> (insert (org-babel-format-result result (cdr ...))))) (setq result (cdr 
> (assoc :file params)))) (org-babel-insert-result result result-params info 
> new-hash indent lang) (run-hooks (quote org-babel-after-execute-hook)) 
> result))
>   (flet ((call-process-region (&rest args) (apply (quote 
> org-babel-tramp-handle-call-process-region) args))) (flet ((lang-check (f) 
> (let ((f (intern ...))) (when (fboundp f) f)))) (setq cmd (or (lang-check 
> lang) (lang-check (symbol-name (cdr (assoc lang org-src-lang-modes)))) (error 
> "No org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash 
> (equal new-hash old-hash)) (save-excursion (goto-char 
> (org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char 
> 1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string 
> "%" "%%" (format "%S" result))) result) (message "executing %s code 
> block%s..." (capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) 
> "")) (setq result ((lambda (result) (if (and (eq ... ...) (or ... ...) (not 
> ...)) (list (list result)) result)) (funcall cmd body params))) (when (cdr 
> (assoc :file params)) (when result (with-temp-file (cdr (assoc :file params)) 
> (insert (org-babel-format-result result (cdr ...))))) (setq result (cdr 
> (assoc :file params)))) (org-babel-insert-result result result-params info 
> new-hash indent lang) (run-hooks (quote org-babel-after-execute-hook)) 
> result))
>   (unwind-protect (flet ((call-process-region (&rest args) (apply (quote 
> org-babel-tramp-handle-call-process-region) args))) (flet ((lang-check (f) 
> (let ((f ...)) (when (fboundp f) f)))) (setq cmd (or (lang-check lang) 
> (lang-check (symbol-name (cdr ...))) (error "No org-babel-execute function 
> for %s!" lang)))) (if (and (not arg) new-hash (equal new-hash old-hash)) 
> (save-excursion (goto-char (org-babel-where-is-src-block-result nil info)) 
> (end-of-line 1) (forward-char 1) (setq result (org-babel-read-result)) 
> (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result) 
> (message "executing %s code block%s..." (capitalize lang) (if (nth 4 info) 
> (format " (%s)" (nth 4 info)) "")) (setq result ((lambda (result) (if (and 
> ... ... ...) (list ...) result)) (funcall cmd body params))) (when (cdr 
> (assoc :file params)) (when result (with-temp-file (cdr (assoc :file params)) 
> (insert (org-babel-format-result result ...)))) (setq result (cdr (assoc 
> :file params)))) (org-babel-insert-result result result-params info new-hash 
> indent lang) (run-hooks (quote org-babel-after-execute-hook)) result)) (setq 
> call-process-region (quote org-babel-call-process-region-original)))
>   (let* ((lang (nth 0 info)) (params (if params (org-babel-process-params 
> (org-babel-merge-params (nth 2 info) params)) (nth 2 info))) (cache\? (and 
> (not arg) (cdr (assoc :cache params)) (string= "yes" (cdr (assoc :cache 
> params))))) (result-params (cdr (assoc :result-params params))) (new-hash 
> (when cache\? (org-babel-sha1-hash info))) (old-hash (when cache\? 
> (org-babel-current-result-hash))) (body (setf (nth 1 info) (let ((noweb (cdr 
> ...))) (if (and noweb (or ... ...)) (org-babel-expand-noweb-references info) 
> (nth 1 info))))) (dir (cdr (assoc :dir params))) (default-directory (or (and 
> dir (file-name-as-directory dir)) default-directory)) 
> (org-babel-call-process-region-original (if (boundp (quote 
> org-babel-call-process-region-original)) 
> org-babel-call-process-region-original (symbol-function (quote 
> call-process-region)))) (indent (car (last info))) result cmd) 
> (unwind-protect (flet ((call-process-region (&rest args) (apply (quote 
> org-babel-tramp-handle-call-process-region) args))) (flet ((lang-check (f) 
> (let (...) (when ... f)))) (setq cmd (or (lang-check lang) (lang-check 
> (symbol-name ...)) (error "No org-babel-execute function for %s!" lang)))) 
> (if (and (not arg) new-hash (equal new-hash old-hash)) (save-excursion 
> (goto-char (org-babel-where-is-src-block-result nil info)) (end-of-line 1) 
> (forward-char 1) (setq result (org-babel-read-result)) (message 
> (replace-regexp-in-string "%" "%%" (format "%S" result))) result) (message 
> "executing %s code block%s..." (capitalize lang) (if (nth 4 info) (format " 
> (%s)" (nth 4 info)) "")) (setq result ((lambda (result) (if ... ... result)) 
> (funcall cmd body params))) (when (cdr (assoc :file params)) (when result 
> (with-temp-file (cdr ...) (insert ...))) (setq result (cdr (assoc :file 
> params)))) (org-babel-insert-result result result-params info new-hash indent 
> lang) (run-hooks (quote org-babel-after-execute-hook)) result)) (setq 
> call-process-region (quote org-babel-call-process-region-original))))
>   (progn (let* ((lang (nth 0 info)) (params (if params 
> (org-babel-process-params (org-babel-merge-params (nth 2 info) params)) (nth 
> 2 info))) (cache\? (and (not arg) (cdr (assoc :cache params)) (string= "yes" 
> (cdr (assoc :cache params))))) (result-params (cdr (assoc :result-params 
> params))) (new-hash (when cache\? (org-babel-sha1-hash info))) (old-hash 
> (when cache\? (org-babel-current-result-hash))) (body (setf (nth 1 info) (let 
> ((noweb ...)) (if (and noweb ...) (org-babel-expand-noweb-references info) 
> (nth 1 info))))) (dir (cdr (assoc :dir params))) (default-directory (or (and 
> dir (file-name-as-directory dir)) default-directory)) 
> (org-babel-call-process-region-original (if (boundp (quote 
> org-babel-call-process-region-original)) 
> org-babel-call-process-region-original (symbol-function (quote 
> call-process-region)))) (indent (car (last info))) result cmd) 
> (unwind-protect (flet ((call-process-region (&rest args) (apply (quote 
> org-babel-tramp-handle-call-process-region) args))) (flet ((lang-check (f) 
> (let ... ...))) (setq cmd (or (lang-check lang) (lang-check ...) (error "No 
> org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash 
> (equal new-hash old-hash)) (save-excursion (goto-char 
> (org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char 
> 1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string 
> "%" "%%" ...)) result) (message "executing %s code block%s..." (capitalize 
> lang) (if (nth 4 info) (format " (%s)" ...) "")) (setq result ((lambda ... 
> ...) (funcall cmd body params))) (when (cdr (assoc :file params)) (when 
> result (with-temp-file ... ...)) (setq result (cdr ...))) 
> (org-babel-insert-result result result-params info new-hash indent lang) 
> (run-hooks (quote org-babel-after-execute-hook)) result)) (setq 
> call-process-region (quote org-babel-call-process-region-original)))))
>   (if (org-babel-confirm-evaluate info) (progn (let* ((lang (nth 0 info)) 
> (params (if params (org-babel-process-params (org-babel-merge-params ... 
> params)) (nth 2 info))) (cache\? (and (not arg) (cdr (assoc :cache params)) 
> (string= "yes" (cdr ...)))) (result-params (cdr (assoc :result-params 
> params))) (new-hash (when cache\? (org-babel-sha1-hash info))) (old-hash 
> (when cache\? (org-babel-current-result-hash))) (body (setf (nth 1 info) (let 
> (...) (if ... ... ...)))) (dir (cdr (assoc :dir params))) (default-directory 
> (or (and dir (file-name-as-directory dir)) default-directory)) 
> (org-babel-call-process-region-original (if (boundp (quote 
> org-babel-call-process-region-original)) 
> org-babel-call-process-region-original (symbol-function (quote 
> call-process-region)))) (indent (car (last info))) result cmd) 
> (unwind-protect (flet ((call-process-region (&rest args) (apply ... args))) 
> (flet ((lang-check ... ...)) (setq cmd (or ... ... ...))) (if (and (not arg) 
> new-hash (equal new-hash old-hash)) (save-excursion (goto-char ...) 
> (end-of-line 1) (forward-char 1) (setq result ...) (message ...) result) 
> (message "executing %s code block%s..." (capitalize lang) (if ... ... "")) 
> (setq result (... ...)) (when (cdr ...) (when result ...) (setq result ...)) 
> (org-babel-insert-result result result-params info new-hash indent lang) 
> (run-hooks (quote org-babel-after-execute-hook)) result)) (setq 
> call-process-region (quote org-babel-call-process-region-original))))))
>   (when (org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) (params 
> (if params (org-babel-process-params (org-babel-merge-params (nth 2 info) 
> params)) (nth 2 info))) (cache\? (and (not arg) (cdr (assoc :cache params)) 
> (string= "yes" (cdr (assoc :cache params))))) (result-params (cdr (assoc 
> :result-params params))) (new-hash (when cache\? (org-babel-sha1-hash info))) 
> (old-hash (when cache\? (org-babel-current-result-hash))) (body (setf (nth 1 
> info) (let ((noweb ...)) (if (and noweb ...) 
> (org-babel-expand-noweb-references info) (nth 1 info))))) (dir (cdr (assoc 
> :dir params))) (default-directory (or (and dir (file-name-as-directory dir)) 
> default-directory)) (org-babel-call-process-region-original (if (boundp 
> (quote org-babel-call-process-region-original)) 
> org-babel-call-process-region-original (symbol-function (quote 
> call-process-region)))) (indent (car (last info))) result cmd) 
> (unwind-protect (flet ((call-process-region (&rest args) (apply (quote 
> org-babel-tramp-handle-call-process-region) args))) (flet ((lang-check (f) 
> (let ... ...))) (setq cmd (or (lang-check lang) (lang-check ...) (error "No 
> org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash 
> (equal new-hash old-hash)) (save-excursion (goto-char 
> (org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char 
> 1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string 
> "%" "%%" ...)) result) (message "executing %s code block%s..." (capitalize 
> lang) (if (nth 4 info) (format " (%s)" ...) "")) (setq result ((lambda ... 
> ...) (funcall cmd body params))) (when (cdr (assoc :file params)) (when 
> result (with-temp-file ... ...)) (setq result (cdr ...))) 
> (org-babel-insert-result result result-params info new-hash indent lang) 
> (run-hooks (quote org-babel-after-execute-hook)) result)) (setq 
> call-process-region (quote org-babel-call-process-region-original)))))
>   (let ((info (or info (org-babel-get-src-block-info)))) (when 
> (org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) (params (if 
> params (org-babel-process-params (org-babel-merge-params ... params)) (nth 2 
> info))) (cache\? (and (not arg) (cdr (assoc :cache params)) (string= "yes" 
> (cdr ...)))) (result-params (cdr (assoc :result-params params))) (new-hash 
> (when cache\? (org-babel-sha1-hash info))) (old-hash (when cache\? 
> (org-babel-current-result-hash))) (body (setf (nth 1 info) (let (...) (if ... 
> ... ...)))) (dir (cdr (assoc :dir params))) (default-directory (or (and dir 
> (file-name-as-directory dir)) default-directory)) 
> (org-babel-call-process-region-original (if (boundp (quote 
> org-babel-call-process-region-original)) 
> org-babel-call-process-region-original (symbol-function (quote 
> call-process-region)))) (indent (car (last info))) result cmd) 
> (unwind-protect (flet ((call-process-region (&rest args) (apply ... args))) 
> (flet ((lang-check ... ...)) (setq cmd (or ... ... ...))) (if (and (not arg) 
> new-hash (equal new-hash old-hash)) (save-excursion (goto-char ...) 
> (end-of-line 1) (forward-char 1) (setq result ...) (message ...) result) 
> (message "executing %s code block%s..." (capitalize lang) (if ... ... "")) 
> (setq result (... ...)) (when (cdr ...) (when result ...) (setq result ...)) 
> (org-babel-insert-result result result-params info new-hash indent lang) 
> (run-hooks (quote org-babel-after-execute-hook)) result)) (setq 
> call-process-region (quote org-babel-call-process-region-original))))))
>   org-babel-execute-src-block(nil ("sql" "select getdate()\ngo" 
> ((:colname-names) (:rowname-names) (:result-params "value" "replace") 
> (:result-type . value) (:comments . "") (:shebang . "") (:cache . "no") 
> (:padline . "") (:noweb . "no") (:tangle . "no") (:exports . "code") 
> (:results . "value replace") (:eval . "yes") (:cmdline . "-S cauchy -U sa -P 
> LpmdlP -d pfi-dev -n -w 700") (:padnewline . "yes") (:hlines . "no") 
> (:session . "none")) "" nil 0))
>   (progn (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block 
> current-prefix-arg info) t)
>   (if info (progn (org-babel-eval-wipe-error-buffer) 
> (org-babel-execute-src-block current-prefix-arg info) t) nil)
>   (let ((info (org-babel-get-src-block-info))) (if info (progn 
> (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block 
> current-prefix-arg info) t) nil))
>   org-babel-execute-src-block-maybe()
>   (or (org-babel-execute-src-block-maybe) (org-babel-lob-execute-maybe))
>   org-babel-execute-maybe()
>   call-interactively(org-babel-execute-maybe)
> #+end_src
>
> Best regards,
>   Seb

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



reply via email to

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