[python-users] [emacs-for-python] Emacs-Bug mit 'less' (solved)

Aroldo Souza-Leite asouzaleite at gmx.de
Do Nov 3 08:48:28 CET 2011


Hallo Liste,

in meinem ".inputrc" hatte ich die Zeile

"\C-j": "|less\C-m"

Als ich das aukommentiert habe, verschwand das emacs-Problem, sowohl in 
emacs23 als auch in emacs24.

Sorry für die Verwirrung.

Ich mache die Tests weiter mit emacs24 und 'python.el' auf Ubuntu Lucid 
Lynx (LTS).

Grüße.

Aroldo.


Am 27.10.2011 14:08, schrieb Aroldo Souza-Leite:
> Hallo Andi,
>
> danke.
>
> 'less' funktioniert anstandslos in der Bash-Befehlszeile.
>
> Emacs23-PDB versucht, eine "OR"- Operation zwischen einem 
> auszudruckenden Variablenwert und dem Wert einer im Modul nicht 
> existierenden Variablen 'less' durchzuführen. Wenn ich die Variable 
> 'less' nachträglich deklariere, und die Typen stimmen, dann klappt es 
> mit der nicht gefragten bitweisen "OR" - Operation perfekt ...
>
> In einigen Fällen, die ich nicht reproduzieren konnte, bekomme ich in 
> der Bash-Zeile nach Schließen von Emacs und damit von PDB eine 
> Meldung, die so aussieht, als ob ich eine Ausgabe mit "| less" an 
> "less" pipen wollte. Das finde ich noch verrückter.
>
> Ich vermute eher einen bekloppten Fehler in meiner persönlichen 
> Ubuntu-Konfiguration als in Emacs. Irgendwas stimmt mit meiner Shell 
> im Zusammenhang mit Emacs nicht.  Ich werde eher in dieser Richtung 
> weiter suchen. Lass mich erst mal meine '.bashrc' noch eimal 
> überprüfen und verschwende bitte keine Zeit mehr mit diesem Bug. Ich 
> halte die Liste informiert.
>
> Danke auf jeden Fall.
>
> Aroldo.
>
> --------<x_pdb.py>--------------------------
> # x_pdb.py
>
> x = "7"
> def f():
>     pass
> less ="2"
> x = int(x)
> less = int(less)
> less = 8
>
> # In Emacs23:
> # M-x pdb x_pdb.py
> '''
> Current directory is ~/tmp/python/
> > /home/aroldo/tmp/python/x_pdb.py(1)<module>()
> -> x = "7"
> (Pdb) n
> > /home/aroldo/tmp/python/x_pdb.py(2)<module>()
> -> def f():
> (Pdb) x
> *** NameError: name 'less' is not defined
> (Pdb) n
> > /home/aroldo/tmp/python/x_pdb.py(4)<module>()
> -> less ="2"
> (Pdb) n
> > /home/aroldo/tmp/python/x_pdb.py(5)<module>()
> -> x = int(x)
> (Pdb) x
> *** TypeError: unsupported operand type(s) for |: 'str' and 'str'
> (Pdb) n
> > /home/aroldo/tmp/python/x_pdb.py(6)<module>()
> -> less = int(less)
> (Pdb) n
> > /home/aroldo/tmp/python/x_pdb.py(7)<module>()
> -> less = 8
> (Pdb) x
> 7
> (Pdb) n
> --Return--
> > /home/aroldo/tmp/python/x_pdb.py(7)<module>()->None
> -> less = 8
> (Pdb) x
> 15
> (Pdb)
> '''
> #
> # Emacs:
> # GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.20.1) of 
> 2011-03-04 on palmer, modified by Debian
> #
> # Python:
> # 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
> # [GCC 4.4.3]
> #
> # Ubuntu:
> # LSB Version:    
> core-2.0-ia32:core-2.0-noarch:core-3.0-ia32:core-3.0-noarch:core-3.1-ia32:core-3.1-noarch:core-3.2-ia32:core-3.2-noarch:core-4.0-ia32:core-4.0-noarch:cxx-3.0-ia32:cxx-3.0-noarch:cxx-3.1-ia32:cxx-3.1-noarch:cxx-3.2-ia32:cxx-3.2-noarch:cxx-4.0-ia32:cxx-4.0-noarch:desktop-3.1-ia32:desktop-3.1-noarch:desktop-3.2-ia32:desktop-3.2-noarch:desktop-4.0-ia32:desktop-4.0-noarch:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch:graphics-3.1-ia32:graphics-3.1-noarch:graphics-3.2-ia32:graphics-3.2-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-3.2-ia32:printing-3.2-noarch:printing-4.0-ia32:printing-4.0-noarch:qt4-3.1-ia32:qt4-3.1-noarch
> # Distributor ID:    Ubuntu
> # Description:    Ubuntu 10.04.2 LTS
> # Release:    10.04
> # Codename:    lucid
>
> --------</x_pdb.py>
>
> Am 27.10.2011 08:28, schrieb Andi Albrecht:
>> Hi Aroldo,
>>
>> ich kann bei mir (Ubuntu 11.10, Emacs 23.3.1) das nicht reproduzieren.
>> "M-x pdb" funktioniert wie erwartet... "less" funktioniert in einer
>> normalen Shell bei dir?
>>
>> Grüße,
>>
>> Andi
>>
>>
>> 2011/10/26 Aroldo Souza-Leite<asouzaleite at gmx.de>:
>>> Hallo Liste,
>>>
>>> dieser Fehler bezieht sich nicht direkt auf das Projekt
>>>
>>> https://bitbucket.org/aroldo/pymode
>>>
>>> , wohl aber auf das allgemeinere Thema "Emacs für 
>>> Python-Programmierer."
>>>
>>> Mein 'pdb' direkt aus der Linux-Konsole scheint ok zu funktionieren, 
>>> aber
>>> von Emacs aus bekomme ich folgende Probleme:
>>>
>>> ---------<emacs23>  -----
>>> M-x pdb currywurst.py
>>>
>>> Current directory is ~/tmp/python/
>>>> /home/aroldo/tmp/python/currywurst.py(1)<module>()
>>> ->  cw = 'Currywurst'
>>> (Pdb) n
>>> --Return--
>>>> /home/aroldo/tmp/python/currywurst.py(1)<module>()->None
>>> ->  cw = 'Currywurst'
>>> (Pdb) n
>>> --Return--
>>>> <string>(1)<module>()->None
>>> (Pdb) p cw
>>> *** NameError: NameError("name 'less' is not defined",)
>>> (Pdb)cw
>>> *** NameError: name 'less' is not defined
>>> (Pdb)
>>> ----------</emacs23>
>>>
>>> Und mit Emacs24 ist es noch schlimmer, der Fehler passiert schon 
>>> beim Befehl
>>> 'python-send-buffer':
>>>
>>> ---------<emacs24>
>>> M-x python-send-buffer
>>> M-x python-switch-to-python
>>>
>>>
>>>>>>    File "<stdin>", line 1
>>>     import emacs|less
>>>                 ^
>>> SyntaxError: invalid syntax
>>>>>> Traceback (most recent call last):
>>>   File "<stdin>", line 1, in<module>
>>> NameError: name 'emacs' is not defined
>>> --------</emacs24>
>>>
>>> Wobei der PDB-Fehler gleichermaßen in emacs23 und in emacs24 auftritt.
>>>
>>> An PDB selbst scheint es nicht zu liegen:
>>>
>>> ----------<PDB>
>>> aroldo at aroldo-laptop:~/tmp/python$ pdb currywurst.py
>>>> /home/aroldo/tmp/python/currywurst.py(1)<module>()
>>> ->  cw = 'Currywurst'
>>> (Pdb) n
>>> --Return--
>>>> /home/aroldo/tmp/python/currywurst.py(1)<module>()->None
>>> ->  cw = 'Currywurst'
>>> (Pdb) p cw
>>> 'Currywurst'
>>> (Pdb)
>>> --------------</PDB>
>>>
>>> Die 'efp'-Module sind in meinem '.emacs.d' noch nicht aktiv.
>>>
>>> Ich Benutze Ubuntu 10.04 Lucid Lynx und Python-2.7.
>>>
>>> Ich kann mich nicht daran erinnert, irgendwo in meiner Erweiterungen 
>>> von
>>> '.baschrc' irgendwas mit 'less' für Emacs
>>> eingebaut zu haben.
>>>
>>> Hat jemand eine Ahnung, wo ich der Fehler suchen könnte? Bin dankbar 
>>> für
>>> jeden Tipp.
>>>
>>>
>>> Grüße.
>>>
>>> Aroldo.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> ________________________________________
>>> Diese Mail erhalten Sie ueber die Mailingliste python-users der 
>>> Universitaet
>>> zu Koeln
>>> Nachrichten an: python-users at uni-koeln.de
>>> Abonnement und Benutzereinstellungen:
>>> https://lists.uni-koeln.de/mailman/listinfo/python-users
>>> Listenarchiv: https://lists.uni-koeln.de/pipermail/python-users/
>>>
>>> pyCologne Homepage: http://pycologne.de/
>>>
>> ________________________________________
>> Diese Mail erhalten Sie ueber die Mailingliste python-users der 
>> Universitaet zu Koeln
>> Nachrichten an: python-users at uni-koeln.de
>> Abonnement und Benutzereinstellungen: 
>> https://lists.uni-koeln.de/mailman/listinfo/python-users
>> Listenarchiv: https://lists.uni-koeln.de/pipermail/python-users/
>>
>> pyCologne Homepage: http://pycologne.de/
>
> ________________________________________
> Diese Mail erhalten Sie ueber die Mailingliste python-users der 
> Universitaet zu Koeln
> Nachrichten an: python-users at uni-koeln.de
> Abonnement und Benutzereinstellungen: 
> https://lists.uni-koeln.de/mailman/listinfo/python-users
> Listenarchiv: https://lists.uni-koeln.de/pipermail/python-users/
>
> pyCologne Homepage: http://pycologne.de/




Mehr Informationen über die Mailingliste python-users