Update of /project/climacs/cvsroot/climacs In directory common-lisp.net:/tmp/cvs-serv30026
Modified Files: gui.lisp Log Message: implemented transpose-objects (C-t) according to a suggestion by Christophe Rhodes. Applied some code factoring to his initial suggestion.
Date: Sat Jan 1 14:25:19 2005 Author: rstrandh
Index: climacs/gui.lisp diff -u climacs/gui.lisp:1.41 climacs/gui.lisp:1.42 --- climacs/gui.lisp:1.41 Sat Jan 1 13:55:01 2005 +++ climacs/gui.lisp Sat Jan 1 14:25:19 2005 @@ -230,6 +230,17 @@ (define-named-command com-backward-delete-object () (delete-range (point (win *application-frame*)) -1))
+(define-named-command com-transpose-objects () + (let* ((point (point (win *application-frame*)))) + (unless (beginning-of-buffer-p point) + (when (end-of-line-p point) + (decf (offset point))) + (let ((object (object-after point))) + (delete-range point) + (decf (offset point)) + (insert-object point object) + (incf (offset point)))))) + (define-named-command com-previous-line () (previous-line (point (win *application-frame*))))
@@ -503,6 +514,7 @@ (global-set-key '(#\n :control) 'com-next-line) (global-set-key '(#\o :control) 'com-open-line) (global-set-key '(#\k :control) 'com-kill-line) +(global-set-key '(#\t :control) 'com-transpose-objects) (global-set-key '(#\Space :control) 'com-set-mark) (global-set-key '(#\y :control) 'com-copy-in) (global-set-key '(#\w :control) 'com-cut-out)