Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

skk-undo-kakutei-return-previous-point non-nil の時の挙動 #183

Open
garin opened this issue Oct 27, 2020 · 2 comments
Open

skk-undo-kakutei-return-previous-point non-nil の時の挙動 #183

garin opened this issue Oct 27, 2020 · 2 comments

Comments

@garin
Copy link

garin commented Oct 27, 2020

skk-undo-kakutei-return-previous-point が non-nil であれば、
確定アンドゥ処理を行った後に直前にいたカーソルに移動すると思います。

ddskk/skk-vars.el

Line 1786 in c2b3c23

(defcustom skk-undo-kakutei-return-previous-point nil

" "*Non-nil であれば、確定アンドゥ処理が完了した後に、確定アンドゥ処理の直前の位置にカーソルを戻す。"

しかし、変換候補が skk-show-candidates-nth-henkan-char の数を越え、候補がミニバッファに表示されている時に
ミニバッファの候補を選択すると「直前にいたカーソル位置」ではなく「漢字変換直後の位置」に移動するという
仕様と異なる動作をしています。

skk-undo-kakutei を実行してバッファ内の候補を選択した場合

Kanji<SPC>norensyuu

------ Buffer: foo ------
漢字のれんしゅう@
------ Buffer: foo ------
@ がカーソルの位置を表します

M-x skk-undo-kakutei

------ Buffer: foo ------
▼官寺@のれんしゅう
------ Buffer: foo ------

M-x skk-kakutei

------ Buffer: foo ------
官寺のれんしゅう@
------ Buffer: foo ------

カーソル(@)が「れんしゅう」の後ろの位置に戻る

skk-undo-kakutei を実行して候補ミニバッファを確定した場合

Kanji<SPC>norensyuu

------ Buffer: foo ------
漢字のれんしゅう@
------ Buffer: foo ------

M-x skk-undo-kakutei SPC SPC SPC (ミニバッファに候補を表示)

-------------------- Echo Area --------------------
A:幹事 S:寛治 D:感じ F:...
-------------------- Echo Area --------------------

S (ミニバッファの候補から寛治を選択)

------ Buffer: foo ------
寛治@のれんしゅう
------ Buffer: foo ------

カーソル(@)が「寛治」の後ろの位置に戻る。
「れんしゅう」の後ろの位置に戻るのが正しい?

環境

% emacs --version
GNU Emacs 27.1

M-x skk-version
Daredevil SKK/17.1/mepla-20200906.233 (Neppu)
(https://melpa.org/packages から取得)

init.el

(require 'package)
(let ((default-directory "~/.emacs.d/melpa"))
  (setq load-path (cons default-directory load-path))
  (normal-top-level-add-subdirs-to-load-path))
(package-initialize)

;; --- skk
(require 'skk)
(setq skk-undo-kakutei-return-previous-point t)
@garin
Copy link
Author

garin commented Oct 27, 2020

ミニバッファの表示/非表示にかかわらず、skk-kakutei 関数内で skk-undo-kakutei-return-previous-point を見て
直前にいたカーソル位置に戻ってる。
しかし、ミニバッファから候補を選択した時だけ、その後の処理で変換した漢字の直後に移動している?

https://github.com/skk-dev/ddskk/blob/master/skk.el#L2751

@tkita
Copy link
Member

tkita commented Oct 27, 2020

指摘ありがとうございます。平日は本業で時間がないので、週末にコード見てみます。
なお、「仕様と異なる動作」と言いますか、標準仕様が策定されている訳ではありませんので、単なるテスト不足と思われます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants