diff --git a/bootfiles/18e/boot12.lisp b/bootfiles/18e/boot12.lisp index 70b14498e616b74d86debee8f365b4c0b320f472..3a663f6f703c11b7786f02e5ae4704242f4db116 100644 --- a/bootfiles/18e/boot12.lisp +++ b/bootfiles/18e/boot12.lisp @@ -9,12 +9,25 @@ ;;; ;;; Move FDEFN-OR-LOSE to KERNEL and export it from there. ;;; + +(in-package :lisp) + +(unless (fboundp 'fdefn-or-lose) +(defun fdefn-or-lose (name) + "Return the FDEFN of NAME. Signal an error if there is none + or if it's function is null." + (let ((fdefn (fdefinition-object name nil))) + (unless (and fdefn (fdefn-function fdefn)) + (error 'undefined-function :name name)) + fdefn))) + +(in-package :user) + (setf (fdefinition 'kernel::fdefn-or-lose) (fdefinition 'lisp::fdefn-or-lose)) (unintern 'cl::fdefn-or-lose :cl) (export 'kernel::fdefn-or-lose :kernel) - (in-package :profile) (defmacro defstruct! (name &rest stuff)