Changeset 2863
- Timestamp:
- 11/09/07 16:45:31 (1 year ago)
- Files:
-
- pyreadline/trunk/doc/ChangeLog (modified) (1 diff)
- pyreadline/trunk/pyreadline/clipboard/win32_clipboard.py (modified) (3 diffs)
- pyreadline/trunk/pyreadline/lineeditor/lineobj.py (modified) (2 diffs)
- pyreadline/trunk/pyreadline/unicode_helper.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
pyreadline/trunk/doc/ChangeLog
r2861 r2863 1 2007-11-09 Jörgen Stenarson <jorgen.stenarson -at- bostream.nu> 2 * Fixes to make clipboard play nice with unicode. Quick that treats the clipboard as 3 being str with pyreadline_encoding data. Thus convert to unicode when pasting and 4 converting to str when copying. 5 1 6 2007-11-09 Jörgen Stenarson <jorgen.stenarson -at- bostream.nu> 2 7 * More fixes to ensure unicode works when completing on filepaths with non ascii symbols. pyreadline/trunk/pyreadline/clipboard/win32_clipboard.py
r2132 r2863 35 35 from ctypes import * 36 36 from pyreadline.keysyms.winconstants import CF_TEXT, GHND 37 from pyreadline.unicode_helper import ensure_unicode,ensure_text 37 38 38 39 OpenClipboard = windll.user32.OpenClipboard … … 82 83 GlobalUnlock(hClipMem) 83 84 CloseClipboard() 84 return text85 return ensure_unicode(text) 85 86 86 87 def SetClipboardText(text): 87 buffer = c_buffer( text)88 buffer = c_buffer(ensure_text(text)) 88 89 bufferSize = sizeof(buffer) 89 90 hGlobalMem = GlobalAlloc(c_int(GHND), c_int(bufferSize)) … … 100 101 txt=GetClipboardText() # display last text clipped 101 102 print txt 102 103 104 105 pyreadline/trunk/pyreadline/lineeditor/lineobj.py
r2861 r2863 718 718 end=max(cursor,mark) 719 719 toclipboard="".join(self.line_buffer[begin:end]) 720 clipboard.SetClipboardText( str(toclipboard))720 clipboard.SetClipboardText(toclipboard) 721 721 722 722 def copy_selection_to_clipboard(self): # () … … 730 730 end=max(cursor,selection_mark) 731 731 toclipboard="".join(self.line_buffer[begin:end]) 732 clipboard.SetClipboardText( str(toclipboard))732 clipboard.SetClipboardText(toclipboard) 733 733 734 734 pyreadline/trunk/pyreadline/unicode_helper.py
r2861 r2863 20 20 return text.decode(pyreadline_codepage, "replace") 21 21 return text 22 23 def ensure_text(text): 24 """Convert unicode to str using pyreadline_codepage""" 25 if isinstance(text, str): 26 return text.encode(pyreadline_codepage, "replace") 27 return text
