Google Grupper understøtter ikke længere nye Usenet-opslag eller -abonnementer. Tidligere indhold er fortsat synligt.

How prevent Emacs from sending ^M to *Python*? [SUCCESS STORY]

21 visninger
Gå til det første ulæste opslag

Oleksandr Gavenko

ulæst,
21. sep. 2011, 18.39.1421.09.2011
til help-gn...@gnu.org
I use native GNU Emacs under Windows and Cygwin.

I hear that python-mode provide basic completion
functionality so try to use it.

When I try complete symbol by M-TAB in python-mode
Emacs freeze.

*Python* buffer show:

>>> File "<stdin>", line 1
emacs.complete("os.","import re\nimport os\n")
^
SyntaxError: invalid syntax

After week of Expect studying I get stdin/stdout logger and
I found that Python process itself get such data:

import emacs
emacs.complete("os.","import re\nimport os\n")^M
emacs.complete("os.EX","import re\nimport os\n")^M

so I think that root of evil is ^M issue.

After all I deep into 'python-send-string' function from
'python.el'.

It use 'comint-send-string' which use 'process-send-string',
which was written in C...

I try look for variable that related to 'process-' prefix
and found 'process-coding-system-alist' variable and
after

(add-to-list 'process-coding-system-alist
'("python" cp1251-unix . cp1251-unix))

completion start work! Love you, Emacs.


0 nye opslag