eliu兄好,這2天發現gcin會當掉的幾個狀況,描述如下:
測試環境:
- Win7 64bit
- gcin版本:剛修正gtab-auto-space時的那一版
- 五四三倉頡(設定為「直接進入中文輸入狀態(限定非XIM)」、「Shift切換中英初始英數」)
步驟:
- 拆「週一」(ybgr m)留在緩衝區不送出,按九宮格數字鍵的「-」→gcin當掉
- 拆「心裡」(p lwg)留在緩衝區不送出,按Shift+O→gcin當掉
- 按shift進入英文狀態,輸入「gcin」留在緩衝區不送出,按shift切回中文,隨便拆個中文字進入緩衝區→gcin當掉
|
winlin |
- 拆「週一」(ybgr m)留在緩衝區不送出,按九宮格數字鍵的「-」→gcin當掉
- 拆「心裡」(p lwg)留在緩衝區不送出,按Shift+O→gcin當掉
|
是用自己的五四三倉頡?gcin內附的不能輸入
|
是用自己的cj543.gtab沒錯,明天我用內建的試試。
|
eliu兄: 抱歉昨天有個人一直跘住我,很難作測試,今天才找到時間試。
我發現gcin當掉與「是否使用內建或個人cj543.gtab」無關,而是與config有關, 把config刪掉重生之後,就不會因為上述幾個狀況而當掉了。
如果eliu兄想探究原因,我有附上2個config, 一個會當(config-crash.zip),一個不會(config-ok.zip), 給eliu兄比較看看。 謝謝~
|
winlin |
- 拆「心裡」(p lwg)留在緩衝區不送出,按Shift+O→gcin當掉
- 按shift進入英文狀態,輸入「gcin」留在緩衝區不送出,按shift切回中文,隨便拆個中文字進入緩衝區→gcin當掉
|
eliu兄好:
今天發現Linux下64bit的gcin也有和上面一樣的狀況, 這次我刪掉~/.gcin,讓.gcin重生,也是用內建的cj543.gtab, 一開始沒作什麼設定時一切OK(~/.gcin/config幾乎是空的,只有一個檔案), 在我設定gcin一些介面和功能細節之後(含gtab-auto-space), 只要在gtab緩衝區內有中英混合的狀況, gcin就必當。 註:我把~/.gcin附上來了,但cj543.gtab.tsin-db.src與 cj543.gtab.tsin-db太大,所以沒附在裡頭。
以上,謝謝,辛苦了~
測試環境: Debian stable 64bit gcin(上次剛修正完gtab-auto-space早洩症狀的那一版gcin.tbz)
|
|
謝謝eliu兄快速處理,不過問題依舊。 經過小弟的測試之後, 發現與~/.gcin/config/default-input-method這個檔案有關。
我上傳了一個config.tar.gz,eliu兄可以試試看, 如果使用這組設定檔,用五四三倉頡隨便打個中文字留在gtab緩衝區, 然後用任何方式在gtab緩衝區裡填入英文字,gcin就會當掉。
如果把config裡的default-input-method移除掉,gtab緩衝區不論如何中英交雜都不會當。 但是這樣就沒辦法把cj543.gtab設為預設輸入法了。
測試環境是Debian stable 64bit
edited: 1
|
對了,32bit的編譯仍會出錯...
gcc -Wl,--as-needed -shared -o gcin1.so win-message.pico win-sym.pico win-inmd-switch.pico pinyin.pico win-pho-near.pico win-kbm.pico gcin-module.pico pho2pinyin.pico -Wl,--as-needed -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lgobject-2.0 -lglib-2.0 -lfreetype -lX11 -ldl -lm /usr/bin/ld: /usr/lib/gcc/i486-linux-gnu/4.7/../../../i386-linux-gnu/crti.o: unrecognized relocation (0x2b) in section `.init' /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status make[1]: *** [gcin1.so] Error 1
|
可能是 沒有 'make clean', 64-bit 沒清除?
edited: 1
|
依照eliu兄的建議make clean之後,錯誤訊息仍然一樣:
gcc -Wl,--as-needed -shared -o gcin1.so win-message.pico win-sym.pico win-inmd-switch.pico pinyin.pico win-pho-near.pico win-kbm.pico gcin-module.pico pho2pinyin.pico -Wl,--as-needed -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lgobject-2.0 -lglib-2.0 -lfreetype -lX11 -ldl -lm /usr/bin/ld: /usr/lib/gcc/i486-linux-gnu/4.7/../../../i386-linux-gnu/crti.o: unrecognized relocation (0x2b) in section `.init' /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status make[1]: *** [gcin1.so] Error 1
|
發現gcin for windows會當掉的新規則!
Windows 7 64bit gcin版本:修正gtab-auto-space早洩問題的那一版
在gtab緩衝區留2個可能有預選詞的中文字,例如:心心(拆碼是p p )、口口(拆碼是r r) 然後「按shift+E」來輸入英文字E到gtab緩衝區, gcin會crash。 (註:不是按shift切到英文緩衝區狀態,而是直接按「shift+E,把字母放到gtab緩衝區」)
但是另一個類似的狀況gcin就不會當。 例如:在gtab緩衝區裡放「火口」(拆碼是f r),gcin就不會當。
所以crash似乎只出現「可能有預選詞」的狀況下。 因為在緩衝區裡放了「心心」可能讓gcin準備「心心相印」這個詞, 這時按把英文字母丟給gcin時, gcin就不高興了...。
附上config檔讓eliu兄試試。
|
edited: 1
|
謝謝eliu兄,試用一個早上的確都沒再發生當掉的狀況! 大大感謝,現在工作打字又變順了~~~
|