[lice @ simulate interrupt key when waiting for input]
[lice.git] / recursive-edit.lisp
blob9cbc1e6915af36cb21169b88f19403ffb0fd5dcc
1 ;;; Implement the recursive edit.
3 (in-package :lice)
5 (defvar *recursive-edit-depth* 0
6 "The current recursive-edit depth.")
8 ;; TODO: Restore the window/buffer layout
9 (defun recursive-edit ()
10 (let* ((*recursive-edit-depth* (1+ *recursive-edit-depth*))
11 ;; reset the command keys for the recursive edit
12 (*this-command-keys* nil)
13 (ret (catch 'exit
14 (with-lice-debugger
15 (loop
16 (frame-render (selected-frame))
17 (next-event))))))
18 ;; return the ret val.
19 (dformat +debug-v+ "ret ~a~%" ret)
20 (when ret
21 (signal 'quit))))
23 (provide :lice-0.1/recursive-edit)