ob-sh: don't insert extra newlines in the beginning of the body

* lisp/ob-sh.el (org-babel-expand-body:sh): don't insert extra
  newlines in expanded shell bodies
This commit is contained in:
Eric Schulte 2010-10-14 08:10:23 -06:00
parent 38df64b4f6
commit b04265eabc
2 changed files with 35 additions and 1 deletions

View File

@ -56,7 +56,7 @@ This will be passed to `shell-command-on-region'")
(format "%s=%s"
(car pair)
(org-babel-sh-var-to-sh (cdr pair) sep)))
vars "\n") "\n" body "\n\n")))
vars "\n") (if vars "\n" "") body "\n\n")))
(defun org-babel-execute:sh (body params)
"Execute a block of Shell commands with Babel.

View File

@ -0,0 +1,34 @@
;;; test-ob-sh.el
;; Copyright (c) 2010 Eric Schulte
;; Authors: Eric Schulte
;; Released under the GNU General Public License version 3
;; see: http://www.gnu.org/licenses/gpl-3.0.html
;;;; Comments:
;; Template test file for Org-mode tests
;;; 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 test-ob-sh/dont-insert-spaces-on-expanded-bodies ()
"Expanded shell bodies should not start with a blank line
unless the body of the tangled block does."
(should-not (string-match "^[\n\r][\t ]*[\n\r]"
(org-babel-expand-body:sh "echo 2" '())))
(should (string-match "^[\n\r][\t ]*[\n\r]"
(org-babel-expand-body:sh "\n\necho 2" '()))))
(provide 'test-ob-sh)
;;; test-ob-sh.el ends here