From e5357e6dcd221ba734423c68dc7a823c034d49d2 Mon Sep 17 00:00:00 2001 From: jao Date: Wed, 29 Dec 2021 00:32:08 +0000 Subject: geiser-eval-wait -> geiser-wait-eval (and make it work) --- elisp/geiser-eval.el | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'elisp/geiser-eval.el') diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el index 424d8e2..abf0b5c 100644 --- a/elisp/geiser-eval.el +++ b/elisp/geiser-eval.el @@ -1,4 +1,4 @@ -;;; geiser-eval.el -- sending scheme code for evaluation +;;; geiser-eval.el -- sending scheme code for evaluation -*- lexical-binding: t; -*- ;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2015, 2021 Jose Antonio Ortega Ruiz @@ -137,12 +137,19 @@ module-exports, autodoc, callers, callees and generic-methods.") (defsubst geiser-eval--code-str (code) (if (stringp code) code (geiser-eval--scheme-str code))) +(defvar geiser-eval--async-retort nil) (defsubst geiser-eval--send (code cont &optional buffer) + (setq geiser-eval--async-retort nil) (geiser-con--send-string (geiser-eval--connection) (geiser-eval--code-str code) - cont + (lambda (s) + (setq geiser-eval--async-retort s) + (funcall cont s)) buffer)) +(defun geiser-eval--wait (req timeout) + (or (geiser-con--wait req timeout) geiser-eval--async-retort)) + (defvar geiser-eval--sync-retort nil) (defun geiser-eval--set-sync-retort (s) (setq geiser-eval--sync-retort (geiser-eval--log s))) -- cgit v1.2.3