edictの挙動にうんざりした
ので、ちょっと改変。妙な挙動でバッファを出すのを止めて、ポップアップで表示するように。
;;;edict.l(Tetsuya Kamei)より。 ;;; (in-package "editor") ;;; で実行すること。 ;;; 同名の関数を上書きします。 (defun edict-lookup-dictionary (from to dic dic2) (let* ((s (buffer-substring from to)) (r (lookup-dictionary *edict-dictionary-path* "xyzzydic" dic s))) (unless r (plain-error "登録されていません: ~A" s)) (popup-string (with-output-to-string (out) (long-operation (format out "~A:~%~%" s) (if dic2 (dolist (x (sort r #'string<)) (format out "~A~%" x) (format out " ~{~A~^,~}~%~%" (lookup-dictionary *edict-dictionary-path* "xyzzydic" dic2 x))) (format out " ~{~A~^,~}~%" r)))) (point))) t) (defun edict-analogize-conjugation (from to) (long-operation (let ((string (buffer-substring from to)) (rl nil)) (when (setq r (lookup-dictionary *edict-dictionary-path* "xyzzydic" "xyzzye2j" string)) (push (cons string r) rl)) (setq rl (ed::edict-analogize-conjugation-1 string rl)) (unless rl (plain-error "登録されていません: ~A" string)) (popup-string (with-output-to-string (out) (dolist (x (nreverse rl)) (format out "~A:~%~% ~{~A~^,~}~%~%" (car x) (cdr x)))) (point))) t))