Index: pym.el =================================================================== --- pym.el (revision 2) +++ pym.el (working copy) @@ -63,15 +63,15 @@ See also the function `defun'." (or (and (fboundp name) (not (get name 'defun-maybe))) - (` (or (fboundp (quote (, name))) - (prog1 - (defun (, name) (,@ everything-else)) - ;; This `defun' will be compiled to `fset', - ;; which does not update `load-history'. - ;; We must update `current-load-list' explicitly. - (setq current-load-list - (cons (quote (, name)) current-load-list)) - (put (quote (, name)) 'defun-maybe t)))))) + `(or (fboundp (quote ,name)) + (prog1 + (defun ,name ,@everything-else) + ;; This `defun' will be compiled to `fset', + ;; which does not update `load-history'. + ;; We must update `current-load-list' explicitly. + (setq current-load-list + (cons (quote ,name) current-load-list)) + (put (quote ,name) 'defun-maybe t))))) (put 'defmacro-maybe 'lisp-indent-function 'defun) (defmacro defmacro-maybe (name &rest everything-else) @@ -79,15 +79,15 @@ See also the function `defmacro'." (or (and (fboundp name) (not (get name 'defmacro-maybe))) - (` (or (fboundp (quote (, name))) - (prog1 - (defmacro (, name) (,@ everything-else)) - ;; This `defmacro' will be compiled to `fset', - ;; which does not update `load-history'. - ;; We must update `current-load-list' explicitly. - (setq current-load-list - (cons (quote (, name)) current-load-list)) - (put (quote (, name)) 'defmacro-maybe t)))))) + `(or (fboundp (quote ,name)) + (prog1 + (defmacro ,name ,@everything-else) + ;; This `defmacro' will be compiled to `fset', + ;; which does not update `load-history'. + ;; We must update `current-load-list' explicitly. + (setq current-load-list + (cons (quote ,name) current-load-list)) + (put (quote ,name) 'defmacro-maybe t))))) (put 'defsubst-maybe 'lisp-indent-function 'defun) (defmacro defsubst-maybe (name &rest everything-else) @@ -95,15 +95,15 @@ See also the macro `defsubst'." (or (and (fboundp name) (not (get name 'defsubst-maybe))) - (` (or (fboundp (quote (, name))) - (prog1 - (defsubst (, name) (,@ everything-else)) - ;; This `defsubst' will be compiled to `fset', - ;; which does not update `load-history'. - ;; We must update `current-load-list' explicitly. - (setq current-load-list - (cons (quote (, name)) current-load-list)) - (put (quote (, name)) 'defsubst-maybe t)))))) + `(or (fboundp (quote ,name)) + (prog1 + (defsubst ,name ,@everything-else) + ;; This `defsubst' will be compiled to `fset', + ;; which does not update `load-history'. + ;; We must update `current-load-list' explicitly. + (setq current-load-list + (cons (quote ,name) current-load-list)) + (put (quote ,name) 'defsubst-maybe t))))) (defmacro defalias-maybe (symbol definition) "Define SYMBOL as an alias for DEFINITION if SYMBOL is not defined. @@ -111,35 +111,35 @@ (setq symbol (eval symbol)) (or (and (fboundp symbol) (not (get symbol 'defalias-maybe))) - (` (or (fboundp (quote (, symbol))) - (prog1 - (defalias (quote (, symbol)) (, definition)) - ;; `defalias' updates `load-history' internally. - (put (quote (, symbol)) 'defalias-maybe t)))))) + `(or (fboundp (quote ,symbol)) + (prog1 + (defalias (quote ,symbol) ,definition) + ;; `defalias' updates `load-history' internally. + (put (quote ,symbol) 'defalias-maybe t))))) (defmacro defvar-maybe (name &rest everything-else) "Define NAME as a variable if NAME is not defined. See also the function `defvar'." (or (and (boundp name) (not (get name 'defvar-maybe))) - (` (or (boundp (quote (, name))) - (prog1 - (defvar (, name) (,@ everything-else)) - ;; byte-compiler will generate code to update - ;; `load-history'. - (put (quote (, name)) 'defvar-maybe t)))))) + `(or (boundp (quote ,name)) + (prog1 + (defvar ,name ,@everything-else) + ;; byte-compiler will generate code to update + ;; `load-history'. + (put (quote ,name) 'defvar-maybe t))))) (defmacro defconst-maybe (name &rest everything-else) "Define NAME as a constant variable if NAME is not defined. See also the function `defconst'." (or (and (boundp name) (not (get name 'defconst-maybe))) - (` (or (boundp (quote (, name))) - (prog1 - (defconst (, name) (,@ everything-else)) - ;; byte-compiler will generate code to update - ;; `load-history'. - (put (quote (, name)) 'defconst-maybe t)))))) + `(or (boundp (quote ,name)) + (prog1 + (defconst ,name ,@everything-else) + ;; byte-compiler will generate code to update + ;; `load-history'. + (put (quote ,name) 'defconst-maybe t))))) (defmacro defun-maybe-cond (name args &optional doc &rest clauses) "Define NAME as a function if NAME is not defined. @@ -152,26 +152,26 @@ doc nil)) (or (and (fboundp name) (not (get name 'defun-maybe))) - (` (or (fboundp (quote (, name))) - (prog1 - (static-cond - (,@ (mapcar - (function - (lambda (case) - (list (car case) - (if doc - (` (defun (, name) (, args) - (, doc) - (,@ (cdr case)))) - (` (defun (, name) (, args) - (,@ (cdr case)))))))) - clauses))) - ;; This `defun' will be compiled to `fset', - ;; which does not update `load-history'. - ;; We must update `current-load-list' explicitly. - (setq current-load-list - (cons (quote (, name)) current-load-list)) - (put (quote (, name)) 'defun-maybe t)))))) + `(or (fboundp (quote ,name)) + (prog1 + (static-cond + ,@(mapcar + (function + (lambda (case) + (list (car case) + (if doc + `(defun ,name ,args + ,doc + ,@(cdr case)) + `(defun ,name ,args + ,@ (cdr case)))))) + clauses)) + ;; This `defun' will be compiled to `fset', + ;; which does not update `load-history'. + ;; We must update `current-load-list' explicitly. + (setq current-load-list + (cons (quote ,name) current-load-list)) + (put (quote ,name) 'defun-maybe t))))) (defmacro defmacro-maybe-cond (name args &optional doc &rest clauses) "Define NAME as a macro if NAME is not defined. @@ -184,26 +184,26 @@ doc nil)) (or (and (fboundp name) (not (get name 'defmacro-maybe))) - (` (or (fboundp (quote (, name))) - (prog1 - (static-cond - (,@ (mapcar - (function - (lambda (case) - (list (car case) - (if doc - (` (defmacro (, name) (, args) - (, doc) - (,@ (cdr case)))) - (` (defmacro (, name) (, args) - (,@ (cdr case)))))))) - clauses))) - ;; This `defmacro' will be compiled to `fset', - ;; which does not update `load-history'. - ;; We must update `current-load-list' explicitly. - (setq current-load-list - (cons (quote (, name)) current-load-list)) - (put (quote (, name)) 'defmacro-maybe t)))))) + `(or (fboundp (quote ,name)) + (prog1 + (static-cond + ,@(mapcar + (function + (lambda (case) + (list (car case) + (if doc + `(defmacro ,name ,args + ,doc + ,@(cdr case)) + `(defmacro ,name ,args + @(cdr case)))))) + clauses)) + ;; This `defmacro' will be compiled to `fset', + ;; which does not update `load-history'. + ;; We must update `current-load-list' explicitly. + (setq current-load-list + (cons (quote ,name) current-load-list)) + (put (quote ,name) 'defmacro-maybe t))))) (defmacro defsubst-maybe-cond (name args &optional doc &rest clauses) "Define NAME as an inline function if NAME is not defined. @@ -216,26 +216,26 @@ doc nil)) (or (and (fboundp name) (not (get name 'defsubst-maybe))) - (` (or (fboundp (quote (, name))) - (prog1 - (static-cond - (,@ (mapcar - (function - (lambda (case) - (list (car case) - (if doc - (` (defsubst (, name) (, args) - (, doc) - (,@ (cdr case)))) - (` (defsubst (, name) (, args) - (,@ (cdr case)))))))) - clauses))) - ;; This `defsubst' will be compiled to `fset', - ;; which does not update `load-history'. - ;; We must update `current-load-list' explicitly. - (setq current-load-list - (cons (quote (, name)) current-load-list)) - (put (quote (, name)) 'defsubst-maybe t)))))) + `(or (fboundp (quote ,name)) + (prog1 + (static-cond + ,@ (mapcar + (function + (lambda (case) + (list (car case) + (if doc + `(defsubst ,name ,args + ,doc + ,@ (cdr case)) + `(defsubst ,name ,args + ,@(cdr case)))))) + clauses)) + ;; This `defsubst' will be compiled to `fset', + ;; which does not update `load-history'. + ;; We must update `current-load-list' explicitly. + (setq current-load-list + (cons (quote ,name) current-load-list)) + (put (quote ,name) 'defsubst-maybe t))))) ;;; Edebug spec. @@ -246,7 +246,7 @@ "Set the edebug-form-spec property of SYMBOL according to SPEC. Both SYMBOL and SPEC are unevaluated. The SPEC can be 0, t, a symbol \(naming a function\), or a list." - (` (put (quote (, symbol)) 'edebug-form-spec (quote (, spec))))) + `(put (quote ,symbol) 'edebug-form-spec (quote ,spec))) ;; edebug-spec for `def*-maybe' macros. (def-edebug-spec defun-maybe defun)