Python / editline su OS X: & # 163; il segno sembra essere legato a ed-prev-word
Domanda
Su Mac OS X non posso inserire un segno di sterlina (& # 163;) nella shell interattiva di Python.
* Mac OS X 10.5.5
* Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)
* European keyboard (£ is shift-3)
Quando digito shift-3 nella shell interattiva di Python, mi sembra di invocare la funzione della parola precedente, ovvero il cursore si sposterà all'inizio dell'ultima parola & # 8220; & # 8221; (ovvero elemento delimitato da spazi) digitato sulla riga. Quando sono tornato nella shell bash, digitando shift-3 si ottiene semplicemente un & # 163 ;, come previsto.
Apparentemente questa versione di Python usa editline per la sua shell interattiva, al contrario di readline. Sto indovinando che una delle associazioni di tasti editline predefinite associa shift-3 (o qualsiasi altra riga visualizzata quando digito shift-3) al comando ed-prev-word.
Ho provato alcune cose nel mio file ~ / .editrc per rimuovere questa associazione e non hanno alcun effetto:
-
bind -r & # 163;
-
bind -r \ 243
-
bind -r \ 156
E un altro che causa un errore del bus:
-
associa & # 163; \ 243
Qualche idea?
Soluzione
Questo potrebbe essere un problema di editline; libedit potrebbe non accettare caratteri UTF-8: