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

bug report (w3m-bookmark-view)



kiyokaと申します。

皆さんよろしくお願いします。

使用環境は Emacs21.1 + w3m.el-1.2rc4 です。

現象:

  emacs -nw(ターミナルモード)で起動したEmacsで M-x w3m-bookmark-view を実行すると
  以下のようなエラーが出ます
  X window systemで起動した Emacsではエラーは出ません。

-------------------- バックトレース --------------------
Debugger entered--Lisp error: (error "Non-X frame used")
  x-focus-frame(#<frame F1 0x8282730\ >)
  (lambda (frame) (raise-frame frame) (select-frame frame) (x-focus-frame frame))(#<frame F1 0x8282730\ >)
  funcall((lambda (frame) (raise-frame frame) (select-frame frame) (x-focus-frame frame)) #<frame F1 0x8282730\ >)
  (cond (frame (funcall focusing-function frame) (select-window window) (setq frame nil)) (window (select-window window)) (popup-frame-p (funcall focusing-function ...) (switch-to-buffer buffer)) (t (switch-to-buffer buffer)))
  (progn (when (setq window ...) (setq frame ...)) (cond (frame ... ... ...) (window ...) (popup-frame-p ... ...) (t ...)))
  (if (bufferp buffer) (progn (when ... ...) (cond ... ... ... ...)) (setq buffer (generate-new-buffer "*w3m*")) (if popup-frame-p (progn ... ...) (switch-to-buffer buffer)) (insert (make-string ... 10) "Reading " url "...") (beginning-of-line) (let (...) (center-region ... ...)) (goto-char (point-min)) (sit-for 0) (w3m-mode))
  (let ((nofetch ...) (buffer ...) (focusing-function ...) (params ...) (popup-frame-p ...) window frame) (unless (and ... ...) (if buffer ... ...)) (if (bufferp buffer) (progn ... ...) (setq buffer ...) (if popup-frame-p ... ...) (insert ... "Reading " url "...") (beginning-of-line) (let ... ...) (goto-char ...) (sit-for 0) (w3m-mode)) (unwind-protect (unless nofetch ...) (when frame ...)))
  w3m("file:///home/kiyoka/.w3m/bookmark.html")
  (if (file-readable-p w3m-bookmark-file) (w3m (w3m-expand-file-name-as-url w3m-bookmark-file)))
  w3m-bookmark-view()
  call-interactively(w3m-bookmark-view)
-------------------- バックトレース --------------------

推測:
  w3m.el の以下のコードの x-focus-frameのテストに問題があるのではないでしょうか?

  		 ;; `focus-frame' might not work on some environments.
		 (if (fboundp 'x-focus-frame)
		     '((x-focus-frame frame))
		   '((focus-frame frame)))))

  ちなみに (fboundp 'x-focus-frame) を emacs -nw で起動した Emacsと
  X window systemで起動したEmacsの両方で評価したところ、
  どちらも  t  になります。


パッチを作成するスキルまではありませんので、報告だけになりますが
よろしくお願いします。
+---
 Kiyoka Nishiyama <kiyoka@netfort.gr.jp>
 http://www.netfort.gr.jp/~kiyoka/