Remove old and crusty zenirc pkg
[packages] / xemacs-packages / zenirc / src / zenirc-ignore.el
diff --git a/xemacs-packages/zenirc/src/zenirc-ignore.el b/xemacs-packages/zenirc/src/zenirc-ignore.el
deleted file mode 100644 (file)
index 3b13470..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-;;;  zenirc-ignore.el -- ignore module for zenirc.
-
-;; Copyright (C) 1995, 1996 jason@marilyn.oit.umass.edu
-;; Copyright (C) 1995, 1996, 1998 Per Persson
-
-;; Author: Jason Bastek <jason@marilyn.oit.umass.edu>
-;;         Per Persson <pp@sno.pp.se>
-;; Maintainer: pp@sno.pp.se
-;; Keywords: zenirc, ignorance
-;; Created: 96-04-11
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-;;
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, you can either send email to this
-;; program's maintainer or write to: The Free Software Foundation,
-;; Inc.; 675 Massachusetts Avenue; Cambridge, MA 02139, USA.
-
-;;; Commentary:
-
-;;; Code:
-
-\f
-
-;; usage: /ignore [string] {all,message,dcc,ctcp,notice,action}
-;;        /unignore [string]
-
-(require 'zenirc)
-
-(defun zenirc-ignore-install-message-catalogs ()
-  (zenirc-lang-define-catalog 'english
-   '((ignore-start-list . "[info] current ignoramuses:")
-     (ignore-list . "[info]   %s")
-     (ignore-end-list . "[info] (end of list)")
-     (ignore-new-entry . "[info] now ignoring %s")
-     (ignore-bad-command . "[info] bad ignore command.")
-     (ignore-bad-keyword . "[info] unknown ignore keyword: %s")
-     (ignore-usage . "[info] usage: /ignore thing {all,message,dcc,ctcp,notice,action}")
-     )))
-
-;; this is not buffer local by default, with zenirc-ignore.el it makes
-;; more sense to have it buffer local
-(make-variable-buffer-local 'zenirc-ignore-list)
-
-(defvar zenirc-command-ignore-hook '(zenirc-process-ignore))
-(defvar zenirc-command-unignore-hook '(zenirc-remove-from-ignore-list))
-
-(defun zenirc-process-ignore (proc parsedcmd)
-  "Add someone to the list of ignoramuses."
-  (let ((lst (zenirc-parse-words (cdr parsedcmd))))
-    (cond ((> (length lst) 2)
-          (zenirc-message proc 'ignore-bad-command))
-         ((= (length lst) 2)
-          (let* ((thing-to-ignore (regexp-quote (car lst)))
-                 (ignore-keyword (car (cdr lst)))
-                 (ignore-prefix
-                  (zenirc-ignore-determine-prefix thing-to-ignore))
-                 (ignore-keyword
-                  (zenirc-ignore-determine-keyword ignore-keyword))
-                 (ignore-string (concat ignore-prefix " " ignore-keyword)))
-            (if (null ignore-keyword)
-                (zenirc-message proc 'ignore-bad-keyword
-                                ignore-keyword)
-              (zenirc-message proc 'ignore-new-entry ignore-string)
-              (setq zenirc-ignore-list
-                    (cons ignore-string zenirc-ignore-list)))))
-         ((= (length lst) 1)
-          (zenirc-message proc 'ignore-usage))
-         (t
-          (zenirc-ignore-display-ignore-list proc)))))
-
-(defun zenirc-ignore-determine-prefix (str)
-  "Take the first thing typed by the user at an /ignore command, and
-figure out what it's supposed to translate to.  For now, this means
-that if the string doesn't look like a hostname, it's treated as a
-nickname.  Otherwise, it's treated as a hostname."
-  (cond ((string-match "!" str) ;; nick!user@host, don't touch it
-        str)
-       ((string-match "@" str)
-        (concat "^:.*!.*" str))
-       (t
-        (concat "^:" str "!.*@.*"))))
-
-(defun zenirc-ignore-determine-keyword (str)
-  "Take the second thing typed by the user at an /ignore command, and
-figure out what it translates to.  For now, it can be one of:
-
-   all message dcc ctcp notice action
-
-This returns nil if the keyword was unknown."
-  (interactive)
-  (let ((keyword
-        (cond ((string= str "all")     "")
-              ((string= str "message") "PRIVMSG")
-              ((string= str "dcc")     "PRIVMSG[^:]+:\ 1DCC")
-              ((string= str "ctcp")    "PRIVMSG[^:]+:\ 1")
-              ((string= str "notice")  "NOTICE")
-              ((string= str "action")  "PRIVMSG[^:]+:\ 1ACTION")
-              (t nil))))
-    keyword))
-
-(defun zenirc-ignore-display-ignore-list (proc)
-  "show the current ignore list."
-  (zenirc-message proc 'ignore-start-list)
-  (let ((lst zenirc-ignore-list))
-    (while lst
-      (progn (zenirc-message proc 'ignore-list (car lst))
-            (setq lst (cdr lst))))
-    (zenirc-message proc 'ignore-end-list)))
-
-;; this removes string from zenirc-ignore-list in two cases
-;; 1) if the string is an exact match
-;; 2) if the string doesn't include any special regexp chars and it is
-;;    a partial match
-;; the reason to this is withheld because of two reasons
-;; 1) the explanation would be to long
-;; 2) it works
-(defun zenirc-remove-from-ignore-list (proc parsedcmd)
-  "Remove someone from the ignore list."
-  (let ((lst (zenirc-parse-words (cdr parsedcmd))))
-    (while lst
-      (let ((someone (car lst)))
-       (zenirc-ignore-for-each 
-        zenirc-ignore-list
-        '(lambda (x)
-           (if (or (string-equal someone x)
-                   (string-match (regexp-quote someone) x))
-               (setq zenirc-ignore-list (delq x zenirc-ignore-list)))))
-       (setq lst (cdr lst))))
-    (zenirc-ignore-display-ignore-list proc)))
-
-(defun zenirc-ignore-for-each (lst proc)
-  (if lst
-    (progn (funcall proc (car lst))
-          (zenirc-ignore-for-each (cdr lst) proc))))
-
-(define-key zenirc-mode-map "\C-c\C-i" 'zenirc-ignore-last-sender)
-
-;; this code was originally written by
-;; Richard Todd <rmtodd@essex.ecn.uoknor.edu>
-(defun zenirc-ignore-last-sender ()
-  (interactive)
-  (let ((ignoree (zenirc-extract-userhost zenirc-privmsg-last-seen)))
-    (zenirc-message (current-buffer) 'ignore-new-entry ignoree)
-    (setq zenirc-ignore-list (cons (regexp-quote ignoree) zenirc-ignore-list))))
-
-(provide 'zenirc-ignore)
-
-(zenirc-ignore-install-message-catalogs)
-
-;; zenirc-ignore.el ends here