diff options
author | Barry Warsaw <barry@python.org> | 1998-07-07 15:11:24 (GMT) |
---|---|---|
committer | Barry Warsaw <barry@python.org> | 1998-07-07 15:11:24 (GMT) |
commit | 003932a508ac3bdaac4e66485b938f519376cf06 (patch) | |
tree | 5661bca1d845df40fd67d22b66d8b0c013eceed0 /Misc/python-mode.el | |
parent | 9d865e1a3024846032cea47beecaaa1ddeaebfa4 (diff) | |
download | cpython-003932a508ac3bdaac4e66485b938f519376cf06.zip cpython-003932a508ac3bdaac4e66485b938f519376cf06.tar.gz cpython-003932a508ac3bdaac4e66485b938f519376cf06.tar.bz2 |
(py-comment-indent-function): A replacement for
comment-indent-function's default lambda value (in simple.el), this
version finally kills this nit: auto-filling a comment that starts in
column zero with filladapt turned off would cascade the #'s to the
right.
Now auto-filling seems to work with or without filladapt, and with the
comment starting in any column.
(python-mode): Set comment-indent-function.
Diffstat (limited to 'Misc/python-mode.el')
-rw-r--r-- | Misc/python-mode.el | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/Misc/python-mode.el b/Misc/python-mode.el index 644f1ef..e9dd62d 100644 --- a/Misc/python-mode.el +++ b/Misc/python-mode.el @@ -979,24 +979,26 @@ py-beep-if-tab-change\t\tring the bell if tab-width is changed" (make-local-variable 'comment-end) (make-local-variable 'comment-start-skip) (make-local-variable 'comment-column) + (make-local-variable 'comment-indent-function) (make-local-variable 'indent-region-function) (make-local-variable 'indent-line-function) (make-local-variable 'add-log-current-defun-function) ;; (set-syntax-table py-mode-syntax-table) - (setq major-mode 'python-mode - mode-name "Python" - local-abbrev-table python-mode-abbrev-table - font-lock-defaults '(python-font-lock-keywords) - paragraph-separate "^[ \t]*$" - paragraph-start "^[ \t]*$" - require-final-newline t - comment-start "# " - comment-end "" - comment-start-skip "# *" - comment-column 40 - indent-region-function 'py-indent-region - indent-line-function 'py-indent-line + (setq major-mode 'python-mode + mode-name "Python" + local-abbrev-table python-mode-abbrev-table + font-lock-defaults '(python-font-lock-keywords) + paragraph-separate "^[ \t]*$" + paragraph-start "^[ \t]*$" + require-final-newline t + comment-start "# " + comment-end "" + comment-start-skip "# *" + comment-column 40 + comment-indent-function 'py-comment-indent-function + indent-region-function 'py-indent-region + indent-line-function 'py-indent-line ;; tell add-log.el how to find the current function/method/variable add-log-current-defun-function 'py-current-defun ) @@ -1884,6 +1886,23 @@ it's tried again going backward." py-indent-offset)) )) +(defun py-comment-indent-function () + ;; A better value for comment-indent-function in Python source, this + ;; actually works when filladapt is turned off. Without this, in + ;; that case, comments which start in column zero cascade one + ;; character to the right + (save-excursion + (beginning-of-line) + (let ((eol (py-point 'eol))) + (and comment-start-skip + (re-search-forward comment-start-skip eol t) + (setq eol (match-beginning 0))) + (goto-char eol) + (skip-chars-backward " \t") + (max comment-column (+ (current-column) (if (bolp) 0 1))) + ))) + + (defun py-shift-region (start end count) (save-excursion (goto-char end) (beginning-of-line) (setq end (point)) |