]> git.eshelyaron.com Git - emacs.git/commitdiff
* textmodes/picture.el (picture-mouse-set-point): New command.
authorJohn Paul Wallington <jpw@pobox.com>
Sat, 26 Oct 2002 22:40:40 +0000 (22:40 +0000)
committerJohn Paul Wallington <jpw@pobox.com>
Sat, 26 Oct 2002 22:40:40 +0000 (22:40 +0000)
(picture-mode-map): Bind it.
(picture-motion-reverse): Doc fix.

lisp/ChangeLog
lisp/textmodes/picture.el

index 84368bbfc02670e673750f6625b737168fda1fa5..26a05c06a61472cd86db10372a84377e62f6b158 100644 (file)
@@ -3,6 +3,12 @@
        * pcvs.el (cvs-checkout): Use read-directory-name.
        (cvs-query-directory): Likewise.
 
+2002-10-26  John Paul Wallington  <jpw@shootybangbang.com>
+
+       * textmodes/picture.el (picture-mouse-set-point): New command.
+       (picture-mode-map): Bind it.
+       (picture-motion-reverse): Doc fix.
+
 2002-10-25  Stefan Monnier  <monnier@cs.yale.edu>
 
        * textmodes/outline.el (outline-next-heading): Make sure the match-data
index e3a5a89f07933521db9c9d47817267d00fa54e4a..031341e75e099432cdc8a1c72cad017945406e64 100644 (file)
@@ -1,6 +1,6 @@
 ;;; picture.el --- "Picture mode" -- editing using quarter-plane screen model
 
-;; Copyright (C) 1985, 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1994, 2002 Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
 ;; Maintainer: FSF
@@ -222,10 +222,22 @@ Do \\[command-apropos]  picture-movement  to see commands which control motion."
   "Move point in direction opposite of current picture motion in Picture mode.
 With ARG do it that many times.  Useful for delineating rectangles in
 conjunction with diagonal picture motion.
-Do \\[command-apropos] `picture-movement' to see commands which control motion."
+Do \\[command-apropos]  picture-movement  to see commands which control motion."
   (interactive "p")
   (picture-motion (- arg)))
 
+(defun picture-mouse-set-point (event)
+  "Move point to the position clicked on, making whitespace if necessary."
+  (interactive "e")
+  (let* ((pos (posn-col-row (event-start event)))
+        (x (car pos))
+        (y (cdr pos))
+        (current-row (count-lines (window-start) (line-beginning-position))))
+    (unless (equal x (current-column))
+      (picture-forward-column (- x (current-column))))
+    (unless (equal y current-row)
+      (picture-move-down (- y current-row)))))
+
 \f
 ;; Picture insertion and deletion.
 
@@ -602,6 +614,7 @@ Leaves the region surrounding the rectangle."
       (picture-substitute 'previous-line 'picture-move-up)
       (picture-substitute 'beginning-of-line 'picture-beginning-of-line)
       (picture-substitute 'end-of-line 'picture-end-of-line)
+      (picture-substitute 'mouse-set-point 'picture-mouse-set-point)
 
       (define-key picture-mode-map "\C-c\C-d" 'delete-char)
       (define-key picture-mode-map "\e\t" 'picture-toggle-tab-state)