mirror of
https://github.com/python/cpython.git
synced 2025-10-22 14:42:22 +00:00
(py-honor-comment-indentation, py-compute-indentation): allow other
than nil or t values.
This commit is contained in:
parent
378815ca86
commit
6d627754c1
1 changed files with 23 additions and 10 deletions
|
@ -100,15 +100,20 @@ should be of the form `#x...' where `x' is not a blank or a tab, and
|
||||||
`...' is arbitrary).")
|
`...' is arbitrary).")
|
||||||
|
|
||||||
(defvar py-honor-comment-indentation t
|
(defvar py-honor-comment-indentation t
|
||||||
"*If non-nil, single-# comments are a hint to subsequent line indentation.
|
"*Controls how comment lines influence subsequent indentation.
|
||||||
If the previous line is a comment which begins with a single `#'
|
|
||||||
character (as opposed to `py-block-comment-prefix' -- normally `##'),
|
|
||||||
then it's indentation is used as a hint for this line's indentation.
|
|
||||||
When this variable is nil, all comments are skipped for indentation
|
|
||||||
purposes, and a faster algorithm is used.
|
|
||||||
|
|
||||||
Under Emacs 18, or old Emacs 19's, this variable has no effect, and
|
When nil, all comment lines are skipped for indentation purposes, and
|
||||||
the behavior is as if it were always non-nil.")
|
in Emacs 19, a faster algorithm is used.
|
||||||
|
|
||||||
|
When t, lines that begin with a single `#' are a hint to subsequent
|
||||||
|
line indentation. If the previous line is such a comment line (as
|
||||||
|
opposed to one that starts with `py-block-comment-prefix'), then it's
|
||||||
|
indentation is used as a hint for this line's indentation. Lines that
|
||||||
|
begin with `py-block-comment-prefix' are ignored for indentation
|
||||||
|
purposes.
|
||||||
|
|
||||||
|
When not nil or t, comment lines that begin with a `#' are used as
|
||||||
|
indentation hints, unless the comment character is in column zero.")
|
||||||
|
|
||||||
(defvar py-scroll-process-buffer t
|
(defvar py-scroll-process-buffer t
|
||||||
"*Scroll Python process buffer as output arrives.
|
"*Scroll Python process buffer as output arrives.
|
||||||
|
@ -864,10 +869,18 @@ the new line indented."
|
||||||
;; will skip a blank or non-indenting comment line that
|
;; will skip a blank or non-indenting comment line that
|
||||||
;; happens to be a continuation line too. use fast Emacs 19
|
;; happens to be a continuation line too. use fast Emacs 19
|
||||||
;; function if it's there.
|
;; function if it's there.
|
||||||
(if (and (not py-honor-comment-indentation)
|
(if (and (eq py-honor-comment-indentation nil)
|
||||||
(fboundp 'forward-comment))
|
(fboundp 'forward-comment))
|
||||||
(forward-comment (- (point-max)))
|
(forward-comment (- (point-max)))
|
||||||
(re-search-backward "^[ \t]*\\([^ \t\n#]\\|#[ \t\n]\\)" nil 'move))
|
(let (done)
|
||||||
|
(while (not done)
|
||||||
|
(re-search-backward "^[ \t]*\\([^ \t\n#]\\|#[ \t\n]\\)"
|
||||||
|
nil 'move)
|
||||||
|
(setq done (or (eq py-honor-comment-indentation t)
|
||||||
|
(bobp)
|
||||||
|
(/= (following-char) ?#)
|
||||||
|
(not (zerop (current-column)))))
|
||||||
|
)))
|
||||||
;; if we landed inside a string, go to the beginning of that
|
;; if we landed inside a string, go to the beginning of that
|
||||||
;; string. this handles triple quoted, multi-line spanning
|
;; string. this handles triple quoted, multi-line spanning
|
||||||
;; strings.
|
;; strings.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue