anchor.diff:          (log:debug key-string keycode character keyval-name modifiers)
           (log:debug key-string keycode character keyval-name))
       (when (prompt-buffer-p buffer)
  -      (run-thread "Prompt updater"
  -        ;; Rebind prompt-buffer to ensure the watcher does not mix up the
  -        ;; different prompt-buffers.
  -        (let ((prompt-buffer buffer))
  -          (update-prompt-input prompt-buffer))))
  +      (update-prompt buffer))
       (if key-string
           (progn
             (alex:appendf (key-stack sender)
  
positive.code:          (key-string (format nil "button~s" button))
           (modifiers (funcall (modifier-translator *browser*)
                               (button-event-modifiers event)
                               event)))
      (when key-string
        (alex:appendf (key-stack window)
                      (list (keymap:make-key
  
negative.code:           (character character))
        (setf (gtk:gtk-entry-text (key-string-buffer window)) ""))))
  
  (defun update-prompt (buffer)
    (run-thread "Prompt updater"
      ;; Rebind prompt-buffer to ensure the watcher does not mix up the
      ;; different prompt-buffers.
      (let ((prompt-buffer buffer))
        (update-prompt-input prompt-buffer))))
  
  (define-ffi-method on-signal-key-press-event ((sender gtk-window) event)
    (let* ((keycode (gdk:gdk-event-key-hardware-keycode event))
           (keyval (gdk:gdk-event-key-keyval event))
  