;; by Jeffrey Brown (defun inherit-get (thing property) "Searches for the property of thing. If there is one, it returns that value. If there isn't, it looks for an isa-link from thing to another thing. If there isn't one, it returns 'no-category'. If there is one, it inherit-gets another thing with the same property." (let ((result (get thing property 'no-category))) (if (not (equal result 'no-category)) result (if (equal 'no-category (get thing 'isa 'no-category)) 'no-category (inherit-get (get thing 'isa) property)))))