improved handling of encodings/utf-8/curses
--HG-- branch : pmacs2
This commit is contained in:
parent
c7070c2d01
commit
9b57b04658
|
@ -858,7 +858,8 @@ class Application(object):
|
|||
char = chr(junk & 255)
|
||||
attr = color.build(fg, bg)
|
||||
try:
|
||||
self.addstr(sy, sx, char, attr)
|
||||
#self.addstr(sy, sx, char, attr)
|
||||
self.win.addstr(sy, sx, char, attr)
|
||||
except curses.error:
|
||||
raise DrawError("(%d, %d, %r, %r) v. (%d, %d)" %
|
||||
(sy, sx, fg, bg, self.y, self.x))
|
||||
|
@ -984,9 +985,12 @@ class Application(object):
|
|||
limit = util.get_margin_limit(w, 80)
|
||||
if limit < self.x:
|
||||
for j in xrange(0, slot.height):
|
||||
char = chr(self.win.inch(j + slot.y_offset, limit) & 255)
|
||||
attr = color.build('default', shade, 'bold')
|
||||
self.addstr(j + slot.y_offset, limit + w.mode.lmargin, char, attr)
|
||||
#char = chr(self.win.inch(j + slot.y_offset, limit) & 255)
|
||||
#attr = color.build('default', shade, 'bold')
|
||||
#self.addstr(j + slot.y_offset, limit + w.mode.lmargin, char, attr)
|
||||
self.highlight_char(j + slot.y_offset,
|
||||
limit + w.mode.lmargin,
|
||||
fg='default', bg=shade)
|
||||
|
||||
def _draw_slot(self, i):
|
||||
slot = self.bufferlist.slots[i]
|
||||
|
|
|
@ -632,7 +632,7 @@ class FileBuffer(Buffer):
|
|||
f.close()
|
||||
self.store_checksum(data)
|
||||
data = self.read_filter(data)
|
||||
codec = chardet.detect(data)['encoding'] or 'utf-8'
|
||||
codec = chardet.detect(data).get('encoding') or 'utf-8'
|
||||
self.codec = codec.lower()
|
||||
else:
|
||||
data = ''
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
En la literatura española, hay dos personajes de fama universal. Don Quijote es
|
||||
el protagonista central de la primera novela moderna, "El ingenioso hidalgo don
|
||||
Quijote de la Mancha". Esta novela es una sátira de los libros de caballerías,
|
||||
pero representa también una visión total y compleja de la vida española. Don
|
||||
Quijote y su compañero Sancho Panza son antitéticos; donde uno es valiente, el
|
||||
otro es cobarde; donde uno es idealista, el otro es práctico. Los dos se
|
||||
complementan para formar una imagen de España y del espanol del siglo XVII
|
||||
tanto como del español de hoy.
|
||||
|
||||
En cambio don Juan Tenorio, personaje de ficción en dos dramas, uno del siglo
|
||||
XVII y el otro del siglo XIX, es un hombre irrespetuoso, cínico, satirico,
|
||||
irresponsable, egoísta, gran amante de las mujeres, héroe rebelde y finalmente
|
||||
símbolo del machismo latino. Pero es una personalidad que, por su espíritu de
|
||||
independencia, libertad y deseo de romper con los convencionalismos sociales
|
||||
cautiva la imaginación de los españoles y de todo el mundo.
|
|
@ -184,3 +184,26 @@ class Pwd(Method):
|
|||
w.set_error("Directory %s" % cwd)
|
||||
else:
|
||||
w.set_error("Directory %s/" % os.getcwd())
|
||||
|
||||
class GetBufferCodec(Method):
|
||||
'''Print the buffer's current codec'''
|
||||
def _execute(self, w, **vargs):
|
||||
w.set_error('Codec is %r' % w.buffer.codec)
|
||||
|
||||
class SetBufferCodec(Method):
|
||||
'''Print the buffer's current codec'''
|
||||
args = [arg('codec', p="Codec Name: ",
|
||||
dv=lambda w: w.buffer.codec, h="name of the codec to use")]
|
||||
def _execute(self, w, **vargs):
|
||||
codec = vargs['codec']
|
||||
try:
|
||||
u''.encode(codec)
|
||||
except:
|
||||
w.set_error('%r is not a valid codec' % codec)
|
||||
return
|
||||
w.set_error('Reassigning codec to %r' % codec)
|
||||
u = w.buffer.make_string()
|
||||
s = u.encode(w.buffer.codec)
|
||||
w.buffer.codec = codec
|
||||
u = s.decode(codec)
|
||||
w.buffer.set_data(u, force=True)
|
Loading…
Reference in New Issue