Browse Source

allow comments between code blocks and un-named res

* lisp/ob-core.el (org-babel-where-is-src-block-result): Allow comments
  between code blocks and un-named results.
Eric Schulte 12 years ago
parent
commit
a461b0a444
1 changed files with 19 additions and 14 deletions
  1. 19 14
      lisp/ob-core.el

+ 19 - 14
lisp/ob-core.el

@@ -1807,21 +1807,26 @@ following the source block."
 	  (progn (end-of-line 1)
 		 (if (eobp) (insert "\n") (forward-char 1))
 		 (setq end (point))
-		 (or (and (not name)
-			  (progn ;; unnamed results line already exists
-			    (re-search-forward "[^ \f\t\n\r\v]" nil t)
+		 (or (and
+		      (not name)
+		      (progn ;; unnamed results line already exists
+			(catch 'non-comment
+			  (while (re-search-forward "[^ \f\t\n\r\v]" nil t)
 			    (beginning-of-line 1)
-			    (looking-at
-			     (concat org-babel-result-regexp "\n")))
-			  (let ((this-hash (match-string 5)))
-			    (prog1 (point)
-			      ;; must remove and rebuild if hash!=old-hash
-			      (if (and hash (not (string= hash this-hash)))
-				  (prog1 nil
-				    (forward-line 1)
-				    (delete-region
-				     end (org-babel-result-end)))
-				(setq end nil)))))))))))
+			    (cond
+			     ((looking-at (concat org-babel-result-regexp "\n"))
+			      (throw 'non-comment t))
+			     ((looking-at "^[ \t]*#") (end-of-line 1))
+			     (t (throw 'non-comment nil))))))
+		      (let ((this-hash (match-string 5)))
+			(prog1 (point)
+			  ;; must remove and rebuild if hash!=old-hash
+			  (if (and hash (not (string= hash this-hash)))
+			      (prog1 nil
+				(forward-line 1)
+				(delete-region
+				 end (org-babel-result-end)))
+			    (setq end nil)))))))))))
       (if (not (and insert end)) found
 	(goto-char end)
 	(unless beg