diff --git a/application.py b/application.py index 50f9f2b..d62f59e 100755 --- a/application.py +++ b/application.py @@ -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] diff --git a/buffer/__init__.py b/buffer/__init__.py index 2d2ff50..ee4eed5 100644 --- a/buffer/__init__.py +++ b/buffer/__init__.py @@ -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 = '' diff --git a/code_examples/quijote b/code_examples/quijote new file mode 100644 index 0000000..238d600 --- /dev/null +++ b/code_examples/quijote @@ -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. diff --git a/method/buffers.py b/method/buffers.py index d163980..b24d55b 100644 --- a/method/buffers.py +++ b/method/buffers.py @@ -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) \ No newline at end of file