;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
["Set +v" riece-user-button-set-speakers])
"Menu for user buttons.")
-(defvar riece-button-enabled nil)
-
(defconst riece-button-description
"Display useful buttons in IRC buffers.")
;; wid-edit (XEmacs only).
(if (boundp 'help-echo-owns-message)
(setq help-echo-owns-message t))
- (format "%S: switch to %s; down-mouse-3: more options"
+ (format (riece-mcat "%S: switch to %s; down-mouse-3: more options")
(aref riece-mouse-2 0)
;; XEmacs will get a single widget arg; Emacs 21 will get
;; window, overlay, position.
(if (riece-identity-member channel riece-current-channels)
(riece-command-switch-to-channel channel)
(message "%s" (substitute-command-keys
- "Type \\[riece-command-join] to join the channel")))))
+ (riece-mcat
+ "Type \\[riece-command-join] to join the channel"))))))
(defun riece-identity-button-click (event)
"Call widget-button-click and select the last selected window."
(point (point))
window)
(unwind-protect
- (save-excursion
- (set-buffer (riece-event-buffer event))
+ (with-current-buffer (riece-event-buffer event)
(goto-char (riece-event-point event))
(widget-button-click event))
;; riece-button-switch-to-identity changes window-configuration
(defun riece-identity-button-popup-menu (event)
"Popup the menu for identity buttons."
(interactive "e")
- (save-excursion
- (set-buffer (riece-event-buffer event))
+ (with-current-buffer (riece-event-buffer event)
(goto-char (riece-event-point event))
(riece-popup-menu-popup
(if (riece-channel-p (riece-identity-prefix
(defvar riece-identity-button-map)
(defun riece-button-add-identity-button (start end)
- (if riece-button-enabled
+ (if (get 'riece-button 'riece-addon-enabled)
(riece-scan-property-region
'riece-identity
start end
(save-excursion
(when riece-channel-list-buffer
(set-buffer riece-channel-list-buffer)
- (riece-channel-list-mode-hook))
+ (riece-button-channel-list-mode-hook))
(when riece-user-list-buffer
(set-buffer riece-user-list-buffer)
- (riece-user-list-mode-hook))
+ (riece-button-user-list-mode-hook))
(let ((buffers riece-buffer-list))
(while buffers
(set-buffer (car buffers))
- (if (eq (derived-mode-class major-mode)
- 'riece-dialogue-mode)
- (riece-dialogue-mode-hook))
+ (if (riece-derived-mode-p 'riece-dialogue-mode)
+ (riece-button-dialogue-mode-hook))
(setq buffers (cdr buffers)))))
(add-hook 'riece-channel-list-mode-hook
'riece-button-channel-list-mode-hook)
'riece-button-add-identity-button))
(defun riece-button-enable ()
- (setq riece-button-enabled t)
(let ((pointer riece-buffer-list))
(while pointer
(with-current-buffer (car pointer)
- (if (eq (derived-mode-class major-mode)
- 'riece-dialogue-mode)
+ (if (riece-derived-mode-p 'riece-dialogue-mode)
(riece-button-update-buffer)))
(setq pointer (cdr pointer)))
(if riece-current-channel
(riece-emit-signal 'channel-list-changed)))
(defun riece-button-disable ()
- (setq riece-button-enabled nil)
(save-excursion
(let ((pointer riece-buffer-list))
(while pointer