*** empty log message ***
[gnus] / lisp / gnus-ems.el
1 ;;; gnus-ems.el --- functions for making Gnus work under different Emacsen
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     (if (not gnus-visual)
52         ()
53       (setq gnus-group-mode-hook
54             (cons
55              (lambda ()
56                (easy-menu-add gnus-group-reading-menu)
57                (easy-menu-add gnus-group-group-menu)
58                (easy-menu-add gnus-group-post-menu)
59                (easy-menu-add gnus-group-misc-menu)
60                (gnus-install-mouse-tracker)) 
61              gnus-group-mode-hook))
62       (setq gnus-summary-mode-hook
63             (cons
64              (lambda ()
65                (easy-menu-add gnus-summary-mark-menu)
66                (easy-menu-add gnus-summary-move-menu)
67                (easy-menu-add gnus-summary-article-menu)
68                (easy-menu-add gnus-summary-thread-menu)
69                (easy-menu-add gnus-summary-misc-menu)
70                (easy-menu-add gnus-summary-post-menu)
71                (easy-menu-add gnus-summary-kill-menu)
72                (gnus-install-mouse-tracker)) 
73              gnus-summary-mode-hook))
74       (setq gnus-article-mode-hook
75             (cons
76              (lambda ()
77                (easy-menu-add gnus-article-article-menu)
78                (easy-menu-add gnus-article-treatment-menu))
79              gnus-article-mode-hook)))
80
81     (defun gnus-install-mouse-tracker ()
82       (require 'mode-motion)
83       (setq mode-motion-hook 'mode-motion-highlight-line)))
84    ))
85
86 (defun gnus-ems-redefine ()
87   (cond 
88    ((string-match "XEmacs\\|Lucid" emacs-version)
89     ;; XEmacs definitions.
90     (fset 'gnus-set-mouse-face (lambda (string) string)))
91
92    ))
93
94 (provide 'gnus-ems)
95
96 ;;; gnus-ems.el ends here