Update for the new CVS server.
[elisp/mu-cite.git] / mu-register.el
index 6b1c0b7..253d7cb 100644 (file)
@@ -29,6 +29,8 @@
 
 (require 'mu-cite)
 
+(eval-when-compile (require 'static))
+
 
 ;;; @ variables
 ;;;
@@ -48,7 +50,7 @@
   :group 'mu-cite)
 
 (defcustom mu-cite-allow-null-string-registration nil
-  "If non-nil, null-string citation-name is registered."
+  "If non-nil, null-string citation-name can be registered."
   :type 'boolean
   :group 'mu-cite)
 
 
 (defvar mu-register-history nil)
 
-(eval-when-compile (require 'static))
-
-(static-when (featurep 'xemacs)
-  (define-obsolete-variable-alias
-    'mu-cite/registration-file 'mu-registration-file)
-
-  (define-obsolete-variable-alias
-    'mu-cite/allow-null-string-registration
-    'mu-cite-allow-null-string-registration)
-
-  (define-obsolete-variable-alias
-    'mu-cite/registration-symbol 'mu-registration-symbol)
-  )
-
 
 ;;; @ load / save registration file
 ;;;
 (defun mu-cite-load-registration-file ()
   (if (file-readable-p mu-registration-file)
       (with-temp-buffer
-       (insert-file-contents-as-coding-system
-        mu-registration-file-coding-system-for-read
-        mu-registration-file)
+       (if mu-registration-file-coding-system-for-read
+           (insert-file-contents-as-coding-system
+            mu-registration-file-coding-system-for-read
+            mu-registration-file)
+         (insert-file-contents mu-registration-file))
        (setq mu-registration-file-coding-system
-             buffer-file-coding-system)
+             (static-cond
+              ((boundp 'buffer-file-coding-system)
+               (symbol-value 'buffer-file-coding-system))
+              ((boundp 'file-coding-system)
+               (symbol-value 'file-coding-system))
+              (t
+               nil)))
        (let ((exp (read (current-buffer))))
          (or (eq (car (cdr exp)) mu-registration-symbol)
              (setcar (cdr exp) mu-registration-symbol))
            (symbol-name mu-registration-symbol)
            "\n      '(")
     (insert (mapconcat
-            (function prin1-to-string)
+            (function
+             (lambda (elem)
+               (format "(%s . %s)"
+                       (prin1-to-string
+                        (mu-cite-remove-text-properties (car elem)))
+                       (prin1-to-string
+                        (mu-cite-remove-text-properties (cdr elem))))))
             (symbol-value mu-registration-symbol) "\n        "))
     (insert "\n        ))\n\n")
     (insert ";;; "
            (file-name-nondirectory mu-registration-file)
-           " ends here.\n")
+           " ends here\n")
     (write-region-as-coding-system mu-registration-file-coding-system
                                   (point-min)(point-max)
                                   mu-registration-file nil 'nomsg)
 (defun mu-cite-get-prefix-register-method ()
   (let ((addr (mu-cite-get-value 'address)))
     (or (mu-register-get-citation-name addr)
-       (let ((return
-              (read-string "Citation name? "
-                           (or (mu-cite-get-value 'x-attribution)
-                               (mu-cite-get-value 'full-name))
-                           'mu-register-history)))
-         (when (and (or mu-cite-allow-null-string-registration
-                        (not (string-equal return "")))
-                    (y-or-n-p (format "Register \"%s\"? " return)))
-           (mu-register-add-citation-name return addr))
+       (let* ((minibuffer-allow-text-properties nil)
+              (return
+               (mu-cite-remove-text-properties
+                (read-string "Citation name? "
+                             (or (mu-cite-get-value 'x-attribution)
+                                 (mu-cite-get-value 'full-name))
+                             'mu-register-history))))
+
+         (if (and (or mu-cite-allow-null-string-registration
+                      (not (string-equal return "")))
+                  (y-or-n-p (format "Register \"%s\"? " return)))
+             (mu-register-add-citation-name return addr))
          return))))
 
 ;;;###autoload
 (defun mu-cite-get-prefix-register-verbose-method ()
   (let* ((addr (mu-cite-get-value 'address))
         (return1 (mu-register-get-citation-name addr))
-        (return (read-string "Citation name? "
-                             (or return1
-                                 (mu-cite-get-value 'x-attribution)
-                                 (mu-cite-get-value 'full-name))
-                             'mu-register-history)))
-    (when (and (or mu-cite-allow-null-string-registration
-                  (not (string-equal return "")))
-              (not (string-equal return return1))
-              (y-or-n-p (format "Register \"%s\"? " return)))
-      (mu-register-add-citation-name return addr))
+        (minibuffer-allow-text-properties nil)
+        (return (mu-cite-remove-text-properties
+                 (read-string "Citation name? "
+                              (or return1
+                                  (mu-cite-get-value 'x-attribution)
+                                  (mu-cite-get-value 'full-name))
+                              'mu-register-history))))
+    (if (and (or mu-cite-allow-null-string-registration
+                (not (string-equal return "")))
+            (not (string-equal return return1))
+            (y-or-n-p (format "Register \"%s\"? " return)))
+       (mu-register-add-citation-name return addr))
     return))