From: Vibhav Pant Date: Wed, 25 Jan 2017 19:32:16 +0000 (+0530) Subject: * lisp/emacs-lisp/disass.el: Display jump tables for switch. X-Git-Tag: emacs-26.0.90~874 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4e6140b28324a9a63d54084c920206d00aed094e;p=emacs.git * lisp/emacs-lisp/disass.el: Display jump tables for switch. --- diff --git a/lisp/emacs-lisp/disass.el b/lisp/emacs-lisp/disass.el index 97e45e070d0..22c1c962a39 100644 --- a/lisp/emacs-lisp/disass.el +++ b/lisp/emacs-lisp/disass.el @@ -221,9 +221,17 @@ OBJ should be a call to BYTE-CODE generated by the byte compiler." ((memq op '(byte-constant byte-constant2)) ;; it's a constant (setq arg (car arg)) - ;; but if the value of the constant is compiled code, then - ;; recursively disassemble it. - (cond ((or (byte-code-function-p arg) + ;; if the succeeding op is byte-switch, display the jump table + ;; used + (cond ((eq (car-safe (car-safe (cdr lap))) 'byte-switch) + (insert (format "")) + ;; if the value of the constant is compiled code, then + ;; recursively disassemble it. + ((or (byte-code-function-p arg) (and (consp arg) (functionp arg) (assq 'byte-code arg)) (and (eq (car-safe arg) 'macro)