Navi2ch for Emacs (Part 22) (396レス)
1-

232: 2023/12/02(土)20:26 AAS
🏺←かけるようにしたのを準備中
233: 2023/12/04(月)22:30 AAS
パッチが大きくなったので、公開リポジトリを作った
* インストール
https://repo.or.cz/navi2ch.git
cloneして
meson setup builddir
meson compile -C builddir
meson install -C builddir

* autoload, infoの設定
.emacs.d/init.elに以下を追加
(load "~/.emacs.d/lisp/navi2ch/navi2ch-autoloads")

使い方(新規機能)
* socks
変数navi2ch-socks-serverにsocks5://[user[:password]@]hostname[:1080]の形式で指定
* 画像
画像URLっぽい文字列に上で、「,」でプレビュー
プレビューしたサムネイルの上でRETで閲覧(初回は外部/内部ビューアの選択)
内部ビューアを選択するとemacsの中でimage-modeで閲覧。Qで終了。
* 絵文字
CP932で表現できない文字は数値文字参照に置換する。つまり🏺と直に書けば良い。
234: 2023/12/07(木)08:30 AAS
書き忘れていました
navi2ch-net-5chdat-downgrade-to-http
*non-nilかつnavi2ch-net-http-proxyがnon-nilの場合5chのdat取得の際は強制的にhttpでデータを取得する。
proxy2chのようなHTML -> dat変換を行うプロキシを使うときに指定します。

あと、昨晩サムネイルのバグを修正してpushしました。
内部ビューアの終了がQだと間違えてqを推した時にバッファが残ってしまうので、qで終了に変更。
235: 2023/12/13(水)22:52 AAS
mesonというコンパイラは初めて知った
導入する余裕がない人向けに弥縫策

1) Detour2ch/Prxy2chを起動
2) 「通信」→「書き込み関連の設定をする」→「パラメータ」
  「パラメータの置換を許可する」をチェック
  Accept: text/html
  Accept-Language: ja
  Referer: http://www.5ch.net/
  を追加
2chスレ:software
3) 「メイン」→
  「読み込み」「書き込み」にチェック

522エラーが発生しないスレは、古いNavi2chでもログの取得が可能になる
プロキシを通した書き込みも「リファラが変です」エラーは出なくなる…はず
236: 2023/12/14(木)17:34 AAS
コンパイラっつーかビルドシステムな
重箱の隅だが

自分はむしろ弥縫策って言葉を初めて聞いたわ
英語で言うところの workaround ってことでいいのかな
237
(1): 2023/12/17(日)18:48 AAS
* 画像の扱いを改良しました。内部ビューアでレス内の画像を連続閲覧できます
プレビューしたサムネイルの上でRETで内部ビューアで閲覧
閲覧中のキーバインドは
"n" " " 次の画像
"p" "S-SPC"(shift space) 前の画像
"q" ビューアを閉じる
* BE iconを自動表示するようにしました。
具体的には変数navi2ch-thumbanil-show-automaticaly-prefixに設定した
プリフィックスを持つ画像のサムネイルを自動表示します。自動表示した
くない場合はこの変数をnilに設定してください。

* インストール
https://repo.or.cz/navi2ch.git
cloneして
meson setup builddir
meson compile -C builddir
meson install -C builddir

* autoload, infoの設定
.emacs.d/init.elに以下を追加
(load "~/.emacs.d/lisp/navi2ch/navi2ch-autoloads")
238: 2023/12/18(月)13:10 AAS
久々navi2ch使ってる、ありがとう
できればmelpaにnavi5chとでも名前かえて上げるか
navi2chの元repoマージにしてほしい
239
(2): 2023/12/28(木)23:07 AAS
昨日くらいからnavi2chから書けなくなりました
「投稿エラー: ERROR: あなたはこのスレッドにはもう書けません。🐙」
って出ます ブラウザやchmateからだと書けます
User Agentかな?と考えていろいろ変えていますが書けません
一昨日くらいまでは"Monazilla/1.00 (Ciisaa/1.43(A))"で書けていました
皆さんは書けますか?
240
(2): 2023/12/28(木)23:41 AAS
書けるな。
241: 2023/12/28(木)23:49 AAS
User-Agentは何にしていますか?
242: 240 2023/12/29(金)09:26 AAS
User-Agentは違うけど今は書けなくなった。
243: 2023/12/29(金)11:50 AAS
それ!
244: 240 2023/12/29(金)12:01 AAS
やっぱり書けるな。proxy2ch通してるけど。

"Monazilla/1.00 2chMate/0.8.10.153 Dalvik/2.1.0 (Linux; U; Android 12; SC-52B Build/SP1A.210812.016)"
245
(1): 2023/12/29(金)20:28 AAS
Traceback (most recent call last):
File "/usr/home/ore/navi2ch/scripts/default_options.py", line 12, in <module>
def find_emacs_in_path() -> pathlib.Path | None:
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

Python力が低すぎて😥
246: 2023/12/29(金)21:50 AAS
>>245
実行されてるpythonのバージョンは?
247: 2023/12/29(金)21:58 AAS
3.10からだな
https://docs.python.org/3.10/whatsnew/3.10.html#pep-604-new-type-union-operator
248
(2): 2023/12/29(金)22:12 AAS
3.9 から 3.11 にあげたところ、今度は distinguished_name が無いと怒られてしまいました。

[1/2] Generating ca_key.pem with a custom command
FAILED: ca_key.pem ca_cert.pem ca_cert.srl
/usr/bin/openssl req -batch -newkey ec:ecprm0.pem -sha256 -nodes -subj '/C=JP/ST=Tokyo/O=Snake Oil Company/CN=Snake Oil company Root Certificate Authority' -keyout ca_key.pem -out ca_cert.pem -x509 -days 3650 -extensions v3_ca -config ../test/ssl.conf
Generating an EC private key
writing new private key to 'ca_key.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
6904790237184:error:0E06D06C:configuration file routines:NCONF_get_string:no value:/usr/src/crypto/openssl/crypto/conf/conf_lib.c:273:group=req name=distinguished_name
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
249
(2): 2023/12/29(金)23:44 AAS
>>237
ありがとうございます。
Macで使っているのですが、
default_options.py の find_on_darwin() の中の
emacs = find_in_app() and None
は、これで合っているのでしょうか。
ここでemacsがNoneに上書きされてしまって、emacs not found になってしまうようなのですが。
250
(1): 2023/12/30(土)02:06 AAS
>>248
適当な名前入れて
https://superuser.com/questions/947061/openssl-unable-to-find-distinguished-name-in-config
251
(1): 2023/12/30(土)12:18 AAS
>>250
あざす。今度はこんなエラーが…
/usr/bin/openssl x509 -req -in localhost_csr.pem -CAkey ca_key.pem -CA ca_cert.pem -CAcreateserial -subj '/C=JP/ST=Tokyo/O=Snake Oil Company/OU=Limiment Div./CN=localhost' -days 3650 -sha256 -extfile ../test/ssl.conf -extensions server_ext -out localhost_cert.pem
x509: Unrecognized flag subj
x509: Use -help for summary.
252: 2023/12/30(土)13:40 AAS
>>251
そのオプションがないのはopensslが古いのだろうかね
253: 2023/12/30(土)13:42 AAS
CSRにsubject書いてあるから
指定する必要はないんだけど
上書きできるようになってるみたいね
最近できたオプションなのかな?
254
(2): 2023/12/30(土)18:09 AAS
OpenSSL 1.1.1t-freebsd 7 Feb 2023 だったので、openssl32 を入れてみたところやっとこさコンパイルが通りました。
setup の時に meson.build:88: WARNING: The variable(s) 'configure_input' in the input file 'navi2ch-version.el.in' are not present in the given configuration data. と出るのは無視してかまわないでしょうか?
255
(2): 2023/12/30(土)18:14 AAS
インストール後スレを開こうとすると、
Symbol’s function definition is void: navi2ch-thumbnail-insert-image-reload
となってしまうようになりました…。
256
(1): 2023/12/30(土)23:42 AAS
>>249
> emacs = find_in_app() and None
これはダメですね。修正しておきます。
emacs = find_in_app()
が正しいです。

>>254
> setup の時に meson.build:88: WARNING: The variable(s) 'configure_input' in the input file 'navi2ch-version.el.in' are not present in the given configuration data. と出るのは無視してかまわないでしょうか?
「configureで生成されたファイルだよ」というコメントを挿入するための変数なので、無視して良いです。

>>255
ターミナルからの利用ですか?
workaroundとしてM-x load-library[RET] navi2ch-thumbnailしてみてください。
257: 2023/12/31(日)00:12 AAS
>>256
emacs -nw で使ってます。
(autoload 'navi2ch-thumbnail-insert-image-reload "navi2ch-thumbnail" nil t)
で解決しました。
258
(3): 2024/01/01(月)00:54 AAS
>>239
何か隠しNGワードを書き込んだね
よくあること
隠しNGワードはその時々によって変わる
むしろ今まで地雷を踏んでいない人がいまだそんなにいるものなの?

5chの隠しNGワードを報告するスレ
next2chスレ:poverty
ここは隠しNGワードを書き込めるので、後進のため後学のため備忘録のためにどうぞ

Navi2chを「一旦終了」(ここ重要)して
~/.navi2ch/cookie.info
の削除(あるいはリネーム)後に再起動
最初の書き込みではcookieが存在しないため
「フォーム情報が不正です」といわれるかもしれない
二度目からは普通に書き込める
259: 239 2024/01/01(月)11:24 AAS
>>258
有難うございます!!!書き込めています!!!
歴はかなり長いのですが「隠しNGワード」初めて知りました
260: 2024/01/02(火)18:13 AAS
>>248 証明書(test用ファイル)をデフォルトでは生成しない + socksサーバーがない場合にテストをスキップする
>>249 emacsバイナリの検索のバグ
>>254 configureの警告
>>255 非windowシステム(imageが扱えない)への対応
を修正したものをコミットしました。

>>248の修正で、meson testはデフォルトでは何もしなくなりました。
test(meson test)を行いたい方はsetupの際に-Ddisable-test=falseを追加してください
meson setup -Ddisable-test=false
261: 2024/01/02(火)18:34 AAS
etc.txt で追加した jbbs.shitaraba.net の板で =C になっているスレッドを navi2ch-bm-select-article-or-scroll-up で開こうとすると、

Debugger entered--Lisp error: (invalid-function (start start))
(start start)()
navi2ch-js-article-update(...

でエラーになってしまうようです。R でスレのデータを削除すると開くことができます。
262: 2024/01/02(火)20:28 AAS
jbbs.shitaraba.netは全く使ってないので、設定方法とか教えてくれると嬉しい。
263: 2024/01/03(水)15:24 AAS
~/.navi2ch/etc.txt
```
PSP
したらば板:computer_22593
computer
```

g computer
適当なスレを開く
q で閉じる
SPC でもう一度スレを開く (invalid-function (start start))
264: 2024/01/03(水)21:47 AAS
修正しました。currentブランチとしてpushしてあります。
FreeBSDのcurrent, stable => current, mainの感じです。(mainをstableに変更すると大顰蹙を買いそうなので)

ファイルローカル変数としてlexical-bindingは設定してあるので、
(let ((lexical-binding t) (start start))
自体も不要だと思いますが、何となく残してしまいました。

--- a/navi2ch-jbbs-shitaraba.el
+++ b/navi2ch-jbbs-shitaraba.el
@@ -99,9 +99,9 @@ START が non-nil ならばレス番号 START からの差分を取得する。
(time (cdr (assq 'time article)))
(url (navi2ch-js-article-to-rawmode-url board article start nil start))
(func (if start
- (lexical-let ((start start))
+ (let ((lexical-binding t) (start start))
(lambda () (navi2ch-js-article-callback start)))
- 'navi2ch-js-article-callback)))
+ #'navi2ch-js-article-callback)))
(navi2ch-net-update-file url file time func nil start)))

(defun navi2ch-js-url-to-board (url)
265: 2024/01/03(水)22:33 AAS
早速ありがとうございます!
266
(3): 2024/01/04(木)21:18 AAS
shitarabaはhttpキメ打ちだったので、httpsにも対応して、あとmachibbsも使えるようにしました。
currentブランチとしてpushしてあります。

$ git clone https://repo.or.cz/navi2ch.git
$ cd navi2ch
% git fetch --all
$ git branch --track current remotes/origin/current
$ git checkout current
$ meson setup builddir
$ meson compile -C builddir
$ meson install -C builddir # el, elc, info, iconが$HOME/.emacs.d/lisp/navi2chにインストールされます

$HOME/.emacs.d/init.elに↓を書いておけば、autoload, info, icondirが設定できます。
(load (file-name-concat (file-name-directory load-file-name)
"lisp/navi2ch/navi2ch-autoloads"))
267: 2024/01/11(木)08:22 AAS
spacemacs派、追加パッケージにコレだけでビルドも設定も要らん
(navi2ch :location (recipe
:fetcher git
:branch "current"
:url "https://repo.or.cz/navi2ch.git"
:files (:defaults "contrib" "icons")))
268
(1): 2024/01/14(日)19:28 AAS
【速報】特定の板で専ブラが閲覧不能に
入力URL
2chスレ:livemarket1

ジャンプ先
2chスレ:c
【※注:板名の前の”c”に注目】

殆どの板ではいまだ変更なし
269: 2024/01/21(日)21:27 AAS
history の一番最後の行で g を押すとエラーになるようです。

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
string-match("^https:\\(.*\\)" nil)
navi2ch-history-assoc-item(nil)
navi2ch-bm-get-board-internal(nil)
navi2ch-bm-goto-board()
funcall-interactively(navi2ch-bm-goto-board)
call-interactively(navi2ch-bm-goto-board nil nil)
command-execute(navi2ch-bm-goto-board)
270: 2024/01/23(火)23:45 AAS
報告どうも。修正しておきます。
diff --git a/navi2ch-history.el b/navi2ch-history.el
index 5f64a69..6fa64fe 100644
--- a/navi2ch-history.el
+++ b/navi2ch-history.el
@@ -78,7 +78,8 @@ key は (concat uri artid)。")

(defun navi2ch-history-assoc-item (item)
(or (assoc item navi2ch-history-alist)
- (and (string-match "^https:\\(.*\\)" item)
+ (and item
+ (string-match "^https:\\(.*\\)" item)
(assoc (concat (if (string-prefix-p "https:" item)
"http:" "https:")
(match-string 1 item))
271: 2024/01/24(水)00:03 AAS
>>268
今は閲覧できるようです。巻き戻したのかな?
272
(1): 2024/01/27(土)01:55 AAS
package-vc-installでもインストールできたっぽい。
こんな感じ。
(unless (package-installed-p 'navi2ch)
(package-vc-install '(navi2ch :url "https://repo.or.cz/navi2ch.git"
:branch "current" :vc-backend Git)))
273: 2024/01/28(日)19:11 AAS
書けなくなったよ
もうなんだかんだ面倒臭いだろ書き込みはxwidgetsでダイレクトにフォーム表示してくれたらいいけどな
274: 2024/01/28(日)19:38 AAS
そうなの?
275: 2024/01/28(日)20:24 AAS
投稿エラー: ERROR: 投稿時の認証用クエリがありません。
----------------
すくなくとも俺環でこの板は上記エラーでそうみたい
書けてるの?
276: 2024/01/28(日)20:34 AAS
失礼UAだったみたい、書けました
277: 2024/02/13(火)19:48 AAS
最近info読みたいことあったnavi2ch.texi UTF-8にしてくれないかな
quelpaでインストールすると文字化するのよね
278: 2024/02/24(土)21:28 AAS
quelpa見るとmakeinfoでinfo作ってるようだから、makeinfoというファイル名で
コード変換して本物makeinfoに渡すスクリプト噛ませれば解決しない?
コード変換すると全部入れ替えだから二の足踏んでるんだよね。
279: 2024/03/25(月)21:03 AAS
原因は特定できないけれど Windows 11以降、謎の文字化けが起きるようになった
例えば、米こうじの「こうじ」、ウソつきの「うそ」、全角チルダ(~)等

どれもWindows 10までは普通に入力できていた文字
「うそ」は、機種依存文字でないほうも書き込めない
「以前のバージョン」のIMEも試してみた
自分以外にも似た文字化けを見たのでOS固有の問題かもしれないけれど
ウェブブラウザでは正常に書き込まれる
280
(2): 2024/03/26(火)20:03 AAS
macで書き込みテスト
うそ(印刷標準字体)、うそ(略字)、こめこうじ、全角チルダ
噓、嘘、米麹、〜
281: 2024/03/27(水)19:59 AAS
今回は乗客の通販とか凄いねしか書けないんだろう
国葬すべきだよな
絶対に潰します!」(ずっと待ってるんだから当然
バグはシステムをそのまま持ってきた意味を分かってたはず
282: 2024/03/27(水)20:49 AAS
定期的に
283: 2024/03/28(木)20:37 AAS
「麹」(こうじ)は入力できた
JISで使用可能な異体字が最初から候補に入ってなかった
https://dictionary.goo.ne.jp/word/kanji/%E9%BA%B4/#kanji_kanken-9620
「剥」(ハク,むく)
https://dictionary.goo.ne.jp/word/kanji/%E5%89%9D/#kanji_kanken-42590
も同じ
JIS/S-JISで扱えない文字は抑制するとかできないかな

全角チルダやウソは無理
異体字関連のように見えるけれど、S-JISの5C問題ではないんよね
https://zenn.dev/zhenyou620/articles/c26b03cb6e4787
284: 2024/04/02(火)15:44 AAS
>>280
> うそ(印刷標準字体)、うそ(略字)、こめこうじ、全角チルダ
> 噓、嘘、米麹、~

chmateから
噓、嘘、米麴、米麹、~、~(波ダッシュ)
285: 2024/04/02(火)16:00 AAS
>>280
波ダッシュになってるなあ
波ダッシュをJIS X 0208にない全角チルダに変換してしまうのは
Windowsが長らく抱えていた問題だけど
11で変えたんだな
Emacsが依存してるのかね
それともproxy?
286: 2024/04/17(水)02:13 AAS
わかったああああぁ!
https://qiita.com/kasei-san/items/3ce2249f0a1c1af1cbd2

自分が全角チルダと思っていたのは波ダッシュで
Unicodeの波ダッシュが今まで”下がって上がる”形に誤記されていたのか
https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Wave_Dash2.svg/427px-Wave_Dash2.svg.png


S-JISに存在しないキャラクタコードを入力したらそりゃおかしくなるわけだわ
とりあえず「にょろ」で「〜」を登録しておいた
ウソや「しょうゆ」も何かこういうコーディング問題だろうな
最新ベータのNavi2chを使えば混合表記でも消えたりしないのかもね
うちはコンパイルしてもしなくても途中でエラーが出て使えないから
287: 2024/05/25(土)10:14 AAS
IMEへ登録しても異体字に環境依存文字(非JIS/S-JIS)が含まれると文字化けするな
他は変えていないからWindows11固有のバグなのか

(coding-system-put 'cp932 :encode-translation-table
(get 'japanese-ucs-jis-to-cp932-map 'translation-table))

これを ~/init.el に設定しておくと〜(波ダッシュ)だけは文字化けしない模様
288: 2024/06/08(土)17:33 AAS
文字化け問題が解決したので報告

最近リリースされたEmacs 29.3へ更新したら異体字が書き込めるようになった
Windows 11のリリースに合わせて修正されたのかもしれない
そのままだとUnicode文字は入力できないけれどS-JISの文字まで消えることはない
289
(1): 2024/06/09(日)14:16 AAS
やっぱりダメだわ
何か条件があって書き込めるときと文字化けするときがある
Emacs更新で文字化けしにくくはなったけれど理由が不明
290
(2): 2024/06/28(金)11:59 AAS
文字化け問題

(make-coding-system
'japanese-iso-8bit 2 ?E
"ISO 2022 based EUC encoding for Japanese (MIME:EUC-JP)"
'(ascii japanese-jisx0208 katakana-jisx0201 japanese-jisx0212
short ascii-eol ascii-cntl nil nil single-shift)
'((safe-charsets ascii latin-jisx0201 japanese-jisx0208 japanese-jisx0208-1978
katakana-jisx0201 japanese-jisx0212)
(mime-charset . euc-jp)))

(define-coding-system-alias 'euc-japan-1990 'japanese-iso-8bit)
(define-coding-system-alias 'euc-japan 'japanese-iso-8bit)
(define-coding-system-alias 'euc-jp 'japanese-iso-8bit)

こういう感じの定義をUTF-8か何かで書いてやればいいらしい
(続く)
291
(1): 2024/06/28(金)12:00 AAS
(改行エラーで弾かれた続き)

さらに言語リストに追加

(set-language-info-alist
"Japanese" '((setup-function . setup-japanese-environment-internal)
(exit-function . exit-japanese-environment)
(tutorial . "TUTORIAL.ja")
(charset japanese-jisx0208 japanese-jisx0208-1978
japanese-jisx0212 latin-jisx0201 katakana-jisx0201
japanese-jisx0213-1 japanese-jisx0213-2)
(coding-system iso-2022-jp japanese-iso-8bit
japanese-shift-jis japanese-iso-7bit-1978-irv)
(coding-priority iso-2022-jp japanese-iso-8bit
japanese-shift-jis iso-2022-jp-2)
(input-method . "japanese")
(features japan-util)
(sample-text . "Japanese ($BF|K\8l(B) $B$3$s$K$A$O(B, (I:]FAJ(B")
(documentation . t)))

UTF-8のフォーマットやエイリアスが調べても見つからなくて挫折
わかる人向けの備忘録に
292
(1): 2024/07/31(水)22:10 AAS
備忘録も兼ねて一応報告
汎用ウェブブラウザのUser Agentが全て死亡

Chrome, Firefox, Edge等のUAでアクセスすると、例えばニュース速報+の場合
2ch板:newsplushttps://itest.5ch.net/subback/newsplus
へ飛ばされる
飛ばされるだけなら読み込めるけれど、JavaScriptを要求してくる
実はかなり前からウェブブラウザでは要JSで、CGIは裏でサポートする体制だった
本日午前までは CGI 方式で読み込めたのを確認しているけれど今は無理
新型専ブラには知っての通りログインシステムに脆弱性がありCGI形式も残っている

プロファイルやプロキシでAPI対応ブラウザのUAを指定すれば旧専ブラもまだ使える
293
(2): 2024/08/02(金)21:27 AAS
>>292
navi2emacs使ってないからわからないけどcookieで5chClassicをonにセットじゃだめかな?
294: 2024/08/03(土)20:39 AAS
>>293
cookieを直接操作するコマンドがないのよね
proxyの「パラメータの置換を許可する」コマンド等で代用できればいいんだけど
295: 2024/08/04(日)06:27 AAS
>>293
でも情報をありがとう
他の専ブラで殆ど騒ぎになってないから不思議に思ってた
なにか手を考えてみる
296
(2): 2024/08/04(日)11:34 AAS
>>266

windows だとdefaultで C:\Program Files\Emacs\emacs-??.? みたいに2階層下にインストールされるから

> $ meson setup builddir

で emacsがない! となるんだな
(しかしよく作りこんでるなぁ,とパッチ作者には感謝しかない
297: 2024/08/06(火)19:53 AAS
(navi2ch-net-store-cookie '("5chClassic" "on") ".5ch.net" "/")

とかやれば設定はできそうな気がする。
298: 2024/08/15(木)15:43 AAS
?v=pc
299: 2024/08/27(火)00:42 AAS
>>290
文字化け問題。よく理解していないけど、文字化けするサンプルをUTF-8でセーブして、base64してクレないか?

>>296
emacs-2[7-9].[1-4]を検索するようにしてみてcurrentブランチにpushした。 >>266の手順でどーぞ。
300: 警備員[Lv.4][新芽] 2024/08/27(火)08:39 AAS
>>289
振る舞いが違うことがあるのは
文章に使われてる文字集合セットが違うからだと思う
>>290のsafe-charsetsにバッファーの全ての文字が含まれてるか確認して
利用可能なcoding-systemのリストを作り
>>291のcoding-priorityに合せて
どのcoding-systemを使うかemacsは選ぶ

5chの利用可能なcoding-systemがどうなっているか知らないけど
(どの板でも常にutf8を使えればいいのだけど)
現在レガシーでしかないIso2022jp,eucjp,sjis,cp932等を使わない方がいい
少し前に言及された波ダッシュ全角チルダ問題みたいなのを回避するためにも
書き手あるいはIMが波ダッシュのつもりで全角チルダを入力してしまっていてもそれは尊重すればいい
内部表現以外は常にutf8を使う
301: 2024/08/27(火)09:22 AAS
5chはcp932キメ打ちでポストすることになっているっぽい。
なので、cp932に変換できる文字はcp932に、できない文字は実体参照に置換してポストしている。つもり
302: 警備員[Lv.5][新芽] 2024/08/27(火)09:31 AAS
そうなんだ
じゃあその変換が利用者の意図通りか
実態参照がちゃんと扱われるかって問題しかなさそうだね

それから余談だけど
cp932はどの板でも使えるが
utf8は特定の板でしか使えないってことはないかな?
Unicode emojiとしか思えない書き込みもみたことがあるので
baselineが変更されてどんどん上に上がっていく文字列とか
かなり昔にその設定を取得できると聞いた気もするが2ch時代の昔話かもしれん
303: 警備員[Lv.5][新芽] 2024/08/27(火)09:32 AAS
そういう実装ならWindows11で問題が出たのはIMの振る舞いの変更だったんだろうね
304
(1): 2024/08/27(火)12:34 AAS
なんかemacs(29.1)の文字列の扱いに問題があるような気がしてきた。
(length "🛜")を評価すると2になる
305: 警備員[Lv.8][新芽] 2024/08/27(火)12:53 AAS
16bitに収まらないcode pointを持った文字だからでしょうね
306: 警備員[Lv.9][新芽] 2024/08/27(火)14:58 AAS
こういうことですけど
$ echo -n a | iconv -f utf-8 -t UTF16BE | hexdump -C
00000000 00 61 |.a|
00000002
$ echo -n あ | iconv -f utf-8 -t UTF16BE | hexdump -C
00000000 30 42 |0B|
00000002
$ echo -n 🛜 | iconv -f utf-8 -t UTF16BE | hexdump -C
00000000 d8 3d de dc |.=..|
00000004
307
(2): 2024/08/27(火)17:09 AAS
5chがcp932からsjisに変えて不具合から
元に戻すんじゃなくBBS_UNICODEを無効して対応
その後cp932に戻したという話は聞いていないな
308
(1): 2024/08/27(火)18:59 AAS
>>304
手元の29.4では1になりますが、デバッグされたのですかね?
309: 2024/08/27(火)19:37 AAS
>>307
なるほど、SETTINGS.TXTというファイルを見かけたような記憶が蘇ってきました。
ここら辺で設定されている項目でしょうか。

使うだけのユーザーだったので、専ブラのドキュメントは追ってなかったのです。
monazilliaは残骸しか残ってないし…

>>308
っと失礼、今、試したら1になりました。何をみていたんだろう?
310
(1): 2024/08/28(水)10:30 AAS
エンコードする関数はnavi2ch-net.el:navi2ch-net-url-ncrify-stringで
cp932に変換できない文字を数値実体参照+%エスケープ, cp932に変換できた文字を%エスケープしています。
(navi2ch-net-url-ncrify-string "🛜") -> "%26%23128732%3b"
文字コードで悩んでいる方は、これの変換結果を教えてほしい。

>>307
古文書(https://info.5ch.net/index.php/SETTING.TXT)によるとBBS_UNICODEは
・現行の SETTING.TXT では、削除されているもの
・残っていても無効らしいもの
らしいので、決め打ちするならcp932じゃなくてsjisにしろってことでしょうか?
311: 2024/08/28(水)10:54 AAS
今の5chはcp932じゃなくてsjis
BBS_UNICODEはらしいじゃなくて無効にされた
312
(1): 2024/08/28(水)11:36 AAS
自分が昔Jane板に書いたレス
http://jane2ch.net/test/read.cgi/community/1689396539/472
http://jane2ch.net/test/read.cgi/community/1689396539/477
313: 警備員[Lv.7][新芽] 2024/08/28(水)11:46 AAS
>>312
2chスレ:operate
にまとめレスとソースの議論もあるのね

それからwikipediaの波ダッシュ全角チルダ問題のところに
他に問題が起きる組み合わせが書いてある
ja.m.wikipedia.org/wiki/Unicode#%E6%B3%A2%E3%83%80%E3%83%83%E3%82%B7%E3%83%A5%E3%83%BB%E5%85%A8%E8%A7%92%E3%83%81%E3%83%AB%E3%83%80%E5%95%8F%E9%A1%8C
314: 2024/08/28(水)13:18 AAS
>>310
不都合ではなくて技術的興味レベルです。すみません
IVSはそれ単体で"cp932に変換できない文字を数値実体参照+%エスケープ"扱いなのですね
315: 2024/08/28(水)14:48 AAS
> cp932に変換できない文字
cp932とsjisでは変換できない文字が違う
これに対処するためBBS_UNICODEを無効にした
この辺りの経緯はBathyスレの過去ログ読めば分かる
Styleの過去ログでもいいけど無駄レスが多い
316
(3): 2024/08/28(水)20:04 AAS
<form id="postform" class="postform" method="POST" action="//mevius.5ch.net/test/bbs.cgi?guid=ON" accept-charset="Shift_JIS">
となってるから、sjisに変換できない文字はunicodeとして数値文字参照にするという実装で良いのかな?

navi2ch-board-coding-system-alistで板ごとに、デフォルトはnavi2ch-coding-systemで設定できるようになってるけど、
こんな偏執狂じみた(褒め言葉)カスタマイズ性を持たせたオリジナル作者には驚くしかない。

というわけで、デフォルトでnavi2ch-coding-systemは
(defvar navi2ch-coding-system
(or (car (memq 'cp932 (coding-system-list)))
(car (memq 'shift_jis-2004 (coding-system-list)))
'shift_jis))
となってるのを(defvar navi2ch-coding-system 'shift_jis)にしておきます。

波ダッシュ 〜
全角チルダ ~
317
(3): 2024/08/28(水)20:46 AAS
>>296
emacs-2[7-9].[1-4]を検索する他、
$ meson setup builddir -Demacs=emacs-29.3
でバイナリファイル名を指定できるようにしてcurrentブランチにpushした。

あと、>>316の変更と>>266の手順を書いたREADME.mdを追加したので、https://repo.or.cz/navi2ch.gitで読める。
318
(2): 2024/08/29(木)10:39 AAS
>>317
まだこうなっちゃう
Traceback (most recent call last):
File "/home/*/navi2ch/scripts/default_options.py", line 12, in <module>
def find_emacs_in_path() -> pathlib.Path | None:
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

meson.build:6:25: ERROR: Command `/usr/bin/python scripts/default_options.py` failed with status 1.
319: 2024/08/29(木)12:07 AAS
>>317
>>318
全く問題なくできましたm(__)m
320: 2024/08/29(木)13:05 AAS
>>317
開発ありがとうございます
>>272 の方法でインストールしました
321
(1): 2024/08/29(木)15:57 AAS
>>318
> def find_emacs_in_path() -> pathlib.Path | None:
> TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
pythonのバージョンが古くて、新しいタイプヒントの記法を解釈できないのかな?

何ヶ所かある戻り値のタイプヒントをお手軽修正は↓
import typing
しておいて↓のようになおすだけど、
-def find_emacs_in_path() -> pathlib.Path | None:
+def find_emacs_in_path() -> typing.Union[pathlib.Path, None]:

default_options.pyはオプションのデフォルト値を求めるスクリプトなので、
emacsが見つからない時に止めるのは良くない!と改心したので見つからない
場合には規定値
グローバルインストール
'prefix': '/usr/local',
'lispdir': 'site-lisp'
ローカルインストール
'prefix': str(pathlib.Path.home() / '.emacs.d'),
'lispdir': 'lisp',
を返すようにしました。グローバル/ローカルの切り替えは環境変数INSTALL_GLOBALが存在するか否かです。

本文が長すぎますと言われたのでバッチは別レスで
322: 2024/08/29(木)15:58 AAS
改行数制限に引っかかりそうなのでgzup+base64
$ base64 -d |gzip -d でパッチが出てきます。

H4sIAPsa0GYAA71WW2/bNhR+11/oy1nXgNJ0cezcPXho0nVdgTQNlgx7iAKDlumYi0RyJOXE
yPLfdyg5tpyL62DD+GBTPPfvOzzSkI9GEMdX3AJtmUxzZU1ryEa0zG1fKsulMImawmCF0ONi
yG5he7DP9gadJNnJtjojyqC9ubm7ve3FcbzStxeG4Wr/799DvBcdQLgXtTcBn3ihpLagcmpH
Uhfew4Fm862ZmsW+HCgtM2aMF86O7FRxceWBB9/D6eH5r2/eHb0L3/E3/hEraGbco97/rnuD
B16MKcEIi+xXsj4XfUXt2A8g/gncLueD5BT/4W84kYJ1vXCVRR06+V1geRdN86iyvux64BYf
zetLsBjLCuj1gPyBXuWNITMtt9itBZQk7JaRxalhyp3+SCr4OtvRHoSdHfzFx1cXNPeKWVU2
GIwba/ygIXNLM1tqUesgus9AZyzVtmCifB1+j8zWBNHqaTP5mvsbLrY6mSySLOdMWG8GYsaU
7VZgbe06sLb2XgJrnRJqp84i5+K6rxmSoVmCYRXPma9J8kMlTZNcXJPIyT5/Ovn628cPh2cf
g9q8itN3gdBY4lXAAAi8omI4odr4ZONQqZ+ppRtp+oVnWho5smk6a5E0PXP28AXtSeDIcD4f
VWPGiEhWWn/IdXepkhXsvN7PmnTNOkxIC+gn4aZPB0bmpWVPGg3lCIrTWqhgjY6+nY6jb2fr
X9HnNdv5uUKbZv6CqSBYansp+jc1HWu1+2P1NXHDIQFWKuACfPKh2zrV8krTAn7BVjPYXO6M
RE0InYWDEC2WCkEvQcIt0yh8gnmFQI06tIAMuGg9DANWj5nd7Wgfwt0d/G1CvxYKL8yQ52mY
j6zHaA+pxlArwizfAvRDlXratb0lVEgLL1rOM1q9kkiwJpXNXL7NZPhfJfZ/XbZmL2Gurpcq
R4vucS1xsOne3AftqF31BMvN0nREvy/QOn/XADdN7pTmwvqkFrnsR7IUQ+zyEXZ7D1+VibFD
pnVQq7sDfFlZv40H6BLn6BWzTEx88vnk7Pzw+Lj/6fjr0eExCWYcrKU0I8vlf7c4cYsozUb8
lnSBtEqjW7nMaE6iR0o5NwpRcloGEYvdc1Ppvt7WcK0d0Vi9NJiSsSyQK3dbk/qqDkmwIpUX
snBfTxh28R2V6FL4PlFTO5bCDZg4c781NSm5u09JQBL37UKRqjQVJPlT4lUoqPJzWgyGFCYY
7u6+d3c/15tcbF5Gk4v2ZRBVhbpOKnBi4IpwrIYs/xYzsCLZqnyX6V9VvvGA2mxcb9mkIghW
LOK72jLw61zhbQ15b8OkYoZfb87jW1TDXowFLViMEpZZqafgz7fxXAxOf6HjasVBvTIX7G5Z
2odGx20EdcM3ej+CbMyy6965Llng/QNTM3dA5QsAAA==
323: 2024/08/29(木)16:02 AAS
>>321
そうです
自力解決しました
つまらんことでお手を煩わせてすみませんm(__)m
324: 2024/08/29(木)19:21 AAS
ここまでをcurrentにcurrentにコミットしてあげておきました。

ご要望のあった「texiの文字コード変えてクレ」にも対応してUTF-8にしました。
325: 2024/08/30(金)13:34 AAS
spacemacsでupdate-packagesしたらちゃんと更新された
infoも文字化けなし、ありがと
326
(1): 2024/09/22(日)12:05 AAS
>>316
お疲れ様です

コンパイルできないので試しに古いソースを書き換えてみた
Win11の全角チルダが一定の条件下で今まで入力できていたのに全くできなくなった
否、パッチに関わらず入力できない
精査した結果、「機種依存」に分類された全角チルダ( )を入力すると表示される
これまでは入力不可だった
波ダッシュ(Wave dash)を入力すると文字自体が消える(厳密には半角スペースに変換)
以前は表示できていたので、最近のアップデートでコードの扱いを変えたのかも

見目が全角チルダだからといって文字コードを置き換えて良いものなの?
入力した文字が消失するから確かめるすべもないけど
327: 2024/09/22(日)12:13 AAS
>>326
補足
最新のアップデートをかけたらなぜか元に戻ってた…
今のところ全角は消える、波は書ける
328: 2024/09/24(火)23:11 AAS
5chはshift_jisで投稿せよ。ということらしいので、shift_jisに変換して投稿するようにしました。
その際にshift_jisに定義されていない(とemacsが信じている)文字は数値実体参照に置換しています。
329
(1): 2024/09/24(火)23:50 AAS
326とは別人です。328さん開発ありがとうございます
web browserでPC版の設定でアクセスすると、どちらの字も全角チルダで表示されてませんか?
5chの中の人は、そのぐらいにしか考えていないと思ってます。残念ながら
330: 2024/09/25(水)16:39 AAS
専ブラはutf-8で送信してるよ
Shift_JISにない文字種は5ch側で数値参照に変換している
331
(1): 2024/09/27(金)21:30 AAS
>>329
表示されますね
何かがどうもおかしいと思っていたら文字コードが置換されていたという

・波ダッシュを入力して投稿する → 全角チルダへ置換されて書き込まれる
・投稿した書き込みをコピー&ペーストで再投稿 → 置換された文字が消える

波ダッシュのキャラクターコードのまま書き込まれた投稿も散見されるので
Windows 11固有のプロトコルやコーディングの問題かと
1-
あと 65 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s