Function: BUILD-INDEXES

Source

(defun build-indexes (book)
  (loop
    for section in (contents book)
    do (loop
         for part in section
         when (code-part-p part)
           do (when (descriptor part)
                (symbol-macrolet ((index-table
                                    (gethash (class-of (descriptor part)) (indexes book))))
                  (unless index-table
                    (setf index-table (make-hash-table :test 'eql)))
                  (setf (gethash (name (descriptor part)) index-table) part)))))
  book)
Source Context