Changeset 773
- Timestamp:
- Apr 13, 2004, 12:17:47 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/hemlock/src/cocoa-hemlock.lisp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/hemlock/src/cocoa-hemlock.lisp
r760 r773 13 13 (thunk nil)) 14 14 15 (defstruct (event-queue-node (:include ccl::dll-node)) 16 event) 17 18 (defun event-queue-insert (q node) 19 (ccl::locked-dll-header-enqueue node q) 20 (ccl::signal-semaphore (frame-event-queue-signal q))) 15 21 16 22 (defun enqueue-key-event (q event) 17 (ccl::locked-dll-header-enqueue event q) 18 (ccl::signal-semaphore (frame-event-queue-signal q))) 23 (event-queue-insert q (make-event-queue-node :event event))) 19 24 20 25 (defun dequeue-key-event (q) … … 29 34 (defun unget-key-event (event q) 30 35 (ccl::with-locked-dll-header (q) 31 (ccl::insert-dll-node-after eventq))36 (ccl::insert-dll-node-after (make-event-queue-node event) q)) 32 37 (ccl::signal-semaphore (frame-event-queue-signal q))) 33 38 … … 74 79 75 80 (defmacro abort-key-event-p (key-event) 76 `(member ,key-eventeditor-abort-key-events))81 `(member (event-queue-node-event ,key-event) editor-abort-key-events)) 77 82 78 83 79 84 (defun get-key-event (q &optional ignore-pending-aborts) 80 85 (do* ((e (dequeue-key-event q) (dequeue-key-event q))) 81 ((typep e ' hemlock-ext:key-event)86 ((typep e 'event-queue-node) 82 87 (unless ignore-pending-aborts 83 88 (when (abort-key-event-p e) 84 89 (beep) 85 90 (throw 'editor-top-level-catcher nil))) 86 (setq *last-key-event-typed* e))91 (setq *last-key-event-typed* (event-queue-node-event e))) 87 92 (if (typep e 'buffer-operation) 88 93 (funcall (buffer-operation-thunk e)))))
Note:
See TracChangeset
for help on using the changeset viewer.
