diff options
| author | Fabián Ezequiel Gallina <fgallina@gnu.org> | 2012-10-07 13:13:52 -0300 | 
|---|---|---|
| committer | Fabián Ezequiel Gallina <fgallina@gnu.org> | 2012-10-07 13:13:52 -0300 | 
| commit | be0d5baecc14ae4dea87e159b803e7f8b1043451 (patch) | |
| tree | 9d88737fa6a0cbe88766bad92cb263a9bef20ea0 /lisp/progmodes/python.el | |
| parent | 662a9d0e1ca5f7e2de9aa2d4d59a038aa93ab146 (diff) | |
| download | emacs-be0d5baecc14ae4dea87e159b803e7f8b1043451.tar.gz | |
Enhancements to indentation.
* lisp/progmodes/python.el (python-indent-context): Give priority to
inside-string context.  Make comments indentation markers.
(python-indent-region): Do not mess with strings, unless it's the
enclosing set of quotes.
Diffstat (limited to 'lisp/progmodes/python.el')
| -rw-r--r-- | lisp/progmodes/python.el | 19 | 
1 files changed, 14 insertions, 5 deletions
| diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 726c0b2d542..3ac871981e4 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -676,12 +676,12 @@ START is the buffer position where the sexp starts."             (goto-char (line-beginning-position))             (bobp))           'no-indent) -        ;; Inside a paren -        ((setq start (python-syntax-context 'paren ppss)) -         'inside-paren)          ;; Inside string          ((setq start (python-syntax-context 'string ppss))           'inside-string) +        ;; Inside a paren +        ((setq start (python-syntax-context 'paren ppss)) +         'inside-paren)          ;; After backslash          ((setq start (when (not (or (python-syntax-context 'string ppss)                                      (python-syntax-context 'comment ppss))) @@ -710,7 +710,7 @@ START is the buffer position where the sexp starts."          ;; After normal line          ((setq start (save-excursion                         (back-to-indentation) -                       (python-util-forward-comment -1) +                       (skip-chars-backward (rx (or whitespace ?\n)))                         (python-nav-beginning-of-statement)                         (point-marker)))           'after-line) @@ -973,7 +973,16 @@ Called from a program, START and END specify the region to indent."                (back-to-indentation)                (setq word (current-word))                (forward-line 1) -              (when word +              (when (and word +                         ;; Don't mess with strings, unless it's the +                         ;; enclosing set of quotes. +                         (or (not (python-syntax-context 'string)) +                             (eq +                              (syntax-after +                               (+ (1- (point)) +                                  (current-indentation) +                                  (python-syntax-count-quotes (char-after) (point)))) +                              (string-to-syntax "|"))))                  (beginning-of-line)                  (delete-horizontal-space)                  (indent-to (python-indent-calculate-indentation))))) | 
