■掲示板に戻る■ 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

Navi2ch for Emacs (part 5)

1 :名無しさん@お腹いっぱい。 :02/02/12 04:50
Emacsenで動く2ch用ブラウザ、Navi2chスレッドpart 5です。

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

>>2 リンク、過去スレッド

2 :名無しさん@お腹いっぱい。 :02/02/12 04:51
リンク
* 作者の(not 1)さんのページ
http://www.geocities.co.jp/SiliconValley-Oakland/7673/
* hc2ivan's webpage
http://www18.tok2.com/home/navi2ch/
* navi2ch rpm
http://members.tripod.co.jp/~navi2ch/
* Mona fonts (モナーフォント)
http://members.tripod.co.jp/s42335/mona/

過去スレッド
* 過去ログ その4 (前スレ)
http://pc.2ch.net/test/read.cgi/unix/1009340234/
* 過去ログ その3
http://pc.2ch.net/unix/kako/999//999166513.html
* 過去ログ その2
http://pc.2ch.net/test/read.cgi/unix/996244120/
* 過去ログ その1
http://cocoa.2ch.net/unix/kako/976/976032951.html

3 :名無しさん@XEmacs :02/02/12 11:50
2ゲット、ズサー


4 :名無しさん@Emacs :02/02/12 13:11
>>3
残念でした(w


5 :名無しさん@お腹いっぱい。 :02/02/12 16:09
>1 乙彼

6 :287@part4 :02/02/13 03:38
前スレ 968 さんのパッチ、CVS にあてときました。

7 :名無しさん@お腹いっぱい。 :02/02/13 09:28
最近スレが更新されていないのに U になることが多いので
不思議に思っていたのですが、もしかしてスレのカーソル位置
が最後のスレにないと更新扱いになるのでしょうか。

最後の一画面は、わざわざカーソルを最後のスレまで移動させる
ことが少ないので、もうしそうなら自分には不便ですね。更新
フラグという意味合いからも少しずれてしまいますし。

8 :名無しさん@Emacs :02/02/13 09:35
くだらない質問で申し訳ないのですが、
navi2chの板一覧が表示されません。

デスクトップもノートもRedhat7.2です。
どちらにもnavi2ch 1.5.1を入れています。
ノートの方は一覧が表示されますが、
デスクトップの方には表示されないのです。

どうすればいいんでしょう?

9 :名無しさん@お腹いっぱい。 :02/02/13 13:15
>>8

(setq navi2ch-list-bbstable-url "http://www.2ch.net/2chmenu.html")

でないかい?

10 :8 :02/02/13 13:20
>>9
できました、サンクス。

11 :名無しさん@お腹いっぱい。 :02/02/13 14:18
要望いいですか?

「履歴」と同じ扱いで、自分がポストしたスレが自動的に登録されて
いくような履歴があったら便利だと思うのですが、どうでしょうか。

12 :名無しさん@お腹いっぱい。 :02/02/13 15:06
以前はオフライン時でも、レスを書き込んだときは更新
されたような気がするのですが、設定で今でもこのよう
な動作にできますか?

13 :名無しさん@Emacs :02/02/13 18:46
http://sourceforge.net/tracker/index.php?func=detail&aid=507328&group_id=39552&atid=435775
へのパッチ案です。

(defcustom navi2ch-bm-ask-directory-only-when-textize t
"*non-nil なら、スレを保存するときにディレクトリのみ入力させる。"
:type 'boolean
:group 'navi2ch-board)
を、navi2ch-vars.elへ、

(when (not navi2ch-on-xemacs)
(defalias 'read-directory-name 'read-file-name))
を、どこか適当な所へ
それぞれ加えて、あとは以下のパッチをあててください。

--- navi2ch-board-misc.el.orig Wed Feb 13 18:32:08 2002
+++ navi2ch-board-misc.el Wed Feb 13 18:33:01 2002
@@ -362,11 +362,15 @@
(navi2ch-bm-insert-state item 'update)))))
(message "can't select this line!"))))

-(defun navi2ch-bm-textize-article (directory &optional buffer)
- (interactive "Ddirectory: ")
+(defun navi2ch-bm-textize-article (&optional directory buffer)
+ (interactive)
(let* ((navi2ch-article-view-range nil)
(navi2ch-article-auto-range nil)
- window)
+ window file)
+ (when (null directory)
+ (if navi2ch-bm-ask-directory-only-when-textize
+ (setq directory (read-directory-name "Directory: ")))
+ (setq file (expand-file-name (read-file-name "File: "))))
(setq window (selected-window))
(navi2ch-bm-display-article)
(select-window (get-buffer-window (navi2ch-article-current-buffer)))
@@ -376,16 +380,18 @@
(let* ((article navi2ch-article-current-article)
(board navi2ch-article-current-board)
(id (cdr (assq 'id board)))
- (file (format "%s_%s.txt" id (cdr (assq 'artid article))))
(subject (cdr (assq 'subject article))))
- (and buffer
- (save-excursion
- (set-buffer buffer)
- (goto-char (point-max))
- (insert (format "<a href=\"%s\">%s</a><br>\n" file subject))))
+ (when (null file)
+ (setq file (expand-file-name
+ (format "%s_%s.txt" id (cdr (assq 'artid article)))
+ directory)))
+ (when buffer
+ (save-excursion
+ (set-buffer buffer)
+ (goto-char (point-max))
+ (insert (format "<a href=\"%s\">%s</a><br>\n" file subject))))
(let ((coding-system-for-write navi2ch-coding-system))
- (navi2ch-write-region (point-min) (point-max)
- (expand-file-name file directory))))
+ (navi2ch-write-region (point-min) (point-max) file)))
(select-window window)))

14 :名無しさん@お腹いっぱい。 :02/02/13 20:01
最新版 q で終了できなくなってないですか?

15 :名無しさん@お腹いっぱい。 :02/02/13 20:16
>>14
できてますよ。

16 :名無しさん@XEmacs :02/02/13 20:52
昨日 cvs で取ってきて navi2ch をいれなおしたところ

(1) (initialization/error) An error has occurred while loading ~/.emacs:

Symbol's function definition is void: base64-decode-string

とかいわれてしまいます。これなんでしょう。
xemacs 21.1.14 です。

17 :名無しさん :02/02/13 20:52
14の navi2ch-ask-when-exit の設定がおかしいに一票

18 :mami :02/02/13 21:59
>>14
直しました。

19 :mami :02/02/13 22:18
>>11
こんなんでどうでしょ。
(add-hook 'navi2ch-message-after-send-hook
(lambda ()
(navi2ch-bookmark-add "posted"
navi2ch-message-current-board
navi2ch-message-current-article)))


20 :mami :02/02/13 22:20
>>13
すみません、手をつけれてませんでした。
見ておきます。

21 :前スレッド 961 :02/02/13 22:34
part4 で XEmacs で mona font で表示されない、と完全他力本願モードで書
いたんですが、まだ直ってないみたいなので、ちょっと調べてみました。(あ
んまり自信ないんで間違ってたらごめんなさいです)

M-x customize-face で face の状態を見てみると、
navi-2ch-mona16-face,navi-2ch-mona14-face,navi-2ch-mona12-face はちゃ
んとしてますが、navi2ch-mona-face が mona font になってませんでした。

んで、navi2ch-mona.el をおっかけてみたら、関数
navi2ch-mona-set-mona-face の中 (L199) の (facep parent) が nil を返す
ようです。(なので、そのあとの (set-face-parent 'navi2ch-mona-face
parent) が実行されない)

ちなみに、Emacs 21 でもときどき変になるんですが、ここの (facep parent)
が [face unspecified unspecified unspecified unspecified unspecified
unspecified unspecified unspecified unspecified unspecified
unspecified ...] なんていう変な値を返すせいでしょうか?



22 :21 :02/02/13 22:40
追加。

試しに、199 行目の (when (facep parent) をコメントアウトしてみたら、
mona font で表示できるようになりました。


23 :13 :02/02/14 03:16
>>20
まあ、叩き台ってことで。
あと、
(when (not navi2ch-on-xemacs)
(defalias 'read-directory-name 'read-file-name))
はよろしくないかも。やるなら、
(unless (fboundp 'read-directory-name)
(defalias 'read-directory-name 'read-file-name))
かな。もしくは
(if (fboundp 'read-directory-name)
(defalias 'navi2ch-read-directory-name 'read-directory-name)
(defalias 'navi2ch-read-directory-name 'read-file-name))
とかしたほうが副作用が少なさそう。

24 :名無しさん@お腹いっぱい。 :02/02/14 18:05
まちBBSって見れないんだっけ?

25 :名無しさん@お腹いっぱい。 :02/02/14 19:38
>>24
はい

26 :21/22 :02/02/14 22:09
せっかく facep で face かどうか調べている(みたい)なのにコメントアウト
しちゃうのもどうかと思ったので、find-face を使ってみたパッチ。
(FSF-Emacs だと apel が必要みたい)

とりあえず、手もとの XEmacs 21.5.4 と Emacs 21.2.50 (いずれも cvs の先
端のやつ) では問題なく動いてます。

--- master/navi2ch/navi2ch-mona.el Wed Feb 13 22:44:03 2002
+++ work/navi2ch/navi2ch-mona.el Thu Feb 14 21:54:01 2002
@@ -196,7 +196,7 @@
(format "navi2ch-mona%d-face" height)
"navi2ch-mona16-face")))
(setq parent (intern face-name))))
- (when (facep parent)
+ (when (find-face parent)
(cond (navi2ch-on-xemacs
(set-face-parent 'navi2ch-mona-face parent))
(navi2ch-on-emacs21



27 :knok :02/02/15 15:23
>>26
apel をみると find-face は短かかったので、navi2ch-mona.el に
含めてパッチを適用しました。
apel は GPL だしその旨書いたので問題ないですよね...


28 :名無しさん@お腹いっぱい。 :02/02/15 15:28
lisp まったく分からないんですが、XEmacs で monafont が
また使えるようになったんですね?

29 :knok :02/02/15 15:53
つかえると思います。自分が確認した範囲ではちゃんと見えました。


30 :knok :02/02/15 17:20
大事なことを言いわすれました。
>>26 さんどうもありがとうございます。


31 :名無しさん@お腹いっぱい。 :02/02/15 17:33
>>27
find-face を定義してる defun-maybe も
apel 入れてないと使えないっす。

32 :knok :02/02/15 18:07
とりあえず
(if (not navi2ch-on-xemacs)
(defun-maybe ...))
と囲んであるんですが、これじゃダメですかね?


33 :名無しさん@お腹いっぱい。 :02/02/15 18:52
>>32
うーん、うちは emacs-21.1.90 で
(setq navi2ch-mona-enable t)
(setq navi2ch-mona-face-variable 'navi2ch-mona16-face)
なんだけど、facep の頃から特に問題なくモナフォントで
表示されてたです。

34 :名無しさん@お腹いっぱい。 :02/02/15 19:37
XEmacs 使ってるんですが、mona fonts のフォントサイズって
手動でどうやって変更すればいいんですか?
なんか mona fonts まわりが大幅に変わってるんで
よく分からないです。。。

35 :26 :02/02/15 19:41
>>27
ふと思ったのですが、(featurep 'poe) が nil になるときだけ定義する
ようにしたらどうでしょう?

# とりあえず、うちの FSF Emacs 21.2.50 では、apel がはいっていても起動
# 時に (void-variable find-face) でエラーになったので、再定義されてい
# るところを消してしまいましたが(^^;

>>33
(facep 'navi2ch-mona16-face) は何を返しますか?

本来なら t が返ってくるのが期待されているはずなのですが、うちでは t で
はないが no-nil ではあるような変な値を返していました。(なので FSF
Emacs 21 での表示はできてました)


36 :knok :02/02/15 20:06
(if (and (not (featurep 'poe)) (not navi2ch-on-xemacs))
(defun ...))
こういう感じですかね?


37 :34 :02/02/15 22:35
すまそ、フォントって .xemacs.el や init.el を
書き換えて load し直しても、XEmacs 自体を
再起動しないと有効にならんのね。
お騒がせしました。

38 :33 :02/02/15 22:40
>>35
うちでも (facep 'navi2ch-mona16-face) は t でない値が返ってきた。
でも、

facep is a compiled Lisp function in `faces'.
(facep FACE)

Return non-nil if FACE is a face name.

とのことなんで、non-nil だったら ok なんじゃないかな。
emacs21 なら facep、XEmacs なら find-face にする、で
いいのかも。

39 :26 :02/02/15 22:41
>>36
はい。そんな感じで apel (poe) がインストールされていない FSF Emacs 21
のときだけ再定義されるようにした方が良いと思います。


40 :33 :02/02/15 22:47
(facep 'navi2ch-mona16-face) は
[face "mona-gothic" normal 154 normal normal unspecified unspecified unspecified unspecified unspecified unspecified ...]
になってた。

41 :名無しさん@お腹いっぱい。 :02/02/15 22:55
XEmacs で最新の CVS 使ってますが、
Wrong type argument: stringp, nil が出て
どの板にもいっさい入れません‥‥。

42 :knok :02/02/15 23:38
>>39
これで commit しておきました。
>>41
http://www.jpl.org/elips/BUGS-ja.html
これを参考に、backtrace をとってみるとどうですかね。
どの辺で問題が起きているかがわかれば対処できるかも。


43 :41 :02/02/15 23:51
>>42
こんなんでよろしいでしょうか‥‥。

Signaling: (wrong-type-argument stringp nil)
file-exists-p(nil)
navi2ch-board-expire()
run-hooks(navi2ch-board-expire)
navi2ch-board-select-board(((name . "ニュース速報") (uri . "http://choco.2ch.net/news/") (id . "news") (type . board) (seen)) nil)
navi2ch-bm-select-board(((name . "ニュース速報") (uri . "http://choco.2ch.net/news/") (id . "news") (type . board) (seen)) nil)
navi2ch-list-select-board(((name . "ニュース速報") (uri . "http://choco.2ch.net/news/") (id . "news") (type . board) (seen)) nil)
navi2ch-list-select-current-board(nil)
call-interactively(navi2ch-list-select-current-board)


44 :26 :02/02/15 23:58
>>38
あ、FSF Emacs では t ではないのが正解なのですね。XEmacs では

`facep' is a built-in function
(facep OBJECT)

Documentation:
Return t if OBJECT is a face.

なんで混乱してました。

>>40
うちの Emacs 21.2.50 では
(facep 'navi2ch-mona16-face)
[face unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified ...]
なんです。(何か変)

> emacs21 なら facep、XEmacs なら find-face にする、で
> いいのかも。

それでいいような気もしてきました。(さらに安全のために Emacs 21 でも
apel がインストールされていたら find-face にするとか)


45 :名無しさん@お腹いっぱい。 :02/02/16 00:12
>>36

(if (and (not (featurep 'poe)) (not navi2ch-on-xemacs)) ...)
よりも、単純に、
(unless (fboundp 'find-face) ...)
のほうがいいんじゃない?
将来FSF Emacsにfind-faceが、別の定義で実装されないという保証はないわけだし。

まあ、find-faceなんていう名前の関数を外部パッケージが定義しちゃってる
のが問題のような気もするんだけど。

46 :名無しさん@お腹いっぱい。 :02/02/16 00:25
S でブックーマークを並び変えた後、それを保存するにはどうすればいいんでしょうか?

47 :41 :02/02/16 01:53
.xemacs.el にある

(add-hook 'navi2ch-board-select-board-hook 'navi2ch-board-expire)

をコメントアウトしたらとりあえず板に入ることは
できるようになったんですが、この add-hook がなくても
navi2ch-board-expire って有効になるものですか?
なんか教えて君みたいになってて心苦しいですが。。。

48 :名無しさん@お腹いっぱい。 :02/02/16 13:17
標準状態では、うちの Emacs 21 で Delete キーでスクロールできないので、
↓以下のようにして頂けると、助かります。

--- master/navi2ch/navi2ch-article.el Thu Feb 14 18:19:45 2002
+++ work/navi2ch/navi2ch-article.el Sat Feb 16 13:06:15 2002
@@ -42,6 +42,7 @@
(define-key map " " 'navi2ch-article-scroll-up)
(define-key map [del] 'navi2ch-article-scroll-down)
(define-key map [backspace] 'navi2ch-article-scroll-down)
+ (define-key map "\C-d" 'navi2ch-article-scroll-down)
(define-key map "\177" 'navi2ch-article-scroll-down)
(define-key map "w" 'navi2ch-article-write-message)
(define-key map "W" 'navi2ch-article-write-sage-message)


49 :名無しさん@お腹いっぱい。 :02/02/16 14:18
>>48
DeleteキーでC-dを吐く設定の方がおかしいような。。。

50 :48 :02/02/16 14:35
>>49
いや、私もそう思うんですけど、emacs -q でも C-h-k-DEL すると C-d 吐い
てることになってるんですよ。(こんなのは Emacs-21.x だけですが)



51 :名無しさん@お腹いっぱい。 :02/02/16 14:50
>>47
hook で自動的に exipre を呼ばないだけで、
Board mode で ESC e で明示的に expire できるよ。
(´-`).。oO(expire で問題が起きるのはなんでだろう?)


52 :名無しさん@お腹いっぱい。 :02/02/16 14:59
>>50
Emacs 20.xやshellだとDELは^Hか^?を吐くの?

53 :名無しさん@お腹いっぱい。 :02/02/16 16:19
前スレでちょこっとした、navi2ch-bm-fetch-articleの戻り値の話です。

navi2ch-bookmark-fetch-articleで
(setq state (navi2ch-bm-fetch-article max-line)) としてる割には
navi2ch-bm-fetch-articleは、nilか"can't select this line!"
しか返さないので、新たなfetchがあったか判断できません。

navi2ch-bm-fetch-article がstateの値を返してくれるとありがたいです。
一応パッチ。

--- navi2ch-board-misc.el.orig Sat Feb 16 16:15:54 2002
+++ navi2ch-board-misc.el Sat Feb 16 16:16:46 2002
@@ -360,7 +360,8 @@
(let ((buffer-read-only nil))
(save-excursion
(navi2ch-bm-insert-state item 'update)))))
- (message "can't select this line!"))))
+ (message "can't select this line!"))
+ state))

(defun navi2ch-bm-textize-article (directory &optional buffer)
(interactive "Ddirectory: ")

54 :48 :02/02/16 16:51
>>52
Emacs-20.7 とか XEmacs では DEL は DEL として認識されてます。

(x)emacs -q で起動して C-h-k-DEL した結果

XEmacs-21.5.4: DEL runs `backward-or-forward-delete-char'
Emacs-20.7: DEL runs the command backward-delete-char-untabify
Emacs-21.1 以降: C-d runs the command delete-char

ただ、emacs -nw だと DEL で認識されているみたい。もうちょっと調べてみます。

55 :41 :02/02/16 17:56
>>51
そうですか。どうもありがとうございます。
とりあえずこれでやり過すことにします。


56 :48 :02/02/16 19:32
>>54
もう少し調べた結果。

etc/NEWS より
: * Changes in Emacs 21.1
(中略)
: ** The default binding of the Delete key has changed.
:
: The new user-option `normal-erase-is-backspace' can be set to
: determine the effect of the Delete and Backspace function keys.
:
: On window systems, the default value of this option is chosen
: according to the keyboard used. If the keyboard has both a Backspace
: key and a Delete key, and both are mapped to their usual meanings, the
: option's default value is set to t, so that Backspace can be used to
: delete backward, and Delete can be used to delete forward. On
: keyboards which either have only one key (usually labeled DEL), or two
: keys DEL and BS which produce the same effect, the option's value is
: set to nil, and these keys delete backward.
:
: If not running under a window system, setting this option accomplishes
: a similar effect by mapping C-h, which is usually generated by the
: Backspace key, to DEL, and by mapping DEL to C-d via
: `keyboard-translate'. The former functionality of C-h is available on
: the F1 key. You should probably not use this setting on a text-only
: terminal if you don't have both Backspace, Delete and F1 keys.
:
: Programmatically, you can call function normal-erase-is-backspace-mode
: to toggle the behavior of the Delete and Backspace keys.

で、normal-erase-is-backspace-mode を実行すれば DEL が DEL として認識
されることはわかりました。

# で、どうするのがいいんでしょうね??^^;;


57 :名無しさん@Emacs :02/02/16 21:27
http://game.2ch.net/test/read.cgi/famicom/1013785133/
が読めないのって俺だけですか?
fileの読み込みは成功している(less等では見れる)のだがnavi2chだと
何故か嵌ってしまう。Emacs21.1+navi2ch1.5.1です。


58 :名無しさん@お腹いっぱい。 :02/02/16 21:31
>>57
たぶんEmacs 21.1の不具合。Emacs 20.xやEmacs 21.1.90とかなら大丈夫なはず。
;; FAQに追加したほうがいいかも。

59 :名無しさん@お腹いっぱい。 :02/02/16 21:57
>>57

うわぁ!ほとんどブラクラだよ!!
emacsが死ぬ!


60 :57 :02/02/17 02:56
そっかEmacs21.1がよろしくないのね。thanx!
…が、21.1.90ってのが見つからん。cvsから引いてくるか。


61 :名無しさん@お腹いっぱい。 :02/02/17 06:48
>>60
> …が、21.1.90ってのが見つからん。cvsから引いてくるか。
Emacs 21.2のbeta。ftp://alpha.gnu.org/gnu/emacs/にあるよ。


次100 最新50

read.cgi ver5.26+ (01/10/21-)