Моя настройка - Emacs 24.4.1, Linux, исходный код Python открыт в буфере, Python mode 0.24.4 (поставляется с Emacs), fill-column установлен в 70, python-fill-docstring-style установлен в nil. Я вызываю fill-paragraph (M-q) из класса docstring класса, чтобы переформатировать docstring таким образом, чтобы строка не превышала 70 символов. Но первая строка docstring всегда длиннее. Похоже, что отступ (8 пробелов) не включен в вычисление длины строки. Что я могу сделать, чтобы ограничить длину линии до 70? Должен ли я использовать python-mode.el вместо?
Пример:
class MyClass(object):
def my_method(self):
"""Some long line with more than 70 characters in the docstring. Some more text."""
После M-q в docstring это выглядит так. Первая строка docstring метода заканчивается в столбце 78 (а вторая строка не имеет отступов, но другая проблема):
class MyClass(object):
def my_method(self):
"""Some long line with more than 70 characters in the docstring. Some
more text."""
Но с длиной строки 70 она должна быть такой:
class MyClass(object):
def my_method(self):
"""Some long line with more than 70 characters in the
docstring. Some more text."""