From 4396a8cf2d27c03589a60e14c1eb95a3ba21fff8 Mon Sep 17 00:00:00 2001 From: jao Date: Thu, 23 Jun 2011 00:32:27 +0200 Subject: Avoid (read) breakage (fixes #33090) Autodoc was firing while the REPL was waiting for input of a (read) call, causing all kinds of misbehaviour. We now inhibit autodoc on sending a form for evaluation and re-inhibit it once a prompt is read back again. --- elisp/geiser-autodoc.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'elisp/geiser-autodoc.el') diff --git a/elisp/geiser-autodoc.el b/elisp/geiser-autodoc.el index 88b94a1..550cb16 100644 --- a/elisp/geiser-autodoc.el +++ b/elisp/geiser-autodoc.el @@ -1,6 +1,6 @@ ;; geiser-autodoc.el -- autodoc mode -;; Copyright (C) 2009, 2010 Jose Antonio Ortega Ruiz +;; Copyright (C) 2009, 2010, 2011 Jose Antonio Ortega Ruiz ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the Modified BSD License. You should @@ -180,6 +180,12 @@ when `geiser-autodoc-display-module-p' is on." (and geiser-autodoc--inhibit-function (funcall geiser-autodoc--inhibit-function))) +(defsubst geiser-autodoc--inhibit-autodoc () + (setq geiser-autodoc--inhibit-function (lambda () t))) + +(defsubst geiser-autodoc--disinhibit-autodoc () + (setq geiser-autodoc--inhibit-function nil)) + (defsubst geiser-autodoc--autodoc-at-point () (geiser-autodoc--autodoc (geiser-syntax--scan-sexps))) -- cgit v1.2.3