1 |
;;; erbforget.el --- Help make the bots forget some TERMS. |
;;; erbforget.el --- Help make the bots forget some TERMS. |
2 |
;; Time-stamp: <2005-01-02 22:32:01 deego> |
;; Time-stamp: <2005-08-11 20:32:42 deego> |
3 |
;; Copyright (C) 2003 D. Goel |
;; Copyright (C) 2003 D. Goel |
4 |
;; Emacs Lisp Archive entry |
;; Emacs Lisp Archive entry |
5 |
;; Filename: erbforget.el |
;; Filename: erbforget.el |
10 |
;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErBot |
;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErBot |
11 |
|
|
12 |
|
|
|
(defconst erbforget-home-page |
|
|
"http://www.emacswiki.org/cgi-bin/wiki.pl?ErBot") |
|
|
|
|
|
|
|
13 |
|
|
14 |
;; This file is NOT (yet) part of GNU Emacs. |
;; This file is NOT (yet) part of GNU Emacs. |
15 |
|
|
29 |
;; Boston, MA 02111-1307, USA. |
;; Boston, MA 02111-1307, USA. |
30 |
|
|
31 |
|
|
|
;; See also: |
|
|
|
|
|
|
|
|
;; Quick start: |
|
|
(defconst erbforget-quick-start |
|
|
"Help..." |
|
|
) |
|
|
|
|
|
(defun erbforget-quick-start () |
|
|
"Provides electric help from variable `erbforget-quick-start'." |
|
|
(interactive) |
|
|
(with-electric-help |
|
|
'(lambda () (insert erbforget-quick-start) nil) "*doc*")) |
|
|
|
|
|
(defconst erbforget-version "0.0-DUMMY") |
|
|
(defun erbforget-version (&optional arg) |
|
|
"Display erbforget's version string. |
|
|
With prefix ARG, insert version string into current buffer at point." |
|
|
(interactive "P") |
|
|
(if arg |
|
|
(insert (message "erbforget version %s" erbforget-version)) |
|
|
(message "erbforget version %s" erbforget-version))) |
|
|
|
|
32 |
;;========================================== |
;;========================================== |
33 |
;;; Requires: |
;;; Requires: |
34 |
(eval-when-compile (require 'cl)) |
(eval-when-compile (require 'cl)) |
46 |
:group 'erbforget) |
:group 'erbforget) |
47 |
(run-hooks 'erbforget-before-load-hooks) |
(run-hooks 'erbforget-before-load-hooks) |
48 |
|
|
|
(defcustom erbforget-verbosity 0 |
|
|
"How verbose to be. |
|
|
Once you are experienced with this lib, 0 is the recommended |
|
|
value. Values between -90 to +90 are \"sane\". The |
|
|
rest are for debugging." |
|
|
:type 'integer |
|
|
:group 'erbforget) |
|
|
(defcustom erbforget-interactivity 0 |
|
|
"How interactive to be. |
|
|
Once you are experienced with this lib, 0 is the recommended |
|
|
value. Values between -90 and +90 are \"sane\". The rest are for |
|
|
debugging." |
|
|
:type 'integer |
|
|
:group 'erbforget) |
|
|
(defcustom erbforget-y-or-n-p-function 'erbforget-y-or-n-p |
|
|
"Function to use for interactivity-dependent `y-or-n-p'. |
|
|
Format same as that of `erbforget-y-or-n-p'." |
|
|
:type 'function |
|
|
:group 'erbforget) |
|
|
(defcustom erbforget-n-or-y-p-function 'erbforget-n-or-y-p |
|
|
"Function to use for interactivity-dependent `n-or-y-p'. |
|
|
Format same as that of `erbforget-n-or-y-p'." |
|
|
:type 'function |
|
|
:group 'erbforget) |
|
|
(defun erbforget-message (points &rest args) |
|
|
"Signal message, depending on POINTS anderbforget-verbosity. |
|
|
ARGS are passed to `message'." |
|
|
(unless (minusp (+ points erbforget-verbosity)) |
|
|
(apply #'message args))) |
|
|
(defun erbforget-y-or-n-p (add prompt) |
|
|
"Query or assume t, based on `erbforget-interactivity'. |
|
|
ADD is added to `erbforget-interactivity' to decide whether |
|
|
to query using PROMPT, or just return t." |
|
|
(if (minusp (+ add erbforget-interactivity)) |
|
|
t |
|
|
(funcall 'y-or-n-p prompt))) |
|
|
(defun erbforget-n-or-y-p (add prompt) |
|
|
"Query or assume t, based on `erbforget-interactivity'. |
|
|
ADD is added to `erbforget-interactivity' to decide whether |
|
|
to query using PROMPT, or just return t." |
|
|
(if (minusp (+ add erbforget-interactivity)) |
|
|
nil |
|
|
(funcall 'y-or-n-p prompt))) |
|
|
|
|
49 |
;;; Real Code: |
;;; Real Code: |
50 |
|
|
51 |
|
|