Python, Emacs и кодировка - PullRequest
       5

Python, Emacs и кодировка

3 голосов
/ 02 марта 2012

У меня проблемы с Emacs + Python 2.7.1 + Кодировка. Согласно PEP 0263 , Python использует то же объявление исходной кодировки, что и emacs.

Нет проблем при запуске сценария исходного кода Python со следующим тегом кодировки:

#!/usr/bin/python
# -*- mode=python; encoding:us-ascii -*-

Но когда я добавляю режим окончания строки в свою кодировку, например:

#!/usr/bin/python
# -*- mode=python; encoding:us-ascii-unix -*-

Emacs все еще принимает мою информацию о кодировке, но я получаю следующую ошибку от Python при выполнении моего скрипта:

File "./unicode.py", line 2
SyntaxError: encoding problem: with BOM

Есть ли способ сообщить Emacs о конце строки, который я хочу использовать, и в то же время сообщить Python о кодировке исходного файла?

1 Ответ

3 голосов
/ 02 марта 2012

Вы можете написать два блока: один, который анализируется только интерпретатором, и другой, который анализируется только Emacs:

#!/usr/bin/python
# coding: us-ascii

print "Hello World"    

# Local Variables:
# mode: python
# coding: us-ascii-unix
# End:

Обратите внимание, что (1) us-ascii является значением по умолчанию в Python 2.x; и (2) Emacs обычно может автоматически определять соглашение об окончании строки; так что вы можете обойтись без объявления чего-либо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...