(defalias-maybe): New macro.
authormorioka <morioka>
Sun, 25 Oct 1998 16:39:18 +0000 (16:39 +0000)
committermorioka <morioka>
Sun, 25 Oct 1998 16:39:18 +0000 (16:39 +0000)
poe.el

diff --git a/poe.el b/poe.el
index 9c00b52..65d742e 100644 (file)
--- a/poe.el
+++ b/poe.el
 
 ;;; Code:
 
-(defmacro defvar-maybe (name &rest everything-else)
-  (or (and (boundp name)
-          (not (get name 'defvar-maybe))
-          )
-      (` (or (boundp (quote (, name)))
-            (progn
-              (defvar (, name) (,@ everything-else))
-              (put (quote (, name)) 'defvar-maybe t)
-              ))
-        )))
-
 (defmacro defun-maybe (name &rest everything-else)
   (or (and (fboundp name)
-          (not (get name 'defun-maybe))
-          )
+          (not (get name 'defun-maybe)))
       (` (or (fboundp (quote (, name)))
             (progn
               (defun (, name) (,@ everything-else))
@@ -48,8 +36,7 @@
 
 (defmacro defsubst-maybe (name &rest everything-else)
   (or (and (fboundp name)
-          (not (get name 'defsubst-maybe))
-          )
+          (not (get name 'defsubst-maybe)))
       (` (or (fboundp (quote (, name)))
             (progn
               (defsubst (, name) (,@ everything-else))
@@ -59,8 +46,7 @@
 
 (defmacro defmacro-maybe (name &rest everything-else)
   (or (and (fboundp name)
-          (not (get name 'defmacro-maybe))
-          )
+          (not (get name 'defmacro-maybe)))
       (` (or (fboundp (quote (, name)))
             (progn
               (defmacro (, name) (,@ everything-else))
               ))
         )))
 
+(defmacro defalias-maybe (symbol definition)
+  (setq symbol (eval symbol))
+  (or (and (fboundp symbol)
+          (not (get symbol 'defalias-maybe)))
+      (` (or (fboundp (quote (, symbol)))
+            (progn
+              (defalias (quote (, symbol)) (, definition))
+              (put (quote (, symbol)) 'defalias-maybe t)
+              ))
+        )))
+
 (put 'defun-maybe 'lisp-indent-function 'defun)
 (put 'defsubst-maybe 'lisp-indent-function 'defun)
 (put 'defmacro-maybe 'lisp-indent-function 'defun)
 
+(defmacro defvar-maybe (name &rest everything-else)
+  (or (and (boundp name)
+          (not (get name 'defvar-maybe)))
+      (` (or (boundp (quote (, name)))
+            (progn
+              (defvar (, name) (,@ everything-else))
+              (put (quote (, name)) 'defvar-maybe t)
+              ))
+        )))
+
 (defmacro defconst-maybe (name &rest everything-else)
   (or (and (boundp name)
           (not (get name 'defconst-maybe))