Преглед на файлове

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 години
родител
ревизия
7d8523d9d1
променени са 1 файла, в които са добавени 7 реда и са изтрити 1 реда
  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.")