Mercurial > hg > xemacs-beta
comparison lisp/mouse.el @ 793:e38acbeb1cae
[xemacs-hg @ 2002-03-29 04:46:17 by ben]
lots o' fixes
etc/ChangeLog: New file.
Separated out all entries for etc/ into their own ChangeLog.
Includes entries for the following files:
etc/BABYL, etc/BETA, etc/CHARSETS, etc/DISTRIB, etc/Emacs.ad,
etc/FTP, etc/GNUS-NEWS, etc/GOATS, etc/HELLO, etc/INSTALL,
etc/MACHINES, etc/MAILINGLISTS, etc/MSDOS, etc/MYTHOLOGY, etc/NEWS,
etc/OXYMORONS, etc/PACKAGES, etc/README, etc/TUTORIAL,
etc/TUTORIAL.de, etc/TUTORIAL.ja, etc/TUTORIAL.ko, etc/TUTORIAL.se,
etc/aliases.ksh, etc/altrasoft-logo.xpm, etc/check_cygwin_setup.sh,
etc/custom/example-themes/europe-theme.el,
etc/custom/example-themes/ex-custom-file,
etc/custom/example-themes/example-theme.el, etc/e/eterm.ti,
etc/edt-user.doc, etc/enriched.doc, etc/etags.1, etc/gnuserv.1,
etc/gnuserv.README, etc/package-index.LATEST.gpg,
etc/package-index.LATEST.pgp, etc/photos/jan.png, etc/recycle.xpm,
etc/refcard.tex, etc/sample.Xdefaults, etc/sample.emacs,
etc/sgml/CATALOG, etc/sgml/HTML32.dtd, etc/skk/SKK.tut.E,
etc/smilies/Face_ase.xbm, etc/smilies/Face_ase2.xbm,
etc/smilies/Face_ase3.xbm, etc/smilies/Face_smile.xbm,
etc/smilies/Face_weep.xbm, etc/sounds, etc/toolbar,
etc/toolbar/workshop-cap-up.xpm, etc/xemacs-ja.1, etc/xemacs.1,
etc/yow.lines, etc\BETA, etc\NEWS, etc\README, etc\TUTORIAL,
etc\TUTORIAL.de, etc\check_cygwin_setup.sh, etc\sample.init.el,
etc\unicode\README, etc\unicode\mule-ucs\*, etc\unicode\other\*
unicode/unicode-consortium/8859-16.TXT: New file.
mule/english.el: Define this charset now, since a bug was fixed that formerly
prevented it.
mule/ethio-util.el: Fix compile errors involving Unicode `characters', which should be
integers.
Makefile.in.in: Always include gui.c, to fix compile error when TTY-only.
EmacsFrame.c, abbrev.c, alloc.c, buffer.c, buffer.h, bytecode.c, bytecode.h, callint.c, callproc.c, casetab.c, casetab.h, charset.h, chartab.c, chartab.h, cmds.c, console-msw.c, console-msw.h, console-tty.c, console-x.c, console-x.h, console.c, console.h, data.c, database.c, device-gtk.c, device-msw.c, device-x.c, device.c, device.h, dialog-msw.c, doc.c, doprnt.c, dumper.c, dynarr.c, editfns.c, eldap.c, eldap.h, elhash.c, elhash.h, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, event-tty.c, event-unixoid.c, events.c, events.h, extents.c, extents.h, faces.c, faces.h, file-coding.c, file-coding.h, fileio.c, filelock.c, fns.c, frame-gtk.c, frame-msw.c, frame-tty.c, frame-x.c, frame.c, frame.h, free-hook.c, general-slots.h, glyphs-eimage.c, glyphs-gtk.c, glyphs-msw.c, glyphs-widget.c, glyphs-x.c, glyphs.c, glyphs.h, gpmevent.c, gtk-xemacs.c, gui-msw.c, gui-x.c, gui-x.h, gui.c, gui.h, gutter.c, gutter.h, indent.c, input-method-xlib.c, insdel.c, keymap.c, keymap.h, lisp-disunion.h, lisp-union.h, lisp.h, lread.c, lrecord.h, lstream.c, lstream.h, marker.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, mule-canna.c, mule-ccl.c, mule-charset.c, mule-wnnfns.c, native-gtk-toolbar.c, objects-msw.c, objects-tty.c, objects-x.c, objects.c, objects.h, opaque.c, opaque.h, postgresql.c, postgresql.h, print.c, process-unix.c, process.c, process.h, rangetab.c, rangetab.h, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-tty.c, redisplay-x.c, redisplay.c, scrollbar-gtk.c, scrollbar-msw.c, scrollbar-x.c, scrollbar.c, scrollbar.h, search.c, select-gtk.c, select-x.c, sound.c, specifier.c, specifier.h, strftime.c, symbols.c, symeval.h, syntax.h, text.c, text.h, toolbar-common.c, toolbar-msw.c, toolbar.c, toolbar.h, tooltalk.c, tooltalk.h, ui-gtk.c, ui-gtk.h, undo.c, vm-limit.c, window.c, window.h: Eliminate XSETFOO. Replace all usages with wrap_foo().
Make symbol->name a Lisp_Object, not Lisp_String *. Eliminate
nearly all uses of Lisp_String * in favor of Lisp_Object, and
correct macros so most of them favor Lisp_Object.
Create new error-behavior ERROR_ME_DEBUG_WARN -- output warnings,
but at level `debug' (usually ignored). Use it when instantiating
specifiers, so problems can be debugged. Move
log-warning-minimum-level into C so that we can optimize
ERROR_ME_DEBUG_WARN.
Fix warning levels consistent with new definitions.
Add default_ and parent fields to char table; not yet implemented.
New fun Dynarr_verify(); use for further error checking on Dynarrs.
Rearrange code at top of lisp.h in conjunction with dynarr changes.
Fix eifree(). Use Eistrings in various places
(format_event_object(), where_is_to_char(), and callers thereof)
to avoid fixed-size strings buffers. New fun write_eistring().
Reindent and fix GPM code to follow standards.
Set default MS Windows font to Lucida Console (same size as
Courier New but less interline spacing, so more lines fit).
Increase default frame size on Windows to 50 lines. (If that's too
big for the workspace, the frame will be shrunk as necessary.)
Fix problem with text files with no newlines (). (Change
`convert-eol' coding system to use `nil' for autodetect,
consistent with make-coding-system.)
Correct compile warnings in vm-limit.c.
Fix handling of reverse-direction charsets to avoid errors when
opening (e.g.) mule-ucs/lisp/reldata/uiso8859-6.el.
Recode some object printing methods to use write_fmt_string()
instead of a fixed buffer and sprintf.
Turn on display of png comments as warnings (level `info'), now
that they're unobtrusive.
Revamped the sound documentation.
Fixed bug in redisplay w.r.t. hscroll/truncation/continuation
glyphs causing jumping up and down of the lines, since they're
bigger than the line size. (It was seen most obviously when
there's a horizontal scroll bar, e.g. do C-h a glyph or something
like that.) The problem was that the glyph-contrib-p setting on
glyphs was ignored even if it was set properly, which it wasn't
until now.
author | ben |
---|---|
date | Fri, 29 Mar 2002 04:49:13 +0000 |
parents | 2923009caf47 |
children | e17beacca645 |
comparison
equal
deleted
inserted
replaced
792:4e83fdb13eb9 | 793:e38acbeb1cae |
---|---|
1 ;;; mouse.el --- window system-independent mouse support. | 1 ;;; mouse.el --- window system-independent mouse support. |
2 | 2 |
3 ;; Copyright (C) 1988, 1992-4, 1997 Free Software Foundation, Inc. | 3 ;; Copyright (C) 1988, 1992-4, 1997 Free Software Foundation, Inc. |
4 ;; Copyright (C) 1995 Tinker Systems | 4 ;; Copyright (C) 1995 Tinker Systems |
5 ;; Copyright (C) 1995, 1996, 2000 Ben Wing. | 5 ;; Copyright (C) 1995, 1996, 2000, 2002 Ben Wing. |
6 | 6 |
7 ;; Maintainer: XEmacs Development Team | 7 ;; Maintainer: XEmacs Development Team |
8 ;; Keywords: mouse, dumped | 8 ;; Keywords: mouse, dumped |
9 | 9 |
10 ;; This file is part of XEmacs. | 10 ;; This file is part of XEmacs. |
43 | 43 |
44 (provide 'mouse) | 44 (provide 'mouse) |
45 | 45 |
46 (global-set-key 'button1 'mouse-track) | 46 (global-set-key 'button1 'mouse-track) |
47 (global-set-key '(shift button1) 'mouse-track-adjust) | 47 (global-set-key '(shift button1) 'mouse-track-adjust) |
48 (global-set-key '(meta button1) 'mouse-track-by-lines) | |
49 (global-set-key '(meta shift button1) 'mouse-track-adjust-by-lines) | |
48 (global-set-key '(control button1) 'mouse-track-insert) | 50 (global-set-key '(control button1) 'mouse-track-insert) |
49 (global-set-key '(control shift button1) 'mouse-track-delete-and-insert) | 51 (global-set-key '(control shift button1) 'mouse-track-delete-and-insert) |
50 (global-set-key '(meta button1) 'mouse-track-do-rectangle) | 52 (global-set-key '(meta control button1) 'mouse-track-insert-by-lines) |
53 (global-set-key '(meta shift control button1) | |
54 'mouse-track-delete-and-insert-by-lines) | |
51 (global-set-key 'button2 'mouse-track) | 55 (global-set-key 'button2 'mouse-track) |
56 (global-set-key '(meta button2) 'mouse-track-do-rectangle) | |
52 | 57 |
53 (defgroup mouse nil | 58 (defgroup mouse nil |
54 "Window system-independent mouse support." | 59 "Window system-independent mouse support." |
55 :group 'editing) | 60 :group 'editing) |
56 | 61 |
82 | 87 |
83 (defvar mouse-yank-function 'mouse-consolidated-yank | 88 (defvar mouse-yank-function 'mouse-consolidated-yank |
84 "Function that is called upon by `mouse-yank' to actually insert text.") | 89 "Function that is called upon by `mouse-yank' to actually insert text.") |
85 | 90 |
86 (defun mouse-consolidated-yank () | 91 (defun mouse-consolidated-yank () |
87 "Insert the current selection or, if there is none under X insert | 92 "Insert the current selection at point. |
88 the X cutbuffer. A mark is pushed, so that the inserted text lies | 93 \(Under X Windows, if there is none, insert the X cutbuffer.) A mark is |
89 between point and mark." | 94 pushed, so that the inserted text lies between point and mark. This is the |
95 default value of `mouse-yank-function', and as such is called by | |
96 `mouse-yank' to do the actual work." | |
90 (interactive) | 97 (interactive) |
91 (if (and (not (console-on-window-system-p)) | 98 (if (and (not (console-on-window-system-p)) |
92 (and (featurep 'gpm) | 99 (and (featurep 'gpm) |
93 (not (declare-boundp gpm-minor-mode)))) | 100 (not (declare-boundp gpm-minor-mode)))) |
94 (yank) | 101 (yank) |
174 | 181 |
175 (defun mouse-yank (event) | 182 (defun mouse-yank (event) |
176 "Paste text with the mouse. | 183 "Paste text with the mouse. |
177 If the variable `mouse-yank-at-point' is nil, then pasting occurs at the | 184 If the variable `mouse-yank-at-point' is nil, then pasting occurs at the |
178 location of the click; otherwise, pasting occurs at the current cursor | 185 location of the click; otherwise, pasting occurs at the current cursor |
179 location." | 186 location. This calls the value of the variable `mouse-yank-function' |
187 (normally the function `mouse-consolidated-yank') to do the actual work. | |
188 This is normally called as a result of a click of button2 by | |
189 `default-mouse-track-click-hook'." | |
180 (interactive "e") | 190 (interactive "e") |
181 (and (not mouse-yank-at-point) | 191 (and (not mouse-yank-at-point) |
182 (mouse-set-point event)) | 192 (mouse-set-point event)) |
183 (funcall mouse-yank-function)) | 193 (funcall mouse-yank-function)) |
184 | 194 |
625 ;; attempting to debug a click-hook (which is pretty damn | 635 ;; attempting to debug a click-hook (which is pretty damn |
626 ;; difficult to do), this function may get called. | 636 ;; difficult to do), this function may get called. |
627 ) | 637 ) |
628 | 638 |
629 (defun mouse-track (event &optional overriding-hooks) | 639 (defun mouse-track (event &optional overriding-hooks) |
630 "Generalized mouse-button handler. This should be bound to a mouse button. | 640 "Generalized mouse-button handler. |
631 The behavior of this function is customizable using various hooks and | 641 This is the function that handles standard mouse behavior -- moving point |
632 variables: see `mouse-track-click-hook', `mouse-track-drag-hook', | 642 when clicked, selecting text when dragged, etc. -- and should be bound to a |
643 mouse button (normally, button1 and button2). | |
644 | |
645 This allows for overloading of different mouse strokes with different | |
646 commands. The behavior of this function is customizable using various | |
647 hooks and variables: see `mouse-track-click-hook', `mouse-track-drag-hook', | |
633 `mouse-track-drag-up-hook', `mouse-track-down-hook', `mouse-track-up-hook', | 648 `mouse-track-drag-up-hook', `mouse-track-down-hook', `mouse-track-up-hook', |
634 `mouse-track-cleanup-hook', `mouse-track-multi-click-time', | 649 `mouse-track-cleanup-hook', `mouse-track-multi-click-time', |
635 `mouse-track-scroll-delay', `mouse-track-x-threshold', and | 650 `mouse-track-scroll-delay', `mouse-track-x-threshold', and |
636 `mouse-track-y-threshold'. | 651 `mouse-track-y-threshold'. |
637 | 652 |
659 | 674 |
660 If you drag the mouse off the top or bottom of the window, you can select | 675 If you drag the mouse off the top or bottom of the window, you can select |
661 pieces of text which are larger than the visible part of the buffer; the | 676 pieces of text which are larger than the visible part of the buffer; the |
662 buffer will scroll as necessary. | 677 buffer will scroll as necessary. |
663 | 678 |
664 The selected text becomes the current X Selection. The point will be left | 679 The point will be left at the position at which you released the button, |
665 at the position at which you released the button, and the mark will be left | 680 and the mark will be left at the initial click position. |
666 at the initial click position." | 681 |
682 Under X Windows, the selected text becomes the current X Selection, and can | |
683 be immediately inserted elsewhere using button2. Under MS Windows, this | |
684 also works, because the behavior is emulated." | |
667 (interactive "e") | 685 (interactive "e") |
668 (let ((mouse-down t) | 686 (let ((mouse-down t) |
669 (xthresh (eval mouse-track-x-threshold)) | 687 (xthresh (eval mouse-track-x-threshold)) |
670 (ythresh (eval mouse-track-y-threshold)) | 688 (ythresh (eval mouse-track-y-threshold)) |
671 (orig-x (event-x-pixel event)) | 689 (orig-x (event-x-pixel event)) |
840 | 858 |
841 | 859 |
842 ;; This remembers the last position at which the user clicked, for the | 860 ;; This remembers the last position at which the user clicked, for the |
843 ;; benefit of mouse-track-adjust (for example, button1; scroll until the | 861 ;; benefit of mouse-track-adjust (for example, button1; scroll until the |
844 ;; position of the click is off the frame; then Sh-button1 to select the | 862 ;; position of the click is off the frame; then Sh-button1 to select the |
845 ;; new region. | 863 ;; new region). |
846 (defvar default-mouse-track-previous-point nil) | 864 (defvar default-mouse-track-previous-point nil) |
847 | 865 |
848 (defun default-mouse-track-set-point (event window) | 866 (defun default-mouse-track-set-point (event window) |
849 (if (default-mouse-track-set-point-in-window event window) | 867 (if (default-mouse-track-set-point-in-window event window) |
850 nil | 868 nil |
917 (not (default-mouse-track-point-at-opening-quote-p)))) | 935 (not (default-mouse-track-point-at-opening-quote-p)))) |
918 (goto-char (scan-sexps (1+ (point)) -1)) | 936 (goto-char (scan-sexps (1+ (point)) -1)) |
919 (default-mouse-track-beginning-of-word | 937 (default-mouse-track-beginning-of-word |
920 (default-mouse-track-symbolp type)))))) | 938 (default-mouse-track-symbolp type)))))) |
921 ((eq type 'line) | 939 ((eq type 'line) |
922 (if forwardp (end-of-line) (beginning-of-line))) | 940 (if forwardp |
941 ;; Counter-kludge. If we are adjusting a line-oriented | |
942 ;; selection, default-mouse-track-return-dragged-selection | |
943 ;; fixed it to include the final newline. Unfortunately, that | |
944 ;; will cause us to add another line at the end (the wrong | |
945 ;; side of the selection) unless we take evasive action. | |
946 (unless (and default-mouse-track-adjust | |
947 (bolp)) | |
948 (end-of-line)) | |
949 (beginning-of-line))) | |
923 ((eq type 'buffer) | 950 ((eq type 'buffer) |
924 (if forwardp (end-of-buffer) (beginning-of-buffer))))) | 951 (if forwardp (end-of-buffer) (beginning-of-buffer))))) |
925 | 952 |
926 (defun default-mouse-track-next-move (min-anchor max-anchor extent) | 953 (defun default-mouse-track-next-move (min-anchor max-anchor extent) |
927 (let ((anchor (if (<= (point) min-anchor) max-anchor min-anchor))) | 954 (let ((anchor (if (<= (point) min-anchor) max-anchor min-anchor))) |
1266 (= (point) (extent-end-position first))) | 1293 (= (point) (extent-end-position first))) |
1267 (goto-char (car result))))) | 1294 (goto-char (car result))))) |
1268 (extent | 1295 (extent |
1269 (setq result (cons (extent-start-position extent) | 1296 (setq result (cons (extent-start-position extent) |
1270 (extent-end-position extent))))) | 1297 (extent-end-position extent))))) |
1271 ;; Minor kludge: if we're selecting in line-mode, include the | 1298 ;; Minor kludge: if we're selecting in line-mode, include the final |
1272 ;; final newline. It's hard to do this in *-normalize-point. | 1299 ;; newline. It's hard to do this in *-normalize-point. Unfortunately |
1300 ;; this necessitates a counter-kludge in | |
1301 ;; default-mouse-track-normalize-point. | |
1273 (if (and result (eq default-mouse-track-type 'line)) | 1302 (if (and result (eq default-mouse-track-type 'line)) |
1274 (let ((end-p (= (point) (cdr result)))) | 1303 (let ((end-p (= (point) (cdr result)))) |
1275 (goto-char (cdr result)) | 1304 (goto-char (cdr result)) |
1276 (if (not (eobp)) | 1305 (if (and (eolp) (not (eobp))) |
1277 (setcdr result (1+ (cdr result)))) | 1306 (setcdr result (1+ (cdr result)))) |
1278 (goto-char (if end-p (cdr result) (car result))))) | 1307 (goto-char (if end-p (cdr result) (car result))))) |
1279 ;;; ;; Minor kludge sub 2. If in char mode, and we drag the | 1308 ;;; ;; Minor kludge sub 2. If in char mode, and we drag the |
1280 ;;; ;; mouse past EOL, include the newline. | 1309 ;;; ;; mouse past EOL, include the newline. |
1281 ;;; ;; | 1310 ;;; ;; |
1360 "Like `mouse-track' but selects rectangles instead of regions." | 1389 "Like `mouse-track' but selects rectangles instead of regions." |
1361 (interactive "e") | 1390 (interactive "e") |
1362 (let ((mouse-track-rectangle-p t)) | 1391 (let ((mouse-track-rectangle-p t)) |
1363 (mouse-track event))) | 1392 (mouse-track event))) |
1364 | 1393 |
1394 (defun mouse-track-by-lines (event) | |
1395 "Make a line-by-line selection with the mouse. | |
1396 This actually works the same as `mouse-track' (which handles all | |
1397 mouse-button behavior) but forces whole lines to be selected." | |
1398 (interactive "e") | |
1399 (let ((default-mouse-track-type-list '(line))) | |
1400 (mouse-track event))) | |
1401 | |
1365 (defun mouse-track-adjust (event) | 1402 (defun mouse-track-adjust (event) |
1366 "Extend the existing selection. This should be bound to a mouse button. | 1403 "Extend the existing selection. This should be bound to a mouse button. |
1367 The selection will be enlarged or shrunk so that the point of the mouse | 1404 The selection will be enlarged or shrunk so that the point of the mouse |
1368 click is one of its endpoints. This function in fact behaves fairly | 1405 click is one of its endpoints. This function in fact behaves fairly |
1369 similarly to `mouse-track', but begins by extending the existing selection | 1406 similarly to `mouse-track', but begins by extending the existing selection |
1383 custom mouse-track handlers that the user may have installed." | 1420 custom mouse-track handlers that the user may have installed." |
1384 (interactive "e") | 1421 (interactive "e") |
1385 (let ((default-mouse-track-adjust t)) | 1422 (let ((default-mouse-track-adjust t)) |
1386 (mouse-track-default event))) | 1423 (mouse-track-default event))) |
1387 | 1424 |
1388 (defun mouse-track-insert (event &optional delete) | 1425 (defun mouse-track-adjust-by-lines (event) |
1389 "Make a selection with the mouse and insert it at point. | 1426 "Extend the existing selection by lines. |
1390 This is exactly the same as the `mouse-track' command on \\[mouse-track], | 1427 This works the same as `mouse-track-adjust' (bound to \\[mouse-track-adjust]) |
1391 except that point is not moved; the selected text is immediately inserted | 1428 but forces whole lines to be selected." |
1392 after being selected\; and the selection is immediately disowned afterwards." | 1429 (interactive "e") |
1430 (let ((default-mouse-track-type-list '(line)) | |
1431 (default-mouse-track-adjust t)) | |
1432 (mouse-track event))) | |
1433 | |
1434 (defun mouse-track-insert-1 (event &optional delete line-p) | |
1435 "Guts of mouse-track-insert and friends. | |
1436 If DELETE, delete the selection as well as inserting it at the new place. | |
1437 If LINE-P, select by lines and insert before current line." | |
1393 (interactive "*e") | 1438 (interactive "*e") |
1394 (let (s selreg) | 1439 (let ((default-mouse-track-type-list |
1440 (if line-p '(line) default-mouse-track-type-list)) | |
1441 s selreg) | |
1395 (flet ((Mouse-track-insert-drag-up-hook (event count) | 1442 (flet ((Mouse-track-insert-drag-up-hook (event count) |
1396 (setq selreg | 1443 (setq selreg |
1397 (default-mouse-track-return-dragged-selection event)) | 1444 (default-mouse-track-return-dragged-selection event)) |
1398 t) | 1445 t) |
1399 (Mouse-track-insert-click-hook (event count) | 1446 (Mouse-track-insert-click-hook (event count) |
1413 (let ((pair selreg)) | 1460 (let ((pair selreg)) |
1414 (setq s (prog1 | 1461 (setq s (prog1 |
1415 (buffer-substring (car pair) (cdr pair)) | 1462 (buffer-substring (car pair) (cdr pair)) |
1416 (if delete | 1463 (if delete |
1417 (kill-region (car pair) (cdr pair)))))))))) | 1464 (kill-region (car pair) (cdr pair)))))))))) |
1418 (or (null s) (equal s "") (insert s)))) | 1465 (or (null s) (equal s "") |
1466 (progn | |
1467 (if line-p (beginning-of-line)) | |
1468 (insert s))))) | |
1469 | |
1470 (defun mouse-track-insert (event) | |
1471 "Make a selection with the mouse and insert it at point. | |
1472 This works the same as just selecting text using the mouse (the | |
1473 `mouse-track' command), except that point is not moved; the selected text | |
1474 is immediately inserted after being selected\; and the selection is | |
1475 immediately disowned afterwards." | |
1476 (interactive "*e") | |
1477 (mouse-track-insert-1 event)) | |
1419 | 1478 |
1420 (defun mouse-track-delete-and-insert (event) | 1479 (defun mouse-track-delete-and-insert (event) |
1421 "Make a selection with the mouse and insert it at point. | 1480 "Make a selection with the mouse and move it to point. |
1422 This is exactly the same as the `mouse-track' command on \\[mouse-track], | 1481 This works the same as just selecting text using the mouse (the |
1423 except that point is not moved; the selected text is immediately inserted | 1482 `mouse-track' command), except that point is not moved; the selected text |
1424 after being selected\; and the text of the selection is deleted." | 1483 is immediately inserted after being selected\; and the text of the |
1484 selection is deleted." | |
1425 (interactive "*e") | 1485 (interactive "*e") |
1426 (mouse-track-insert event t)) | 1486 (mouse-track-insert-1 event t)) |
1487 | |
1488 (defun mouse-track-insert-by-lines (event) | |
1489 "Make a line-oriented selection with the mouse and insert it at line start. | |
1490 This is similar to `mouse-track-insert' except that it always selects | |
1491 entire lines and inserts the lines before the current line rather than at | |
1492 point." | |
1493 (interactive "*e") | |
1494 (mouse-track-insert-1 event nil t)) | |
1495 | |
1496 (defun mouse-track-delete-and-insert-by-lines (event) | |
1497 "Make a line-oriented selection with the mouse and move it to line start. | |
1498 This is similar to `mouse-track-insert' except that it always selects | |
1499 entire lines and inserts the lines before the current line rather than at | |
1500 point." | |
1501 (interactive "*e") | |
1502 (mouse-track-insert-1 event nil t)) | |
1427 | 1503 |
1428 ;;;;;;;;;;;;;;;;;;;;;;;; | 1504 ;;;;;;;;;;;;;;;;;;;;;;;; |
1429 | 1505 |
1430 | 1506 |
1431 (defvar inhibit-help-echo nil | 1507 (defvar inhibit-help-echo nil |