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

Navi2ch for Emacs (Part 12)

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。NGNG
Emacsen で動く 2ch 用ブラウザ、Navi2ch スレッド Part 12 です。

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

* よくある質問とその答え
http://navi2ch.sourceforge.net/doc/navi2ch/FAQ.html

* 前スレ Navi2ch for Emacs (Part 11)
http://pc.2ch.net/test/read.cgi/unix/1065246418/

* テストは以下で。このスレでテストするのはやめてちょ。
運用情報板 http://qb.2ch.net/operate/ の書き込みテストスレ
navi2chテスト板 http://jbbs.shitaraba.com/computer/2452/

過去スレなどは >>2-10 あたり。
0822名無しさん@お腹いっぱい。NGNG
すみません、書き込み規制時の送信スプールは実装されるのでしょうか?
0823名無しさん@お腹いっぱい。NGNG
自動的に複数書き込むのは規制対象です。
荒らしツール認定されかねない機能は実装しない方がいいかと。
0824名無しさん@お腹いっぱい。NGNG
お返事ありがとうございます。

なるほど。確かにそうですね。
それで荒されたらたまりませんね。

規制対策としではタイマーのような物が最適ということに
なりそうですね。
0825名無しさん@お腹いっぱい。NGNG
>>822
w C-c C-i ってことじゃなくて?
0826名無しさん@お腹いっぱい。NGNG
>>821
                ∩
                ( ⌒)      ∩_ _グッジョブ !!
               /,. ノ      i .,,E)
              ./ /"      / /"
   _n グッジョブ!!  ./ /_、_    / ノ'
  ( l    _、 _   / / ,_ノ` )/ / _、 _    グッジョブ!!
   \ \ ( <_,` )(       /( ,_ノ` )      n
     ヽ___ ̄ ̄ ノ ヽ     |  ̄     \    ( E)
       /    /   \   ヽフ    / ヽ ヽ_//
0827名無しさん@お腹いっぱい。NGNG
ほかのマシンに、ログ共々丸ごと移したいときに、
移さなくてはいけないデータ(バックアップリスト)みたいなものって
ありませんか?
.emacs
.navi2ch
site-lisp/navi2ch/*
を移したのですが書き込みができなくなってしまいました。
0828名無しさん@お腹いっぱい。NGNG
単にそのマシンで apacheが動いてたとか?
0829名無しさん@お腹いっぱい。NGNG
犬なら、これで動くと思う。

HOSTCACHE=/tmp/dropem.host.cache
BBSMENU=/tmp/dropem.bbsmenu

wget -q -O $BBSMENU http://www.ff.iij4u.or.jp/~ch2/bbsmenu.html
sed -n -e 's,.*http://,,p' $BBSMENU | cut -d/ -f 1 | \
egrep "(2ch\.net|machi\.to|bbspink\.com)" | \
egrep '^[A-Za-z0-9\.]+$' | sort | uniq | \
while read h; do
host $h | cut -d ' ' -f 4 | egrep '^[0-9\.]+$' >> $HOSTCACHE
done

sort $HOSTCACHE | uniq | while read ip; do
iptables -A ppp-out -d $ip -j DROP
done
0830名無しさん@お腹いっぱい。NGNG
navi2ch-list-moved-board-alistを設定しても、
一度 navi2chを起ち上げなおさないと反映されない?
0831名無しさん@お腹いっぱい。NGNG
あ、`C-u s'か
0832名無しさん@お腹いっぱい。NGNG
Q.
○○板がサーバ移転で見られなくなったみたい。どうしたらいい?

A.
変数 `navi2ch-list-moved-board-alist' で新旧 URL を変換できるよ。

(setq navi2ch-list-moved-board-alist
(("http://pc.2ch.net/unix/" . "http://pc3.2ch.net/unix/")
("http://pc.2ch.net/linux/" . "http://pc3.2ch.net/linux/")))
--------
cvs最新版のinfoですが、上の部分でクォートが抜けてますよね?
0833名無しさん@お腹いっぱい。NGNG
>>832
> Q. ○○板がサーバ移転で見られなくなったみたい。どうしたらいい?
 A. *navi2ch list* で S
0834名無しさん@お腹いっぱい。NGNG
小文字の s でしたスマソ
0835832NGNG
ってか、>>830>>831は俺とは別の人。
0836名無しさん@お腹いっぱい。NGNG
>>833
bbsmenu が更新される前は、ってことでしょ。
0837名無しさん@お腹いっぱい。NGNG
navi2ch-offline が t でもスレを読むときにネットに繋ごうとするんですが
これは仕様ですか?
0838名無しさん@お腹いっぱい。NGNG
trace-function-background open-network-stream して試してみたが、
navi2ch-offline が non-nil だとまったく呼び出されてないよ。
837 の設定が変なんじゃないの?
0839名無しさん@お腹いっぱい。NGNG
>>837
再現手順の詳細きぼんん
0840 NGNG
>>837
それ俺も珠にある。
でも、これnavi2chの問題と違う気がする。
なんとなく。

>>839
ただ起動しるだけでなったりならなかったり。
navi2ch-offlineをnilにてC-u M-x navi2chで起動してもなる。
0841名無しさん@お腹いっぱい。NGNG
> navi2ch-offlineをnilにてC-u M-x navi2chで起動してもなる。
そりゃ、そういう実装だし。
0842 NGNG
(゚Д゚)ハァ?
0843名無しさん@お腹いっぱい。NGNG
人のこと煽ってる暇があるなら、M-x debug-on-entry navi2ch-net-send-request
とでもして、どこから呼び出されてるのかの確認でもしてろよ、キチガイ。
0844837NGNG
>>838-843
navi2chはcvsのheadを使ってます。init.elを使わない状態でofflineにしても
回線切ったままスレを選ぶと

now connecting...
Error: pc5.2ch.net/80 No address associated with nodename
Error: Wrong type argument: processp, nil
if: Wrong type argument: stringp, nil

こんなメッセージが出ます。バッファに読み込み済みのスレはエラーが出ませ
ん。MacOS Xのcarbon emacsで動かしてるんですけど環境依存?
0845名無しさん@お腹いっぱい。NGNG
>>3
0846名無しさん@お腹いっぱい。NGNG
圧縮パッチって cvs には入らないのかな。
0847名無しさん@お腹いっぱい。NGNG
なんだかみんな頭よさそうですね
0848名無しさん@お腹いっぱい。NGNG
スプラッシュを表示しない方法をおしえてけろ
0849名無しさん@お腹いっぱい。NGNG
>>848
(setq navi2ch-display-splash-screen nil)
あたり?


M-x describe-variable で、navi2ch- まで入れてスペース打って、
補完候補リストのバッファに移り、C-s で splash で検索かければ
すぐにわかる。この手の「探り方」は Emacs 使う上では必修ですよ。
0850名無しさん@お腹いっぱい。NGNG
pc5.2ch.net が keep-alive になりません。
0851名無しさん@お腹いっぱい。NGNG
スプラッシュアニメ化キボン。
0852名無しさん@お腹いっぱい。NGNG
site-lisp/navi2ch/以下をgrepでもすぐみつかると思われ
0853名無しさん@お腹いっぱい。NGNG
いつぞやのnavi2chを一日一回に起動制限するのは
emacs起動しっぱなしだとnavi2chも終了しないために敗北しました。
そこで板ごとに一日一回に制限するadvice。

これで何とかなるといいなあ、ホント。
履歴とかブックマークとか考えると結局はスレ単位でやらないといけないと思うけど、
それだと実況スレとか同様に更新が激しいところで不幸になるのが悩みどころ。

(defvar my-navi2ch-board-last-seen (make-hash-table :test 'equal))
(defvar my-navi2ch-board-do-your-business-message
"この板は今日はもう見ました。もっと有意義なことをしましょう!"
"24時間以内に同じ板をsyncしようとしたときに表示するメッセージ。")
(defadvice navi2ch-board-sync (around my-navi2ch-board-once-a-day
activate)
(let* ((board-uri (assq 'id navi2ch-board-current-board))
(this-time (format-time-string "%Y%m%d"))
(last-time (and board-uri
(gethash board-uri
my-navi2ch-board-last-seen)))
(navi2ch-offline navi2ch-offline))
(if (string= this-time last-time)
(progn
(beep)
(message my-navi2ch-board-do-your-business-message)
(setq navi2ch-offline t))
(if board-uri
(puthash board-uri this-time my-navi2ch-board-last-seen)))
ad-do-it))
0854名無しさん@お腹いっぱい。NGNG
>>850
navi2ch にかぎったことじゃない。
0855名無しさん@お腹いっぱい。NGNG
>>849

あと、Boardモードで、新着レスは、有無しかわからないのでしょうか。p2とかだと、新着レスの数がわかるので、祭スレ/もりsagaりスレがすぐに見付かるのですが。
0856名無しさん@お腹いっぱい。NGNG
Q. ○○にある××という機能はないの?
A. ○○使えば?
0857ヽ(´ー`)ノ ◆.ogCuANUcE NGNG
>>855
既出。過去ログ嫁。
0858名無しさん@お腹いっぱい。NGNG
Q. ○○にある××という機能はないの?
A. 欲しかったら創れば?
0859名無しさん@お腹いっぱい。NGNG
>>237,262 の件だけど、

(setq navi2ch-auto-modify-file (expand-file-name "filter" navi2ch-directory))

みたいにフィルタをサフィックスなしのファイル名にしていると
navi2ch-auto-modify-save-variables() の対象バッファが fundamental-mode
になるので forward-sexp() が意図した動作にならないのが原因みたい。
ファイル名を filter.el に変えるとエラー出ないので間違いないと思う。

対象バッファを emacs-lisp-mode に変更した上で処理してくれると嬉しいす。
0860名無しさん@お腹いっぱい。NGNG
>>857
> >>855
> 既出。過去ログ嫁。

どうもです。>>281,>>283のことでしょうか。
俺の環境では、この様に表示されていませんが、何か設定が必要になるのでしょうか。

0861名無しさん@お腹いっぱい。NGNG
あ、別に>>357みたいな機能はいらないです。ただ増分さえ表示されれば。
0862名無しさん@お腹いっぱい。NGNG
「俺の環境」てあーた
0863名無しさん@お腹いっぱい。NGNG
すまそ。もうちとあとの環境にパッチがあるのね。Σ(゚д゚lll)
0864名無しさん@お腹いっぱい。NGNG
s/環境/レス/g
0865名無しさん@お腹いっぱい。NGNG
>>812って誰か再うpしてくれませぬか。
0866名無しさん@お腹いっぱい。NGNG
よくみると>>855に、レス安価だけ書いて、お礼書いていなかった。

スマソ。



ありがとうございました。
0867名無しさん@お腹いっぱい。NGNG
なんだ普通に(setq navi2ch-board-insert-sub(ryでよかったのか。

俺ばかり書いてスマソ
0868名無しさん@お腹いっぱい。NGNG
変なとこで略すな。
ま、どうせおまいのレスに価値などないからいいけどさ。。。
0869名無しさん@お腹いっぱい。NGNG
おれのレスより価値のないレスなどない。
0870名無しさん@お腹いっぱい。NGNG
869のレス:priceless
0871名無しさん@お腹いっぱい。NGNG
>>870
priceless {形}
金で買えない、極めて貴重な、すごく面白{おもしろ}い、非常にばかげた、
金で買えないほどの、非常に貴重な、千金の値打ちがある
0872名無しさん@お腹いっぱい。NGNG
Boardモードで、+キーを押すと、見た覚えのないスレがあるんですが、これはなんなんでしょうか。

しかも、新着スレ数は1。意味不明。

0873872 NGNG
GNU Emacs 21.3.1
Navi2ch 1.7.3です。
0874859NGNG
> ファイル名を filter.el に変えるとエラー出ないので間違いないと思う。
ごめん、嘘。ファイル名変えてもエラー出た_| ̄|○

Emacs 起動直後は

-!-'()

で forward-sexp() すると

'()-!-

になるんだけど(これが正しい動作だよね?)、しばらく Emacs 使っててエラー
が出るようになると

'-!-()

何故かこうなる。どいつが悪さしてるんだろう…。ちなみに Emacs は
21.3.50.
0875名無しさん@お腹いっぱい。NGNG
(setq navi2ch-board-insert-subject-with-unread t)の設定で
スレ一覧でbを押してbookmarkに切り替えようとしたら
wrong-type-argumentになってしまいました。

Debugger entered--Lisp error: (wrong-type-argument stringp 628)
string-to-number(628)
navi2ch-board-insert-subjects((((subject . "\xe0b4\xe538\xdc21\xdd77\xd2a8\xd2f3\xd2b8\xd2f3Namazu") (response . 628) (artid . "1009715036")) ...))
navi2ch-board-toggle-minor-mode(navi2ch-board-bookmark-mode)
navi2ch-board-toggle-bookmark()
call-interactively(navi2ch-board-toggle-bookmark)
0876名無しさん@お腹いっぱい。NGNG
nil にすれば?
0877821NGNG
>>875
821 を使ってますか?
821 を使用すると同様の現象を生じることを、こちらでも確認しました。

修正版を uploader にあげときます。
ttp://uploader.org/normal/data/up7276.tgz
他の修正や機能変更を行なっているので、readme には必ず目を通してください。

【使用者にお願い】
導入後に navi2ch に何らかの不具合が生じた場合は、
バグレポート時に、導入したことを明記してください。
また 875 さんのように、バックトレースがあると大変助かります。
0878872 NGNG
*navi2ch artcileで始まるバッファを、全て削除したいのですが、どうすればよいのでしょうか。
一々C-k *navi2ch article TAB TAB ryとやって逝くしかないのでしょうか。(´・ω・`)
0879872 NGNG
あ、名前に821が残っていましたがこれは別にどうでもいいです。イラネ
0880名無しさん@お腹いっぱい。NGNG
>878
(navi2ch-article-expunge-buffers 0)
適当なキーにバインドするヨロシ。
0881名無しさん@お腹いっぱい。NGNG
C-x C-b
% n navi2ch article
D
with ibufferという手も。
0882名無しさん@お腹いっぱい。NGNG
>>878
板一覧で Navi2ch → 表示スレ一覧 を選んで
m a m d
0883名無しさん@お腹いっぱい。NGNG
>>882
> 板一覧で Navi2ch → 表示スレ一覧 を選んで
g articles
0884名無しさん@お腹いっぱい。NGNG
board モードでは常に S-s で表示させるようにしたいのですが、
navi2ch-bm-* に navi2ch-bookmark-remember-order-after-sort
に相当するものはあるでしょうか。emacs 21.3, navi2h 1.7.3-dev です。
0885名無しさん@お腹いっぱい。NGNG
>>884
board の内容は変わってくから記憶してもしゃーないっしょ。そんかし俺はこ
んなんしてる。
(add-hook 'navi2ch-board-after-sync-hook 'navi2ch-bm-sort-by-state)
0886878NGNG
どーもー。助かりましたー。

0887877(821)NGNG
877 であげたものは、増分表示がバグります。
修正版に差し替えてください。
ttp://uploader.org/normal/data/up7308.tgz
0888884NGNG
>>885
希望通りに表示できました! ありがとう。
0889名無しさん@お腹いっぱい。NGNG
>>877
821を使ってました。

~/.navi2chがないアカウントで
emacs --no-init-file
(add-to-list 'load-path navi2chをcheckoutしたディレクトリ)
(require 'navi2ch)
(setq navi2ch-board-insert-subject-with-unread t)
M-x navi2ch
g unix
スレ開いたり板に戻ってbを何度か押すというテストを
やってみたつもりだったんですが、
どっかでミスってたようです。 _no
0890877(821)NGNG
>>889
ミスったのは 100% 私です。
821(887) で上げたものを使用すると、info に response を記録するようになります。
で、保存形式が (response . 数値) という形式のため、
navi2ch-article-load-info() が call されると、
article の情報に (respons . 数値) と読みこまれます。
問題は navi2ch は article の情報の response は (respons . "数値") の形である
必要があります(増分、未読を表示する場合)。
そのため 821(887) を使用した後は、821(887) を使用するのを止めても、
新たに info がセーブされるまでは (response . 数値) が残りますので、
board-mode で増分、未読を表示するようにしてるとエラーを起します。
# 板を開く時は、subject.txt から article の情報が作られるので
# article の情報は (respons . "数値") となる
# navi2ch-board-insert-subjects() が call 後に (respons . 数値) となるので
# 板を開くだけなら問題が生じず、bookmark に切り替えるとエラーとなる。

今回のバグへの対応は navi2ch-article-load-info() に advice を設定して、
article の情報が (respons . "数値") となるようにしましたので、
887 を使用するのを止める場合は、my-navi2ch-article-info.el 内の
navi2ch-article-load-info() の advice を init.el へ追加する必要があります。
# info の保存形式を (respons . "数値") とするのが最良だとは思うのですが
# info に保存される他のデータは (number . 数値) の様に数値データなら
# 数値として保持されるので、(respons . 数値) のままにしております。
0891名無しさん@お腹いっぱい。NGNG
いちいち書きこみのときに質問されるのうざい。
0892名無しさん@お腹いっぱい。NGNG
>>891

(setq navi2ch-message-ask-before-write nil
navi2ch-message-ask-before-send nil
navi2ch-multibbs-send-message-retry-comfirm-function #'y-or-n-p)

とかどうよ?
0893名無しさん@お腹いっぱい。NGNG
>892
navi2ch-message-ask-before-write はデフォルトで nil なのでいいとして、
navi2ch-message-ask-before-send を nil にすると誤爆が怖いですね。

多分初回書き込み時の cookie 確認がうざいんだろうから、

(setq navi2ch-multibbs-send-message-retry-comfirm-function (lambda (dummy) t))

とかどうでしょう?


ところで、上の例でも、navi2ch-multibbs.el で ...-retry-comfirm-function を見てる
ところでも、function クオート (#') を使ってますが、Elisp の癖として、このへんは
単なるクオート (') でも変わりないんですよね。ご参考まで。

(ttp://www.mew.org/~kazu/doc/elisp/function.html 参照)
0894892NGNG
>>893
そっちのほうがよさそう> comfirm-function. スペル間違いは放置なんだろうか。

クオートとfunctionクオートの違いをよく理解してなかったのでリンク先のサ
イトはかなり勉強になりました。ありがとう。comfirm-function が funcall
されるからなんとなく #' の方が安全かな、と思ったけど関係ないですね。
0895名無しさん@お腹いっぱい。NGNG
navi2ch を起動して n 分経過すると、
1 分おきに終了を促すようにするコードきぼん。
0896名無しさん@お腹いっぱい。NGNG
>>895
この 2ch 中毒者め。
0897名無しさん@お腹いっぱい。NGNG
#'の有無の違いは理解してるけど、俺は#'が好きだな。
0898名無しさん@お腹いっぱい。NGNG
見づらい。
0899名無しさん@お腹いっぱい。NGNG
直接 (lambda () ...)と書いてあるより、
#'(lambda () ...)のほうが、把握しやすいかな。
0900名無しさん@お腹いっぱい。NGNG
よそでやれ。
0901名無しさん@お腹いっぱい。NGNG
FAQかもしれませんが、dでレスを隠す際、regionで消す場合はどうするんですか?
0902名無しさん@お腹いっぱい。NGNG
>>901
m r m d
0903902NGNG
おっと、スレじゃなくてレスか。
0904名無しさん@お腹いっぱい。NGNG
右栗でカレント窓閉じる方法ないかなぁ。あればサイコーなんだけど・・
0905名無しさん@お腹いっぱい。NGNG
バインドのしかたと関数名が分かればすぐできる。
0906名無しさん@お腹いっぱい。NGNG
で? できたの?
0907名無しさん@お腹いっぱい。NGNG
W3Mとかみたいにクリックでオペレート出来るように改造してるんだけど
誰かてつだってくんねえ?
主にWinからのターミナルで使うから。その方が便利なんだよな
0908名無しさん@お腹いっぱい。NGNG
>>906
これじゃ、だめ?
(global-set-key [mouse-3] 'delete-window) ;;; 2ボタンは「2」、ホイール付きは「3」

0909名無しさん@お腹いっぱい。NGNG
>>908
おあーっ、す、すげーっ!

サンクス!!これで、重い p2 使わずに済むかも。
イやー祭の予感・・
0910名無しさん@お腹いっぱい。NGNG
祭の予感って……。
0911名無しさん@お腹いっぱい。NGNG
めちゃめちゃ小規模な祭だな。
0912名無しさん@お腹いっぱい。NGNG
自分が祭りあげられることを予感しているのでは。
0913名無しさん@お腹いっぱい。NGNG
   ∧∧
   /⌒ヽ)
  i三 ∪
 ○三 |   も う だ め ぽ
  (/~∪    
  三三
 三三  
三三
0914名無しさん@お腹いっぱい。NGNG
確かに発想自体は良いのかも知れないが・・
現に愛用していた。

だが、在る程度アクセスした段階でオーバーヘッドとなり
バスエラーであポーんする事あり。

やはり、p2にはかなわないか?
0915名無しさん@お腹いっぱい。NGNG
>>914
釣れないみたいね。ポイントかえたら?
0916名無しさん@お腹いっぱい。NGNG
>>890
板を開いてすぐにbは大丈夫になったけど、
スレを開いてqで戻ってからbだと
(response . 数値)が入っててまずいみたい。

Debugger entered--Lisp error: (wrong-type-argument stringp 646)
string-to-number(646)
navi2ch-board-insert-subjects((
((subject . "\xd22a\xd25e\xd228\xd269\xd268\xd26a\xd936\xd24e\xd25b\xd226\xd22c\xd2b9\xd2ad\xd2eb\xdf65")
(response . "17") (artid . "1084443241"))
((subject . "Sun Microsystems\xdd47\xdc65\xd24e\xe455\xddc1")
(response . "501") (artid . "1083085439"))
((subject . "\xe0b4\xe538\xdc21\xdd77\xd2a8\xd2f3\xd2b8\xd2f3Namazu")
(response . 646) (artid . "1009715036")) ...
0917877(821)NGNG
>>916
ttp://uploader.org/normal/data/up7481.tgz
これで、どうでしょうか?
info には (response . "数値") で保存するようにしました。
0918名無しさん@お腹いっぱい。NGNG
いままでnavi2ch-1.7.1を使用していたのですが、
さっきnavi2ch-1.7.3に乗りかえようとしてインストールをした後、
emacsを起動したところ、

An error has occurred while loading `d:/cygwin/home/Administrator/.emacs.elc':
Invalid function: (macro . #[(then &rest else) "\302\303\304BF\207" [then else if (string-match "windowsce" system-configuration) progn] 5 ("d:/cygwin/home/Administrator/site-lisp/navi2ch-1.7.3-2/navi2ch-util.elc" . 9046)])

のようなエラーがでてしまいます。 どうもnavi2ch-util.elのnavi2ch-ifemacsce
マクロのところでエラーがでているようです。

誰か同じ経験している人いませんか?
環境は NTEmacs 21.3 on W2k pro です。
0919名無しさん@お腹いっぱい。NGNG
>>918
> An error has occurred while loading `d:/cygwin/home/Administrator/.emacs.elc':
何じゃこれは?
.emacs.elc を消すか、もう一度バイトコンパイル汁。
0920名無しさん@お腹いっぱい。NGNG
>>919
> 何じゃこれは?
> .emacs.elc を消すか、もう一度バイトコンパイル汁。
えっ、だめなんですか? ちょっとばかし起動が早くなるんですけどね。
バイトコンパイルは.emacs.el閉じるごとにするので.emacsが問題
ではないと思うのですが・・・
0921名無しさん@お腹いっぱい。NGNG
.emacs で (require 'navi2ch) するのをやめ、>>3 にしたがい
エラー箇所を見つける。
レス数が900を超えています。1000を超えると表示できなくなるよ。