Встроенные столбцы комментариев Emacs: что происходит? - PullRequest
1 голос
/ 10 мая 2019

В настоящее время я работаю в Python, но я не думаю, что это конкретно проблема Python - меня это смутило, например, в Java.Я использую Aquamacs на Mac, но это тоже не имеет значения.

Я устаю от сумасшествия при размещении встроенных комментариев.Я попытался прочитать соответствующую документацию, но я не могу понять это.Может ли кто-нибудь помочь мне расшифровать, что происходит?

Ниже приведен пример, где я начал эксперимент со всеми встроенными комментариями, выровненными (вручную) с # в столбце 39. Затем для каждого изСтроки, содержащие встроенный комментарий сверху вниз, я поместил курсор на эту строку и сделал comment-indent.Результатом было то, что вы видите ниже.Первые два комментария были помещены в столбец 42, следующие два - в столбец 49, а последние три остались там, где они были в столбце 39.

Значение comment-column равно 48 в буфере.

def fgparam_for_m(m):
    h = (m-1).bit_length()                # height of natural bunch
    s = (1 << h) - m                      # short cws in natural bunch
    return Mparams(m, h, s)

def fgparam_for_mn(m, n):
    m = m + n%m                                  # size of tail bunch
    dt = (n-m)//m                                # depth of tail bunch
    if 2*m < 3*m:
        h = (m-1).bit_length() + 1     # height of tail bunch
        s = (1 << h-1) - m             # short cws in tail bunch
        dn = 1                         # depth of leaf n in tail bunch
    else:
        h = (m + m//3 - 1).bit_length()
        s = 3*(1 << h-2) - m
        dn = 2
    return Nparams(m, h, s, dt, m*dt, dn)

1 Ответ

1 голос
/ 10 мая 2019

Посмотрите на правую сторону , и вы увидите, что все 3 блока имеют самый дальний символ ("h") в одном столбце. Это потому, что comment-indent также старается не проходить мимо fill-column (который, по-видимому, для вас установлен на 70).

Должен признать, что я не знаю, почему у вас средний столбец в столбце 49, а не 48, хотя

...