Emacs Part 42
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2012/12/24(月) 12:26:20.01Emacs Part 41
http://toro.2ch.net/test/read.cgi/unix/1347009022/
0153名無しさん@お腹いっぱい。
2013/01/19(土) 06:37:54.46関数型らしく書くのには慣れが必要そう
0154名無しさん@お腹いっぱい。
2013/01/19(土) 06:50:23.55githubにあるんだからバージョンなんていくらでもさかのぼれるだろ
0155名無しさん@お腹いっぱい。
2013/01/19(土) 07:00:49.270156名無しさん@お腹いっぱい。
2013/01/19(土) 07:05:27.060157名無しさん@お腹いっぱい。
2013/01/19(土) 08:46:35.680158名無しさん@お腹いっぱい。
2013/01/19(土) 13:04:57.990159名無しさん@お腹いっぱい。
2013/01/19(土) 14:26:57.89俺 xmonad 愛用者だからそっちの方がカスタイマイズ言語統一できていいかも。
0160名無しさん@お腹いっぱい。
2013/01/19(土) 15:05:50.740161名無しさん@お腹いっぱい。
2013/01/19(土) 15:25:07.30懐かしい千葉氏のNitemacs。20年くらい前には結構愛用してた。でも初のフル
スクリーンエディタ体験はその数年前のCP/MでZDEだったかな。
MicroCornucopiaというコンピュータ雑誌も、エディタ特集していたのが縁で全
然英語読めないのに買ってた記憶が。
0162名無しさん@お腹いっぱい。
2013/01/19(土) 15:33:52.06http://www.haskell.org/haskellwiki/Yi
0163名無しさん@お腹いっぱい。
2013/01/19(土) 16:33:33.53場合にちゃんと確定されなくて困ってる。(とあるモードとはhttps://github.com/mooz/js2-mode)
SKKのソースを見ると、skk.elで(defadvice newline (around skk-ad activate)
としてる箇所があったけど、これをそのまま別の関数(js2-enter-key)に適用
するには丸々コピるしかないのか?
ようするに、defadviceの内容を再利用したいって事だけど。
0164名無しさん@お腹いっぱい。
2013/01/19(土) 16:49:26.260165名無しさん@お腹いっぱい。
2013/01/19(土) 17:03:36.53これが正しいやり方かどうかはわからんけど、
ad-get-advice-info で関数に定義されてる advice の内容を丸っと取得できる。
その内容を ad-set-advice-info で別関数に丸っとコピーでいいのかなと思ったけどそれは無理だった。
最終手段は取得した advice 内容を一々リスト辿って defadvice で定義しなおしでいいんだろうけど
なんかもっと良い方法ありそうだよね。
0166名無しさん@お腹いっぱい。
2013/01/19(土) 17:15:37.67(ad-set-advice-info 'コピー先関数 (ad-get-advice-info 'コピー元関数))
(ad-activate 'コピー先関数)
これで大丈夫だった。
コピー元とリスト共有してるから ad-get-advice-info より ad-copy-advice-info で取った方がいいかもしれない。
0167163
2013/01/19(土) 17:16:35.45むぅ…とりあえずありがとう。今はコピペして凌げてるけどなんか気持ち悪い。
defadviceの説明を見ても再利用方法は全然分からん…
0168163
2013/01/19(土) 17:24:32.47お!入れ違い失礼
(ad-set-advice-info 'js2-enter-key (ad-get-advice-info 'newline))
(ad-activate 'js2-enter-key)
今回の場合は、↑でうまくいった!
しかし勉強になった。ありがとぅ!
0169163
2013/01/19(土) 17:36:32.06いや駄目だった…
SKKに限った事かもしれないけど、例えばhoge.elでSKKを使って日本語を入れた後、
hoge.js(js2-mode)で日本語を入れると、その後のnewlineでエラーが出るようになる。
ソースを丸々コピペした方では、そうはならない。
ad-copy-advice-infoを使っても同じだった。うーんなんとかなるかな…
0170名無しさん@お腹いっぱい。
2013/01/19(土) 22:22:35.78eval-after-load で skk.el ロード後に入れてみたらどうでしょ。
他にもコピーした advice の中でオリジナルの newline とか呼んでたりするような感じもしてて
ほんとにこれでいいのか怪しい部分が多々あるけどね・・・
0171名無しさん@お腹いっぱい。
2013/01/19(土) 22:46:41.62そのまんまコピーではうまくいかないはず。
js2-mode を導入してないからうまくいくかはわからんけどこれでどうかね。
なんかもっとちゃんとした方法がありそうだ
(eval-after-load "skk"
'(progn
(ad-set-advice-info 'js2-enter-key
(ad-substitute-tree (lambda (f) (eq f (ad-make-origname 'newline)))
(lambda (f) (ad-make-origname 'js2-enter-key))
(ad-copy-advice-info 'newline)
(ad-safe-fset (ad-make-origname 'js2-enter-key) 'js2-enter-key)
(ad-activate 'js2-enter-key)))
0172163
2013/01/19(土) 23:02:24.66ad-activate: ad-activate: `js2-enter-key' is not advised
SKKを起動しようとすると、このエラーが出て起動できなかった。
0173名無しさん@お腹いっぱい。
2013/01/19(土) 23:38:57.370174名無しさん@お腹いっぱい。
2013/01/20(日) 00:08:44.42(let ((cmd 'newline))
(mapc (lambda (key)
(mapc (lambda (map)
(define-key map key cmd))
(list skk-j-mode-map
skk-jisx0208-latin-mode-map
skk-abbrev-mode-map)))
(where-is-internal cmd global-map)))
0175名無しさん@お腹いっぱい。
2013/01/20(日) 01:22:29.27キーボードつないで使えってことなんだろうか
0176名無しさん@お腹いっぱい。
2013/01/20(日) 01:32:52.340177名無しさん@お腹いっぱい。
2013/01/20(日) 03:53:22.91やっぱ過去のしがらみ? Emacsユーザとしてのプライド?
今から新しいことを覚えることが億劫な怠惰な性格?
0178名無しさん@お腹いっぱい。
2013/01/20(日) 04:14:38.46……ちょっとくさかったか。スマン。
0179名無しさん@お腹いっぱい。
2013/01/20(日) 08:49:33.17>(Fexpand_file_name): Don't mix unibyte with multibyte strings, and
こいつの変更で expand-file-name のダメ文字まで使えなくなった。
0180名無しさん@お腹いっぱい。
2013/01/20(日) 09:03:42.61劣化emacsにいちいち手を出して時間を無駄にしない合理的な判断
0181名無しさん@お腹いっぱい。
2013/01/20(日) 10:12:06.56最新が0.71で0.51だと機能が弱すぎて使い物にならない
困った
0182名無しさん@お腹いっぱい。
2013/01/20(日) 13:41:49.15> こいつの変更で expand-file-name のダメ文字まで使えなくなった。
これ、どういうこと?
multibyte 文字は受け付けてるみたいけど。
0183名無しさん@お腹いっぱい。
2013/01/20(日) 13:49:44.290184名無しさん@お腹いっぱい。
2013/01/20(日) 15:42:53.38その時にeshellからsshをして使おうと思うのですが、
hostnameuf [32m[~][00m [36muser% [00m
のように、zshのプロンプトが邪魔しているのか文字化けのようになってしまいます。
これはどのように解決すればいいでしょうか?
現在はターミナルから別にsshでつないでいるのですが、可能であればEmacsからsshで利用したいと考えております。
0185名無しさん@お腹いっぱい。
2013/01/20(日) 16:07:20.580186名無しさん@お腹いっぱい。
2013/01/20(日) 16:52:15.86>Sublime Text 2
それってMac以外で動くの?
0187名無しさん@お腹いっぱい。
2013/01/20(日) 17:17:42.78文字コードの取り扱いが重要なプログラムで海外製のフリーウェアってのがダメだな
油断すると日本語関連の処理が適当だったりするし
金払ってるわけじゃないから不具合修正を強要することもできない
オープンソースなら日本人がなんか手をいれて対処できたりするんだけど
0188名無しさん@お腹いっぱい。
2013/01/20(日) 17:22:19.39こんなんじゃ日本語の入力にも使ってる人にはSublime Text2なんて問題外だな
0189名無しさん@お腹いっぱい。
2013/01/20(日) 18:09:59.20(expand-file-name "表" "d:/tmp")
"d:/tmp/\225/"
0190名無しさん@お腹いっぱい。
2013/01/20(日) 18:16:27.930191名無しさん@お腹いっぱい。
2013/01/20(日) 18:31:25.52(expand-file-name "表" "/tmp")
=> "/tmp/表"
emacs-version
=> "24.3.50.1"
0192名無しさん@お腹いっぱい。
2013/01/20(日) 18:42:35.710193名無しさん@お腹いっぱい。
2013/01/20(日) 18:55:56.190194名無しさん@お腹いっぱい。
2013/01/20(日) 19:11:49.020195名無しさん@お腹いっぱい。
2013/01/20(日) 19:13:24.250196名無しさん@お腹いっぱい。
2013/01/20(日) 19:17:18.920197名無しさん@お腹いっぱい。
2013/01/20(日) 19:28:01.40お前の書き込みは100%つまらんな
やろうと思ってもできない芸当だわ
0198名無しさん@お腹いっぱい。
2013/01/20(日) 20:00:50.92だいぶマシになってる
0199名無しさん@お腹いっぱい。
2013/01/20(日) 20:22:24.040200名無しさん@お腹いっぱい。
2013/01/20(日) 20:25:53.72これからどうしたらいいんだろう
0201名無しさん@お腹いっぱい。
2013/01/20(日) 20:30:09.50ダルいところをコツコツ改善していくとほぼ同じものができあがる。
往々にして前より良いものができあがったりする。
0202名無しさん@お腹いっぱい。
2013/01/20(日) 20:53:38.98次は Drobpox に入れとくかバージョン管理しとけ
0203名無しさん@お腹いっぱい。
2013/01/20(日) 21:06:55.460204名無しさん@お腹いっぱい。
2013/01/20(日) 21:33:12.25;; ( ´)`Д) )) < ハァハァ こんな所でダメェ
;; / つ つ < 大丈夫だって,こんな糞スクリプト誰も見ねえよ
;;(( (_(_ ノ ノ
;; し∪ ∪
;;
;; Σ( ゚д゚ )゚д゚)
;; / つ つ
;; (_(_ ノ ノ
;; し∪ ∪
;;
;; ( ゚д゚ )゚д゚)
;; / つ つ
;;(( (_(_ ノ ノ
;; し∪ ∪
0205名無しさん@お腹いっぱい。
2013/01/20(日) 21:40:16.750206名無しさん@お腹いっぱい。
2013/01/20(日) 21:41:06.200207名無しさん@お腹いっぱい。
2013/01/20(日) 23:53:00.84なんで?
init.elぐらい問題ないだろ
なんならgithubで公開すれば?
0208名無しさん@お腹いっぱい。
2013/01/21(月) 00:03:02.88なんでだめなん?
0210名無しさん@お腹いっぱい。
2013/01/21(月) 00:13:24.860211名無しさん@お腹いっぱい。
2013/01/21(月) 00:36:59.15ぼけを解説される>>203の心境やいかに
0212名無しさん@お腹いっぱい。
2013/01/21(月) 00:52:12.230213名無しさん@お腹いっぱい。
2013/01/21(月) 01:16:08.28リモート側の端末のTERM環境変数はetermになってる?
リモート側で動くzsh用に、eterm の termpinfo がちゃんと入ってる?
入ってないなら、/etc/e/eterm-color.ti をコンパイルしてホームディレクト
リに突っ込んでみたらどうなる?
0214名無しさん@お腹いっぱい。
2013/01/21(月) 02:21:16.34うまく動かない。
init.el は
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs" "-i" "\a"))
(setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict")
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setq migemo-use-pattern-alist t)
(setq migemo-use-frequent-pattern-alist t)
(setq migemo-pattern-alist-length 1000)
(setq migemo-coding-system 'utf-8-unix)
で、"j" と打つと「辞」とかの漢字はすべてハイライト
されるから、辞書はうまく使えてると思うけどカーソルはなぜか
アルファベットのところしか飛ばない。
同じ現象に合っている人いません?
0215名無しさん@お腹いっぱい。
2013/01/21(月) 05:18:52.42環境変数PROMPT_COMMANDを空にすれば
0216名無しさん@お腹いっぱい。
2013/01/21(月) 05:34:33.11Emacs24.3 の PRETEST を試したら俺もそうなった.
一致している正規表現はハイライトされていたので,
isearch の方になんか変更があったんではないかと思ってる.
なんか解決策ないものか.
0217名無しさん@お腹いっぱい。
2013/01/21(月) 10:00:26.680218名無しさん@お腹いっぱい。
2013/01/21(月) 12:05:17.05安定板まで待つか
0219名無しさん@お腹いっぱい。
2013/01/21(月) 13:18:30.82ボケてたのかw 全然気付かなかったw
いちいち綴りまで見てないからなあ・・・
0220名無しさん@お腹いっぱい。
2013/01/21(月) 17:18:31.17https://github.com/Hideyuki-SHIRAI/migemo-for-ruby1.9
作者のtwitter曰く,24.3にも対応しているそうです.
こちらで試してみてはいかがでしょうか.
0221名無しさん@お腹いっぱい。
2013/01/21(月) 18:34:10.110222名無しさん@お腹いっぱい。
2013/01/21(月) 20:45:28.590223名無しさん@お腹いっぱい。
2013/01/21(月) 21:25:23.69おー、Emacs23.3.50&cmigemoでも問題なく動いた。
とはいえ、せっかく github に上げてくれたのだったら、
少しは先頭コメントを変えて欲しかった。中身はいろいろ変えてあるけど
先頭はバージョン1.7のまま(一応最新は1.8ということになってる)ので、
知らない人は混乱するだろうし。
0224名無しさん@お腹いっぱい。
2013/01/21(月) 21:46:23.33プロンプト出力機能を殺したらシェルの価値が半減しない?;->
>>184
ehsellからリモートのzsh上げても、相手側のヒストリとかスクリーンエディッ
ト機能が使えないからもったいなくない?
最近のEmacsの term.el はカラー処理・フルスクリーン処理能力はなかなかな
ので、term.el の拡張elisp(幾つかあるが たとえば multi-term.el とか)を
使うのはどうでしょう。リモートなので、場合によっては環境変数TERMとか
terminfoの設定は自分でちゃんとする必要があると思うけど。
0225名無しさん@お腹いっぱい。
2013/01/22(火) 09:54:22.45pull request
0226名無しさん@お腹いっぱい。
2013/01/23(水) 06:28:03.880227名無しさん@お腹いっぱい。
2013/01/23(水) 10:24:57.890228名無しさん@お腹いっぱい。
2013/01/23(水) 18:34:01.91yatex に YaTeX-parent-master ていう親ファイルを指定する
変数があるので,ファイルローカル変数を設定しようとして
ファイルの末尾に
% Local Variables:
% YaTeX-parent-file: "master.tex"
% End:
を書いてるんだけど,YaTeX-parent-file は nil のままになります.
なんか書き方間違ってるかな?
OS は Ubuntu 12.04 の
emacs-version は 24.2.1
0230名無しさん@お腹いっぱい。
2013/01/23(水) 21:08:45.84http://www.yatex.org/info/yatexj.html#SEC14
0231228
2013/01/23(水) 21:56:11.27%#!記法は今までやってて,このたび
ファイルローカル変数でやろうと思い立った.
%#!記法だとタイプセットするコマンドを一々
指定しないといけないので,できればファイルローカル変数で
やってみたいんすよ.
0232名無しさん@お腹いっぱい。
2013/01/23(水) 23:06:01.40以下を評価したあとだとどうなりますか?
(custom-set-variables
'(safe-local-variable-values (quote ((YaTeX-parent-file . "master.tex")))))
ttp://www.gnu.org/software/emacs/manual/html_node/emacs/Safe-File-Variables.html
ttp://www.kmc.gr.jp/~tak/memo/emacs-local-variable.html
0233228
2013/01/24(木) 04:16:29.42よく確かめてみると Windows の Emacs (24.2.1) の方だと
問題ないですね.>>228の設定を書いたファイルを開くと,
「YaTeX-parent-file は安全じゃないかもよ? yn! から1個選べ」
という質問をされます.>>232を手動で設定しても動きました.
Ubuntu の方だとファイルを開いても,そもそも yn! から選べの質問が
表示されない.>>232の設定をしても影響なく,
YaTeX-parent-file は nil のままですね.
0234名無しさん@お腹いっぱい。
2013/01/24(木) 08:44:45.95Ubuntuでemacsを起動する際に-Qを指定して >>228の設定を書いたファイルを開き、
yn! から選べの質問が表示されるようになるなら、
Ubuntuのemacs環境の初期設定ファイルが影響している可能性が高いので、
そのあたりを調査されてはいかがでしょうか。
また、"Local Variables:"の処理はfiles.elのhack-local-variablesで行なっているので、
そのあたりをトレースしていくという方法もあります。
hack-local-variables is a compiled Lisp function in `files.el'.
(hack-local-variables &optional MODE-ONLY)
Parse and put into effect this buffer's local variables spec.
Uses `hack-local-variables-apply' to apply the variables.
If MODE-ONLY is non-nil, all we do is check whether a "mode:"
is specified, and return the corresponding mode symbol, or nil.
In this case, we try to ignore minor-modes, and only return a
major-mode.
If `enable-local-variables' or `local-enable-local-variables' is nil,
this function does nothing. If `inhibit-local-variables-regexps'
applies to the file in question, the file is not scanned for
local variables, but directory-local variables may still be applied.
0235名無しさん@お腹いっぱい。
2013/01/24(木) 09:39:47.04やはり自分の設定ファイルが原因っぽいので,
hack-local-variables を Edebug してみた.
すると local-enable-local-variables が nil なので
ローカル変数が束縛されない様子.
自分が導入してる elisp から local-enable-local-variables を
検索したら judge-indent.el ってのが local-enable-local-variables を
nil に束縛しているようだった.
コメントアウトしたら正常にローカル変数を読み取ってくれました.
アドバイスありがとう!
ところでファイルを開くたびに一々 yn! を聞いてほしくない場合は,
safe-local-variable-values に (変数 . 値) のコンスセルを追加すれば
いいと思う.これを「ある変数については,どの値でも安全ですよ」みたいに
設定することはできないもんなんですかね.理想的には「eval の入っていない
値ならどれでも安全ですよ」になるといいんだけど.
まったく危険性を無視すれば
(setq enable-local-variables :all)
でいいけど,推奨されてないっぽいし.
0236名無しさん@お腹いっぱい。
2013/01/24(木) 19:02:24.14> これを「ある変数については,どの値でも安全ですよ」みたいに
> 設定することはできないもんなんですかね.
safe-local-variable property かな。
(put 'hogehoge 'safe-local-variable (lambda (x) t))
hogehoge 変数はどの値でも安全ということになる。
> 理想的には「eval の入っていない
> 値ならどれでも安全ですよ」になるといいんだけど.
こっちは eval だけ気をつければいいわけじゃないから無理なんじゃない?
やりたいことはよくわかってないけど。
(funcall (read "(lambda () (message \"Deleting ~/...\"))"))
(apply (read "(lambda () (message \"Deleting ~/...\"))") nil)
というか、危険なのはすでに eval された後のはずだからなー
0237名無しさん@お腹いっぱい。
2013/01/24(木) 20:16:28.70どうすりゃいいんだっけ?
memo.txt を開いて プログラムコードの部分だけ perl-mode で表示編集したい
0238名無しさん@お腹いっぱい。
2013/01/24(木) 20:49:53.690239名無しさん@お腹いっぱい。
2013/01/24(木) 20:54:19.81おお,そんなプロパティがあったんか.
(put 'YaTeX-parent-file 'safe-local-variable
(lambda (x)
(string-match "\.tex$" x)))
とりあえず tex ファイルに限定してみた.これでばっちり
yn! 聞かれなくなったよ,ありがとう!
> 理想的には「eval の入っていない
> 値ならどれでも安全ですよ」になるといいんだけど.
eval の使い方を勘違いしていたので,これは無視してください.
>>237
mmm-mode じゃね? 使ったことないけど.
0240名無しさん@お腹いっぱい。
2013/01/24(木) 21:25:31.51あれぇ?夢だったのかナロー被せて無茶してたのか・・・
すんませんでした
0241名無しさん@お腹いっぱい。
2013/01/26(土) 09:45:37.30もう少しで公開できそう。
0242名無しさん@お腹いっぱい。
2013/01/26(土) 09:48:51.8510年20年後を考えたらちびっこを獲得する必要があるので。
主人公牛雄と3人前後の仲間達で21XX年に人体すらもモード化するようになった
Emacs を使って闇のトーナメントに巻き込まれていく。
0243名無しさん@お腹いっぱい。
2013/01/26(土) 12:40:18.940244名無しさん@お腹いっぱい。
2013/01/26(土) 12:55:51.400245名無しさん@お腹いっぱい。
2013/01/26(土) 12:58:52.570246名無しさん@お腹いっぱい。
2013/01/26(土) 13:02:52.600247名無しさん@お腹いっぱい。
2013/01/26(土) 13:09:55.46理由はよく分からないけど
0248名無しさん@お腹いっぱい。
2013/01/26(土) 13:12:06.230249名無しさん@お腹いっぱい。
2013/01/26(土) 13:15:20.71vim-jp の充実ぶりがとってもいい.
そしてコミュニティがしっかりしてるようにみえるよね.
ああいう一体感が Emacs 勢にはない.
0250名無しさん@お腹いっぱい。
2013/01/26(土) 13:57:07.580251名無しさん@お腹いっぱい。
2013/01/26(土) 16:00:19.02fn caps alt ctrの配置がいろいろあって
どれに統一したものか悩む
0252名無しさん@お腹いっぱい。
2013/01/26(土) 16:08:41.12■ このスレッドは過去ログ倉庫に格納されています