[pyrepl-checkins] pyrepl/pyrepl historical_reader.py,1.5,1.6 python_reader.py,1.8,1.9 reader.py,1.8,1.9

mwh@codespeak.net mwh@codespeak.net
Fri, 16 May 2003 15:51:16 +0200 (MEST)


Update of /cvs/pyrepl/pyrepl/pyrepl
In directory thoth.codespeak.net:/tmp/cvs-serv14632

Modified Files:
	historical_reader.py python_reader.py reader.py 
Log Message:
get_buffer() now takes an optional encoding parameter (defaulting to 
terminal encoding) and returns a string in that encoding.

Add new get_unicode() method that does what you expect.


Index: historical_reader.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/historical_reader.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** historical_reader.py	16 May 2003 13:45:09 -0000	1.5
--- historical_reader.py	16 May 2003 13:51:14 -0000	1.6
***************
*** 69,73 ****
          r = self.reader
          if r.historyi != len(r.history):
!             if r.get_buffer() != r.history[r.historyi]:
                  r.buffer = list(r.history[r.historyi])
                  r.pos = len(r.buffer)
--- 69,73 ----
          r = self.reader
          if r.historyi != len(r.history):
!             if r.get_unicode() != r.history[r.historyi]:
                  r.buffer = list(r.history[r.historyi])
                  r.pos = len(r.buffer)
***************
*** 219,223 ****
          
      def select_item(self, i):
!         self.transient_history[self.historyi] = self.get_buffer()
          buf = self.transient_history.get(i)
          if buf is None:
--- 219,223 ----
          
      def select_item(self, i):
!         self.transient_history[self.historyi] = self.get_unicode()
          buf = self.transient_history.get(i)
          if buf is None:
***************
*** 232,236 ****
              return self.transient_history.get(i, self.history[i])
          else:
!             return self.transient_history.get(i, self.get_buffer())
  
      R_prepare = R.prepare
--- 232,236 ----
              return self.transient_history.get(i, self.history[i])
          else:
!             return self.transient_history.get(i, self.get_unicode())
  
      R_prepare = R.prepare
***************
*** 264,268 ****
          p = self.pos
          i = self.historyi
!         s = self.get_buffer()
          forwards = self.isearch_direction == ISEARCH_DIRECTION_FORWARDS
          while 1:
--- 264,268 ----
          p = self.pos
          i = self.historyi
!         s = self.get_unicode()
          forwards = self.isearch_direction == ISEARCH_DIRECTION_FORWARDS
          while 1:
***************
*** 292,296 ****
      def finish(self):
          self.R_finish()
!         ret = self.get_buffer()
          for i, t in self.transient_history.items():
              if i < len(self.history) and i != self.historyi:
--- 292,296 ----
      def finish(self):
          self.R_finish()
!         ret = self.get_unicode()
          for i, t in self.transient_history.items():
              if i < len(self.history) and i != self.historyi:

Index: python_reader.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/python_reader.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** python_reader.py	16 May 2003 13:45:09 -0000	1.8
--- python_reader.py	16 May 2003 13:51:14 -0000	1.9
***************
*** 54,58 ****
      def do(self):
          r = self.reader
!         text = r.get_buffer()
          try:
              # ooh, look at the hack:
--- 54,58 ----
      def do(self):
          r = self.reader
!         text = r.get_unicode()
          try:
              # ooh, look at the hack:
***************
*** 119,123 ****
      
      def get_completions(self, stem):
!         b = self.get_buffer()
          m = import_line_prog.match(b)
          if m:
--- 119,123 ----
      
      def get_completions(self, stem):
!         b = self.get_unicode()
          m = import_line_prog.match(b)
          if m:
***************
*** 224,228 ****
          else:
              if self.reader.finished:
!                 text = self.reader.get_buffer()
                  self.restore()
                  if text:
--- 224,228 ----
          else:
              if self.reader.finished:
!                 text = self.reader.get_unicode()
                  self.restore()
                  if text:

Index: reader.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/reader.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** reader.py	16 May 2003 13:45:09 -0000	1.8
--- reader.py	16 May 2003 13:51:14 -0000	1.9
***************
*** 253,257 ****
          especially efficient is certainly simple(r).
          """
!         lines = self.get_buffer().split("\n")
          screen = []
          screeninfo = []
--- 253,257 ----
          especially efficient is certainly simple(r).
          """
!         lines = self.get_unicode().split("\n")
          screen = []
          screeninfo = []
***************
*** 545,552 ****
  
      def get_unicode(self):
-         """Return the current buffer as a unicode string."""
-         return u''.join(self.buffer)
- 
-     def get_buffer(self):
          """Return the current buffer as a unicode string."""
          return u''.join(self.buffer)
--- 545,548 ----