元スレEmacs Part 42
emacs覧 / PC版 /みんなの評価 : △
151 = :
何うまいこと言うてまっくす
152 = :
そんなことよりjs2-modeがemacs23で動かないんだが
ちょっと古いバージョンなら動くと思うんだけど一つしかないらしくて困る
153 = :
emacs lisp勉強始めた 簡単なものでただ動くものを書くだけなら、基本文法を学べば手続き型からでもそんなに苦ではないね
関数型らしく書くのには慣れが必要そう
154 = :
>>152
githubにあるんだからバージョンなんていくらでもさかのぼれるだろ
155 = :
関数型らしいというのが再帰を使うようなやつのことだとしたらそれはelispでは必要ないっていうかまともに使えたもんじゃない
156 = :
漏れ漏れだからねー
157 = :
関数型らしくかこうとしすぎると山本さんみたいに elisp が嫌いになっちゃうかもしれない
158 = :
まだpythonとかの方が関数型に近いよな
161 = :
Windows・Mac・Linuxともに安定しているし、もうEmacs 24前提でもいいと思うよ…
懐かしい千葉氏のNitemacs。20年くらい前には結構愛用してた。でも初のフル
スクリーンエディタ体験はその数年前のCP/MでZDEだったかな。
MicroCornucopiaというコンピュータ雑誌も、エディタ特集していたのが縁で全
然英語読めないのに買ってた記憶が。
162 = :
emacsクローンではないけど
http://www.haskell.org/haskellwiki/Yi
163 = :
SKKはnewlineにdefadviceしてるけど、とあるモードでEnterがnewlineでない
場合にちゃんと確定されなくて困ってる。(とあるモードとはhttps://github.com/mooz/js2-mode)
SKKのソースを見ると、skk.elで(defadvice newline (around skk-ad activate)
としてる箇所があったけど、これをそのまま別の関数(js2-enter-key)に適用
するには丸々コピるしかないのか?
ようするに、defadviceの内容を再利用したいって事だけど。
164 = :
アドバイスだけに,アドバイスを求めてるのかね?
165 = :
>>163
これが正しいやり方かどうかはわからんけど、
ad-get-advice-info で関数に定義されてる advice の内容を丸っと取得できる。
その内容を ad-set-advice-info で別関数に丸っとコピーでいいのかなと思ったけどそれは無理だった。
最終手段は取得した advice 内容を一々リスト辿って defadvice で定義しなおしでいいんだろうけど
なんかもっと良い方法ありそうだよね。
166 = :
って ad-activate したら copy した advice もちゃんと動いたや。
(ad-set-advice-info 'コピー先関数 (ad-get-advice-info 'コピー元関数))
(ad-activate 'コピー先関数)
これで大丈夫だった。
コピー元とリスト共有してるから ad-get-advice-info より ad-copy-advice-info で取った方がいいかもしれない。
167 = :
>>165
むぅ…とりあえずありがとう。今はコピペして凌げてるけどなんか気持ち悪い。
defadviceの説明を見ても再利用方法は全然分からん…
168 = :
>>166
お!入れ違い失礼
(ad-set-advice-info 'js2-enter-key (ad-get-advice-info 'newline))
(ad-activate 'js2-enter-key)
今回の場合は、↑でうまくいった!
しかし勉強になった。ありがとぅ!
169 = :
>>166
いや駄目だった…
SKKに限った事かもしれないけど、例えばhoge.elでSKKを使って日本語を入れた後、
hoge.js(js2-mode)で日本語を入れると、その後のnewlineでエラーが出るようになる。
ソースを丸々コピペした方では、そうはならない。
ad-copy-advice-infoを使っても同じだった。うーんなんとかなるかな…
170 = :
それって skk.el をロード前に実行した場合じゃない?
eval-after-load で skk.el ロード後に入れてみたらどうでしょ。
他にもコピーした advice の中でオリジナルの newline とか呼んでたりするような感じもしてて
ほんとにこれでいいのか怪しい部分が多々あるけどね・・・
171 = :
around で defadvice したときに ad-do-it を ad-Orig-xxxx に置き換えしてる処理してるから
そのまんまコピーではうまくいかないはず。
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)))
174 = :
skk側でキー定義すればいいのでは?
(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)))
175 = :
iphoneで脱獄すればemacs使える事を知ったけど
キーボードつないで使えってことなんだろうか
176 = :
それはよくないmacsじゃね?
177 = :
お前らが、Sublime Text 2 に移行しない理由ってなんなん?
やっぱ過去のしがらみ? Emacsユーザとしてのプライド?
今から新しいことを覚えることが億劫な怠惰な性格?
178 = :
強いていうなれば、おっさんとしての矜持、といったところかな。
……ちょっとくさかったか。スマン。
179 = :
>2012-12-27 Eli Zaretskii <eliz@gnu.org>
>(Fexpand_file_name): Don't mix unibyte with multibyte strings, and
こいつの変更で expand-file-name のダメ文字まで使えなくなった。
180 = :
>>177
劣化emacsにいちいち手を出して時間を無駄にしない合理的な判断
182 = :
>>179
> こいつの変更で expand-file-name のダメ文字まで使えなくなった。
これ、どういうこと?
multibyte 文字は受け付けてるみたいけど。
183 = :
>>177が言ったこと全部
186 = :
>>177
>Sublime Text 2
それってMac以外で動くの?
187 = :
>>177
文字コードの取り扱いが重要なプログラムで海外製のフリーウェアってのがダメだな
油断すると日本語関連の処理が適当だったりするし
金払ってるわけじゃないから不具合修正を強要することもできない
オープンソースなら日本人がなんか手をいれて対処できたりするんだけど
190 = :
それって23の頃から日本語パッチ必要だったような気がした。
191 = :
ほんとだったらひどいと思うけど。windows 上の話だろうか。
(expand-file-name "表" "/tmp")
=> "/tmp/表"
emacs-version
=> "24.3.50.1"
192 = :
英語圏プログラマに他国語対応求めるのがどだい無理な話よ
194 = :
状態もってるiso2022も嵌った時にリセットするのが厄介で、かなりダメといえる。
195 = :
もしかして、俺達の力でEmacs大学を設立せよ、というおぼしめしか?
196 = :
24.3でcc-modeとかマシになってる?
197 = :
>>195
お前の書き込みは100%つまらんな
やろうと思ってもできない芸当だわ
198 = :
>>196
だいぶマシになってる
199 = :
>>198 ありがとう
200 = :
ちょっとずつ関数定義して育てていったinit.elを紛失した
これからどうしたらいいんだろう
みんなの評価 : △
類似してるかもしれないスレッド
- Emacs Part 40 (1001) - [92%] - 2012/9/7 0:30
- Emacs Part 47 (995) - [92%] - 2015/4/19 13:01
- Emacs Part 41 (1001) - [92%] - 2012/12/24 4:15
- Emacs Part 43 (1001) - [92%] - 2013/12/14 11:30
- Emacs Part 44 (1001) - [92%] - 2014/2/8 8:01 △
- Emacs Part 46 (984) - [92%] - 2014/12/24 14:15
- Emacs Part 45 (1001) - [92%] - 2014/6/23 9:45
- Emacs Part 48 (997) - [92%] - 2015/12/9 15:15
- Emacs Part 49 (974) - [92%] - 2016/12/7 9:45
- Emacs Part 32 (1001) - [92%] - 2009/12/20 2:04 ○
- Emacs Part 52 (984) - [92%] - 2021/5/13 1:45
- Emacs Part 53 (989) - [84%] - 2022/12/5 12:45
- Emacs Part 31 (1001) - [84%] - 2009/10/23 10:31 ○
- Emacs Part 33 (1001) - [84%] - 2010/3/9 20:01 ○
トップメニューへ / →のくす牧場書庫について