New submission from Serhiy Storchaka: FORMAT_VALUE packs the information about conversion flags and boolean flag that denotes whether format specifier is passed on the stack in one integer argument. It is not easy to decode this information in disassemble output. Proposed patch makes disassembler producing human readable representation of FORMAT_VALUE argument.
$ echo 'f"{a} {b:4} {c!r} {d!r:4}"' | ./python -m dis 1 0 LOAD_NAME 0 (a) 2 FORMAT_VALUE 0 4 LOAD_CONST 0 (' ') 6 LOAD_NAME 1 (b) 8 LOAD_CONST 1 ('4') 10 FORMAT_VALUE 4 (with format) 12 LOAD_CONST 0 (' ') 14 LOAD_NAME 2 (c) 16 FORMAT_VALUE 2 (repr) 18 LOAD_CONST 0 (' ') 20 LOAD_NAME 3 (d) 22 LOAD_CONST 1 ('4') 24 FORMAT_VALUE 6 (repr, with format) 26 BUILD_STRING 7 28 POP_TOP 30 LOAD_CONST 2 (None) 32 RETURN_VALUE ---------- components: Library (Lib) files: dis_format_string.patch keywords: patch messages: 277754 nosy: eric.smith, serhiy.storchaka priority: normal severity: normal stage: patch review status: open title: Improve support of FORMAT_VALUE in dis type: enhancement versions: Python 3.6, Python 3.7 Added file: http://bugs.python.org/file44892/dis_format_string.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28317> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com