Ver Fonte

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 há 10 anos atrás
pai
commit
7d8523d9d1
1 ficheiros alterados com 7 adições e 1 exclusões
  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.")