元スレEmacs Part 33
emacs覧 / PC版 /みんなの評価 : ○
801 = :
>>649
そのうち慣れる。
なぜか売れまくりの「USBフットペダル」が再入荷…ノベルゲームに最適?
http://blog.livedoor.jp/dqnplus/archives/1425957.html
802 = :
その記事を読んだとき、
お前はEmacsのキーバインドの恩恵を
一切受けていないのかとよく思ったな。
803 = :
>>800
この記事書いた奴はアホだな。
とりあえず、Emacsの思想のようなものは
http://www.gnu.org/gnu/rms-lisp.html
にあるよ。それとemacs-develを見てればrmsの考えも分かる(どんだけ偏屈かが分かる)
> 1. マルチスレッド対応の欠如
このスレでもよく出てるけど、そもそもマルチスレッドにしないと
非同期処理が出来ないと思っている時点で間違ってるだろ。
ソケット使っている時は非同期処理が出来るけど、別スレッドが起動
している分けじゃないし。
> 2. 共有ライブラリ対応の欠如
共有ライブラリが使えてもelispから使えるようにするラッパーを
Cとelispの両方で書く必要があるんだよ。
それを書くのがどんだけ面倒で、保守が大変か分かってないよ。
そんな事するんだったら、必要な部分だけ全部elispで書くほうが
お手軽なんだよ。Cとそれ以外の言語と接続させるのに、どんだけ
車輪の再発明がされているか。それに、使えるライブラリはどんどん
本体で対応してるし。
> 3. ファイルIOなどの低レイヤーAPIの欠如
普通にファイルを読み込んで書き出す事が出来るけど、何の事を
言ってるんだろうか?
> 小さいものを組合せて大きいものを作り上げるという美しいUnixの伝統がEmacsには脈々と受け継がれています。
んなわけないだろw
キッチンシンクって言われているようにEmacsは昔っから全抱えで
やってきてるだろ。
既に、eshellとかGnusみたいに大物があるのになんで今更Semantic
だけやり玉に挙げられてるのかようわからん。
804 = :
まあでもマルチスレッドは欲しいよ。
805 = :
>>803
マルチスレッドがないと非同期処理が出来ないとはいってないんじゃない?
今の非同期処理だとユーザーの操作をブロックしないように気をつけて書かなきゃいけないし、非同期処理だけだと並列なプログラムは書きにくい。
806 = :
新部さんが書いた共有ライブラリのダイナミックローダをrmsが却下したのは、
「GPLに非ざるものが混ざる」という政治的な理由。
保守が困難とか意味不明な言い訳すんな。
807 = :
>>806
却下したのは本体に含める事で、使おうと思えば使えるはずだけど
誰も使ってないでしょ?
それに、CやC++(FORTRANとかも?)のライブラリとelispの間でデータを
やり取りするマーシャラーの保守が大変と言ってるんだけど。
もしかして、ロードさえすれば使えると思ってんの?
808 = :
すまん、本体に含まれなきゃ使えないわな。
809 = :
>>806
例えば、ライブラリに
struct Hoge {
short a;
int b:4;
int c:4;
char* d;
};
void Fuga(Hoge* hoge);
みたいな関数があったらどうやって呼びだすんだよ?
810 = :
まあ面倒ではあるけど、そういうのはSWIGのようなラッパージェネレータを作ればいいと思う
811 = :
「Yo! Yo!」言う人を作るためにセックスしてくる
812 = :
>>810
ラッパージェネレーターがあると楽になると思うけど、それの出来次第なのかな。
814 = :
>>813
これって結構手間かかりそうだし、ソースの可読性も悪くなりそう。
そもそも、よっぽど大物ライブラリでない限りはelispで車輪の再発明を
したほうが楽しいと思うよ。
ほとんどの人は金もらってやってるわけじゃないから、楽しいかどうかが
大事なんじゃないかね。
それを「美しさや思想」とか糞ウンチク垂らして否定する奴は何様なんだって
いう気がするよ。
816 = :
emacs -nw で M-x list-color-display したとき
color-?? ではなく RoyalBlue2 のように色の名前を表示させたいのですが
emacs22 で色の名前を定義するファイルどこかにありますか?
817 = :
$EMACS/etc/rgb.txt ってのがあるけど
-nwだと端末で表示できない色はリストされないみたいだが…。
818 = :
>>817
> -nwだと端末で表示できない色はリストされないみたいだが…。
ありがとうございます。今のところそういう仕様なのですね。納得しました
819 = :
>>814
そのライブラリをelispからどうやって呼ぶんだよ。w
821 = :
そこまでするぐらいなら実行バイナリにしてパイプストリームで使ったほうがよさそうだ。
822 = :
パイプやソケットから呼べる関数ってなんだよ。
823 = :
るびきち先生やっぱここ見てるんだな
825 = :
savannah乗っ取って、ダイナミックローダをこっそり仕込んでくれ。
826 = :
俺も Emacs の Elisp 支配からの脱却はこれからの課題だと思うね。
もちろん Elisp を基本カスタマイズ言語とするのはいいけど
これからの時代、Elisp が Emacs 外で活用されることはまずありえんから
どうしたって今 Elisp を書くことに再利用性やインセンティブが伴なわない。
となるとやっぱり何らかの方法で外部と連結させなくちゃならん。
個人的には一定規模の複雑な処理は
C/C++ あたりで作ったバイナリに処理させていく方針で環境作ろうと思ってるが
オーバーヘッディング必至。
827 = :
elisp使いたくないなら別のエディタを使えばいいと思うの。
なんでEmacsにこだわるの?
828 = :
なんだかんだで過去の資産が魅力
いろんな機能つめこんでるのにキーバインドがうまく重なってないとか
829 = :
もう認めろよ。おまいらが愛したEmacsはもうどこにも無いんだよ。
830 = :
>>826
> Emacs の Elisp 支配からの脱却
脱却したら、何が残る? www
別の言語での "支配" がいいのかな?
> どうしたって今 Elisp を書くことに再利用性やインセンティブが伴なわない。
たしかに、Elisp がメジャーな言語の一つとして独立するのは、今のところ、イ
メージがわかないな。Emacs のためのスクリプト言語だから。
再利用性については、その方向性によると思うが、Emacs 内では十分されている
ように思う。単純な話、require だらけだし。
それから、アイデアのプロトタイプを作る場合に Elisp を利用できるし、そこ
から別の言語で作り込む、そういった意味での再利用性もあると思う。
インセンティブについては、Emacs を使うこと自体、さらに使いこなすことが
(上に書いたような) 間接的なインセンティブになっているとも言えるし、なん
とも言いがたいな。まぁ、今後、直接的なインセンティブになれば、ありがたい
だろう、とは思う。
831 = :
>>826
> 個人的には一定規模の複雑な処理は
> C/C++ あたりで作ったバイナリに処理させていく方針で環境作ろうと思ってるが
> オーバーヘッディング必至。
はいっ、じゃ、こんなところで無駄に力を浪費していないで早くそれを作ろう。
832 = :
オーバーヘッディングって、きゃぷつばの必殺シュートみたいでカコイイ
834 = :
Python はともかく Perl はないわ。
Python でも処理性能の問題はあるけど。
835 = :
だよな、どう考えてもそこはRubyに決ってる。
836 = :
> 決ってる
は?
837 = :
何でもいいけどさ、lispを外して何を残したいのよ。
838 = :
Rubyはクラス周りの仕様がキモいから駄目だな。
もしやるとすればPythonが最有力候補だな。
やらないだろうが。
839 = :
そんなことよりマルスレだ
841 = :
これでどうだ
(customize-face 'bold)
843 = :
>>841
やってみた。
(1)
foundry を変えても変わらなかった。
(2)
family を変えたら日本語ではなく欧文フォントだけが変わった。「日本語*も*変わる」はず
なのではないのかなあ。目的は「日本語だけ」を変えることなんですが…
しかも (1) のfoundryとは違うフォントになっている。うーむ。
844 = :
fontconfig の側からアプローチしてみた。
<match target="font">
<test name="family"><string>mediumのフォント名</string></test>
<test target="pattern" name="weight" compare="more">
<const>medium</const>
</test>
<edit name="file" mode="prepend" binding="strong">
<string>代替フォントのフルパス</string>
</edit>
<edit name="family" mode="prepend" binding="strong">
<string>代替フォント名</string>
</edit>
</match>
しかし firefox では上の設定が反映されるが、肝心の Emacs では反映されない orz
845 = :
;; 標準の日本語フォントを変更。
;; 但し、特定の記号は半角のままだったはず。
(set-fontset-font nil 'han "VL Gothic")
;; bold のフォントを変更する。
;; 日本語フォントだけじゃなく欧米フォントも変更する。
(let ((font (create-fontset-from-ascii-font "Monospace-12:bold")))
(set-fontset-font font 'han "VL Gothic-24:bold")
(set-face-font 'bold font))
846 = :
>>843
>>845 のやっていることは、すこしわかりづらい。
簡単な解説をつけようか。
(1) 日本語部分の charset だけ変更した新たな fontset を作る。
具体的には >>845 のように
create-fontset-from-ascii-font 関数と set-fontset-font 関数を使うか、
あるいは create-fontset-from-fontset-spec 関数などを使う。
(2) (1) で作った fontset を set-face-font 関数で bold face に設定する。
847 = :
>>845
サンクス。しかし表示に反映しません。create-fontset-from-ascii-font
の元になるフォントを色々変えてみると、それは反映する。しかし
set-fontset-font で変更する部分が反映しない。'japanese-jisx0208
でも 'han でもダメです。>>844 の firefoxとの違いも気になるなあ。
849 = :
るびきちさんはemacs-w3mとかnavi2chがもっさり過ぎって言ってたけど
俺が使ってるcore i3 540のマシンだと全然気にならないレベルなんだけど
elispの速度問題なんてハードの性能向上で割と解決できるものなんだな
850 = :
elispにかぎらず全体的にそういう傾向だよね。
るびきち先生はハードはけっこう長く使う方みたい。こないだはディスプレイ変えてすごいよろこんでたし。
みんなの評価 : ○
類似してるかもしれないスレッド
- Emacs Part 36 (1001) - [92%] - 2011/3/1 5:02
- Emacs Part 37 (1001) - [92%] - 2011/6/20 19:47
- Emacs Part 38 (1001) - [92%] - 2011/11/29 0:01
- Emacs Part 39 (990) - [92%] - 2012/2/9 19:45
- Emacs Part 53 (989) - [92%] - 2022/12/5 12:45
- Emacs Part 34 (1001) - [92%] - 2010/6/21 19:45 ○
- Emacs Part 32 (1001) - [92%] - 2009/12/20 2:04 ○
- Emacs Part 31 (1001) - [92%] - 2009/10/23 10:31 ○
- Emacs Part 35 (1001) - [92%] - 2010/9/19 17:01
- Emacs Part 43 (1001) - [92%] - 2013/12/14 11:30
- Emacs part 23 (1001) - [84%] - 2008/2/8 0:04 ☆
- Emacs Part 40 (1001) - [84%] - 2012/9/7 0:30
- Emacs Part 41 (1001) - [84%] - 2012/12/24 4:15
- Emacs Part 54 (97) - [84%] - 2023/1/25 17:15
トップメニューへ / →のくす牧場書庫について