朝寝して宵寝するまで昼寝して時々起きて居眠りをする
タイトルの通りです。以前書いた記事(howm の検索に Hyper Estraier を使ってさらに速度改善 on xyzzy、HE-grep を使って howm のデータを検索する on xyzzy)のリンク先が NotFound のため、 howm-init.l に追記すれば良いであろう部分を抜き出しました。
現在検証環境がないので未検証です。またコードについても私が書いたものではないので引用ということで。
;;;;;;;;;;;;;;;;;; ;; ■ howm-wrap でキーワードサーチに Hyper Estraier を利用する (defvar *howm-view-HE-grep-command* "estcmd search -ic CP932 -vh -gs -max -1 -ord @title") (defvar *howm-view-HE-grep-index-dir* "C:/bin/xyzzy/.estraier-mode/casket") ;インデックスの保存されているディレクトリを指定 (defun howm-view-grep (str file-list &optional fixed-p) (when (stringp file-list) (setq file-list (list file-list))) (when *howm-view-force-case-fold-search* (setq str (downcase str))) (cond (fixed-p (howm-view-HE-grep str)) (howm-view-use-grep (howm-view-real-grep str file-list fixed-p)) (t (howm-view-fake-grep str file-list fixed-p)))) (defun howm-view-HE-grep-initialize-buffer (buffer) (set-buffer buffer) (erase-buffer buffer) (set-buffer-fold-width nil) (setq need-not-save t) (setq kept-undo-information nil) (setq auto-save nil)) (defun howm-view-HE-grep (str) (let ((search-backward-f #'search-backward) (file-list (ed::read-HE-recent-save-files howm-directory)) tmpbuf no-dup f) (save-excursion (setq tmpbuf (get-buffer-create "*howm-view-HE-grep-temp*")) (howm-view-HE-grep-initialize-buffer tmpbuf) (execute-shell-command (ed::format nil "‾A ‾A ‾A" *howm-view-HE-grep-command* (map-slash-to-backslash *howm-view-HE-grep-index-dir*) str) nil tmpbuf) (set-buffer tmpbuf) (goto-char (point-min)) (while (scan-buffer (compile-regexp "^URI: file:///¥¥(.+$¥¥)") :no-dup no-dup) (setq no-dup t) (setq f (si::www-url-decode (match-string 1))) (setq f (substitute-string f "|/" ":/")) (when (file-exist-p f) (pushnew f file-list :test #'equal))) (delete-buffer tmpbuf)) (mapcan (lambda (file) (howm-view-fake-grep-file str file search-backward-f)) file-list)))