# HG changeset patch # User Pavel JanŤżk # Date 1011168130 0 # Node ID c9c59300d7a6382f35dd6fac45a1974df1c55048 # Parent 3e935323396dd66ef2438e23ba93617b6e4b4797 New maintainer. Change author's address. (eudc-bob-mail-keymap): New keymap for e-mail addresses. (eudc-display-mail): New function. (eudc-bob-play-sound-at-point): Remove XEmacs case. diff -r 3e935323396d -r c9c59300d7a6 lisp/net/eudc-bob.el --- a/lisp/net/eudc-bob.el Wed Jan 16 06:48:30 2002 +0000 +++ b/lisp/net/eudc-bob.el Wed Jan 16 08:02:10 2002 +0000 @@ -2,8 +2,8 @@ ;; Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. -;; Author: Oscar Figueiredo -;; Maintainer: Oscar Figueiredo +;; Author: Oscar Figueiredo +;; Maintainer: Pavel Janík ;; Keywords: comm ;; This file is part of GNU Emacs. @@ -44,6 +44,9 @@ (defvar eudc-bob-url-keymap nil "Keymap for inline urls.") +(defvar eudc-bob-mail-keymap nil + "Keymap for inline e-mail addresses.") + (defconst eudc-bob-generic-menu '("EUDC Binary Object Menu" ["---" nil nil] @@ -206,22 +209,9 @@ (let (sound) (if (null (setq sound (eudc-bob-get-overlay-prop 'object-data))) (error "No sound data available here") - (cond (eudc-xemacs-p - (if (not (and (boundp 'sound-alist) - sound-alist)) - (error "Don't know how to play sound on this Emacs version") - (setq sound-alist - (cons (list 'eudc-sound - :sound sound) - sound-alist)) - (condition-case nil - (play-sound 'eudc-sound) - (t - (setq sound-alist (cdr sound-alist)))))) - (t - (unless (fboundp 'play-sound) - (error "Playing sounds not supported on this system")) - (play-sound (list 'sound :data sound))))))) + (unless (fboundp 'play-sound) + (error "Playing sounds not supported on this system")) + (play-sound (list 'sound :data sound))))) (defun eudc-bob-play-sound-at-mouse (event) "Play the sound data contained in the button where EVENT occurred." @@ -230,7 +220,6 @@ (eudc-jump-to-event event) (eudc-bob-play-sound-at-point))) - (defun eudc-bob-save-object () "Save the object data of the button at point." (interactive) @@ -318,6 +307,14 @@ [down-mouse-2]) 'browse-url-at-mouse) map)) +(setq eudc-bob-mail-keymap + (let ((map (make-sparse-keymap))) + (define-key map [return] 'goto-address-at-point) + (define-key map (if eudc-xemacs-p + [button2] + [down-mouse-2]) 'goto-address-at-mouse) + map)) + (set-keymap-parent eudc-bob-image-keymap eudc-bob-generic-keymap) (set-keymap-parent eudc-bob-sound-keymap eudc-bob-generic-keymap) @@ -348,6 +345,12 @@ (eudc-bob-make-button url eudc-bob-url-keymap)) ;;;###autoload +(defun eudc-display-mail (mail) + "Display e-mail address and make it clickable." + (require 'goto-addr) + (eudc-bob-make-button mail eudc-bob-mail-keymap)) + +;;;###autoload (defun eudc-display-sound (data) "Display a button to play the sound DATA." (eudc-bob-display-audio data))