emacs python-mode

时间:2015-10-06 14:00:35

标签: python emacs

如果我有一个名为Class的属性的对象,并且我在if语句中引用该对象,则emacs将错误地使用if语句的else:行。预期的缩进和emacs提供的缩进如下。

def func():
    if obj.Class:
        pass
    else:  # Correct indentation
        pass

def func():
    if obj.Class:
        pass
else:  # emacs indentation
    pass

之前我还未能找到有关此问题的任何信息。这是一个已知的问题,如果有,是否有解决方案?我正在使用emacs 24.5.1。

1 个答案:

答案 0 :(得分:0)

我刚试过这个。实际上,这是一个错误,看起来python-mode认为关键字不区分大小写:

def func():
    if obj.Class:
        pass
else:
    pass

def func():
    if obj.Klass:
        pass
    else:
        pass

def func():
    if obj.If:
        pass
else:
    pass

这意味着你必须忍受它。您当然可以使用更常见的名称cls代替Class解决此问题。