(require 'rep.structures) (define (describe-symbol s) (if (boundp s) (cond ((special-form-p (symbol-value s)) "Special form") ((macrop (symbol-value s)) "Macro") ((subrp (symbol-value s)) "Built-in function") ;;((commandp (symbol-value s)) "Command") ((functionp (symbol-value s)) "Function") ((binding-immutable-p s ) "Constant") (t "Variable")) "Symbol"))