wrong-type-argument stringp nil when opening a url
Closed this issue · 3 comments
tomykaira commented
インストールし、次の設定で利用しようとしたところ、表題のエラーが出ます。
(setq anything-c-javadoc-dirs '("http://java.sun.com/javase/6/docs/api/"))
acjd-source-base-indexes
内の (get-text-property 0 'acjd-dirname c)
で、URLの取得に失敗し、nil
になっているためのようです。
なにが原因と考えられますでしょうか。
環境は Ubuntu 10.04, Emacs 23.1.1 です。
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
string-match("[,)$]" nil 0)
browse-url-url-encode-chars(nil "[,)$]")
browse-url-encode-url(nil)
browse-url-firefox(nil nil)
apply(browse-url-firefox nil nil)
browse-url-default-browser(nil nil)
apply(browse-url-default-browser nil nil)
browse-url(nil)
(lambda (c) (browse-url (get-text-property 0 ... c)))("AssertionError#AssertionError()")
apply((lambda (c) (browse-url (get-text-property 0 ... c))) "AssertionError#AssertionError()")
anything-funcall-with-source(((match identity) (search anything-exact-search anything-mp-3p-search anything-mp-3-search) (name . "Javadocs (indexes)") (init lambda nil (acjd-initialize-candidate-buffer-maybe anything-c-javadoc-dirs anything-c-javadoc-indexes-candidate-buffer-name anything-c-javadoc-indexes-cache-filename ...)) (candidates-in-buffer) (get-line . buffer-substring) (requires-pattern . 3) (action ("Browse" lambda ... ...) ("Browse class" lambda ... ...) ("Browse package" lambda ... ...) ("Insert name at point" lambda ... ...) ("Insert class name at point" lambda ... ...) ("Insert fully qualified class name at point" lambda ... ...) ("Copy name in kill-ring" lambda ... ...) ("Copy class name in kill-ring" lambda ... ...) ("Copy fully qualified class name in kill-ring" lambda ... ...)) (header-line . anything-persistent-help-string) (candidates . anything-candidates-in-buffer) (volatile) (match identity)) (lambda (c) (browse-url (get-text-property 0 ... c))) "AssertionError#AssertionError()")
anything-execute-selection-action()
anything-execute-selection-action-1()
byte-code(...)
anything-internal((anything-c-source-javadoc-indexes anything-c-source-javadoc-classes) nil nil nil nil "*anything javadoc*")
apply(anything-internal ((anything-c-source-javadoc-indexes anything-c-source-javadoc-classes) nil nil nil nil "*anything javadoc*"))
anything((anything-c-source-javadoc-indexes anything-c-source-javadoc-classes) nil nil nil nil "*anything javadoc*")
anything-c-javadoc()
call-interactively(anything-c-javadoc)
anything-execute-extended-command()
call-interactively(anything-execute-extended-command nil nil)
hchbaw commented
詳細なレポート、どうもありがとうございます!
そして、ごめんなさい。
自分で使わしてもらっているanything.elがずいぶん古くって、うちではエラーが出てなかったみたいです…
手元では直っているつもりなので、お手すきの時に試してみていただけますでしょうか、おねがいしますm(__)m
tomykaira commented
早速の対応ありがとうございます。
しかし、やはり同様の問題が発生します。
私の環境で get-text-property
周辺がまともに動作していないのかもしれません。
#2 と合わせて、自分でも中をみて、代替策を探してみたいと思います。
tomykaira commented
https://github.com/tomykaira/anything-c-javadoc.el/tree/no-text-property-poc
ためしに classes のほうをやってみました。
かなり無茶苦茶なことをやっていますが…