トップページunix
1001コメント333KB

Navi2ch for Emacs (Part 18)

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2007/07/30(月) 23:56:38
Emacsen で動く 2ch 専用ブラウザ、Navi2ch のスレッド Part 18 です。

Navi2ch Project Home Page
http://navi2ch.sourceforge.net/

*info* (navi2ch)Top
(info "navi2ch")

開発版
% cvs -z3 -d:pserver:anonymous@navi2ch.cvs.sourceforge.net:/cvsroot/navi2ch co navi2ch

過去ログ
>> ~/.navi2ch/etc.txt
> navi2ch
> http://navi2ch.sourceforge.net/log/
> navi2ch

前スレ
Navi2ch for Emacs (Part 17)
http://pc11.2ch.net/test/read.cgi/unix/1156781437/
0232名無しさん@お腹いっぱい。2008/01/16(水) 21:02:04
M-x customize-face
0233名無しさん@お腹いっぱい。2008/01/16(水) 21:06:42
>>230
なんかwaitがかかるようになってないか?
これって解除できないのかな。 2ちゃんねるがわの規制?
0234名無しさん@お腹いっぱい。2008/01/16(水) 21:34:27
waitうざいよな
0235名無しさん@お腹いっぱい。2008/01/16(水) 21:45:22
>>231
自分で設定作ってdark用のfaceとしてパッチ送ったら
0236名無しさん@お腹いっぱい。2008/01/16(水) 22:17:12
>>231
こっちでは普通にできてるよ。
もうちょっと環境さらさないとだれも答えられないと思う。
0237名無しさん@お腹いっぱい。2008/01/16(水) 22:35:04
できてるってなんだ?
0238名無しさん@お腹いっぱい。2008/01/16(水) 23:12:35
青等の文字って、板とかスレのことか?
見辛いと思ったことねぇなぁ。
0239名無しさん@お腹いっぱい。2008/01/16(水) 23:30:42
液晶を暗くすると見づらいな。
0240名無しさん@お腹いっぱい。2008/01/16(水) 23:53:22
スクショでも貼ってみたら?
0241名無しさん@お腹いっぱい。2008/01/17(木) 00:10:51
どうやって液晶の明るさを見るんだよw
0242名無しさん@お腹いっぱい。NGNG?2BP(0)
>>230
Meadow で速いのなら Meadow と Emacs の違いの部分なのかな?
根本的な解決にはなってないかもしれないけれど、
navi2ch-bookmark-fetch-mark-article-check-update が t なら、
I とか mi した時に、 板情報を取ってきてレス数が増えてないものは unmark するようなコードを
入れてみました。
今の状態だと、I は全スレ1つずつネットワークつなげて確認しにいくんで
1つの板で多くのスレを見ている人は、これで結構速くなるかも。

>>231
一応、背景が dark な時の face は設定してます。お好みでカスタムしてください。

>>233-234
バーボン対策みたいです。これも 上の変更で軽減できるかも?
0243名無しさん@お腹いっぱい。2008/01/17(木) 16:10:40
>>242
> navi2ch-bookmark-fetch-mark-article-check-update が t なら、
> I とか mi した時に、 板情報を取ってきてレス数が増えてないものは unmark するようなコードを
> 入れてみました。
my-navi2ch がないと動かないみたいですが、そういうもんですか
0244名無しさん@お腹いっぱい。2008/01/17(木) 16:15:09
BEも見れるようにならんかな
0245名無しさん@お腹いっぱい。NGNG?2BP(0)
>>243
今の CVS だと動くと思います。
;; しばらく my-navi2ch を外して開発しよう…。

>>244
BE にリンクをつけたいってことでしたら
(setq navi2ch-article-date-format-function 'navi2ch-article-date-format-be2ch)
です。
0246名無しさん@お腹いっぱい。2008/01/19(土) 20:13:27
(defun navi2ch-message-samba24-check (board)
が上手く動いてない気が。yes-or-no-pの前に時間比較の条件が無いとダメっ
ぽい気が。あと、current-timeはfunctionでもあるので、変数として使うのはわか
りづらい気が。
0247名無しさん@お腹いっぱい。2008/01/19(土) 20:51:04
あと
(run-at-time 1 1 'navi2ch-message-samba24-timer)
のコールバックファンクションの実体を貼り忘れてる気が。
0248名無しさん@お腹いっぱい。2008/01/19(土) 21:54:08
気がが多い気が。
0249名無しさん@お腹いっぱい。2008/01/20(日) 14:41:57
新着レス数がちゃんと動いてないと思う。
0250名無しさん@お腹いっぱい。2008/01/20(日) 14:45:44
ぼろぼろだな
0251名無しさん@お腹いっぱい。2008/01/20(日) 15:32:35
今はちゃんと動いてるけど、さっき"+"したら、
( 887/ +0/ 0)
見たいな形になった。

スレッドを見ると、新着のレスがあった。
0252名無しさん@お腹いっぱい。NGNG?2BP(0)
>>246-247
navi2ch-message-samba24-check は一応一度試した気が。 直った気が。

>>249-251
>>242,245 のことですか? 見てみます。
今のところ再現できてないので詳しい報告募集中です。


0253名無しさん@お腹いっぱい。2008/01/20(日) 22:50:02
頻繁に再現するから、スクリーンショットか何か取った方がいい?
( 887/ +-3/ △0)
とかになったりもする。
EmacsLispは全く分からないけど、スクリーンショット以外にも
できそうなことがあったら言ってチョ。
02542532008/01/22(火) 02:48:41
自分以外は再現してないのかな…
0255名無しさん@お腹いっぱい。NGNG?2BP(0)
ご心配なく。再現成功しました。
navi2ch-board-insert-subject-with-unread が non-nil の時に
navi2ch-article-get-last-read-number() を呼び出して article-info を読むのですが、
その時に使われる navi2ch-put-alist() が article を書きかえてしまうのが原因でした。
根本的には、 navi2ch-put-alist() の問題なんでしょうけど、とりあえず copy-tree するように
commit しました。
0256名無しさん@お腹いっぱい。2008/01/22(火) 16:54:36
まちBBSのスレッドを読むときに
ID の横の IP でフィルター処理することはできますか?
0257名無しさん@お腹いっぱい。2008/01/22(火) 19:45:26
Rieceとかw3m-emacsとかmewは、動作中に(ダウンロード中、動作中)に
バックエンドに移動できるのに、Navi2chはなんでできないの?
windows.elの仕様? でも、C-x C-bも動かないし、Navi2chの仕様?
Navi2chで、"I"してる間とかに他の作業ができればありがたいんだけど。
0258名無しさん@お腹いっぱい。2008/01/22(火) 19:50:45
なんでそこで windows.el が出てくるのか詳しく
0259名無しさん@お腹いっぱい。2008/01/22(火) 19:51:29
自分の環境がemacs23になったので、 なアイコン表示に対応させてみまし
た。今のところ
(add-hook 'navi2ch-article-mode-hook 'navi2ch-article-show-sssp-icon)
してやると動きます。アニメgifが動かないのは悲しいですが。

その他、微妙な修正はChangeLogを御覧あれ。
02602572008/01/22(火) 20:10:31
すまん。
自分がwindows.el使ってるから書いただけ。

そんだけ
0261名無しさん@お腹いっぱい。2008/01/22(火) 20:11:11
>>257
仕様です。
0262名無しさん@お腹いっぱい。2008/01/22(火) 20:13:43
俺は'I'するときだけ違うEmacsを立ち上げてそこでやってる。
バックグラウンドで動くようになればうれしいが、仕様ならどうしようもないか。

バックグラウンドで動くようにするのは難しいの?
0263名無しさん@お腹いっぱい。2008/01/22(火) 20:53:54
mew や w3m は非同期に読み込むために emacs でない別プロセスを用意してる。
難しくはないだろうけど、別にコマンドをインストールする必要があるのを嫌
う人は結構いるよね。
0264名無しさん@お腹いっぱい。2008/01/22(火) 20:55:19
って、>>189にasync化用のコード置いてあるやん。
0265名無しさん@お腹いっぱい。NGNG?2BP(0)
>>256
多分、今のところできないです。やってみます。

>>259
乙です。sssp がなにものか理解していませんが、気になったところを。
- (lambda (s) s) は #'identity のが速いと思います。
;; ここでは (regexp-opt navi2ch-browse-url-image-extentions) がよりよいかな。
- (concat navi2ch-directory "/sssp_icon/") は expand-file-name を。
- (setq file (match-string 1 url)) は
(setq file (expand-file-name (match-string 1 url) sssp_dir)) のほうがよいのでは?
- let* は let でいいと思います。
- buffer-read-only が nil になりっぱなしでは?
;; 戻し忘れ防止のため let で拘束してやるのがよいです。
- navi2ch-net-update-file() のとこは save-excursion を。
;; navi2ch-net-update-file() でポイントずれるのはあまりよくなさそうなので見てみます。
- "\\([^ \t\n\r]+\\.\\(" の一つめの "\\(" は必要ないのでは?

あとはぼくの趣味ですが、
- 正規表現であとから参照しない \\(\\) は \\(?:\\) にしたほうがいいかも。
- 80 桁を目安に改行したほうがいいかも。

(if (re-search-forward のとこを (while (re-search-forward にしたら全部読みそうですけど、重いかな…?
url に property をつけるあたりで image 入れてやってもいいかもしれませんね。
0266名無しさん@お腹いっぱい。NGNG?2BP(0)
>>256
commit しました。
0267名無しさん@お腹いっぱい。2008/01/22(火) 22:55:18
一人一人の要求に答えて行くのか…。
滅茶苦茶にならねぇか
0268名無しさん@お腹いっぱい。2008/01/22(火) 23:02:13
>>265
ひとつ気になったんだけど、

> - 正規表現であとから参照しない \\(\\) は  \\(?:\\) にしたほうがいいかも。
これって対応をうたってるどのEmacsenでも大丈夫だったっけ?

#というか、infoとか見ても各Emacsenの対応バージョンまでは書いてないな。

あと、うちのMeadowだとcopy-tree()がcl-extraにあるせいで
clをロードする前にnavi2chでスレ読もうとするとエラーになるんだけど、
EmacsやXEmacsも同じ?
0269名無しさん@お腹いっぱい。2008/01/23(水) 00:04:44
>>267
別に全部にこたえるわけじゃないでしょ。
02702562008/01/23(水) 00:10:59
>>265-266
ありがとうございました。
0271名無しさん@お腹いっぱい。NGNG?2BP(0)
>>267,269
今回のについては、ぼくも何度か欲しいと思った機能でしたし、
すぐに実装できそうなものでしたので。
あまりにも無理そうなものは回避します(多分)し、実際 SF.net の patch や
FR は今のところスルーしてますし。

>>268
> >>265
> > - 正規表現であとから参照しない \\(\\) は \\(?:\\) にしたほうがいいかも。
> これって対応をうたってるどのEmacsenでも大丈夫だったっけ?
>
> #というか、infoとか見ても各Emacsenの対応バージョンまでは書いてないな。

emacs-w3m でも普通に使ってるので大丈夫かと。

> あと、うちのMeadowだとcopy-tree()がcl-extraにあるせいで
> clをロードする前にnavi2chでスレ読もうとするとエラーになるんだけど、
> EmacsやXEmacsも同じ?

Emacs では、 subr.el ですね。XEmacs だと built-in です。
どちらにせよ、 (eval-when-compile (require 'cl)) してるんで
コンパイルしてれば大丈夫だと思うのですが。
0272名無しさん@お腹いっぱい。2008/01/23(水) 12:58:42
>> (eval-when-compile (require 'cl))
(It is ok for them to load CL at compile time only, with eval-when-compile, and use the macros it provides.)
そういうわけで関数は(require 'cl)しないと駄目っす。
0273名無しさん@お腹いっぱい。NGNG?2BP(0)
>>272
> >> (eval-when-compile (require 'cl))
> (It is ok for them to load CL at compile time only, with eval-when-compile, and use the macros it provides.)
> そういうわけで関数は(require 'cl)しないと駄目っす。

あぁ…そですね、マクロじゃなかった。 面倒ですな。
copy-alist なら Meadow でも built-in ですかね?
0274名無しさん@お腹いっぱい。2008/01/23(水) 19:41:26
>>273
NEWS.1-17 に出てくるくらいだから問題ないんじゃないかと。
copy-tree は 22 からのようですね。
0275名無しさん@お腹いっぱい。2008/01/24(木) 05:12:39
恥ずかしながら、長いスレを読むときの'r'(navi2ch-article-redraw-range())
の使い方がいまいちよく分かりません。これで出てくる選択肢って「1-50まで
表示する」とか言う意味なんでしょうか?"first50 last 50"とかは何を意図
した動きなんでしょう?

一般的に100レスくらいずつ読みたいときは、どうしてるもんなんでしょう?い
わゆる「次の100」的な機能ってあるんでしょうか?
0276名無しさん@お腹いっぱい。2008/01/24(木) 05:46:14
いきなり r0 って打って全レス取得してるなあ
0277名無しさん@お腹いっぱい。2008/01/24(木) 06:35:31
>>275
そういう機能はありません。フツーr0です。

遅いCPUでフィルタをいっぱい指定しているとクソ遅いですが、遅いのはそこだけなので
100個読む毎にクソ遅い思いをするより読み始める前に一服した方がいいと思います。
0278名無しさん@お腹いっぱい。2008/01/24(木) 10:24:07
そうそう、遅いので range を選択した時点で *select view range* を閉じて
くれると嬉しいと思うんすが。
長いこと cvs update してないからもうそうなってたらごめんけど。
0279名無しさん@お腹いっぱい。2008/01/24(木) 17:30:13
>>275
first は >>1 からいくつ表示するかという数字。
50 なら >>1-50
>>1 にリンクとか揃ってるスレなら first は 1 だけでいいかも。
last は 最後の書き込み からいくつ前までを表示するかという数字。
50 なら >>230-279 とか。

中間部分の表示、フィルター処理を省略するためのもの。

>「次の100」
g 数字 C-@ g 数字 C-x n n
とかで範囲表示すればできる。(narrow-to-region は M-x widen でもどる。)

>開発者さん
既存のものを組み合わせれば
現在のスレッドから 100個表示 とか 50個表示 ってのできると思うけど
いかがでしょうか。

>>278 cvs update するといいと思う。
0280名無しさん@お腹いっぱい。NGNG?2BP(0)
>>278
修正しましたので、 cvs update してみてください。

>>279
> 既存のものを組み合わせれば
> 現在のスレッドから 100個表示 とか 50個表示 ってのできると思うけど
> いかがでしょうか。

range の仕様が最初の n個、最後の n個になってるので中間を持ってくるのは
少し難しそうです。追加していくのならできないこともなさそうですけど。

代わりになるかわかりませんが、根本的解決ではないですがスレをJIT に
insert してくれるものを作ってみました。
ttp://navi2ch.sourceforge.net/tmpfiles/navi2ch-jit.el

navi2ch-article-jit-res-nums 一度に insert するレス数 初期値 10
navi2ch-article-jit-interval insert する間隔(単位:秒) 初期値 1
としてるので適当に調整してください。navi2ch-net-async.el との併用はできないはずです。
これを使う時は、
(setq navi2ch-article-exist-message-range nil)
(setq navi2ch-article-new-message-range nil)
としておいたほうがいいと思います。
0281名無しさん@お腹いっぱい。2008/01/24(木) 20:08:40
スレが躍動してるな
0282名無しさん@お腹いっぱい。2008/01/24(木) 22:27:09
1ヵ月後に滅茶苦茶になって、嫌になって逃げる姿が見えるな
0283名無しさん@お腹いっぱい。2008/01/25(金) 13:18:46
*.jpgとか張ってあるURL先の画像を
インラインに展開することってできますか?
0284名無しさん@お腹いっぱい。2008/01/25(金) 13:28:58
とっくにそういう物がありますよ
0285名無しさん@お腹いっぱい。2008/01/25(金) 18:28:10
>>283
できないと思う
外部の画像ビューアーで見た方が小回りきくと思う
保存とかも楽だし
0286名無しさん@お腹いっぱい。2008/01/26(土) 06:24:21
>>285
http://www.google.co.jp/search?hl=ja&client=firefox&rls=org.mozilla%3Aja%3Aofficial&hs=BLB&q=navi2ch+%E3%82%A4%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
グ☆グ☆レ☆カス♪
0287名無しさん@お腹いっぱい。2008/01/26(土) 09:45:38
>>286
そりゃ、ソースいじれば出来るだろ
頭悪いのかな?
0288名無しさん@お腹いっぱい。2008/01/26(土) 10:25:25
>>287
何を言っているのかね君は?
あるかないか聞かれてるんだから、ソールいじろうがなんだろうが方法はどうでもいいだろ。
0289名無しさん@お腹いっぱい。2008/01/26(土) 10:33:00
というかどこでソースをいじってるのかと。
0290名無しさん@お腹いっぱい。2008/01/26(土) 13:21:04
Emacs 自体は画像表示をサポートしてるんだからできると考える方が自然だろ
頭悪いのかな?
0291名無しさん@お腹いっぱい。2008/01/26(土) 13:37:25
>>285の分が悪い
0292名無しさん@お腹いっぱい。2008/01/26(土) 16:39:45
テスト
http://navi2ch.sourceforge.net/screenshot/emacs21.png
02932922008/01/26(土) 16:46:19
サムネイル表示できました。
0294名無しさん@お腹いっぱい。2008/01/26(土) 16:48:46
'url -> 'navi2ch-link (navi2ch-thumb-url-region, navi2ch-thumb-toggle) でおけ?
0295名無しさん@お腹いっぱい。2008/01/26(土) 17:20:52
あれ? 画像表示する方法なかったっけ?
重くなるからイラネと思ってたけど。
0296名無しさん@お腹いっぱい。2008/01/26(土) 19:44:05
> マンコに5の指が入るくらい凄腕のファッカー
ここくわしく
0297名無しさん@お腹いっぱい。NGNG?2BP(8044)
クソワラタww
0298名無しさん@お腹いっぱい。NGNG?2BP(0)
サムネイル表示を入れるとなるとどうしても ImageMagick はいるんですよね。
Emacs は画像の取扱いもいまいちだし…。本体にいれるのは今はちょっとため
らわれます。

>mizmiz さん
> ブラウザを呼ぶ前にHEADして、ターゲットのデータが取得できるかどうか確認。
> サブプロセス呼ぶコスト削減なのだが、厳しすぎるかも。

これオプションで OFF にできるようにしませんか? emacs-w3m 使ってると逆に
遅く感じます。

;; navi2ch-jit.el を少し更新。
0299mizmiz2008/01/27(日) 04:26:55
>>298
お任せします。基本的に細かい追加は勝手にやっちゃって結構です。
Changelog等に明記しなくても、こちらとしては構いません。

サムネは少なくともemacs自体に画像縮小の関数が実装されてからでしょうね。
いつになるかは分かりませんが。
0300名無しさん@お腹いっぱい。2008/01/27(日) 09:14:19
ChangeLogは書かないと駄目でしょよ
0301名無しさん@お腹いっぱい。2008/01/27(日) 15:01:30
うむ。あとの人の苦労が全然違う。
0302名無しさん@お腹いっぱい。2008/01/27(日) 20:43:29
やりたい放題だな
0303名無しさん@お腹いっぱい。NGNG?2BP(0)
>>299
どもです。変更しました。navi2ch-enable-status-check が nil ならば
URLチェックを skip します。

navi2ch-save-info() から(のみ)呼ばれる navi2ch-strip-properties() とい
う結構時間食ってる関数があります。 これ外しても問題ないのではないかと思
うのですがどうでしょう? とりあえず私のとこでは set-text-properties する
前に

(when (next-property-change 0 (concat "X" str))
(debug str))

と入れてあれこれしてみましたが全くひっかかりませんでした。
0304名無しさん@お腹いっぱい。NGNG?2BP(0)
>>303
反応ないようなのでとりあえず入れてみます。

- いろいろな関数を inline/alias に。
- navi2ch-article-kill-buffer-hook() で state が update だったスレは cache にしない。
(I してついた update マークが navi2ch-article-expunge-buffers() で消えることの対策。)
- navi2ch-article-info-cache を廃止して、 navi2ch-info-cache にした。
article 以外のものも cache されるようになった。
- 使えれば、 navi2ch-float-time() は built-in の float-time() を使う。

;; navi2ch-jit.el も更新。
0305名無しさん@お腹いっぱい。2008/02/01(金) 12:23:22
- スレで空の行にカーソル置いて ? B するとエラー吐くのはカコワルイ
- popup したバッファから更にリンク先に飛びたいんだけど飛べない
昔は出来てたような気が
0306名無しさん@お腹いっぱい。2008/02/01(金) 12:35:22
>>305
> - popup したバッファから更にリンク先に飛びたいんだけど飛べない
これは俺も気になる
0307名無しさん@お腹いっぱい。2008/02/01(金) 14:35:28
navi2ch-bm-remove-article したスレをもう一度
navi2ch-bm-select-article で読もうとすると読めなくなってしまっています。
CVSの先端デス。
0308名無しさん@お腹いっぱい。2008/02/01(金) 15:23:39
発生条件がわからないんだけど、既読レス番号が保存されず
前回読み終わった番号ではなく前々回読み終わった番号のレスまで戻されたりします。
1月30日の時点では問題なかったようですが現在のCVS HEADで問題が発生しました。
0309名無しさん@お腹いっぱい。NGNG?2BP(0)
>>305
> - スレで空の行にカーソル置いて ? B するとエラー吐くのはカコワルイ

ご報告ありがとうございます。直しました。

> - popup したバッファから更にリンク先に飛びたいんだけど飛べない

これは、たとえば >>213 から >>20-25 を表示してさらに >>18 を開くというやつですよね?
2008-01-13 の修正で直っていませんか? 私のところでは動いてるのですが。

>>307
> navi2ch-bm-remove-article したスレをもう一度
> navi2ch-bm-select-article で読もうとすると読めなくなってしまっています。

ご報告ありがとうございます。
navi2ch-bm-remove-article() しても cache がクリアされていなかったのが原因でした。
ついでに info の backup も削除するようにしました。

>>308
> 発生条件がわからないんだけど、既読レス番号が保存されず
> 前回読み終わった番号ではなく前々回読み終わった番号のレスまで戻されたりします。
> 1月30日の時点では問題なかったようですが現在のCVS HEADで問題が発生しました。

うーん、再現できないです。その戻った時って Emacs が落ちたり、終了させたりしてますか?
0310名無しさん@お腹いっぱい。2008/02/01(金) 21:54:30
>>309
> > - スレで空の行にカーソル置いて ? B するとエラー吐くのはカコワルイ
>
> ご報告ありがとうございます。直しました。

(まだ確認してないけど)素早い対応どうもです。

> > - popup したバッファから更にリンク先に飛びたいんだけど飛べない
>
> これは、たとえば >>213 から >>20-25 を表示してさらに >>18 を開くというやつですよね?
> 2008-01-13 の修正で直っていませんか? 私のところでは動いてるのですが。

お、このパターンだと動きますね。
検索結果の popup バッファからだと駄目じゃないかと。
03113082008/02/01(金) 23:43:31
>>309
navi2chを起動してグローバルブックマーク(直接スレッドを登録してある方)を開いてどこかのスレッドを読んでから、
qを何回か押してnavi2chを終了させてC-x-cでemacsを終了。
もう一度emacs、navi2chを起動してさっき読んだスレッドを見ると戻されている状態になったりします。
何回かやってみましたが、なる時とならない時があるようで確実に発生させる条件はよくわかりません。
0312名無しさん@お腹いっぱい。2008/02/01(金) 23:50:51
>>311に追記で。
navi2chを起動して、新たなレスが書き込まれたスレッドを見て、すぐに終了すると確実に保存されないようです。
もう一度emacs, navi2chを起動して、同じスレッドを見た時に書き込みが増えていなければ保存されるみたいです。
0313名無しさん@お腹いっぱい。2008/02/02(土) 00:16:29
ぼろぼろだな
0314名無しさん@お腹いっぱい。2008/02/02(土) 01:30:50
>>250 >>313
0315名無しさん@お腹いっぱい。NGNG?2BP(0)
>>310
あー、 adhoc に直してたとこの孔をちょうどつかれた感じでした。(´・ω・`)
直ったと思います。

>>311-312
高速化のために info が cache と equal であれば保存をとばしていたとこが誤動作してたみたいです。
すぐにはうまい解決策が見つからないのでとりあえず元に戻しました。
同じ内容でも backup とったりして少し遅いんでできるだけとばしたいのですけどもういいかなぁ。
03163082008/02/02(土) 08:35:25
>>315
ありがとう、直ったみたいです。
0317名無しさん@お腹いっぱい。2008/02/02(土) 08:55:56
navi2ch-memo.el 使ってる人いる?
1/8の分から、navi2ch-article-get-separator を使わなくなったんで
エラーを吐いてしまう。どうやって直したらいいか、わかる人いたら
教えてください。
0318名無しさん@お腹いっぱい。2008/02/02(土) 09:27:10
navi2ch-article-parse-message() の引数が 1つになってるので、
navi2ch-article-get-half-format-message-list() で、navi2ch-article-parse-message() を呼んでるとこの
第二引数を削ってやればよさそうです。

で、そうすると sep を let してるとこと setq してるとこも無駄なので削っていいでしょう。
0319名無しさん@お腹いっぱい。2008/02/02(土) 10:04:26
>>318
どうも。
lispわからないがら、一応にらめっこしてみたんだけど、やっぱわかりませんw

(defun navi2ch-article-get-half-format-message-list (file num &optional num2)


)

の中を書き換えるということですよね?
この上、ずうずうしくて申し訳ないけど、diff みたいな感じで、修整箇所を教えて
もらえたら助かります。よろしくお願いしますm(. .)m
0320名無しさん@お腹いっぱい。2008/02/02(土) 10:06:03
m(; ;)m
0321名無しさん@お腹いっぱい。2008/02/02(土) 10:21:02
細かいことですが、シベリア板 (siberia) だとIDじゃなくて発信元になってる
ので
navi2ch-article-message-filter-by-id()
navi2ch-article-get-current-id()
navi2ch-article-search-id()
の正規表現を手直ししてくれるとsiberianとしては嬉しい。
0322名無しさん@お腹いっぱい。2008/02/02(土) 13:09:49
最近開発が活発化されたということで CVS 先端を導入してみました
navi2ch-propertize がなくなっていますがこれの代替表現をご存知の方いらっしゃいますか?

自分でも前バージョンとソースをにらめっこしていますが
なにぶんlispにうといものでなかなか見つかりません
見ていて自分で見つかったらご報告致します
チラシの裏的書き込みですみません
0323名無しさん@お腹いっぱい。NGNG?2BP(0)
>>321
これって IPアドレスですよね?
なので、 hostname のほうにいれるほうがいいかなと思うのですがどうでしょう?

>>322
navi2ch-propertize は確か propertize がない古い Emacsen に対処するものだったと思います。
なので、 propertize でOKです。
0324名無しさん@お腹いっぱい。2008/02/02(土) 13:49:19
>>323
あー、hostnameなんてあったか。そっちが相応しいかもですね。

そう言えば、自分も navi2ch-propertize が無くなったんで navi2ch-live.el
かなんかに手を入れた。
互換性を考えて defalias かなんかで残しておくのも悪くないかなとは思った
んだけど。
0325322@お腹いっぱい。2008/02/02(土) 14:07:58
>>323
すばやいお返事をいただき感謝です!
なるほどそういうことなら propertize を使ってみます
ありがとうございました!
03263192008/02/02(土) 14:11:33
>>319
さらに、にらめっこしたら、なんとかできました。
一応貼っておきます。 >>318 ありがとうございました。

--- navi2ch-memo.el.old
+++ navi2ch-memo.el.new
@@ -35,7 +35,7 @@
"\\|")))

(defun navi2ch-article-get-half-format-message-list (file num &optional num2)
- (let (sep mlist)
+ (let (mlist)
(with-temp-buffer
(let ((navi2ch-replace-html-tag-alist
navi2ch-half-replace-html-tag-alist)
@@ -45,15 +45,13 @@
navi2ch-half-replace-html-tag-regexp))
(navi2ch-insert-file-contents file)
(goto-char (point-min))
- (setq sep (navi2ch-article-get-separator))
(forward-line (1- num))
(dotimes (i (1+ (- (or num2 num) num)))
(setq mlist (cons (navi2ch-article-parse-message
(buffer-substring-no-properties
(point)
(progn (forward-line 1)
- (1- (point))))
- sep)
+ (1- (point)))))
mlist)))
(nreverse mlist)))))
0327名無しさん@お腹いっぱい。2008/02/02(土) 15:05:57
コードはるにはロダ利用しよう
03283192008/02/02(土) 15:29:07
>>327 あー、しまった。
なおかつ、元々、tabmore氏のコードなのにスミマセン。
navi2ch-base64-insert-file でもいいんですよね(?)
どうも、失礼しました。
0329名無しさん@お腹いっぱい。2008/02/02(土) 22:13:20
なんか沢山投げて申し訳ないですが

- navi2ch-article-message-filter-by-subject-alist が何か設定してある状態で
- dat ファイルを /tmp あたりに置く(どっかから過去ログを拾ってきたりとか)
- navi2ch-find-file で開く

と navi2ch-article-message-filter-subr() の第2引数が nil になるので

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
string-match("hogehoge" nil)
(if (and char (plist-get ... :invert)) (not (string-match regexp string)) (string-match regexp string))

とエラーを吐くようです。
0330名無しさん@お腹いっぱい。NGNG?2BP(0)
>>324
> あー、hostnameなんてあったか。そっちが相応しいかもですね。
hostname にいれました。

> そう言えば、自分も navi2ch-propertize が無くなったんで navi2ch-live.el
> かなんかに手を入れた。
> 互換性を考えて defalias かなんかで残しておくのも悪くないかなとは思った
> んだけど。
navi2ch-float-time() とかもそうなんですがずっと残しておくと将来的に混在
してしまいそうで。 navi2ch の独自のものでも hash を使ったり、
navi2ch-article-parse-message() の引数が変わったりと仕様の変更はあるの
でしかたないものではないでしょうか。

>>329
unix 板の dat を /tmp に移して navi2ch-find-file で開いてみましたが、
subject はとれているみたいでした。
navi2ch-article-view-article-from-file() から呼ばれる
navi2ch-article-set-mode-line() で subject を解析していますし、
navi2ch-article-message-filter-by-subject() でも subject がとれていなけ
れば解析にはいるので dat の1行目の形式が特殊なものなのではないでしょうか。

一応 fallback として "" を返すように変更しましたが、 dat の形式も確認し
てみてください。

;; コードはる用のロダかなにかが SF.net にあると嬉しいかなぁとか思ったり。
;; Wiki を応用すればいいかなぁ。メンテが面倒かなぁ。
0331名無しさん@お腹いっぱい。2008/02/03(日) 00:40:14
>>330
仕様変更の件は了解です。僕も互換性にそれほど拘ってる訳じゃないのでその
辺はおまかせします。

find-file のほうは再現しなかったですか。ちょっとしかコードを追わなかっ
たんでなんでそうなるかよく判んなかったんだよなあ。また調べてみます。

簡単にコードとかパッチとか貼れる所があると嬉しくはありますねぇ。SFって
アカウントないと投稿できないんだっけか?
■ このスレッドは過去ログ倉庫に格納されています