mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-12-28 10:56:57 +00:00
Bug fix in ob-emacs-lisp.el.
* lisp/ob-emacs-lisp.el: A comment on the last line of an emacs-lisp code block would cause an error when the block is was executed. This fix cures this behaviour. * testing/lisp/test-ob-emacs-lisp.el: Regression tests for the above fix.
This commit is contained in:
parent
d35c79aca9
commit
3096cc3b61
@ -41,13 +41,13 @@
|
||||
(result-params (cdr (assoc :result-params params)))
|
||||
(print-level nil) (print-length nil)
|
||||
(body (if (> (length vars) 0)
|
||||
(concat "(let ("
|
||||
(mapconcat
|
||||
(lambda (var)
|
||||
(format "%S" (print `(,(car var) ',(cdr var)))))
|
||||
vars "\n ")
|
||||
")\n" body ")")
|
||||
body)))
|
||||
(concat "(let ("
|
||||
(mapconcat
|
||||
(lambda (var)
|
||||
(format "%S" (print `(,(car var) ',(cdr var)))))
|
||||
vars "\n ")
|
||||
")\n" body "\n)")
|
||||
(concat body "\n"))))
|
||||
(if (or (member "code" result-params)
|
||||
(member "pp" result-params))
|
||||
(concat "(pp " body ")") body)))
|
||||
|
82
testing/lisp/test-ob-emacs-lisp.el
Normal file
82
testing/lisp/test-ob-emacs-lisp.el
Normal file
@ -0,0 +1,82 @@
|
||||
;;; test-ob-emacs-lisp.el
|
||||
|
||||
;; Copyright (c) 2012 Free Software Foundation, Inc.
|
||||
;; Authors: Eric Schulte, Martyn Jago
|
||||
|
||||
;; Released under the GNU General Public License version 3
|
||||
;; see: http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
;;;; Comments:
|
||||
|
||||
;; Org-mode tests for ob-emacs-lisp.el live here
|
||||
|
||||
|
||||
;;; Code:
|
||||
|
||||
(let ((load-path (cons (expand-file-name
|
||||
".." (file-name-directory
|
||||
(or load-file-name buffer-file-name)))
|
||||
load-path)))
|
||||
(require 'org-test)
|
||||
(require 'org-test-ob-consts))
|
||||
|
||||
|
||||
;;; Tests
|
||||
|
||||
(ert-deftest ob-emacs-lisp/commented-last-block-line-no-var ()
|
||||
(org-test-with-temp-text-in-file "
|
||||
#+begin_src emacs-lisp
|
||||
;;
|
||||
#+end_src"
|
||||
(progn
|
||||
(org-babel-next-src-block)
|
||||
(org-ctrl-c-ctrl-c)
|
||||
(should (re-search-forward "results:" nil t))
|
||||
(forward-line)
|
||||
(should
|
||||
(string=
|
||||
""
|
||||
(buffer-substring-no-properties (point-at-bol) (point-at-eol))))))
|
||||
(org-test-with-temp-text-in-file "
|
||||
#+begin_src emacs-lisp
|
||||
\"some text\";;
|
||||
#+end_src"
|
||||
|
||||
(progn
|
||||
(org-babel-next-src-block)
|
||||
(org-ctrl-c-ctrl-c)
|
||||
(should (re-search-forward "results:" nil t))
|
||||
(forward-line)
|
||||
(should
|
||||
(string=
|
||||
": some text"
|
||||
(buffer-substring-no-properties (point-at-bol) (point-at-eol)))))))
|
||||
|
||||
(ert-deftest ob-emacs-lisp/commented-last-block-line-with-var ()
|
||||
(org-test-with-temp-text-in-file "
|
||||
#+begin_src emacs-lisp :var a=1
|
||||
;;
|
||||
#+end_src"
|
||||
(progn
|
||||
(org-babel-next-src-block)
|
||||
(org-ctrl-c-ctrl-c)
|
||||
(re-search-forward "results" nil t)
|
||||
(forward-line)
|
||||
(should (string=
|
||||
""
|
||||
(buffer-substring-no-properties (point-at-bol) (point-at-eol))))))
|
||||
(org-test-with-temp-text-in-file "
|
||||
#+begin_src emacs-lisp :var a=2
|
||||
2;;
|
||||
#+end_src"
|
||||
(progn
|
||||
(org-babel-next-src-block)
|
||||
(org-ctrl-c-ctrl-c)
|
||||
(re-search-forward "results" nil t)
|
||||
(forward-line)
|
||||
(should (string=
|
||||
": 2"
|
||||
(buffer-substring-no-properties (point-at-bol) (point-at-eol)))))))
|
||||
(provide 'test-ob-emacs-lisp)
|
||||
|
||||
;;; test-ob-emacs-lisp.el ends here
|
Loading…
Reference in New Issue
Block a user