;; Evaluate expression to render a tree of all major modes ;; requires graphviz (http://www.graphviz.org/) to be installed (let (tree) (dolist (f features) (require f)) (mapatoms (lambda (a) (let ((p (get a 'derived-mode-parent))) (when p (push (cons p a) tree))))) (with-temp-buffer (insert "digraph {\n") (dolist (node tree) (insert (format "\"%s\" -> \"%s\";\n" (car node) (cdr node)))) (insert "}\n") (shell-command-on-region (point-min) (point-max) "dot -Tpng > dep.png")))