Disassembling works on byte-compiled functions and functions evaluated in buffers without lexical bindings. If you try to disassemble a function evaluated with lexical bindings, it fails with error "disassemble-internal: not a function". To reproduce: * M-x disassemble RET gv-get RET --> works (assuming it is loaded from 'gv.elc') * Go to gv-get definition and eval it explicitly * M-x disassemble RET gv-get RET --> fails Paul