トップページunix
984コメント297KB

Emacs Part 46

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。2014/06/23(月) 02:42:14.91
語り合いましょう。

GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/

前スレ
Emacs Part 45
http://peace.2ch.net/test/read.cgi/unix/1391839128/
0801名無しさん@お腹いっぱい。2014/11/17(月) 14:40:11.04
だから昔から言ってるだろ、url.el は糞だって
それに依存してる eww もうんこを積み上げただけだよ
0802名無しさん@お腹いっぱい。2014/11/17(月) 14:57:26.60
文句言っても多国語対応は日本人がやらなきゃ誰もやらんよ
0803名無しさん@お腹いっぱい。2014/11/17(月) 15:20:32.98
>>800
いろいろ見てみた結果、以下になった。

1. Google はわけわからん UA(+たぶん日本っぽいIP) だと Shift_JIS 決め打ちで Accept-Charset がなんであれ Shift_JIS で表示してくる。
ついでに hidden 付き input 要素で ie=Shift_JIS を埋め込んでくる。ここらへんは Chrome とかの他のブラウザでも同じ挙動になった。

2. eww というより url.el はフォーム文字列がマルチバイト文字列の場合、UTF-8 決め打ちで送信する。

2 が問題で、普通は表示しているページと同じエンコーディングでフォーム文字を送信すべきなはず。
携帯なんかだとここが Shift_JIS 決め打ちらしいから google 側はとりあえずわけわからんのは Shift_JIS にしてるんかね。
url-encode-url 見ると確かにマルチバイト文字を utf-8 に変換してるんだよなぁ・・・
0804名無しさん@お腹いっぱい。2014/11/17(月) 15:34:21.80
やっぱ url.el 糞じゃねえか
0805名無しさん@お腹いっぱい。2014/11/17(月) 15:38:41.73
>>803
POST するときに Content-Type 送るけどそこで charset=utf-8 指定すればいいんじゃないの?
0806名無しさん@お腹いっぱい。2014/11/17(月) 16:12:28.31
POSTじゃなくてGETだな
Googleの検索ページがUTF-8で来てるのに、フォームの内容をShift_JIS決め打ちで送信するという挙動に問題がある
emacs側に非はないだろ
0807名無しさん@お腹いっぱい。2014/11/17(月) 17:03:25.33
まあクリック猿で解析してるつもりになってねーでRFC精読する作業にかかったらええがな
0808名無しさん@お腹いっぱい。2014/11/17(月) 17:11:58.72
>>807
お前口だけだなw
0809名無しさん@お腹いっぱい。2014/11/17(月) 19:01:47.17
>>806
いや、トップの検索ページ「も」Shift_JIS で来るのよ。
だから Shift_JIS でエンコードして GET 投げるべきだとは思う。

url.el 直すのもいいけど UA 変えて google のおせっかい回避が今んとこ無難な感じかなあ。
0810名無しさん@お腹いっぱい。2014/11/17(月) 19:07:05.34
ewwてタブ使えないの?
0811名無しさん@お腹いっぱい。2014/11/17(月) 19:12:10.08
>>809
(set-language-environment "UTF-8")してるからか俺んところはUTF-8で来てるよ
どのみち化けることには違いないが
0812名無しさん@お腹いっぱい。2014/11/17(月) 19:22:58.29
>>811
いやいや、取得したやつは eww が eww-display-html で decode-coding してるから
自分とこの buffer-file-coding-system で表示されるだけで、送られてくるデータは Shift_JIS なのよ。
例えば ↓の URL なんかは Shift_JIS で書かれたページなんだけど、eww だとどのみち decode されるから
文字コードのニモニックが S になったりはしない。他のブラウザだとちゃんとエンコードのところは Shift_JIS になる。

http://www.shtml.jp/blog/ga/sjis/safari_ad.html
0813名無しさん@お腹いっぱい。2014/11/17(月) 19:30:48.72
>>812
悪い間違えた…最初のページはSift_JISで検索結果のページがcharset=UTF-8になってるだけだった
結果ページの中身はUTF-8っぽくて一部ちゃんと表示されてるけど、化けてるページはそのまま表示してる感じか
0814名無しさん@お腹いっぱい。2014/11/17(月) 19:37:31.03
>>810
tabbarでも使ったらいいんじゃね
と思ったけどリンクを別バッファで開く機能もないから現状どうしょもないね
バッファ名も*eww*で決め打ちしてるからrenameして複数バッファで運用も無理だわ
0815名無しさん@お腹いっぱい。2014/11/17(月) 19:45:23.15
ewwなんて三回ぐらい起動してスゲーっていってあとは存在を忘れるようなのだろ
なにまじになっちゃってんの
0816名無しさん@お腹いっぱい。2014/11/17(月) 19:46:01.36
>>812
あー文字化け直った
最終的に (encode-coding-string str buffer-file-coding-system) してたから
(set-language-environment "Japanese") な環境でewwを起動して
http://www.google.co.jp/ にアクセスすれば化けないよ

つうか、文字化けしない人も居たからそういう事だね
0817名無しさん@お腹いっぱい。2014/11/17(月) 20:20:27.97
>>816
(prefer-coding-system 'cp932)
ってだけじゃないの?
0818名無しさん@お腹いっぱい。2014/11/17(月) 20:28:26.79
>>816
多分 cp932 になってるよそれ
0819名無しさん@お腹いっぱい。2014/11/17(月) 21:12:54.56
>>803 訂正だわ

フォームの入力文字集めてエンコードするのに url.el の機能は使ってなかった。
mm-url-encode-www-form-urlencoded でエンコードしてるんだけど
これは最終的に find-coding-systems-string でエンコーディングを決定してて、
漢字なんかが渡されると prefer-coding-system が utf-8 環境 なら utf-8 が、cp932 環境なら cp932 が返ってくる。
cp932 環境だと cp932 でエンコードされるから確かに Shift_JIS を要求してくるバージョンの google ではうまくいく。

でもそのかわり UTF-8 で送信してくるところでも cp932 で文字列送るようになっちゃうから
たとえば http://search.yahoo.co.jp/ なんかでうまく行かなくなるよ。
0820名無しさん@お腹いっぱい。2014/11/17(月) 21:34:16.00
とりあえず以下の advice 指定すれば Shift_JIS のページでは Shift_JIS を、
UTF-8 のページでは UTF-8 でフォームの文字を送信するようになった。
ほんとだったら form 要素の accept-charset 属性があったらそれも読まなきゃいけないんだろうけど・・・

(defadvice eww-display-html (after eww-change-buffer-coding-system activate)
(set-buffer-file-coding-system (ad-get-arg 0)))

(defadvice eww-submit (around eww-override-find-coding-systems-string activate)
(cl-letf (((symbol-function 'find-coding-systems-string)
(lambda (string)
(list buffer-file-coding-system))))
ad-do-it))
0821名無しさん@お腹いっぱい。2014/11/17(月) 22:40:32.67
>>819
なるほど、結局この辺の処理は英語圏のガイジンだとデバッグ出来ないし
日本人がパッチ書いて提出しないと直らないだろうね
ちなみに、eww-downloadの件は修正がコミットされたよ
0822名無しさん@お腹いっぱい。2014/11/17(月) 23:04:20.08
>>821
ほんとだ、bug-gnu-emacs にパッチ投げられてたんだ
複数バッファのパッチも投げられてるんだな

しかしパッチ作るにしても find-coding-systems-string を置き換えるなんてのはやり過ぎだし
どうしたもんだか
0823名無しさん@お腹いっぱい。2014/11/18(火) 17:38:14.07
ぶっちゃけ、emacs-w3mをもともと使っていた人は、ewwに乗り換えるメリット
は何もないんじゃないかしら。何かある?
0824名無しさん@お腹いっぱい。2014/11/18(火) 18:01:32.08
レンダリングが速い
Windowsでも簡単に使える
0825名無しさん@お腹いっぱい。2014/11/18(火) 18:28:23.71
DOS窓(コマンドプロンプト)でも表示出来るし
しかし、CSSの解釈はどうすんだろうな
もはやCSSの解釈無しではまともにレイアウトなんか出来ないし
0826名無しさん@お腹いっぱい。2014/11/18(火) 18:49:06.31
使えることに意味があるぐらいの話じゃないの、現状は。
javadoc が読めればいいやぐらいの期待感だと思うけど。
0827名無しさん@お腹いっぱい。2014/11/18(火) 21:07:58.96
ネイティブかつ高速なレンダラーになって
cssにもスクリプトにも対応の可能性がひらけてる
cssはw3でテキストブラウザなりのことはやれる実績あるし
0828名無しさん@お腹いっぱい。2014/11/18(火) 22:04:54.51
10年程前はテキストブラウザでもよかったかもしれないけど今はキツくない?
個人的にはテキストブラウザで見れるページの方が好きだけど
0829名無しさん@お腹いっぱい。2014/11/18(火) 22:33:35.43
10年前だってキツかったさ
0830名無しさん@お腹いっぱい。2014/11/18(火) 23:12:35.36
emacs-w3mの操作でリンクにカーソル合わせるためにAcejump使ってるけど
もうちょっとスマートな方法ある?

遅いけどvim-w3mの'f'やfirefoxのvimperatorの'f'等に比べて1つタイプ数と見るものが多い
0831名無しさん@お腹いっぱい。2014/11/19(水) 00:54:42.09
結局ちゃんと見ること出来ないページのほうが多くて普通のブラウザ使っちゃう回数が増えて
はじめからつかわなくてもよくね?ってなるのが落ちだわな
0832名無しさん@お腹いっぱい。2014/11/19(水) 01:04:46.08
ewwは大器晩成なんだ
長い目で見てやってくれ
0833名無しさん@お腹いっぱい。2014/11/19(水) 07:20:58.08
マルチバイトなんてどうでもいい人のほうが多いわけだし、
日本人ですら、APIドキュメントとか英語で読んでる人多いだろうし、
いまでも十分役に立ってるけど
ドキュメント累はemacs-w3mから乗り換えたよ
0834名無しさん@お腹いっぱい。2014/11/19(水) 10:32:55.09
>>833
立ち位置的にそこら辺で使うのがメインであって
まともなブラウジングは普通のブラウザ使うよな
0835名無しさん@お腹いっぱい。2014/11/22(土) 18:58:12.41
一旦 alias された変数をそれぞれ別の変数にするにはどうしたらよいのでしょうか?

(defvar a nil)
(defvaralias 'b 'a)

(makunbound 'b) ;; 一旦解除しても
(setq a 10) ;; この時点で b が復活してしまう
b ;; => 10

(makunbound 'a) ;; alias 元を消しても
b ;; => void variable ;; 一旦は消えるが・・
(setq a 10) ;; a を設定したとたん
b ;; => 10 ;; b も復活する・・・

具体的にやりたいことは、input-method-deactivate-hook と input-method-inactivate-hook が
alias 化されているにもかかわらず、deactivate-input-method の run-hooks で両方呼ばれてるので
同じフックが二度実行されてしまうのを解消したいのです。
0836名無しさん@お腹いっぱい。2014/11/22(土) 20:15:05.91
`unintern'やろか。
0837名無しさん@お腹いっぱい。2014/11/22(土) 20:55:38.38
>>836
unintern で obarray から消したあと defvar でいけました。
ありがとうございます。
0838名無しさん@お腹いっぱい。2014/11/25(火) 22:03:01.76
よく Emacs は小指が〜って言うけど、
左手親指+左手人差し指の M-b が辛すぎて親指が壊れそう…(´;ω;`)

 1. 親指でなく小指か薬指を使う
 2. 右 Alt キーを右手の小指で押す
 3. b キーを右手の人差し指で 押す
 4.
0839名無しさん@お腹いっぱい。2014/11/25(火) 22:05:21.04
それは親指脆すぎ
鍛えたほうがいい
0840名無しさん@お腹いっぱい。2014/11/25(火) 22:15:06.01
Emacsの為にキー配置変えてしまうのもあり
キーバインドではなくてキーそのものを変える
0841名無しさん@お腹いっぱい。2014/11/25(火) 23:06:55.46
右Alt の位置が右の方にあると確かに親指が内側に寄るからちとつらいかもしれんねえ
0842名無しさん@お腹いっぱい。2014/11/26(水) 00:12:58.02
>>840
昔の84キーボードなんで最下段は Ctrl と Alt とスペースキーしかないんですわ
USB脳波Altキーとか出ないかなー
0843名無しさん@お腹いっぱい。2014/11/26(水) 00:18:57.79
だから日本語キーボードにしろと
無変換・変換・カタカナ/ひらがなを好きなモディファイアキーに出来るのは大きい
0844名無しさん@お腹いっぱい。2014/11/26(水) 00:25:26.97
無変換も変換もカタカナひらがなも全部ctrlにすると捗る
0845名無しさん@お腹いっぱい。2014/11/26(水) 00:36:24.67
SKK 使ってる身としては Shift も捨てがたい
日本語キーボードだと右 Alt はそんなにしんどい位置でもないんだよね。
0846名無しさん@お腹いっぱい。2014/11/26(水) 00:44:48.84
変換→Ctrlのみだが捗る
片手でカーソルが動かせるし小指を酷使して痛める事が無い
俺は左手小指を酷使して痛めたからよく分かるw
ちなみに早い内に酷使するのを止めればちゃんと直る
0847名無しさん@お腹いっぱい。2014/11/26(水) 00:58:17.31
俺も小指やられて整形外科に通うハメになったことあるけど
たぶん痛めちゃう人は力入れすぎてるんだ。
必要最小限の力で押すようにしてから全く痛めなくなった。
0848名無しさん@お腹いっぱい。2014/11/26(水) 01:05:07.97
最近、小指を気にして skk の変換開始を無変換 sticky にしたけど、真に小指を痛めていたのはどうやら Ctrl + b だったようだ。

私の小さい手に、あのキー配置は過酷すぎる。
0849名無しさん@お腹いっぱい。2014/11/26(水) 01:37:12.74
15年間くらいEmacsを使ってるが小指を痛めたことは一度もないなぁ
ピアノやってたこととか関係あるのかな
0850名無しさん@お腹いっぱい。2014/11/26(水) 01:37:16.82
>>842
これ試してみなよ
http://www.kurzweilai.net/images/emotiv.gif
0851名無しさん@お腹いっぱい。2014/11/26(水) 01:40:09.37
20年くらいEmacsを使っているが小指を痛めたことは一度もないなぁ
少林寺の映画みて指を鍛えたつもりになったこととか関係あるのかな
0852名無しさん@お腹いっぱい。2014/11/26(水) 01:44:25.44
日に当たって無いからカルシウムが足りないんだよ
0853名無しさん@お腹いっぱい。2014/11/26(水) 03:11:46.60
>>852
日に当たるとカルシウムが足りるのか?
0854名無しさん@お腹いっぱい。2014/11/26(水) 03:16:27.42
俺は日に当たってたときは小指が痛くならなかったけど
家に籠もりはじめてからは小指でctrlは長時間押せなくなった
0855名無しさん@お腹いっぱい。2014/11/26(水) 03:17:20.81
>>851
中学の頃にタバスコ混ぜた砂で実際に毒手の鍛錬してた俺だが
Emacsには通用しなかったぞ
0856名無しさん@お腹いっぱい。2014/11/26(水) 07:21:23.96
>>855
こんな子でもEmacs使えます
Emacsエバンジェリストの誕生である
0857名無しさん@お腹いっぱい。2014/11/26(水) 08:13:31.17
>>853
カルシウムの吸収を助けるビタミンDの生成を助けるのが適度な日光浴じゃなかったっけ
0858名無しさん@お腹いっぱい。2014/11/26(水) 08:15:18.62
まあ Ctrl+f、b、n、p、a、e は押しやすさとか考えずに
単に機能の頭文字で割り振られたキーバインドだからなあ。
それに慣れちゃったってのは不幸ではある。
0859名無しさん@お腹いっぱい。2014/11/26(水) 10:20:11.82
>>854
それ、くる病。乳幼児の病気だけど。
0860名無しさん@お腹いっぱい。2014/11/26(水) 14:29:54.80
もしかして小指痛えって人はctrlキーをAの隣にしてなくないか?
0861名無しさん@お腹いっぱい。2014/11/26(水) 16:26:33.02
小指無いんだけど、どうしたらええ??
0862名無しさん@お腹いっぱい。2014/11/26(水) 16:29:39.75
いまさら A の隣以外に Ctrl キー移す気にもならんなぁ・・
0863名無しさん@お腹いっぱい。2014/11/26(水) 16:44:36.84
emacs lisp で ctrl を任意のキーに設定できないかな?
0864名無しさん@お腹いっぱい。2014/11/26(水) 16:59:35.40
sticky-shiftみたいなこと?
0865名無しさん@お腹いっぱい。2014/11/26(水) 17:14:29.72
>>864
いえ、capslock に ctrl を割当てたいです。
capslock を押しながら bbbb とすると、ちゃんと4文字分 backward-char してほしいです。

キー配置を入れ替えてしまうのが早いのですが、USB メモリに入れた emacs を出先で使いたいので、lisp で指定したいなぁと。
0866名無しさん@お腹いっぱい。2014/11/26(水) 17:23:11.15
.Xmodmapも一緒にusbに入れておけよ
0867名無しさん@お腹いっぱい。2014/11/26(水) 17:30:14.14
lispで設定って無茶だろう
0868名無しさん@お腹いっぱい。2014/11/26(水) 17:50:32.48
>>866
ありがとうございます。
そちらを検討します。
0869名無しさん@お腹いっぱい。2014/11/26(水) 18:17:18.69
>>860
うちのキーボードで CapsLock を Ctrl にすると
C-b が微妙〜に遠くなって逆に痛くなっちゃう
たぶん1〜2mm程度の違いなんだけど
0870名無しさん@お腹いっぱい。2014/11/26(水) 20:11:19.07
>>838
Alt の代わりに C-[ や Esc ってのは試した?
0871名無しさん@お腹いっぱい。2014/11/26(水) 22:39:44.06
バイタミンDが不足するとアルツハイマーに罹るリスクが倍になる
0872名無しさん@お腹いっぱい。2014/11/26(水) 22:57:55.57
>>871
リスクが倍というのは分かりにくい表現だな
発症率が倍じゃなくてリスクが倍になると発症率はどれぐらい増えるんだ?
0873名無しさん@お腹いっぱい。2014/11/27(木) 00:19:52.05
>>870
Alt 押しっぱなしで b 連打が多いので右手で b を試してたら
だいぶ慣れてきた、というか全然困らないんで生涯これで行くっす。
0874名無しさん@お腹いっぱい。2014/11/27(木) 03:17:56.83
フットペダルを蒸し返す時がきたようだな
0875名無しさん@お腹いっぱい。2014/11/28(金) 10:00:24.74
すごく今更なんだけど、package.el ってインストール済みのパッケージの
バージョンアップには対応してないの?
それとも melpa だけ特殊なんだろうか。
0876名無しさん@お腹いっぱい。2014/11/28(金) 15:06:11.63
してるよ
0877名無しさん@お腹いっぱい。2014/11/28(金) 16:02:02.46
>>875
Uを押すんだ
install済みのを消して新しいのを入れてくれる
0878名無しさん@お腹いっぱい。2014/11/29(土) 01:38:52.53
emacs24.4での変更部分がgdbに影響出てて使いにくくなってる
C-x spaceでブレークポイント設定しようとしたらrectangle-mark-mode呼びだされるし
gdb-many-windowをtにして使っててもなんかウィンドウとバッファがうまく対応されてない
0879名無しさん@お腹いっぱい。2014/11/29(土) 20:52:01.54
melpaとmarmaladeってどっちがいいの?
marmaladeってバージョンが日付になってて分かりづらい
0880名無しさん@お腹いっぱい。2014/11/29(土) 21:06:39.54
melpa の方がいいと思う
0881名無しさん@お腹いっぱい。2014/11/29(土) 21:29:49.88
melpaの方が日付バージョンだった
thx、melpaにします

marmaladeはmelpa-stableが出てきてからあまりメンテされてないみたいですね
リストに追加されていると、M-x package-list-packagesしたときにemacsが落ちやすくなる
0882名無しさん@お腹いっぱい。2014/11/30(日) 16:51:35.13
google日本語入力がGUI Emacsでインラインにならないのですが
何から調べればいいでしょうか

キーワードの見当もつかないので
ググる単語を教えてもらえると
たいへん助かります

よろしくおねがいします
0883名無しさん@お腹いっぱい。2014/11/30(日) 17:08:28.28
ここはUnix板なので、正しいスレに行くために
"NTEmacs 2ch"で検索してください
08848782014/11/30(日) 17:15:50.29
みんなgdb使ってないの?
微妙な不具合で動作がおかしくて使えないけど自分の環境だけかな
0885名無しさん@お腹いっぱい。2014/11/30(日) 17:17:02.85
>>882
UNIX/Linux の X Window System 上で Emacs を使っているなら、

$ XMODIFIERS="@im=none" emacs

を試してみるといいかもしれない。
0886名無しさん@お腹いっぱい。2014/11/30(日) 17:54:30.68
>>884
(debug)すればいんじゃね?(ホジホジ
0887名無しさん@お腹いっぱい。2014/11/30(日) 18:09:08.41
>>883
なんでNTEmacs?
0888名無しさん@お腹いっぱい。2014/11/30(日) 18:43:17.30
google日本語入力って、windows,mac,androidにしかないから、いずれにせよ板違いじゃないの
0889名無しさん@お腹いっぱい。2014/11/30(日) 18:47:42.15
mozc のことかと思った
0890名無しさん@お腹いっぱい。2014/11/30(日) 18:51:30.84
海のモズク
0891名無しさん@お腹いっぱい。2014/11/30(日) 19:20:42.75
Mozcです、Mozc。
googleの日本語入力なので、
google日本語入力とばかり思っていましたが
Mozcが正式名称なのですね。

lubuntu使ってます。
0892名無しさん@お腹いっぱい。2014/11/30(日) 19:21:24.05
>>885
やってみます。
ありがとうございます。
0893名無しさん@お腹いっぱい。2014/11/30(日) 19:33:31.36
>>885

$ XMODIFIERS="@im=none" emacs

をやってみました。
やり方が間違っているかもしれませんが
半角全角を押しても
日本語入力にならなくなりました

もう少し XMODIFIERS で検索して
調べてみようと思います

ありがとうございました
0894名無しさん@お腹いっぱい。2014/11/30(日) 20:09:36.65
>>893

(global-set-key (kbd "<zenkaku-hankaku>") 'toggle-input-method)
(define-key mozc-mode-map (kbd "<zenkaku-hankaku>") 'toggle-input-method)

を ~/.emacs に追加するとよろし
0895名無しさん@お腹いっぱい。2014/11/30(日) 20:13:10.80
mozc なんて窓から投げ捨てて SKK 使おうぜ
0896名無しさん@お腹いっぱい。2014/11/30(日) 21:20:14.88
x-show-tip で表示されるツールチップを
キーボード操作等のイベントが発生した場合でも表示したままにする方法ってないでしょうか?
0897名無しさん@お腹いっぱい。2014/11/30(日) 22:28:13.41
>>894
として、
>>885
で起動したところ、XWindowのemacsでインライン入力できるようになりました。
ありがとうございました。
0898名無しさん@お腹いっぱい。2014/11/30(日) 22:45:12.28
>>895
ありがとうございます。
Skk勇気が出なくて試せてないです
0899名無しさん@お腹いっぱい。2014/11/30(日) 23:57:01.96
めでたく skk が melpa に登録されたんだけど
provide のない skk-autoloads を skk の中で require してたりしてちゃんとうごかんね
cdb.el も含められなかったみたいだから skk-search-prog-list から自分で外してやらなきゃいけないのか
0900名無しさん@お腹いっぱい。2014/12/01(月) 09:33:01.39
アドベントカレンダーの季節ですね
今年はEmacsも賑わうかなぁ...
viみたいに!!
レス数が900を超えています。1000を超えると表示できなくなるよ。