# HG changeset patch # User Stefan Monnier # Date 1115414649 0 # Node ID 109432f1fa94ab6f6213086c53facf2f51a5c9f6 # Parent c86c86ce57a396e729abefc144091cec728c1b94 (goto-address-fontify): Make sure the overlays evaporate if their text is deleted. (goto-address-at-point): Make it work as a mouse binding as well. (goto-address-at-mouse): Obsolete it. Update users. diff -r c86c86ce57a3 -r 109432f1fa94 lisp/net/goto-addr.el --- a/lisp/net/goto-addr.el Fri May 06 20:56:52 2005 +0000 +++ b/lisp/net/goto-addr.el Fri May 06 21:24:09 2005 +0000 @@ -1,6 +1,6 @@ ;;; goto-addr.el --- click to browse URL or to send to e-mail address -;; Copyright (C) 1995, 2000, 2001 Free Software Foundation, Inc. +;; Copyright (C) 1995, 2000, 2001, 2005 Free Software Foundation, Inc. ;; Author: Eric Ding ;; Maintainer: FSF @@ -46,7 +46,7 @@ ;; ;; (setq goto-address-highlight-keymap ;; (let ((m (make-sparse-keymap))) -;; (define-key m [S-mouse-2] 'goto-address-at-mouse) +;; (define-key m [S-mouse-2] 'goto-address-at-point) ;; m)) ;; @@ -118,9 +118,8 @@ (defvar goto-address-highlight-keymap (let ((m (make-sparse-keymap))) - (if (featurep 'xemacs) - (define-key m (kbd "") 'goto-address-at-mouse) - (define-key m (kbd "") 'goto-address-at-mouse)) + (define-key m (if (featurep 'xemacs) (kbd "") (kbd "")) + 'goto-address-at-point)) (define-key m (kbd "C-c RET") 'goto-address-at-point) m) "keymap to hold goto-addr's mouse key defs under highlighted URLs.") @@ -165,6 +164,7 @@ (this-overlay (make-overlay s e))) (and goto-address-fontify-p (overlay-put this-overlay 'face goto-address-url-face)) + (overlay-put this-overlay 'evaporate t) (overlay-put this-overlay 'mouse-face goto-address-url-mouse-face) (overlay-put this-overlay @@ -179,6 +179,7 @@ (this-overlay (make-overlay s e))) (and goto-address-fontify-p (overlay-put this-overlay 'face goto-address-mail-face)) + (overlay-put this-overlay 'evaporate t) (overlay-put this-overlay 'mouse-face goto-address-mail-mouse-face) (overlay-put this-overlay @@ -191,24 +192,18 @@ ;; snarfed from browse-url.el ;;;###autoload -(defun goto-address-at-mouse (event) - "Send to the e-mail address or load the URL clicked with the mouse. -Send mail to address at position of mouse click. See documentation for -`goto-address-find-address-at-point'. If no address is found -there, then load the URL at or before the position of the mouse click." - (interactive "e") - (save-excursion - (mouse-set-point event) - (goto-address-at-point))) +(define-obsolete-function-alias + 'goto-address-at-mouse 'goto-address-at-point "22.1") ;;;###autoload -(defun goto-address-at-point () +(defun goto-address-at-point (&optional event) "Send to the e-mail address or load the URL at point. Send mail to address at point. See documentation for `goto-address-find-address-at-point'. If no address is found there, then load the URL at or before point." - (interactive) + (interactive (list last-input-event)) (save-excursion + (if event (mouse-set-point event)) (let ((address (save-excursion (goto-address-find-address-at-point)))) (if (and address (save-excursion @@ -248,5 +243,5 @@ (provide 'goto-addr) -;;; arch-tag: ca47c505-5661-425d-a471-62bc6e75cf0a +;; arch-tag: ca47c505-5661-425d-a471-62bc6e75cf0a ;;; goto-addr.el ends here