• Fabián Ezequiel Gallina's avatar
    Fix dedenters and electric colon handling. · fded0b4a
    Fabián Ezequiel Gallina authored
    * lisp/progmodes/python.el
    (python-rx-constituents): Add dedenter and block-ender.
    (python-indent-dedenters, python-indent-block-enders): Delete.
    (python-indent-context): Return new case for dedenter-statement.
    (python-indent-calculate-indentation): Handle new case.
    (python-indent-calculate-levels): Fix levels calculation for
    dedenter statements.
    (python-indent-post-self-insert-function): Fix colon handling.
    (python-info-dedenter-opening-block-message): New function.
    (python-indent-line): Use it.
    (python-info-closing-block)
    (python-info-closing-block-message): Remove.
    (python-info-dedenter-opening-block-position)
    (python-info-dedenter-opening-block-positions)
    (python-info-dedenter-statement-p): New functions.
    
    * test/automated/python-tests.el
    (python-indent-block-enders-1)
    (python-indent-block-enders-2): Fix tests.
    (python-indent-block-enders-3)
    (python-indent-block-enders-4)
    (python-indent-block-enders-5)
    (python-indent-dedenters-1)
    (python-indent-dedenters-2): Remove tests.
    (python-indent-dedenters-1)
    (python-indent-dedenters-2)
    (python-indent-dedenters-3)
    (python-indent-dedenters-4)
    (python-indent-dedenters-5)
    (python-indent-dedenters-6)
    (python-indent-dedenters-7)
    (python-info-dedenter-opening-block-position-1)
    (python-info-dedenter-opening-block-position-2)
    (python-info-dedenter-opening-block-position-3)
    (python-info-dedenter-opening-block-positions-1)
    (python-info-dedenter-opening-block-positions-2)
    (python-info-dedenter-opening-block-positions-3)
    (python-info-dedenter-opening-block-positions-4)
    (python-info-dedenter-opening-block-positions-5)
    (python-info-dedenter-opening-block-message-1)
    (python-info-dedenter-opening-block-message-2)
    (python-info-dedenter-opening-block-message-3)
    (python-info-dedenter-opening-block-message-4)
    (python-info-dedenter-opening-block-message-5)
    (python-info-dedenter-statement-p-1)
    (python-info-dedenter-statement-p-2)
    (python-info-dedenter-statement-p-3)
    (python-info-dedenter-statement-p-4)
    (python-info-dedenter-statement-p-5): New tests.
    
    Fixes: debbugs:15163
    fded0b4a
ChangeLog 62.1 KB