使用Emacs保存Python文件更改了缩进

时间:2014-07-14 18:13:35

标签: python emacs

我之前从未遇到过这种情况,但是当在Ubuntu 14.04上使用Emacs23时,我试图保存文件时已经两次更改了缩进 - 例如。

     if classRowDict[currClass] != rowCtr:
        sys.exit("About to enter %s in row %d, instead of row %d" % (currClass, rowCtr, classRowDict[currClass]))
     else:
        data=re.findall("\d+\.?\d*",currLine)

成为

     if classRowDict[currClass] != rowCtr:
 sys.exit("About to enter %s in row %d, instead of row %d" % (currClass, rowCtr, classRowDict[currClass]))
     else:
 data=re.findall("\d+\.?\d*",currLine)

对于较大的代码块,这是一个更大的问题。我将使用Emacs24解决问题,但这是第二次发生这种情况。有没有人见过这样的东西,只是保存(ctrlX-S)会导致Emacs更改Python(.py)文件的缩进?如果是这样,我该如何避免这种情况,或者至少在将来修复它?

2 个答案:

答案 0 :(得分:1)

一些调试技巧:

      
  • 尝试查看变量" before-save-hook"保存时查看可能正在运行的内容。   
  • 尝试将Emacs作为" emacs -q"删除.emacs文件中配置的任何内容   
  • 尝试删除代码块,看看是否有东西搞砸了文件其余部分的缩进。

答案 1 :(得分:1)

如上所述,很可能是一些钩子做到了。如果您没有看到原因,请尝试从emacs -Q,加载python-mode.el并在

上提交错误报告

https://bugs.launchpad.net/python-mode