[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:08551] Re: grep-dialog の拡張



>   1.Grep-dialogを呼び出した時にカーソルの位置にある語句を
>    取り込む拡張

標準では、grep-dialog を呼び出したときのセレクション (普通のリージョン
じゃなくて) の内容が取り込まれるようになってます。なので、手抜きでよけ
れば、

(defun grep-dialog-with-word ()
  (interactive)
  (selection-forward-word)
  (grep-dialog))

でそれなりにいけます。


>   2.検索を開始するディレクトリの指定について、最後に検索を開始
>     したディレクトリのままで、次のき
>     (検索開始ディレクトリをホールドという意味です。)

> これなどは何が問題でこのように表示がなされるのでしょうか?

(setq ed::*grep-directory-name-hook*
      #'(lambda () (car ed::*grep-directory-history*)))

.xyzzy とかに書くなら、このフック変数にはパッケージ指定が必要です 
("ed::" の部分)。


>   3.上記の設定でリターンキー 一発で、直ぐに検索を開始できる
>     状態というのがベストと考えます。

ちなみに、上記1、2の要求を満たした上で、「ほかはすべて前回の設定で、
ダイアログも出さない」というのも試してみました。とりあえず問題ないよう
です。

(defun grep-no-dialog ()
  (interactive)
  (ed::scan-files (apply #'buffer-substring
                         (save-excursion
                           (list (progn
                                   (forward-word 1)
                                   (point))
                                 (progn
                                   (forward-word -1)
                                   (point)))))
                  (car ed::*grep-file-history*)
                  (car ed::*grep-directory-history*)))

--
加藤木 洋一
ykatogi@xxxxxxxxxxxxxxxxxxx

Index Home