(↓どなたかよろしくおねがいします. 作者はふだん win を使っていません)
※ xyzzy についてはhowm-wrapへ. 秀丸についてはHideMaruへ.
(defun my-fiber-from-file-name (name) (interactive "fFiber File:") (if (file-accessible-directory-p name) (my-folder-open name) (if (file-exists-p name) (start-process "fiber" nil "fiber.exe" (expand-file-name name)) (error "File does not exist.")))) (defun add-fiber-action-lock-rule () (let ((rule (action-lock-general 'my-fiber-from-file-name "^>>> \\(.+[.]\\(html\\|htm\\|exe\\|ps\\|gz\\chm\\|zip\\|rar\\|djvu\\|doc\\|xls\\|ppt\\|jpg\\|gif\\|bmp\\)\\)\\( +[0-9]+\\)?" 1))) (if (not (member rule action-lock-default-rules)) (progn (setq action-lock-default-rules (cons rule action-lock-default-rules)) (action-lock-set-rules action-lock-default-rules))))) (add-hook 'action-lock-mode-on-hook 'add-fiber-action-lock-rule)
ImageCaptureの最後にあるドラッグ&ドロップの設定と併用すると 便利。
howm的には
(setq howm-view-external-viewer-assoc '( ("[.]\\(chm\\|djvu\\|html\\|exe\\|ps\\|gz\\|rar\\|zip\\|jpg\\|mp3\\|gif\\|png\\|pdf\\|doc\\|xls\\|ppt\\)$" . "fiber %s") ("[.]dvi$" . "dviout %s") ))
とするのが普通ですね。上と動作が違うので好みは分かれると思います。
← Rast (2005-07-25 21:40:55)
Spawning child process: exec format error
と出ます。これは何かgrepへの引数が間違っているのでしょうか。grepはgrep (GNU grep) 2.5.1 です。
[症状] menu画面で、howm-list-recentで、 Spawning child process: exec format error と表示されて、(setq howm-list-recent-title t)にしているにも かかわらず、タイトルが表示されない。
[テスト1] 以下をsample/dot.emacsに追加すると出る。
;; GNU grepを使用する (setq howm-view-use-grep t) (setq howm-view-grep-command "c:/cygwin/bin/grep") (setq howm-view-fgrep-command "c:/cygwin/bin/grep") (setq howm-view-grep-extended-option "-E") (setq howm-view-grep-fixed-option "-F") ■ バージョン howm: 1.3.0rc3 (compile: nil, make: nil, test: t) Emacs: 21.4.1 (i386-mingw-nt5.0.2195) of 2005-04-05 system: windows-nt window system: w32 Meadow: Meadow-2.10 (ASAGAO)
$ cygcheck -V cygcheck version 1.74 System Checker for Cygwin Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc. Compiled on Jul 2 2005
です。(setq debug-on-error t)は、
Debugger entered--Lisp error: (file-error "Spawning child process" "exec format error") call-process-region(1 1 "c:/cygwin/bin/grep" "c:/DOCUME~1/boo/LOCALS~1/Temp/emg01104" (t nil) nil "-E" "-i" "-Hnr" "-e" "^= +" "o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-00-000005.howm" "o:/home/boo/.howm/2005/07/2005-07-20-181300.howm" ...)) howm-call-process-here("c:/cygwin/bin/grep" ("-E" "-i" "-Hnr" "-e" "^= +" "o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-00-000005.howm" "o:/home/boo/.howm/2005/01/2005-01-05-094057.howm" ...) nil) howm-call-process("c:/cygwin/bin/grep" ("-E" "-i" "-Hnr" "-e" "^= +" "o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/01/2005-01-05-094057.howm" ...)) howm-real-grep-single(("^= +") ("o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-00-000005.howm" "o:/home/boo/.howm/2005/07/2005-07-20-153600.howm" ...) nil nil) howm-real-grep(("^= +") ("o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-20-153600.howm" ...) nil nil) howm-grep(("^= +") ("o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-20-153600.howm" ...) nil) howm-grep-items(("^= +") ("o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-00-000005.howm" "o:/home/boo/.howm/2005/07/2005-07-20-153600.howm" ...) nil) howm-folder-grep-internal:files((:files "o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-20-155500.howm" ...) ("^= +") nil) howm-folder-grep-internal:pages-files(("o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-20-153600.howm" ...) ("^= +") nil) #[(p) "@A・・\n\"A! \f
棕+&髟阡; 梵 黼癇竏纈 鞳 h
pages pattern reverse assoc fixed-p] 4]((:file . howm-folder-grep-internal:pages-files)) mapcar(#[(p) "@A・・\n\"A! \f
棕+&髟阡; 梵 黼癇竏纈
type h pages pattern reverse assoc fixed-p] 4] ((:file . howm-folder-grep-internal:pages-files) (:buf . howm-folder-grep-internal:pages-buffers))) howm-folder-grep-internal:pages((:pages "o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-20-155500.howm" ...) ("^= +") nil) apply(howm-folder-grep-internal:pages ((:pages "o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-20-155500.howm" ...) ("^= +") nil)) gfunc-call(howm-folder-grep-internal (howm-folder-type) ((:pages "o:/home/boo/.howm/2005/07/2005-07-20-155500.howm" ...) ("^= +") nil)) howm-folder-grep-internal((:pages "o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-20-155500.howm" ...) ("^= +") nil) howm-folder-grep((:pages "o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-20-155500.howm" ...) "^= +" nil) howm-view-search-folder-items("^= +" (:pages "o:/home/boo/.howm/2005/07/2005-07-22-165007.howm" "o:/home/boo/.howm/2005/07/2005-07-20-155500.howm" ...)) howm-view-list-title("^= +") howm-list-title() howm-list-normalize() howm-list-recent() apply(howm-list-recent nil) (save-current-buffer (set-buffer prev) (apply (function howm-list-recent) nil)) (with-current-buffer prev (apply (function howm-list-recent) nil)) (let ((a nil) (cur ...) (prev ...)) (with-current-buffer prev (apply ... nil))) (lambda (&optional howm-menu-action-arg-name) (let (... ... ...) (with-current-buffer prev ...)))(nil) action-lock-invoke(nil) (let ((case-fold-search nil)) (when (null ...) (action-lock-goto-next-link)) (action-lock-invoke arg)) (save-excursion (goto-char pos) (let (...) (when ... ...) (action-lock-invoke arg))) (if nil (goto-char pos) (save-excursion (goto-char pos) (let ... ... ...))) (let ((pos #<marker at 98 in *howmM:o:/home/boo/.howm/0000-00-00-000000.howm*>)) (if nil (goto-char pos) (save-excursion ... ...))) (lambda (arg) (interactive "P") (let (...) (if nil ... ...)))(nil) call-interactively((lambda (arg) (interactive "P") (let (...) (if nil ... ...)))) recursive-edit() byte-code("・!棹・ 棹∧ !棹\n椒?
です。 2005-07-20 (水) 00:00:45 Anonymousさんへのコメントですが、既にfgrep, egrepはシェルスクリプトになっています。
(howm-call-process "c:/cygwin/bin/grep" '("-E" "-i" "-Hnr" "-e" "^= +" "o:/home/boo/.howm/2005/07/2005-07-22-165007.howm"))
(setq howm-view-use-grep t) (setq howm-view-grep-command "c:/cygwin/bin/grep")
(setq howm-view-use-grep t) (setq howm-view-grep-command "c:/cygwin/bin/egrep") ;; path は環境にあわせて (setq howm-view-fgrep-command "c:/cygwin/bin/fgrep") ;; path は環境にあわせて (setq howm-view-grep-extended-option nil) (setq howm-view-grep-fixed-option nil) (setq howm-view-grep-file-stdin-option nil) ;; パターンは引数で渡す
~/.emacs ; GNU grepを使用する (setq howm-view-use-grep t) (setq howm-view-grep-command "c:/cygwin/bin/grep") (setq howm-view-fgrep-command "c:/cygwin/bin/grep") (setq howm-view-grep-extended-option "-E") (setq howm-view-grep-fixed-option "-F")
win 使いの方に質問があります.
※ コメントはページ末尾のコメント欄へでもお願いします.
configure && make && make install でインストールする場合, 初期メニューファイル 0000-00-00-000000.howm の置き場所は, configure 時のオプション
--with-endir=DIR --with-jadir=DIR
で指定することになっています.
現在は DIR には絶対パスしか指定できません. これを相対パスも指定できるよう改良したいと計画しています. (環境によっては相対パスの方が便利らしいです.)
このためには, configure.in 内で「絶対パスか否か」を判定しないといけません. unix なら安直に「先頭が / か」で済みそうなのですが, win では どうすれば良いでしょうか?
つまり, 次のコードが win でも OK か, だめならどう直せばよいか, を教えてください.
case "$tmpval" in /*) ;; *) eninstdir='${lispdir}/${endir}' ;; esac
(list (file-exists-p "/usr/local") (file-exists-p howm-ja-dir) (howm-menu-skel) howm-ja-dir)
case "$tmpval" in ?:/*) ;; /*) ;; *) eninstdir='${lispdir}/${endir}' ;; esac
(t t ("0000-00-00-000000.howm" /usr/local/share/howm/ja") "/usr/local/share/howm/ja")
Keyword(s):
References:[バグレポートFAQ] [FAQ.0] [文字コード] [Rast] [BugReportPaste] [ExcludedFile]