Bug#919021: gedit: TypeError in string_in_native_doc_encoding()

Jakub Wilk jwilk at jwilk.net
Fri Jan 11 22:09:15 GMT 2019


* Jeremy Bicha <jbicha at debian.org>, 2019-01-11, 15:36:
>>plugins/snippets/snippets/document.py contains the following code:
>>
>>   cv = GLib.convert(s, -1, enc.get_charset(), 'UTF-8')
>>
>>But GLib.convert() takes 3 arguments, not 4, so this will always fail 
>>with TypeError.
>
>Do you have a sample file to help trigger the bug?

Difficult question. :-) I've never used gedit before. I noticed the bug 
by reading the code.

But OK, this is how you can trigger this:

1) Enable the "Snippets" plugin in settings.

2) Run:

   echo foo | iconv -t UTF-16 > foo.html
   gedit foo.html

3) Type "head" and press Tab.

You should get the following traceback:

   Traceback (most recent call last):
     File "/usr/lib/i386-linux-gnu/gedit/plugins/snippets/document.py", line 852, in on_view_key_press
       return self.run_snippet()
     File "/usr/lib/i386-linux-gnu/gedit/plugins/snippets/document.py", line 692, in run_snippet
       if not self.run_snippet_trigger(word, (start, end)):
     File "/usr/lib/i386-linux-gnu/gedit/plugins/snippets/document.py", line 664, in run_snippet_trigger
       return self.apply_snippet(snippets[0], bounds[0], bounds[1])
     File "/usr/lib/i386-linux-gnu/gedit/plugins/snippets/document.py", line 527, in apply_snippet
       env = self.get_environment()
     File "/usr/lib/i386-linux-gnu/gedit/plugins/snippets/document.py", line 491, in get_environment
       v = variables[var](buf)
     File "/usr/lib/i386-linux-gnu/gedit/plugins/snippets/document.py", line 345, in env_get_current_word
       return {'utf8': u8, 'noenc': self.string_in_native_doc_encoding(buf, u8)}
     File "/usr/lib/i386-linux-gnu/gedit/plugins/snippets/document.py", line 323, in string_in_native_doc_encoding
       cv = GLib.convert(s, -1, enc.get_charset(), 'UTF-8')
   TypeError: GLib.convert() takes exactly 3 arguments (4 given)

-- 
Jakub Wilk



More information about the pkg-gnome-maintainers mailing list