Navi2ch for Emacs (Part 22)
文字コードとか1.0とかおーぷん、Nextなども同じだし bbsmenuを他所のカスタムBBSメニューに変更したら普通に動いた また読めるようになった。 このスレだけが頼りだわ。ありがとう。 href= に対応する値が "" で囲まれるようになったのが原因みたい diff navi2ch-list.el.orig navi2ch-list.el 591c591 < (string-match "href=\\(.+/\\([^/]+\\)/\\)" attr)) --- > (string-match "href=\"?\\(.+/\\([^/]+\\)/\\)" attr)) href= に対応する値が "" で囲まれるようになったのが原因みたい diff navi2ch-list.el.orig navi2ch-list.el 591c591 < (string-match "href=\\(.+/\\([^/]+\\)/\\)" attr)) --- > (string-match "href=\"?\\(.+/\\([^/]+\\)/\\)" attr)) 2chproxy.pl なしで5chを読むだけならできる ----BEGIN BASE64----(navi2ch-5ch.el.gz) H4sICCgtf2QCC25hdmkyY2gtNWNoLmVsAKVXbW/bRgz+HGP/oF9umrNJDmTFTrsX Q5GwFMVarOu+7FuUGLJ9tgXYZ093TruhP34k70UnxU5fltaGxCN5zz3kkXS44MuH smaifKjG83X8Aj5rtd3EahcvShXXfMU/7ONRj7FwvhPzUrEgXags6J0xFhRFeHsZ /3J3URRRUcjb+/RuoFdSWMonJVvXfHldBNuy2qjdBPXvi0Drg/XH5U6o2/vsbgAC 4zOdZaA2HOQgShN6gSezlmi3xrIxGjo87iGfIJyL3BmTDFAOUgcrXyu1R0SIIMgJ SUanSJMSdo7yjmnLL8ngK9UcoP4FGaMhMdLYN09y4PlMS6INtp3xkNgJI7KPNJai yEmaEmVtUOli4YXhvhCkQ5Io6vXCz4vsuBVZArWoHoBguS8F+GPzTSklcCUO2xmv garHodcSP/rJY0eZnxgntii33G0AeeARZWRPJ5SfOKWz/ujz7RIu00Ey+noxwdVW 2F3eWTBfeTIgnLfxnXTjH/cJjzNOmUNnd5Q5ejCvZT5Jkhkf6jDN10PBVXKQvE5a 1zbQdNjNdb5lXlx9LjsX4mOaALqMHhBgZt/9K5eCyMHecinLleYCrVUGaexWFcAv F9NK0HrjRJN2JAKLhSPO5vxBnEz5TSW4ZGGEKb/hasDCcF/zh2nN5VSnN7uMwFf4 6t2vN29fTccvX0//+nMqXr5uy9/88RvK37559zsT1QaXWM0VU5XacDbjK8bFgql/ 9pzpW4Y7wp6rHQCZr+FShvtdJVS8rURk1t6vuWBhCXah5GUNyJe7+n1ZL8xFhYOT +yzALZmiTekP9NXftGu4LRUY4uaXUUvhqMOizguRp8mTftGZ8QtbVEJUYoXeNWyr pU8ezg7LJa9jeZhJVaOi4aLRrpYsvGZ5CjUHeIjLpQLStcaZc4bEjXpnZwbop3oT mHqGY3uAz7MeN9jerys8xHG2rDfDEeYPpI+XOaE+Mrq3Ek2boWIUNSEJOdYv87zr つづく つづき ao4jFgQOlv0LsTpO16VcH7O5ijqC58aJ3REr0FTyabU4Yv2iozzjI7ftI+UfHymP Tyv/1FGGTqO4UMeVf24r43X10sI/Qc33m3LObRArYV0EthDht6lsDP5BNuEf+W0c +VlnkT3le1Zn+AF/gdX/IheIAsu0nSds3au2VBN1S5JUw6kGZ1SMv7+zU4Upxeik KEYOA/saFOAagUQWy+20jP+9o2/sDYNr7AzQXgaEa0BjmDTtxVv4fHNT0Q34ohgX xdX/O0JabVcwT8l6fl3oXmP6HhKZJLhaDP1mN1+DANugnRsGZhCVgyQ3zIZw8bc4 DEkp9xPyMjyXpn0Cap1KlMmQiFDMxuxRu4jgRvVcvjFSe35MbdxWUzquVClA+nXc 4B3IW+nfTVbqNY97mb53XxIBZmJwMgjwniS390Mkevizo9+b2dz0od3dPuvf9AdX Yf+iHz8Lb+4YOpsgKUbD48QjBUtFE7lzmWb6Y5+sNWNNFdU1uCkGToWaFHXilF3i pCBWag2tbBT50eosjiO76mCwm1eTcxmfywCNSafXBBsqnXs7Eh7ImBFr2kvkB0ef 1gzt9EL9N3L21Megx44uWGfAiU75xPkFXUoWYAiCfvFt2pcQgjT70vcAneHhWHf3 o4j8OHb1m0caByxEOjNu4s0hAkx5LRv5J6bBZg6E62kmwycHR7sXuAUjuhHVTvij nHsuPzjd3aaSsAMh1m7cKCRgFjfxg0FMY/7mEWy4L/Fhj2kaLyGuiA2ys15JD/6h 3gAzMFeSHMeTJaWAgNQcNUJVbY1w7GkexFwLrxohnI04Cu5p+oabqktmQrc2gaX2 j4hiCKJ+0B5mzUBELZ5ZjwDVMaDBQ8yX1YfutESKNkNnO5jEWHdMaqkcnbmutAqe 6AgkqFbDF7YmBUzj8JKRWG1qSqK4VAn+QBnOV1UCAvhvzZiG6C7WGdH63Q8nMsol bijwGmN+SOKGUeAoUOhBnw6jM1/U0EJ0gCi5y8VDBXW5hJ9PzTadZGET+IYJO0Y7 TdRJXYQY9f4D/0xnsRASAAA= ----END BASE64---- 書き込みできないのは何で? 5chのAPIって有料なの? 別に API 使わなくても書き込めるよ 現に自分は 2chproxy.pl の他にさらに自作の串挟んで書いてる 確かリクエストヘッダをちょいといじるだけ(自作だけど詳細忘れた) まあプロバイダと板と時期(選挙期間とか)の組合せによってはダメなこともあるけど てか今は他にもいい串あるみたいだからそれ使えばいけるんじゃない? 正直 Perl スクリプトとかもういじりたくない… >>140 diffに-cも-uもつけないのはなんなんだ 最近多すぎる read.cgiの仕様が変わったんでproxyの対応を待った方が良さそう 2chproxy.plはlinux板のスレでパッチが作られてるし proxy2chは対応したバージョンに更新されてる >>152 情報ありがとうございます。 復活しました。 そりゃAPIは変わってないんだから読めるだろ 過去ログやread.cgi経由で読む時の話だ 上にもread.cgiと書いてあるだろ ああなるほど あんまりよく分かっていないもんですから elisp だけで 5ch を読むための navi2ch-5ch.el を書き換えた 必要な変数設定も埋め込んだ ----BEGIN BASE64----(navi2ch-5ch.el.gz) H4sICJ4gi2QCC25hdmkyY2gtNWNoLmVsAM1YX4/bRBB/vogPsTIctXOyfcm1UE6+ RLSq2opSXpB4iO8ix94kFrETvJtrQX3hHvkUPIKQQOIb8DUQX4JvwMzser32JSlX XrjrpevZ+fPbmdmZcVzB5TesTK7zYbr0k0rm6Yr7vExm8F+Wz+eszFdez22xrXIh /dlMSOLaVivmLKXcnIdhwctt8CBdBiWXIXDQ81IWK2enjutklWf+cg3Lii/4602P 0Y+brss0kcyJY9fpHWmiYvHXG8nuuU5txmFOAAoDkdYrTQTzm7z8OkjXBeg4Ii1O UCTpMoctItfPgVw7nlcbAqteHN9DSs/N+Pw6qQxsMOrjeXy59rOkhu0PehboKJMj Qo3wJ6f+J5cnpFFMrqLLvtqJYGt8nrBlxecXsVMk+Uquz5H/KnYUP0i/ma9LObka XfaBoHVGsxGwBf0xkKKQHmCl90KlVks2QoHBYxbjc4RzMjbCRAOU/cjAGmNYEREi cMaEZESniMIELHvjjmhLL9HgI1I+QP4TEkZB8kgj36xE39IZJeQ2MDvjLnnH9Uje U1jieEzUiFzWBhVlmRWGq7gkHqLcIbLDVmQJVJZfg4PFJilBH0tXiRDgq3JbzHgF rrodekWxox/eVjSyE2OPiaTgxgDkgeUoTTucUHbiJEb6je1vk3AjFSTNrzZD3G2F 3eRdDeYdTwYO5218e9XYxz2gccYpc+jsxmXGPZjXYgwFa8YDFSZds7aCV2Hr2jrK HbVxlW8jK662LzsX4k0UAroRLRDgqH62r1wEJAO74EIkC+ULlJYjSGOzKwF+kk3z kvYbJcppOyKQZcZxd8j5s1bO66bAIH/h2LUrMy4hxQRbb3hp8G2wki8BonURIrEt iqT61jyCH1oCeaYib1yufbWPH0Okb0L7Drw9+63wkMsoqVXN0KV0fO7+9dsfv/7+ FVOlxgMTassbd6GpygukAwdsJXadBC2OLZ2/Tvu2+v9foh+8mKbyhjo7jEt4KvN1 J08gwSSHJtW69prTVBOdfCPTjLfl3uxd5SUXzPUwe1dc9pnrbip+Pa24mKrqzE6x ybtPXn766MWT6fDxs+mXX0zLx8/a9OefP0X6i+cvP1PTD0CpuGQyl3ANZnzBeJkx dVc8mljcxRowpEu4Wu5mnZfSL/LS03uvlnBD3AREYAJKKgA9X1evkirT1w2OSZpH Dlpj0swhTE1MaNAtEgmCaPfUazHsVBhX47iEdDuoF5VpvWAiL8u8XKB2r2dzqUO7 つづく つづき s+18zitfbGHqq5BRu6HhzufMvWDjCCoH+MFP5hL8rTiOamUa39uGKZC4C/8Q+dH8 bm/USiwf2PHa4YG7Aj6znPZqmaO//hUUzFJIUis/XeVd1F9TFD7t9YHXRN/lWOb0 et3lHHrMcQys+sfFwjldJmK5S+bM6xDuayW1RaxmU8GnebZD+kGHecYHxuwt5o9u MQ/3M3/cYdaVYzfzwzYzFgUroPYJKr5ZJSmvo5iXtQrHLtS6KjL4xbcI/SJhKbLz pXHvQe3jSTK7RJ1OI2GrqQ94SMmsGuEfKdH8d1JBr0QODthqdq9rc17Q/KEanqA2 Qm2AWvTVh5f1BK/HHlQSxwODgb0LClCNQLway2Sa+N9d0ie2p/4FNifocH3C1afG K3SHszb+vbienjT4OB7G8dl/O0KUFwt4dxFVehGr1q1bLzoyDHE3Dux+my6BgJ24 nlL6+qVP9MOx9qwL9aPAIUwIga/XoCU4FrqDA2qVkXQhIJ+h/A7Zrd7mwcXsmbRl xHZ/F9uwzSZVXKngAPXdfEPJ3rpF3WSl7ni78eo6fYcIMB2DvUGA5zCcXAXo6OCh cb81IZoBSKmb3Pz0w9Obn29+uWT09Qa6Q+9Z3rDcgbWmidmxiEbqr16ZryGsOqGK eFNNDAt1NJoaInaKA025kEtouwPPjlNnc+jVuwYGe/Tk/Fj4x8JBYeLpNWGGUmme dgQGcmXAmv7k2WFRp9WvCfRAs4Jn5KkRwjwwOGGdOczbpxPHLFQpmHPz482f309u /o5Gh1cOCuEhWNfKTst2vLr8zRLUNVDobGjEavMliPJKNPS3DKfNWAoXUA+qB+fY 2haoBSHKeZygrfHSrJPXhneNX6sxMsCUGjOelTDw6zjBcKgwv3cLNtwIf7vBdPTn ED/EBllYLYQFH7/wc1OYnYiOc8ycQl1CCg4aoswLTRxanNsyVcSzhghnIx85V/Qm AHdRFcWQ7mUIW+03lTgA0gdOe8DWkxPNAqzWCFCNBxR4iPk8f90dq4ixzsTZGkY2 1p2nWiw7h7MzxYIn2gEJ6hF+ZamqjsMUDisZyatN7QglFzLE1/0gXeQhEOBfLcYU RHOBjsit79/bk1Emcd0SryvmhyDfMAocBQo1qNNhdNKsgiahAkTJnWTXOVTeJMss M51kYefwCVO/j3LKUXt5EaLX+wfxp+LSfhYAAA== ----END BASE64---- >>157 いただいたファイルを ~/.emacs.d/elpa/navi2ch-20200130.36/navi2ch-5ch.el に置いて、 emacs-28.2 -q で起動した後 (when (require 'package nil t) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/" ;) t) (package-initialize)) (eval-after-load "navi2ch" (load "navi2ch-5ch")) を評価して M-x navi2ch しても板一覧が取得できないのですが、何か他に設定が必要でしょうか? >>159 >>140 の変更が必要かな? 他にも*.elファイル中でhttp:決め打ちになってる所をhttps:に変更する必要があるかも Navi2ch完全ふっかああああぁつ!!wwwwwww 書き込みの規制めっちゃ緩くなってるね いったいどうなってるんだ、いや別に悪いことじゃないんだけど またすぐ荒らしが来て規制されるのかなあ スレチスマソ 10年ぶりくらいにnavi2ch使ってみた。書き込めるかな (setq navi2ch-list-bbstable-url "http://menu.5ch.net/bbsmenu.html" ;) でカテゴリーはとってくるけど板一覧が持ってこれない。 とりあえずスレのURLをChromeで探して直接開いて読んでいるw その1 diff --git a/navi2ch-list.el b/navi2ch-list.el index 4188735..a2e8cad 100644 --- a/navi2ch-list.el +++ b/navi2ch-list.el @@ -567,7 +567,7 @@ changed-list は '((board-id old-board new-board) ...) な alist。 (let ((board-id (cdr (assoc url navi2ch-list-board-id-alist)))) (or board-id (save-match-data - (if (string-match "\\`http://.+/ \\([^/]+\\)/\\'" url) + (if (string-match "\\`https?://.+/\\([^/]+\\)/\\'" url) (match-string 1 url)))))) (defun navi2ch-list-make-board-txt () @@ -590,7 +590,7 @@ changed-list は '((board-id old-board new-board) ...) な alist。 (if (string-match "a" tag) (let (url board-id id u) (when (and (not ignore) - (string-match "href=\\(.+/\\([^/]+\\)/\\)" attr)) + (string-match "href=\"?\\(.+/\\([^/]+\\)/\\)" attr)) (setq url (match-string 1 attr)) (setq url (or (cdr (assoc url @@ -624,7 +624,7 @@ changed-list は '((board-id old-board new-board) ...) な alist。 (defun navi2ch-list-valid-board (uri) (save-match-data - (when (string-match "http:// \\([^/]+\\)/\\([^/]+\\)/" uri) + (when (string-match "https?://\\([^/]+\\)/\\([^/]+\\)/" uri) (let ((host (match-string 1 uri))) (and (not (string-match navi2ch-list-invalid-host-regexp host)) (string-match navi2ch-list-valid-host-regexp host)))))) その2 diff --git a/navi2ch-multibbs.el b/navi2ch-multibbs.el index 8e49f28..d1ef831 100644 --- a/navi2ch-multibbs.el +++ b/navi2ch-multibbs.el @@ -345,7 +345,7 @@ START, END, NOFIRST で範囲を指定する" ;;;----------------------------------------------- -(defsubst navi2ch-2ch-subject-callback () +(defsubst navi2ch-2ch-subject-callback (&optional args) (when navi2ch-board-use-subback-html (navi2ch-board-make-subject-txt))) @@ -525,7 +525,7 @@ START, END, NOFIRST で範囲を指定する" 'equal))) (navi2ch-cache-get (cons uri file-name) - (cond ((string-match "http:// \\(?:[^@/]+@\\)?\\(.+\\)" uri) + (cond ((string-match "https?://\\(?:[^@/]+@\\)?\\(.+\\)" uri) (navi2ch-expand-file-name (concat (match-string 1 uri) file-name))) その3の1 diff --git a/navi2ch-net.el b/navi2ch-net.el index dc11ec5..972c97f 100644 --- a/navi2ch-net.el +++ b/navi2ch-net.el @@ -228,7 +228,8 @@ nil なら常に再接続する。") host (cdr (assq 'host list)) file (cdr (assq 'file list)) port (cdr (assq 'port list)) - host2ch (cdr (assq 'host2ch list)))) + host2ch (cdr (assq 'host2ch list)) + rest (cdr (assq 'rest list)))) (when navi2ch-net-http-proxy (setq credentials (navi2ch-net-http-basic-credentials navi2ch-net-http-proxy-userid @@ -257,11 +258,8 @@ nil なら常に再接続する。") (setq proc nil) (unless (navi2ch-net-down-p host) (condition-case nil - (if (string-match "^https://" ; url) - (setq proc (funcall 'open-tls-stream - navi2ch-net-connection-name buf host "443")) - (setq proc (funcall navi2ch-open-network-stream-function - navi2ch-net-connection-name buf host port))) + (setq proc (apply navi2ch-open-network-stream-function + navi2ch-net-connection-name buf host port rest)) (error (navi2ch-net-add-down-host host))))) (when proc (with-current-buffer buf その3の2 @@ -304,6 +302,10 @@ nil なら常に再接続する。") (navi2ch-net-cleanup-vars) (setq navi2ch-net-process proc)))) +(defun navi2ch-net-split-url-scheme-to-rest (scheme) + (if (string-prefix-p "https:" scheme) + '(:type tls))) + (defun navi2ch-net-split-url (url &optional proxy) (let (host2ch authinfo user pass) (string-match "https?://\\([^@/]+@\\)?\\([^/]+\\)" url) @@ -324,16 +326,21 @@ nil なら常に再接続する。") (cons 'host (match-string 2 proxy)) (cons 'file url) (cons 'port (string-to-number (match-string 3 proxy))) - (cons 'host2ch host2ch))) - (string-match "https?://\\(?:[^@/]+@\\)?\\([^/:]+\\)\\(?::\\([0-9]+\\)\\)?\\(.*\\)" url) + (cons 'host2ch host2ch) + (cons 'rest (navi2ch-net-split-url-scheme-to-rest (match-string 1 proxy))))) + (string-match "\\(https?://\\)\\(?:[^@/]+@\\)?\\([^/:]+\\)\\(?::\\([0-9]+\\)\\)?\\(.*\\)" url) (list (cons 'user user) (cons 'pass pass) - (cons 'host (match-string 1 url)) - (cons 'port (string-to-number (or (match-string 2 url) - "80"))) - (cons 'file (match-string 3 url)) - (cons 'host2ch host2ch))))) + (cons 'host (match-string 2 url)) + (cons 'port + (if (match-string 3 url) + (string-to-number (match-string 3 url)) + (if (string-prefix-p "https:" (match-string 1 url)) + 443 80))) + (cons 'file (match-string 4 url)) + (cons 'host2ch host2ch) + (cons 'rest (navi2ch-net-split-url-scheme-to-rest (match-string 1 url))))))) (defun navi2ch-net-http-basic-credentials (user pass) "USER と PASS から Basic 認証の証明書 (?) 部分を返す。" @@ -999,7 +1006,7 @@ This is taken from RFC 2396.") "BBS_\\(TITLE_PICTURE\\|FIGUREHEAD\\)=\\(.+\\)" content)) (setq src (match-string 2 content)) (let (url file) - (setq url (if (string-match "http://" ; src) + (setq url (if (string-match "https?://" src) src (navi2ch-board-get-url board src))) (string-match "/\\([^/]+\\)$" url) なんかタブが潰れたり文字参照になってたりなので、gzip + base64 H4sICC0QsmQAA2RpZmYtMjAyMzA3MTYudHh0ALVYbXPaOBD+DH+hX3Qcc9gHIkBIAum0SdMmbXqd ppOkNzct1zthC3BjbGKLJp25H3+7K9v4DUKmUyatQdpd7WqffbSy7UwmjPOpo5jY8cQ3p2fNuOuE qi1dNs6PVB3Plves3x0MDnb32m3RkwNL2Kzb6ez3+1XOedFKtdlsllg6PmZ8b/+gdcCa+gED1kx4 U2mTDHtSP6lfPDFOWMMwxr4IbO7YzHdtTj+YJ+/0N5O1222TxN+iuEBt+PXLr0+qjDHDlYqlLBiW HTBDhKFvsWXgsrRfPJbiZMSED5oAI37A4rkqqxih+Cb5XCjQs4USVV4BGWfCjFAFjjfVU6w2Gv07 U2pxuLPTbu6MRsbnLzt/N0cjE743ari6WW1u1AyPNumyCtPeaU+0BdalSVM7X2WGLSdLLxvmXNzI KFZ1D7tj6mwMO5QNevyUbJTHKmpMiWkqHMoY5iZZCP6WKFAx7mbSg/R5kEjPV8yZen4gTUhABbVz lmeBnDyDvSvsoFljQqnAxP1fr1g72qzLUNUIpbolJOXTsEYKoJTCIE5XosBhmhKx3+tjIvTjpySi HBbfQCa2A/vvEPiLWKcc6Tzkdk1jPbtdq++IWrDZ3KhPiH/AAkvjxJj5sCvFEnAI/5UVVLKLZQJ3 PB06muKBnMr7BcPvZgLKDcrrVKkA7TJ6nS9d5YzHYZZiU6MRzQ5kfzjpDdptuysng91uOc2m9bJU m55BXO329xBX+gEDV9cvLq9b7PT9qxZ7f3F2fnl1TXh5/eaic1EPnv716mt9WL8B9NQQMk+fPuWP +4AWR6CFyzHkKHYL/8HIV2kpbgnXHQvrBjmoua3ob/5COb4nXCaCaahRSniK1XRdLEOJyqjDZ2ru RlSeFSIqjJcAMtSsSXTYo93Sj8fuVlzUDXm7FG5yjqSWt4Q1k3wqVTwDrOB7ISKXTRxXck/MkdhS kwDktRV3dPj5yzGUyTHUiaYtYqpVxW20EVfdJisJPccRANShuHjibCJBC1mivCo1H9JnFea6SvFk naota さんのやつにパッチ当てようとしたら結構リジェクトされた…。 curl -s https://pastebin.com/raw/0LMurnzK | tr -d '\r' | patch -p1 でいけたサンクス navi2ch-5ch.elも修正してた (defun navi2ch-5ch-html-to-dat () ↓ (defun navi2ch-5ch-html-to-dat (&optional dummy) 誰かパッチまとめて新しいレポジトリたてて(他力本願) 板一覧をjsonで取得する事にした navi2ch-5ch.elはdatの代わりにhtml取得してdatに変換するもののように思える。 datを直接取得が復活してのでいらなくなったはず(navi2ch-5chを使わないでも読めてる) https://pastebin.com/d8fh3ghq >>183 それはめんどい >>184 サンクス、なおした パッチに日本語部分も含まれてるのでコード変換が必要 ↓でどーぞ curl https://pastebin.com/raw/d8fh3ghq | iconv -f utf-8 -t iso-2022-jp |tr -d '\r' |patch -p1 Location: を解釈できないので、navi2ch-list-bbstable-url も設定しないといけないっぽい。 defconst navi2ch-list-bbstable-default-url "https://menu.5ch.net/bbsmenu.json" ;) になってるから、そっちから読むはずだけど、navi2ch-list-bbstable-urlをカスタマイズしてhttps://menu.5ch.net/bbsmenu.html にしてない? htmlからの読み込みは試してない、これから試してみる どれにどのパッチを当てたらいいのかわからなくなってきた\(^o^)/オワタ >>188 ああっ、よかった仲間がいた どこをどう弄って動かしてたんだか、記憶から完全に飛んでる >>190 github.com/naota/navi2ch.git のソースに >>185 のパッチを当てればいいみたい 久しぶりにnavi2chで2ch(5ch)が読めるようになりました。ありがとうございました。 (setq navi2ch-open-network-stream-function 'navi2ch-open-network-stream-via-command) (setq navi2ch-open-network-stream-command "nc %s %s") するとうまく動かないのは何でだろうね。本当は ssh -D1080 で socks したいが、socks 外してもうまく動かない…。 Symbol' s function definition is void: json-parse-string json-parse-stringの存在確認も必要なのか… ちょっとすぐにはパッチ作れ無いのでjson-parse-stringが使えない場合はbbsmenu.htmlを指定してオクレ >>193 proxy使う環境がないので、未検証だった ssh先でopenssl s_clientやnc -sslとかするのかな 週末までいじる時間取れない スマン >>196 ダイナミックポートフォワーディングだと、いろんな接続先あっても毎回接続し直さなくて済むのよ。 ssh -fN -D1080 どっか nc -x127.0.0.1:1080 -X5 5ch.net 80 GET / HTTP/1.0 でうまくコネクション切ってくれないのが原因ぽい気がするけど、cloudflare 側の問題かな…。 コネクション切れないのは nc の問題だった…。 https://github.com/larryhou/connect-proxy 入れて、 (setq navi2ch-open-network-stream-function 'navi2ch-open-network-stream-via-command) (setq navi2ch-open-network-stream-command "connect -R remote -S 127.0.0.1:1080 %s %s") でもだめで、 (defun navi2ch-net-send-request (url method &optional other-header content) (message "Now connecting...") (setq proc nil) (unless (navi2ch-net-down-p host) (condition-case nil (setq proc (apply navi2ch-open-network-stream-function navi2ch-net-connection-name buf host port rest)) ←このへんでエラーになっているっぽい。 (error (navi2ch-net-add-down-host host))))) Error: Wrong number of arguments: (lambda (name buffer host service) (let ((command (cond ((stringp navi2ch-open-network-stream-command) (format navi2ch-open-network-stream-command host service)) ((functionp navi2ch-open-network-stream-command) (funcall navi2ch-open-network-stream-command host service))))) (apply #'start-process name buffer (if (stringp command) (list shell-file-name shell-command-switch command) command)))), 6 最近の open-network-stream は TLS 対応なのね。やっとおっしゃっている意味がわかりました…。 ネイティブコンパイラがこけていることに気付いてハマってました。 https://pastebin.com/gWiBJv1i >>185 からの変更点 1 >>193 socks使う場合に対応 2 >>194 json-parse-stringがない場合のデフォルトをbbsmenu.htmlにした 3 バイトコンパイル、ネイティブコンパイルのコンパイルエラーの修正 * このパッチで修正されること open-network-streamがTLS接続をサポートするようになり、tls-open-streamが利用できなくなっていたので、 httpsを積極的に利用する事にしました。(https:はhttps:のまま取得するように変更しました。 変数navi2ch-net-http-proxyや環境変数HTTP_PROXYでプロキシサーバーを使う方法は利用できません。 外部コマンドを使用してご利用ください。 ネイティブコンパイラのコンパイルエラーを回避するために、相当量の修正が必要でした。 (ネイティブコンパイラがエラー終了すると、ロードのたびにコンパイルしなおしているようだ) SSL接続して、HTTP/1.0ではプロトコルエラーになるっぽいので、全部HTTP/1.1で接続します。 navi2ch-net-enable-http11はkeep-aliveを使用するフラグに変更になりました。(これを指定するとうまく動作しませんでした) * 外部コマンドでの利用 navi2ch-open-network-stream-via-commandがコマンドを生成する際に、http:からダウンロードする場合は3番目の引数としてnilが渡されます。 socks4+ncatでの利用例(かなり強引) ncatはnmapの付属品です。 (setq navi2ch-open-network-stream-command "unset ssl sslsw; host=\"%s\";port=\"%s\";ssl=\"%s\"; if [ ${ssl:-nil} != nil ]; then sslsw=\"--ssl\";fi; ncat --proxy localhost:1080 --proxy-type socks4 $sslsw $host $port") (setq navi2ch-open-network-stream-function #'navi2ch-open-network-stream-via-command) この設定でスレの表示、書き込み、イメージの表情は軽くテストしました。 ↓でどーぞ。patchの-lをつけないとリジェクトされます。 curl https://pastebin.com/raw/gWiBJv1i | iconv -f utf-8 -t iso-2022-jp |tr -d '\r' |patch -p1 -l >>200 神 もしかしてオリジナルの作者さんですか!? >>200 ってどれに当てれば良いのかな? >>185 を当てた上で当てるのかな? ついて行けてない >>204 有難うございます melpaはほとんど使ったことありませんでした トリ配布よりこちらを使うのが最近は流行りなんですかね >>200 のパッチと>>124 のhttps:// →http:// 、bbstableをhttpで指定の三つで、 NTEmacs 24.5上でもNavi2chが復活! XPにもNavi2ch入れたくなるw (NTEmacs 24.5でTLSをうまく動かせなかった) >>204 に>>185 のパッチを当てて読むのはできるようになったのですが 書き込みをしようとすると ERROR: 投稿時の認証用クエリがありません と言われて書き込みできません i.imgur.com/vkLdOe3.png どこをなおせばいいのでしょうか? >>207 >>204 に改良の加わった>>200 のパッチをあてましょう 誰かいるかな? いまスクリプト攻撃を回避するのに絵文字を使おうという方向になってるんだけど Navi2chはSJISしか投稿できないでしょう 投稿のエンコードを行ってるファイルがどれか判る人いる? 山下の旧運営がエンコードでブラウザを弾いてきたときもここで詰まってしまった 2ちゃんねる専用ブラウザが重大?なHTTP/HTMLの規約違反をしているかもしれない https://blog.3qe.us/entry/2013/12/09/031713 >>209 投稿は navi2ch-multibbs.el 内の navi2ch-2ch-send-message その中に (coding-system (navi2ch-board-get-coding-system board)) とかあるから辿ればいいんじゃない? >>210 即レスありがとう ファイル総当りで探してみる 当分誰も来ないと思ってたから驚いたw なんか板一覧が盛大に文字化けして大量の「&#65533;」(実際は半角)が これ多分 Unicode の U+FFFD だと思うんだけど、コーディング誤認識してる? >>209 の件と関係あるんだろうか あと俺環だったらスマソ bbsmenu 読み直したら直ったわ スレ汚しスマソ >>209-210 の件、まだ途中だけど備忘録に ~/.navi2ch/init.el ;; navi2ch-board-get-coding-system @navi2ch-board.el ;; navi2ch-board-coding-system-alist @navi2ch-vars.el (navi2ch-auto-modify (setq navi2ch-board-coding-system-alist '(("livegalileo" . "utf-8")))) とするとコーディングが指定できるらしい BOARD-IDはダブルクオート必須、CODING-SYSTEMは utf-8 だけでなくshift_jisも不可 EmacsはUnicode対応版で設定済みだけれどエラーになる 単に書式の問題かコーディングファイルを書き換える必要があるのかは調査中 CODING-SYSTEM のほうは文字列じゃなくてシンボルを設定するんだよ。 だからダブルクオートで括っちゃダメで、シングルクオートを前置しないといけない。 'shift_jis みたいに。 ごめん、コードちゃんと見てなかった。 そのコードだともう外側でクオートしてるから、シンボルをクオートすると二重になっちゃう。 何も付けずに、単に shift_jis とか書かなきゃいけなかった。 >>216 ありがとう Unicodeを選択するとサマリーが全て文字化けする… そもそも読むだけならUnicodee(絵文字)混交で読み込んでるしなぁ 送信だけ変更するには別の関数を探さないといけないのか 過去ログがなんか取得できなくなってない? Prxy2chでウェブスクレイピングしようとしたら現行スレも取得できない 少し前まで現行スレはダイレクト接続、過去ログはPrxy2chと使い分けてたんだけど ウェブブラウザでは見られるんだよね スタンドアロン版html2dat(.exe)があればどうにかなるのに 「DAT関連の設定」→「個別設定」→ 「差分取得を許可する」 「スレッド途中でDAT落ちなら最終行に追加する」 を許可したら過去ログも読み込めた こりゃまだまだproxy現役だな 特定の板やスレだけ過去ログを取得できない、あるいは取得しづらくなってる http://greta.5ch.net/test/read.cgi/poverty/1697461053 ダメなスレは何度やってもdatが取得できない HTTPヘッダーの環境変数を見て弾いていると思われ https://en.wikipedia.org/wiki/List_of_HTTP_header_fields 回避策としてNavi2chに、本来無用な環境変数を与えてみた これで失敗( not found )したことはない ~/.navi2ch/init.el (defadvice navi2ch-net-send-request (around navi2ch-net-send-request-ad activate) (or (assoc "User-Agent" other-header) ;; cf. https://en.wikipedia.org/wiki/List_of_HTTP_header_fields (add-to-list 'other-header (cons "Accept-Encoding" "gzip, deflate")) (add-to-list 'other-header (cons "Accept-Language" "Accept-Language: en-US")) )) >>215 > いまスクリプト攻撃を回避するのに絵文字を使おうという方向になってるんだけど って、❤😍とか書ければ良い? 絵文字は dat だと文字参照になってるのよね だから普通に文字参照で投稿すればいいだけじゃないのかと socks.elなるものがemacsに同梱されてたので、これを使うように改造中。 >>221 http://greta.5ch.net/test/read.cgi/poverty/1697461053 のdatを取得しようとすると、not foundだ 過去ログって、無課金で取得できるん? VERBOSE GET /poverty/dat/1697461053.dat HTTP/1.1 VERBOSE MIME-Version: 1.0 VERBOSE Host: greta.5ch.net VERBOSE Connection: close VERBOSE User-Agent: Monazilla/1.00 Navi2ch VERBOSE Accept-Language: en-US, ja VERBOSE Accept-Encoding: gzip, deflate INFO HTTP/1.1 404 Not Found VERBOSE GET /poverty/kako/1697/16974/1697461053.dat.gz HTTP/1.1 VERBOSE MIME-Version: 1.0 VERBOSE Host: greta.5ch.net VERBOSE Connection: close VERBOSE User-Agent: Monazilla/1.00 Navi2ch VERBOSE Accept-Language: en-US, ja VERBOSE Accept-Encoding: gzip, deflate INFO HTTP/1.1 404 Not Found パッチキットをpastebinに貼ろうとしたら、オメーのは攻撃的だからパブリックにはできねーとか言われた。んだもんで、paste.fo * >>185 からの変更点 ** >>193 socks使う場合に対応 ** >>194 json-parse-stringがない場合のデフォルトをbbsmenu.htmlにした * >>200 からの変更点 ** socks直接サポート ** ビルドシステムをmesonに変更 meson,ninja,python, texinfoにパスを通しておいてください。 ** 投稿時に、SJISにはない文字を数値文字参照に置換 ** oysterから過去ログ取得 ** 絵文字対応 SJISに無い文字は数値文字参照に置換します ** thumbnail改良(https:やimepicの増強などに対応) ** h抜きは使えません。 * ソースの取得 gitかzipのいずれかで取得 1 gitでclone https://github.com/naota/navi2ch.git 2 zipを取得 https://github.com/naota/navi2ch/archive/refs/heads/master.zip * パッチの適用 展開したソースのトップディレクトリにcdして以下のコマンドでパッチを適用します。 パッチに日本語部分も含まれてるのでコード変換が必要です。 curl -s -L https://paste.fo/raw/6d276a82fc52 | iconv -f utf-8 -t iso-2022-jp |tr -d '\r' |patch -p1 -l * ビルド, インストール meson setup builddir meson compile -C builddir meson install -C builddir トップディレクトリのrel-note.txtにもう少し詳しい変更点があります。 autotools死ね死ね団に入団、h抜き死ね死ね団にも入団と書いたのが不味かったのだろうか 何回か試行錯誤したらアドレスでBANNされた 別のところ(past)はXXXを削除しろとか言われるし .strip() かな? 削除したら動かねーんだよ と言うわけで寛容なpaste.foに貼れた。rawじゃない方は https://paste.fo/6d276a82fc52 meson初めて知った 何が変わったか実感することはないがとりあえず動いてる >>223 参照文字のコードで&#127994;(メタ表記、&と#は本来半角)と投稿すると &amp;#127994; に置換されてしまう どれかのウェブブラウザで投稿できた気もするけど、試してみた範囲で同じ結果だった これは投稿のコーディング選択だけで片付く問題じゃないね パッチが大きくなったので、公開リポジトリを作った * インストール 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で表現できない文字は数値文字参照に置換する。つまり🏺と直に書けば良い。 書き忘れていました navi2ch-net-5chdat-downgrade-to-http *non-nilかつnavi2ch-net-http-proxyがnon-nilの場合5chのdat取得の際は強制的にhttpでデータを取得する。 proxy2chのようなHTML -> dat変換を行うプロキシを使うときに指定します。 あと、昨晩サムネイルのバグを修正してpushしました。 内部ビューアの終了がQだと間違えてqを推した時にバッファが残ってしまうので、qで終了に変更。 mesonというコンパイラは初めて知った 導入する余裕がない人向けに弥縫策 1) Detour2ch/Prxy2chを起動 2) 「通信」→「書き込み関連の設定をする」→「パラメータ」 「パラメータの置換を許可する」をチェック Accept: text/html Accept-Language: ja Referer: http://www.5ch.net/ を追加 http://egg.5ch.net/test/read.cgi/software/1605104188/159 3) 「メイン」→ 「読み込み」「書き込み」にチェック 522エラーが発生しないスレは、古いNavi2chでもログの取得が可能になる プロキシを通した書き込みも「リファラが変です」エラーは出なくなる…はず コンパイラっつーかビルドシステムな 重箱の隅だが 自分はむしろ弥縫策って言葉を初めて聞いたわ 英語で言うところの workaround ってことでいいのかな * 画像の扱いを改良しました。内部ビューアでレス内の画像を連続閲覧できます プレビューしたサムネイルの上で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") 久々navi2ch使ってる、ありがとう できればmelpaにnavi5chとでも名前かえて上げるか navi2chの元repoマージにしてほしい 昨日くらいからnavi2chから書けなくなりました 「投稿エラー: ERROR: あなたはこのスレッドにはもう書けません。🐙」 って出ます ブラウザやchmateからだと書けます User Agentかな?と考えていろいろ変えていますが書けません 一昨日くらいまでは"Monazilla/1.00 (Ciisaa/1.43(A))"で書けていました 皆さんは書けますか? User-Agentは違うけど今は書けなくなった。 やっぱり書けるな。proxy2ch通してるけど。 "Monazilla/1.00 2chMate/0.8.10.153 Dalvik/2.1.0 (Linux; U; Android 12; SC-52B Build/SP1A.210812.016)" 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力が低すぎて😥 >>245 実行されてるpythonのバージョンは? 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 >>237 ありがとうございます。 Macで使っているのですが、 default_options.py の find_on_darwin() の中の emacs = find_in_app() and None は、これで合っているのでしょうか。 ここでemacsがNoneに上書きされてしまって、emacs not found になってしまうようなのですが。 >>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. >>251 そのオプションがないのはopensslが古いのだろうかね CSRにsubject書いてあるから 指定する必要はないんだけど 上書きできるようになってるみたいね 最近できたオプションなのかな? 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. と出るのは無視してかまわないでしょうか? インストール後スレを開こうとすると、 Symbol’s function definition is void: navi2ch-thumbnail-insert-image-reload となってしまうようになりました…。 >>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してみてください。 >>256 emacs -nw で使ってます。 (autoload 'navi2ch-thumbnail-insert-image-reload "navi2ch-thumbnail" nil t) で解決しました。 >>239 何か隠しNGワードを書き込んだね よくあること 隠しNGワードはその時々によって変わる むしろ今まで地雷を踏んでいない人がいまだそんなにいるものなの? 5chの隠しNGワードを報告するスレ http://next2ch.net/test/read.cgi/poverty/1689216529/ ここは隠しNGワードを書き込めるので、後進のため後学のため備忘録のためにどうぞ Navi2chを「一旦終了」(ここ重要)して ~/.navi2ch/cookie.info の削除(あるいはリネーム)後に再起動 最初の書き込みではcookieが存在しないため 「フォーム情報が不正です」といわれるかもしれない 二度目からは普通に書き込める >>258 有難うございます!!!書き込めています!!! 歴はかなり長いのですが「隠しNGワード」初めて知りました >>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 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 でスレのデータを削除すると開くことができます。 jbbs.shitaraba.netは全く使ってないので、設定方法とか教えてくれると嬉しい。 ~/.navi2ch/etc.txt ``` PSP http://jbbs.shitaraba.net/computer/22593/ computer ``` g computer 適当なスレを開く q で閉じる SPC でもう一度スレを開く (invalid-function (start start)) 修正しました。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) 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")) spacemacs派、追加パッケージにコレだけでビルドも設定も要らん (navi2ch :location (recipe :fetcher git :branch "current" :url "https://repo.or.cz/navi2ch.git" ; :files (:defaults "contrib" "icons"))) 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) 報告どうも。修正しておきます。 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)) >>268 今は閲覧できるようです。巻き戻したのかな? package-vc-installでもインストールできたっぽい。 こんな感じ。 (unless (package-installed-p 'navi2ch) (package-vc-install '(navi2ch :url "https://repo.or.cz/navi2ch.git" ; :branch "current" :vc-backend Git))) 書けなくなったよ もうなんだかんだ面倒臭いだろ書き込みはxwidgetsでダイレクトにフォーム表示してくれたらいいけどな 投稿エラー: ERROR: 投稿時の認証用クエリがありません。 ---------------- すくなくとも俺環でこの板は上記エラーでそうみたい 書けてるの? 最近info読みたいことあったnavi2ch.texi UTF-8にしてくれないかな quelpaでインストールすると文字化するのよね quelpa見るとmakeinfoでinfo作ってるようだから、makeinfoというファイル名で コード変換して本物makeinfoに渡すスクリプト噛ませれば解決しない? コード変換すると全部入れ替えだから二の足踏んでるんだよね。 原因は特定できないけれど Windows 11以降、謎の文字化けが起きるようになった 例えば、米こうじの「こうじ」、ウソつきの「うそ」、全角チルダ(~)等 どれもWindows 10までは普通に入力できていた文字 「うそ」は、機種依存文字でないほうも書き込めない 「以前のバージョン」のIMEも試してみた 自分以外にも似た文字化けを見たのでOS固有の問題かもしれないけれど ウェブブラウザでは正常に書き込まれる macで書き込みテスト うそ(印刷標準字体)、うそ(略字)、こめこうじ、全角チルダ 噓、嘘、米麹、〜 今回は乗客の通販とか凄いねしか書けないんだろう 国葬すべきだよな 絶対に潰します!」(ずっと待ってるんだから当然 バグはシステムをそのまま持ってきた意味を分かってたはず >>280 > うそ(印刷標準字体)、うそ(略字)、こめこうじ、全角チルダ > 噓、嘘、米麹、~ chmateから 噓、嘘、米麴、米麹、~、~(波ダッシュ) >>280 波ダッシュになってるなあ 波ダッシュをJIS X 0208にない全角チルダに変換してしまうのは Windowsが長らく抱えていた問題だけど 11で変えたんだな Emacsが依存してるのかね それともproxy? わかったああああぁ! 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を使えば混合表記でも消えたりしないのかもね うちはコンパイルしてもしなくても途中でエラーが出て使えないから IMEへ登録しても異体字に環境依存文字(非JIS/S-JIS)が含まれると文字化けするな 他は変えていないからWindows11固有のバグなのか (coding-system-put 'cp932 :encode-translation-table (get 'japanese-ucs-jis-to-cp932-map 'translation-table)) これを ~/init.el に設定しておくと〜(波ダッシュ)だけは文字化けしない模様 文字化け問題が解決したので報告 最近リリースされたEmacs 29.3へ更新したら異体字が書き込めるようになった Windows 11のリリースに合わせて修正されたのかもしれない そのままだとUnicode文字は入力できないけれどS-JISの文字まで消えることはない やっぱりダメだわ 何か条件があって書き込めるときと文字化けするときがある Emacs更新で文字化けしにくくはなったけれど理由が不明 read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる