*** empty log message ***
[gnus] / lisp / gnus-ems.el
1 ;;; gnus-ems --- functions for making Gnus work under different Emacsii
2 ;; Copyright (C) 1995 Free Software Foundation, Inc.
3
4 ;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
5 ;; Keywords: news
6
7 ;; This file is part of GNU Emacs.
8
9 ;; GNU Emacs is free software; you can redistribute it and/or modify
10 ;; it under the terms of the GNU General Public License as published by
11 ;; the Free Software Foundation; either version 2, or (at your option)
12 ;; any later version.
13
14 ;; GNU Emacs is distributed in the hope that it will be useful,
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 ;; GNU General Public License for more details.
18
19 ;; You should have received a copy of the GNU General Public License
20 ;; along with GNU Emacs; see the file COPYING.  If not, write to
21 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
22
23 ;;; Commentary:
24
25 ;;; Code:
26
27 (defvar gnus-mouse-2 [mouse-2])
28 (defvar gnus-easymenu 'easymenu)
29
30 ;; We do not byte-compile this file, because error messages are such a
31 ;; bore.  
32
33 (eval
34  '(cond 
35    ((string-match "XEmacs\\|Lucid" emacs-version)
36     ;; XEmacs definitions.
37
38     (setq gnus-mouse-2 [button2])
39     (setq gnus-easymenu 'auc-menu)
40
41     (or (memq 'underline (list-faces))
42         (make-face 'underline))
43     (or (face-differs-from-default-p 'underline)
44         (set-face-underline-p 'underline t))
45     (or (fboundp 'set-text-properties)
46         (defun set-text-properties (start end props &optional buffer)
47           (if props
48               (put-text-property start end (car props) (cadr props) buffer)
49             (remove-text-properties start end ()))))
50   
51     (setq ad-activate-on-definition t)
52     (ad-start-advice)
53     (ad-activate-defined-function)
54     (defadvice gnus-set-mouse-face (around gnus-xemacs-set-mouse-face preact)
55       string)
56
57     (if (not gnus-visual)
58         ()
59       (setq gnus-group-mode-hook
60             (cons
61              (lambda ()
62                (easy-menu-add gnus-group-reading-menu)
63                (easy-menu-add gnus-group-group-menu)
64                (easy-menu-add gnus-group-post-menu)
65                (easy-menu-add gnus-group-misc-menu)
66                (gnus-install-mouse-tracker)) 
67              gnus-group-mode-hook))
68       (setq gnus-summary-mode-hook
69             (cons
70              (lambda ()
71                (easy-menu-add gnus-summary-mark-menu)
72                (easy-menu-add gnus-summary-move-menu)
73                (easy-menu-add gnus-summary-article-menu)
74                (easy-menu-add gnus-summary-thread-menu)
75                (easy-menu-add gnus-summary-misc-menu)
76                (easy-menu-add gnus-summary-post-menu)
77                (easy-menu-add gnus-summary-kill-menu)
78                (gnus-install-mouse-tracker)) 
79              gnus-summary-mode-hook))
80       (setq gnus-article-mode-hook
81             (cons
82              (lambda ()
83                (easy-menu-add gnus-article-article-menu)
84                (easy-menu-add gnus-article-treatment-menu))
85              gnus-article-mode-hook)))
86
87     (defun gnus-install-mouse-tracker ()
88       (require 'mode-motion)
89       (setq mode-motion-hook 'mode-motion-highlight-line)))
90    ))
91
92 (provide 'gnus-ems)
93
94 ;;; gnus-ems.el ends here