[lice @ more rearranging. define-key modifications to accomodate bindings.lisp. this...
[lice.git] / src / recursive-edit.lisp
blob401e2fcd644c09fb3883d6d2307cc7be466a0af6
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 ;; restore the last command
14 (*last-command* *last-command*)
15 (ret (catch 'exit
16 ;;(with-lice-debugger
17 (loop
18 (frame-render (selected-frame))
19 (top-level-next-event)))))
20 ;; return the ret val.
21 (dformat +debug-v+ "ret ~a~%" ret)
22 (when ret
23 (signal 'quit))))
25 (provide :lice-0.1/recursive-edit)