Description of problem: After update to ibus-table-1.5.0.20140218-1.fc20.noarch, Left Shift stopped work for me. Version-Release number of selected component (if applicable): $ rpm -q ibus-table ibus-table-1.5.0.20140218-1.fc20.noarch How reproducible: Everytime Steps to Reproduce: 1. Start a input method using ibus-table(ex. ibus-table-chinese-wubi-jidian). 2. Input "a" key, then click "left shift" key. 3. nothing happens. Actual results: 1. Nothing happens when click "left shift" key. 2. The following error log can be found in ~/.ibus/table/debug.log AttributeError: 'editor' object has no attribute 'l_shift' Traceback (most recent call last): File "/usr/share/ibus-table/engine/table.py", line 1570, in do_process_key_event result = self._process_key_event (key) File "/usr/share/ibus-table/engine/table.py", line 1592, in _process_key_event return self._table_mode_process_key_event (key) File "/usr/share/ibus-table/engine/table.py", line 1646, in _table_mode_process_key_event res = self._editor.l_shift () Expected results: "Left Shift" key is the hot key to create new phrase. I expect to create new phrase by clicking "left shift".
This seems to be the commit which broke it: https://github.com/kaio/ibus-table/commit/fb11d92439fe4bd55fcad480d3998a17434f6870
Created attachment 871040 [details] 0001-use-editor.commit_to_preedit-instead-of-deleted-edit.patch Patch to fix the problem.
Created attachment 871041 [details] 0002-Don-t-try-to-set-_prev_char-in-commit_string-when-an.patch Another patch to fix a problem which existed already in ibus-table-1.5.0.20130419-3.fc20.noarch.
ibus-table-1.5.0.20140306-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/ibus-table-1.5.0.20140306-1.fc19
ibus-table-1.5.0.20140306-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/ibus-table-1.5.0.20140306-1.fc20
Package ibus-table-1.5.0.20140306-1.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing ibus-table-1.5.0.20140306-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-3514/ibus-table-1.5.0.20140306-1.fc20 then log in and leave karma (feedback).
ibus-table-1.5.0.20140311-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/ibus-table-1.5.0.20140311-1.fc19
ibus-table-1.5.0.20140311-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/ibus-table-1.5.0.20140311-1.fc20
Daniel, the update from comment#8 should fix the regression you found in: https://admin.fedoraproject.org/updates/FEDORA-2014-3514/ibus-table-1.5.0.20140306-1.fc20 danielsun - 2014-03-10 08:20:15 I installed ibus-table-1.5.0.20140306-1.fc20 today and found there are new error messages in ~/.ibus/tables/debug.log Error message 1: Traceback (most recent call last): File "/usr/share/ibus-table/engine/tabsqlitedb.py", line 1008, in check_phrase_internal keyout = [k for k in userdb if k in mudb] NameError: global name 'userdb' is not defined Error message 2: Traceback (most recent call last): File "/usr/share/ibus-table/engine/table.py", line 1610, in do_process_key_event result = self._process_key_event (key) File "/usr/share/ibus-table/engine/table.py", line 1632, in _process_key_event return self._table_mode_process_key_event (key) File "/usr/share/ibus-table/engine/table.py", line 1724, in _table_mode_process_key_event if ascii_ispunct(key.code): File "/usr/share/ibus-table/engine/table.py", line 78, in ascii_ispunct if character in '''!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~''': TypeError: 'in <string>' requires string as left operand, not int Thank you very much for testing!
Mike, Thank you very much for your contact. I installed the ibus-table-1.5.0.20140306-1.fc20 package and found there still the following error in ~/.ibus/table/debug.log Traceback (most recent call last): File "/usr/share/ibus-table/engine/tabsqlitedb.py", line 1008, in check_phrase_internal keyout = [k for k in userdb if k in mudb] NameError: global name 'userdb' is not defined BTW, I am using ibus-table-chinese-wubi-jidian-1.4.6-3.fc20.noarch and this error occurs when I am trying to input a phase with more than one charactor.
ibus-table-1.5.0.20140312-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/ibus-table-1.5.0.20140312-1.fc19
ibus-table-1.5.0.20140312-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/ibus-table-1.5.0.20140312-1.fc20
I installed ibus-table-1.5.0.20140312-1.fc20 today and comfirmed that it solved all the error log problems. There is no more error in ~/.ibus/tables/debug.log
Thank you very much! When I use wubi-haifeng86 and type “akef” or “akfg” I see the messages --- 2014-03-12: 08:41:47 --- pharse pharse "
Created attachment 873492 [details] ibus-table-pharse-pharse-fail.png screen shot showing the strange message in the log when typing “akef”.
Bugzilla seems to have a problem with characters above the BMP, I’ll repeat comment#14 without the characters from above the BMP replaced by U+.....: When I use wubi-haifeng86 and type “akef” or “akfg” I see the messages --- 2014-03-12: 08:41:47 --- pharse pharse "U+26BBB." fail. pharse pharse "U+26BBB." fail. pharse pharse "U+26BBB." fail. pharse pharse "U+26BBB." fail. pharse pharse "難." fail. in the debug log file. These key sequences are in the wubi table (wubi-haifeng86.UTF-8 in the source of ibus-table-chinese): akfe U+0268CA. 100 akfg 難. 100 But they are not inserted into the goucima table when creating the sqlite database with tabcreatedb. I am not sure at the momement whether this is a problem or not. If it is not a problem, there should be a more harmless message in the changelog maybe stating that no goucima was found for the character 難 but it will continue to do something else now. The current message looks ugly and it is also ugly that it is created by an exception. Is everything working OK as far as the above characters are concerned or do we have a real problem here?
Mike, Thank you for your information. I am using wubi-jidian. When I switch to "简大"(Simplified with big vocabulary) or "繁大"(Traditional with big vocabulary) mode, I get the following error in ~/.ibus/table/debug.log when I type "akfg". Traceback (most recent call last): File "/usr/share/ibus-table/engine/table.py", line 1610, in do_process_key_event result = self._process_key_event (key) File "/usr/share/ibus-table/engine/table.py", line 1632, in _process_key_event return self._table_mode_process_key_event (key) File "/usr/share/ibus-table/engine/table.py", line 1867, in _table_mode_process_key_event res = self._editor.add_input ( keychar ) File "/usr/share/ibus-table/engine/table.py", line 407, in add_input res = self.update_candidates () File "/usr/share/ibus-table/engine/table.py", line 758, in update_candidates self._candidates[0] = self.filter_candidates (self._candidates[0]) File "/usr/share/ibus-table/engine/table.py", line 702, in filter_candidates + filter (lambda x: x[bm_index] & (1 << 2), candidates) TypeError: unsupported operand type(s) for +: 'filter' and 'filter'
Mike, Thank you for your information. I am using wubi-jidian. When I switch to "简大"(Simplified with big vocabulary) or "繁大"(Traditional with big vocabulary) mode, I get the following error in ~/.ibus/tables/debug.log when I type "akfg". Traceback (most recent call last): File "/usr/share/ibus-table/engine/table.py", line 1610, in do_process_key_event result = self._process_key_event (key) File "/usr/share/ibus-table/engine/table.py", line 1632, in _process_key_event return self._table_mode_process_key_event (key) File "/usr/share/ibus-table/engine/table.py", line 1867, in _table_mode_process_key_event res = self._editor.add_input ( keychar ) File "/usr/share/ibus-table/engine/table.py", line 407, in add_input res = self.update_candidates () File "/usr/share/ibus-table/engine/table.py", line 758, in update_candidates self._candidates[0] = self.filter_candidates (self._candidates[0]) File "/usr/share/ibus-table/engine/table.py", line 702, in filter_candidates + filter (lambda x: x[bm_index] & (1 << 2), candidates) TypeError: unsupported operand type(s) for +: 'filter' and 'filter'
ibus-table-1.5.0.20140312-2.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/ibus-table-1.5.0.20140312-2.fc19
ibus-table-1.5.0.20140312-2.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/ibus-table-1.5.0.20140312-2.fc20
I installed ibus-table-1.5.0.20140312-2.fc20 today and comfirmed that it solved all the error log problems. There is no more error in ~/.ibus/tables/debug.log even when I switch to "简大"(Simplified with big vocabulary) or "繁大"(Traditional with big vocabulary) mode.
ibus-table-1.5.0.20140312-2.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
ibus-table-1.5.0.20140312-2.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.