summaryrefslogtreecommitdiff
path: root/chess-engine.el
diff options
context:
space:
mode:
Diffstat (limited to 'chess-engine.el')
-rw-r--r--chess-engine.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/chess-engine.el b/chess-engine.el
index 5304cc4..caf9a7b 100644
--- a/chess-engine.el
+++ b/chess-engine.el
@@ -11,6 +11,11 @@
"Code for reading movements and other commands from an engine."
:group 'chess)
+(defvar chess-engine-entire-lines nil
+ "If non-nil, `chee-engine-filter' will process output only if it is
+terminated by a final newline.")
+(make-variable-buffer-local 'chess-engine-entire-lines)
+
(defvar chess-engine-regexp-alist nil)
(defvar chess-engine-response-handler nil)
(defvar chess-engine-current-marker nil)
@@ -422,7 +427,9 @@ event handler can take care of the data."
(set-marker chess-engine-current-marker (point)))
(if moving (goto-char chess-engine-current-marker))))
(when (and (not chess-engine-working)
- (memq (char-before chess-engine-current-marker) '(?\n ?\r)))
+ (or (not chess-engine-entire-lines)
+ (memq (char-before chess-engine-current-marker)
+ '(?\n ?\r))))
(setq chess-engine-working t)
(save-excursion
(if chess-engine-last-pos