;;; Untested, but should work
(in-package :sb-c)
(without-package-locks
(defun undefine-fun-name (name) (when name (macrolet ((frob (type &optional val) `(unless (eq (info :function ,type name) ,val) (setf (info :function ,type name) ,val)))) (frob :info) (frob :type (specifier-type 'function)) (frob :where-from :assumed) (frob :inlinep) (frob :kind) (frob :macro-function) (frob :inline-expansion-designator) (frob :source-transform) (frob :structure-accessor) (frob :assumed-type))) (values))
)
;;; Untested, but should work
(in-package :sb-c)
(without- package- locks
(defun undefine-fun-name (name)
`(unless (eq (info :function ,type name) ,val)
( setf (info :function ,type name) ,val)))) expansion- designator) accessor)
(when name
(macrolet ((frob (type &optional val)
(frob :info)
(frob :type (specifier-type 'function))
(frob :where-from :assumed)
(frob :inlinep)
(frob :kind)
(frob :macro-function)
(frob :inline-
(frob :source-transform)
(frob :structure-
(frob :assumed-type)))
(values))
)