Selaa lähdekoodia

ob-shell: compatibility fix for "Marker does not point anywhere" errors in Emacs 23

* lisp/ob-shell.el (org-babel-sh-initiate-session): After initiating a
  session, initialize the marker `comint-last-output-start' since it
  is going to be used by the ANSI color filter without further checks
  in Emacs 23 and throws an error.
Achim Gratz 10 vuotta sitten
vanhempi
commit
7d8523d9d1
1 muutettua tiedostoa jossa 7 lisäystä ja 1 poistoa
  1. 7 1
      lisp/ob-shell.el

+ 7 - 1
lisp/ob-shell.el

@@ -175,7 +175,13 @@ Emacs-lisp table, otherwise return the results as a string."
   (when (and session (not (string= session "none")))
     (save-window-excursion
       (or (org-babel-comint-buffer-livep session)
-          (progn (shell session) (get-buffer (current-buffer)))))))
+          (progn
+	    (shell session)
+	    ; Needed for Emacs 23 since the marker is initially
+	    ; undefined and the filter functions try to use it without
+	    ; checking.
+	    (set-mark comint-last-output-start (point))
+	    (get-buffer (current-buffer)))))))
 
 (defvar org-babel-sh-eoe-indicator "echo 'org_babel_sh_eoe'"
   "String to indicate that evaluation has completed.")