Changeset 740


Ignore:
Timestamp:
Mar 27, 2004, 2:53:56 AM (21 years ago)
Author:
Gary Byers
Message:

Update the selection before grabbing the next key-event. Timed-wait on next
event, for EDITOR-SLEEP.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/hemlock/src/cocoa-hemlock.lisp

    r702 r740  
    1919
    2020(defun dequeue-key-event (q)
     21  (unless (listen-editor-input q)
     22    (let* ((document (buffer-document (current-buffer))))
     23      (when document
     24        (document-set-point-position document))))
    2125  (ccl::wait-on-semaphore (frame-event-queue-signal q))
    2226  (ccl::locked-dll-header-dequeue q))
     27
    2328
    2429(defun unget-key-event (event q)
     
    2732  (ccl::signal-semaphore (frame-event-queue-signal q)))
    2833
     34(defun timed-wait-for-key-event (q seconds)
     35  (let* ((signal (frame-event-queue-signal q)))
     36    (when (ccl:timed-wait-on-semaphore signal seconds)
     37      (ccl:signal-semaphore signal)
     38      t)))
    2939
    3040
     
    6474  (declare (ignore ignore-pending-aborts))
    6575  (do* ((e (dequeue-key-event q) (dequeue-key-event q)))
    66        ((typep e 'hemlock-ext:key-event)
     76       ((typep e 'hemlock-ext:key-event)       
    6777        (setq *last-key-event-typed* e))
    6878    (if (typep e 'buffer-operation)
Note: See TracChangeset for help on using the changeset viewer.