anchor.diff:      (error "Last operation was not a yank!"))
     (yank-prev *kill-ring* *buffer* *insert-extent*))
   
  +;; Transposing (taken from climacs)
  +
  +(defun at-beginning-of-buffer-p (buffer)
  +  (and (first-line-p (line (point buffer)))
  +       (zerop (pos (point buffer)))))
  +
  +(defun at-end-of-line-p (buffer)
  +  (multiple-value-bind (line pos) (location* (point buffer))
  +    (declare (ignore line))
  +    (multiple-value-bind (eoline eolpos) (end-of-line* buffer)
  +      (declare (ignore eoline))
  +      (= eolpos pos))))
  +
  +(defun cmd-transpose-chars (&key &allow-other-keys)
  +  (unless (at-beginning-of-buffer-p *buffer*)
  +    (with-point (*buffer*)
  +      (when (at-end-of-line-p *buffer*)
  +        (backward-character))
  +      (let ((object (char-ref *buffer* (point *buffer*))))
  +        (delete-char *buffer*)
  +        (backward-character)
  +        (insert *buffer* object)))))
  +
   ;; Line motion
   
   (defun up-line (&key &allow-other-keys)
  
positive.code: (add-gesture-command-to-table '(:right :meta)
  			      'forward-word
  			      *simple-area-gesture-table*)
  
  (add-gesture-command-to-table '(#\b :meta)
  			      'backward-word
  
negative.code: 
  (add-gesture-command-to-table '(#\y :control)
  			      'cmd-yank
  			      *simple-area-gesture-table*)
  
  (add-gesture-command-to-table '(#\t :control)
  			      'cmd-transpose-chars
  			      *simple-area-gesture-table*)
  
  #+nil
  