(rfc822/wrap-as-quoted-string): New alias.
[elisp/mu-cite.git] / mu-register.el
index dd053bc..fdbc2fe 100644 (file)
@@ -7,7 +7,7 @@
 ;;;         modified by MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1995/12/27 by MINOURA Makoto <minoura@leo.bekkoame.or.jp>
 ;;; Version:
-;;;    $Id: mu-register.el,v 1.6 1996-01-15 20:28:32 morioka Exp $
+;;;    $Id: mu-register.el,v 1.12 1996-01-17 05:35:06 morioka Exp $
 ;;;
 ;;; This file is part of tl (Tiny Library).
 ;;;
@@ -47,7 +47,6 @@
 ;;; Code:
 
 (require 'mu-cite)
-(require 'pp)
 
 
 ;;; @ variables
 (defvar mu-register/minibuffer-history nil)
 
 
-;;; @ functions
+;;; @ database accessers
 ;;;
 
 ;; get citation-name from the database
-(defsubst mu-register/get-citation-name (from)
-  (cdr (assoc from mu-register/citation-name-alist)))
+(defmacro mu-register/get-citation-name (from)
+  (` (cdr (assoc (, from) mu-register/citation-name-alist))))
 
 ;; register citation-name to the database
 (defun mu-register/add-citation-name (name from)
     (mu-register/save-to-file)
     ))
 
-;; main function
-(defun mu-register/citation-name ()
-  (let* ((from
-         (rfc822/address-string
-          (car (rfc822/parse-address
-                (rfc822/lexical-analyze
-                 (mu-cite/get-value 'from))))))
-        (fullname (mu-cite/get-value 'full-name))
-        (return1
-         (mu-register/get-citation-name from))
-        (return))
-    (if (null return1)
-       (setq return1 fullname))
-    (setq return
-         (read-string "Citation name? "
-                      return1
-                      'mu-register/minibuffer-history))
-    (if (not (string-equal return return1))
-       (let ((ans)
-             (cursor-in-echo-area t))
-         (while (null ans)
-           (message (format "Register \"%s\" (y/n)? " return))
-           (setq ans (read-event))
-           (if (not (or (eq ans ?y)
-                        (eq ans ?n)))
-               (setq ans nil)))
-         (message "")
-         (if (eq ans ?y)
-             (mu-register/add-citation-name return from))))
-    return))
-
 ;; save to file
 (defun mu-register/save-to-file ()
   (let* ((filename mu-register/registration-file)
       (insert "\n   ))\n")
       (save-buffer))
     (kill-buffer buffer)))
+
+
+;;; @ main functions
+;;;
+
+(defun mu-register/citation-name ()
+  (let* ((from
+         (rfc822/address-string
+          (car (rfc822/parse-address
+                (rfc822/lexical-analyze
+                 (mu-cite/get-value 'from))))))
+        (fullname (mu-cite/get-value 'full-name))
+        (return1
+         (mu-register/get-citation-name from))
+        (return))
+    (if (null return1)
+       (setq return1 fullname))
+    (setq return
+         (tl:read-string "Citation name? "
+                         return1
+                         'mu-register/minibuffer-history))
+    (if (and (not (string-equal return return1))
+            (y-or-n-p (format "Register \"%s\"? " return))
+            )
+       (mu-register/add-citation-name return from)
+      )
+    return))
+
+(defun mu-register/citation-name-quietly ()
+  (let* ((from
+         (rfc822/address-string
+          (car (rfc822/parse-address
+                (rfc822/lexical-analyze
+                 (mu-cite/get-value 'from))))))
+        (fullname (mu-cite/get-value 'full-name))
+        (return1
+         (mu-register/get-citation-name from))
+        return)
+    (if (null return1)
+       (progn
+         (setq return
+               (tl:read-string "Citation name? "
+                               fullname
+                               'mu-register/minibuffer-history))
+         (if (and (not (string-equal return return1))
+                  (y-or-n-p (format "Register \"%s\"? " return))
+                  )
+             (mu-register/add-citation-name return from)
+           ))
+      (setq return return1)
+      )
+    return))
+
 \f
 
 ;;; @ Installation
 ;;;
 
 (set-alist 'mu-cite/default-methods-alist
-          'registered 
+          'prefix-register
+          (function mu-register/citation-name-quietly))
+(set-alist 'mu-cite/default-methods-alist
+          'prefix-register-verbose
           (function mu-register/citation-name))