トップページunix
1001コメント289KB

Emacs part 27

■ このスレッドは過去ログ倉庫に格納されています
0001Zeno2008/11/09(日) 08:48:02
諸君、ここはかの有名な最強の汎用環境/エディタ、「Emacs」のスレッドである!

スレッドルールは以下の通り:
* 初心者にやさしく接すること
* Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
* 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること
        _/l__
     /   く
    | ´ω`  | ぐにゅう emacs
     |    C='|
* Emacs スレッドのマスコットキャラである「ぐにゅう君」 (↑のAA) と
吾 (Zeno ◆5nZQbNmQPs) への挨拶も忘れないように!

GNU Emacs - Free Software Foundation (FSF) http://www.gnu.org/software/emacs/
EmacsWiki http://www.emacswiki.org/
Emacs 電子書棚 http://www.bookshelf.jp/
Emacs CVS Repositories [Savannah] http://savannah.gnu.org/cvs/?group=emacs
Emacs Lisp List http://www.damtp.cam.ac.uk/user/sje30/emacs/ell-date.html
最新の stable リリース (22.2) のダウンロード http://ftp.gnu.org/pub/gnu/emacs/emacs-22.2.tar.gz
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/

前スレ http://pc11.2ch.net/test/read.cgi/unix/1218093847/
CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs

Emacs は世界を救う!
0554名無しさん@お腹いっぱい。2008/12/21(日) 01:51:57
ecb最近メンテされてないね。CEDETは頻繁なのに。
05555522008/12/21(日) 03:22:14
>>553
なるほど。でも、とりあえず
http://www.bookshelf.jp/soft/meadow_35.html#SEC525
はそのままじゃうまく動かなかった@22.3.6
↑以外でなんかうまい方法ないかしら
0556名無しさん@お腹いっぱい。2008/12/21(日) 08:39:25
>>555
> なるほど。でも、

ワロタ ぜんぜんなるほどじゃない…

つ lazy-highlight-cleanup のcustmize ; ただし23.0.60.1しか確認してない
0557名無しさん@お腹いっぱい。2008/12/21(日) 14:14:46

「進化」という言葉をこの世で一番実感させてくれるものを敢えて挙げるとすれば、それは「.emacs」だ。
0558名無しさん@お腹いっぱい。2008/12/21(日) 14:20:03
vimは斜め上に進化しているのですね。わかります。
0559名無しさん@お腹いっぱい。2008/12/21(日) 15:22:01
>>556
うおおおおおお神すぐる!!昨日6時間も探したのにorzありがとうありがとう( ;∀;)
0560名無しさん@お腹いっぱい。2008/12/21(日) 15:43:10
分割したWindow間の移動を

(global-set-key "\C-\M-h" 'windmove-left)
(global-set-key "\C-\M-k" 'windmove-up)
(global-set-key "\C-\M-l" 'windmove-right)
(global-set-key "\C-\M-j" 'windmove-down)

っていう風に割り当てたんだけど、Cのモードだと既に他のコマンドが割り当てられてるみたいで、
期待通りに動いてくれない。こういう場合ってどうすればいいんすか?教えてエロい人!
global-set-keyとdefine-key global-mapの違いが分かってないんだけど、そこら辺?
0561名無しさん@お腹いっぱい。2008/12/21(日) 16:02:53
つ local-set-key

57.4.5 Changing Key Bindings Interactively
The two-character keys consisting of `C-c' followed by a letter are
reserved for user customizations. Lisp programs are not supposed to
define these keys, so the bindings you make for them will be available
in all major modes and will never get in the way of anything.
0562名無しさん@お腹いっぱい。2008/12/21(日) 16:26:30
日本語の掲示板で得意気に英文情報のせてくるやつってなんなの?
英語おぼえたての中学生なの?
これだからEmacsオタは…
0563名無しさん@お腹いっぱい。2008/12/21(日) 16:32:11
コンプレックスを刺激してしまったみたいでごめんね。
翻訳サイトで翻訳するか、
節番号を入れておいたので、どこかで翻訳版を読んでください。
0564名無しさん@お腹いっぱい。2008/12/21(日) 16:32:21
得意気
0565名無しさん@お腹いっぱい。2008/12/21(日) 16:33:21
「local-set-keyを使ったら?」ってことだろうに。質問以前に、人間性を疑うよ。
05665602008/12/21(日) 16:39:46
>>561
local-set-keyを使えば解決できるのか!!ちと見てみます!
global-set-keyとdefine-key global-mapは関係なかったのね^^;
thx!!
0567名無しさん@お腹いっぱい。2008/12/21(日) 16:41:19
モードごとに設定するのは面倒なので、
>>561は\C-c英字はかち合わないとのinfoが引用されてる。
05685602008/12/21(日) 16:57:11
何も考えずに
(local-set-key "\C-\M-h" 'windmove-left)
(local-set-key "\C-\M-k" 'windmove-up)
(local-set-key "\C-\M-l" 'windmove-right)
(local-set-key "\C-\M-j" 'windmove-down)
では動かなかたorz
なので、他の例を真似て
(setq c-mode-hook
'(lambda ()
(local-set-key "\C-\M-h" 'windmove-left)
(local-set-key "\C-\M-k" 'windmove-up)
(local-set-key "\C-\M-l" 'windmove-right)
(local-set-key "\C-\M-j" 'windmove-down)
))
って書いてみたら動いたんだけど、これだとCでしか有効になんないよね?願わくば、全モードで共通にしたいんだけど・・・
んん?ここで>>567の話が出てくるの?ごめん、全然分かってない;;
0569名無しさん@お腹いっぱい。2008/12/21(日) 17:12:27
find-file-hook と after-change-major-mode-hook (うろ覚え) に割り当てるか my-keyjack-mode でググればいいと思うよ。
0570名無しさん@お腹いっぱい。2008/12/21(日) 17:14:06
あと setq で hook を書き換えるのは他に影響を及ぼすので add-hook 使うべし。
05715602008/12/21(日) 17:33:59
>>569,570
アドバイスありがとう。
http://www.pqrs.org/tekezo/emacs/doc/keyjack-mode/index.html
を参考に
(setq my-keyjack-mode-map (make-sparse-keymap))
(mapcar (lambda (x)
(define-key my-keyjack-mode-map (car x) (cdr x))
(global-set-key (car x) (cdr x)))
'(("\C-\M-h" . windmove-left)
("\C-\M-k" . windmove-up)
("\C-\M-l" . windmove-right)
("\C-\M-j" . windmove-down)))
(easy-mmode-define-minor-mode my-keyjack-mode "Grab keys" t " Keyjack" my-keyjack-mode-map)
って記述したら無事動きました!
ただ、1行目のsetqをadd-hookにしたら
Symbol's value as variable is void: my-keyjack-mode-map
って怒られたのでsetqのままです。いいのかな?
0572名無しさん@お腹いっぱい。2008/12/21(日) 17:37:55
ああ my-keyjack~ を使う場合は setq で問題ない。
~mode-hook を setq で書き換えるのは良くないって話。
05735602008/12/21(日) 17:51:09
>>572
へぇ、そうなのかぁ。
今度から~mode-hookする時は気をつけます!!
色々お世話になりましたm(_ _)m
0574名無しさん@お腹いっぱい。2008/12/21(日) 18:02:28
あと (windmove-default-keybindings) しておくと Shift-カーソル上下左右で window 間の移動ができるよ。
(setq windmove-wrap-around t) でループ。
0575名無しさん@お腹いっぱい。2008/12/21(日) 18:50:50
>>561
じゃあ、howmのC-c ,, とかは使えなくなるのか。。
0576名無しさん@お腹いっぱい。2008/12/21(日) 19:48:13
>>562
himawaridemotsukattoke!wwwwwwwwwwwwww
0577名無しさん@お腹いっぱい。2008/12/21(日) 20:43:07
>>503 親指いいね。案外機動性高い。目から鱗でした。




0578名無しさん@お腹いっぱい。2008/12/21(日) 21:32:24
>>574
本当はそれがやりたかったんだけど、どう頑張っても今の環境じゃあ矢印キーのシグナルが送れないみたいで。。。
それで諦めました。

環境
ターミナルクライアント:Poderosa
サーバ:CentOS release 5.2 (Final)
Emacs:GNU Emacs 22.3.6
0579名無しさん@お腹いっぱい。2008/12/21(日) 21:34:52
えーと…
(define-key function-key-map [(shift up)] .(以下略
0580名無しさん@お腹いっぱい。2008/12/21(日) 22:00:36
>>579
うーん、試しにこんな感じで書いてみたのですが、ダメでしたorz
(when (locate-library "windmove")
(define-key function-key-map [(shift up)] . windmove-up)
(define-key function-key-map [(shift down)] . windmove-down)
(define-key function-key-map [(shift left)] . windmove-left)
(define-key function-key-map [(shift right)] . windmove-right))
以前、こちら
http://noir.s7.xrea.com/archives/000143.html

>Shift + カーソルキーは、ターミナルが横取りしてしまので、
>何か他のキーで代用するしかないですね…。

>ちなみに、X/Qt ( http://xqt.sourceforge.jp/index.ja.html) で Emacs を動かすと、
>そのへんの問題はなくなります。
>ただ、こっちはこっちでいろいろとややこしい問題がありますが…。
>Posted by: noir123 on 2004年12月21日 23:07
を見て諦めたのですが。。。
0581名無しさん@お腹いっぱい。2008/12/21(日) 22:06:26
WindowsでX11動かしといて、
PoderosaのsshのX11 forwardingで利用すれば?
0582名無しさん@お腹いっぱい。2008/12/21(日) 22:27:46
>>581
うお、なんか興味津々だけど難しそうでなかなか踏み入れられてない領域の話が。。。
きっとX on WindowsにはCygwinとかASTECとかを使うんだよね?
ちょっと調べてみたらpoderosaではX11 forwarding出来そうにないからputtyでも別途使うんだろうなぁ
0583名無しさん@お腹いっぱい。2008/12/21(日) 22:54:40
日本語入力が問題になるかな?
IMEProxyとかえせかんなとかちょっと面倒。
0584名無しさん@お腹いっぱい。2008/12/22(月) 00:59:10
ハァー インテリセンスもねえ 縦書きもねえ
日本語もそれほどまともじゃねえ
アラビアもねえ ヘブライもねえ
キーバインド毎日ぐーるぐる
俺らこんなEmacs嫌だ〜 俺らこんなEmacs嫌だ〜
メモ帳使うだ〜 メモ帳使いながら
銭こあ貯めて WindowsでVS買うだ〜
0585名無しさん@お腹いっぱい。2008/12/22(月) 11:27:48
流れと関係なくてすみませんが、質問です。

以下は Subversionクライアント dsvn.el の関数の一つです。サーバのロケー
ルがEUC-JPなので、自分で一行改変しました。これを、関数そのものの改変で
はなく、defadvice で解決することはできないでしょうか?

初歩的ですみませんが、どうかお願いします。

(defun svn-call-process (program buffer &rest args)
  "Run svn and wait for it to finish.
Argument PROGRAM is the svn binary to run.
Argument BUFFER is the buffer in which to insert output.
Optional argument ARGS are the arguments to svn."
  (let ((proc (apply 'start-process "svn" buffer program args)))
;;     (set-process-coding-system proc 'utf-8) <- ココ
    (set-process-coding-system proc 'euc-jp)
    (set-process-filter proc 'svn-output-filter)
    (while (eq (process-status proc) 'run)
      (accept-process-output proc 5)
      (sit-for 0))))
0586名無しさん@お腹いっぱい。2008/12/22(月) 12:15:47
shell-mode で ls をエイリアスしたいんだけど、どこで設定すればいいんだろう?
.bashrc に
alias ls='ls -hF --show-control-chars --color=auto'
と書いてるんだけど、反映されないみたい。
0587名無しさん@お腹いっぱい。2008/12/22(月) 12:32:54
If a file `~/.emacs_SHELLNAME' exists, or `~/.emacs.d/init_SHELLNAME.sh',
it is given as initial input (but this may be lost, due to a timing
error, if the shell discards input when it starts up).
The buffer is put in Shell mode, giving commands for sending input
and controlling the subjobs of the shell. See `shell-mode'.
See also the variable `shell-prompt-pattern'.
0588名無しさん@お腹いっぱい。2008/12/22(月) 12:49:17
>>587
.emacs_bash はもう設定してるんだけど...と書こうとして、shellモードのプ
ロンプトが
sh-3.2$
になってることに気づき驚愕。
.emacs_sh を用意したら解決。ありがとうございました。

つうか、shell-modeで使うシェルを設定する場所はどこですか?
bashに変えたい。
0589名無しさん@お腹いっぱい。2008/12/22(月) 13:03:46
つうかこっちはぐぐったら分かりました。
(setq shell-file-name "/bin/bash")
お騒がせしました。
0590名無しさん@お腹いっぱい。2008/12/22(月) 13:34:59
>>585
微妙なポイントにあるから一筋縄じゃできそうにないな。
最悪、その修正後の関数を.emacsにでも書いておけばいいと思う。
Emacsの関数は上書き定義できるから。
0591名無しさん@お腹いっぱい。2008/12/22(月) 16:01:37
>>590
やっぱりそうですか...。ありがとうございました。
0592名無しさん@お腹いっぱい。2008/12/23(火) 01:28:04
メジャーモード xxx-mode のための Elisp を作成しています。

そこで、 font-lock-defaults を以下のように設定し、

(setq font-lock-defaults '((xxx-font-lock-keywords) t nil))

xxx-font-lock-keywords に、

(add-to-list xxx-font-lock-keywords
'(xxx-font-lock-func))

とし、関数 xxx-font-lock-func 内で、
(add-text-properties'howm-edit beg end '(face font-lock-comment-face))

としています。
beg end の間が556文字を超えると、557文字以降は font-lock-comment-face にならないのですが、
原因について、こころあたりの方、どうかご教示お願いいたします。
0593名無しさん@お腹いっぱい。2008/12/23(火) 02:07:16
faceが変わっていない部分を表示させた状態で
M-o M-o としてもダメかな?
05945922008/12/23(火) 02:19:01
>>593
ありがとうございます。

face が変わらなかった部分で、 M-o M-o (font-lock-fontify-block) したところ、
設定通りの face になりました。

M-x font-lock-fontify-buffer をしても、face が変わらなかったのですが、
Info に書いてあるのとは異なり、 font-lock-fontify-block とは動作が違うようですね。
0595名無しさん@お腹いっぱい。2008/12/23(火) 02:24:34
font-lockは正規表現を使ってfaceをチェックしているので、
文字数や行数が増えると、ある位置以降は変化しない部分がでてきます。

M-o M-o に前置引数をつけて C-u C-u C-u C-u C-u C-u M-o M-o くらいやれば、
たいていのバッファは期待通りの色がつくと思うよ。
05965922008/12/23(火) 02:48:29
>>595
ありがとうございます。

前置引数で font-lock したい行数を指定できるのですね。
勉強になりました。
0597sage2008/12/23(火) 11:52:33
set-keyするとき、.や,はなんと書けばバインドされるのでしょうか。

C-.にcommandをバインドしたいのですが、
(global-set-key "\C-." 'command)

と書いてもバインドされません。
現在の使用バージョンは22.2.1です。
05985972008/12/23(火) 12:22:04
すみません、terminalの問題でした。
-nw 以外では正常にバインドされました。
0599名無しさん@お腹いっぱい。2008/12/23(火) 12:29:26
ctrl-.などというコードは無い。
0600名無しさん@お腹いっぱい。2008/12/23(火) 23:33:56
bbdbで、画像とかを保存出来ますか?
顔写真とか。
0601名無しさん@お腹いっぱい。2008/12/24(水) 00:12:20
最近、Linuxとかの好調もともなってEmacsが地味に勢力を拡げているような気がする…
俺のまわりでもEmacs使いがぽつぽつ増えた。
0602名無しさん@お腹いっぱい。2008/12/24(水) 00:33:13
と思うだろ?

実際は nano が…、来んなぁ…。
0603名無しさん@お腹いっぱい。2008/12/24(水) 05:13:07
個々の window に対して、独特な window-id のようなものってありますか?
もしあるのであれば、どのようにすればその値を参照できますか?
0604名無しさん@お腹いっぱい。2008/12/24(水) 06:40:51
windowsオブジェクトそのものがそうだけど…
0605名無しさん@お腹いっぱい。2008/12/24(水) 08:32:06
>>604
すみません、もしよければもうちょっと詳しく教えていただけませんか?
私の場合、 window-id のようなものを hash-table のキーとして
使用したいので、可変でないものが望まれるのですが。
0606名無しさん@お腹いっぱい。2008/12/24(水) 08:35:58
>>605
なんで「ようなもの」なの?
window-idそのものじゃだめなの?
0607名無しさん@お腹いっぱい。2008/12/24(水) 08:48:37
>>606
私の思い違いかもしれませんが、
個々の window に対して定義してあると思われる window-id の
アクセッサーが用意してないようなので、別の方法があるのかと思いました。
汚いですが、
(assoc 'window-id (cadadr (current-frame-configuration)))
でもwindow-idは取れますが、フレーム単位になってしまうので、
何か別の方法があると助かります。
0608名無しさん@お腹いっぱい。2008/12/24(水) 10:38:59
>>607
とりあえず、そのコードは

(frame-parameter nil 'window-id)

でもいいと思う

0609名無しさん@お腹いっぱい。2008/12/24(水) 10:45:11
>>607
あと多分それは期待してるものと違うんじゃない?

http://www.bookshelf.jp/texi/elisp-manual-20-2.5-jp/elisp_29.html#SEC436
> window-id
> フレームとして使うウィンドウシステムのウィンドウ番号。

Emacs で言う window を言ってるのか、 Emacs で言う frame (= ウィンドウシ
ステムで使われる window) を言ってるのかわかんね…
0610名無しさん@お腹いっぱい。2008/12/24(水) 11:06:32
>>609
自己解決しました。現時点だと window-configuration の中身は見れないらしいです。
仕方ないので、winner.elがやってるような特定の仕方を実装しました。
0611名無しさん@お腹いっぱい。2008/12/24(水) 11:35:24
`selected-window' とか評価した時に表示される数値(windowオブジェクトのsequence_number)
は、print_object しか口が用意されてないのね。
0612名無しさん@お腹いっぱい。2008/12/24(水) 11:43:09
>>611
selected-windowの返り値をバッファー相対的なidと考えることもできますね。
それは気付きませんでした。ありがとうございました。
06136042008/12/24(水) 15:10:34
もう解決したみたいなんだけど…
(window-list)で返ってくるリストに入っているwindowオブジェクトは、
他のどのLispオブジェクトともeqにならないけど、
必要なものはそういうものとは違うの?
数値になっている必要がある?

必要なのが(frame-list)の方でもおんなじなんだけど。
0614名無しさん@お腹いっぱい。2008/12/24(水) 23:45:08
advice が使えない状況で既存の関数定義の一部を書き換えたい時にどうすれば一番スマートだろうか?
nconc と assoc 使いまくり作戦と fset を試してみたけどなんかしっくり来ない。
0615名無しさん@お腹いっぱい。2008/12/25(木) 10:55:34
>>613
おっしゃる通りで、今のところはwinner.elがそうしているように、
(window-list nil 0)を使用しています。
0616名無しさん@お腹いっぱい。2008/12/26(金) 02:44:32
とりあえず、Emacs23がリリースされてからでいいんで、
フォンとの設定の仕方を誰かまとめてくっさい。
0617名無しさん@お腹いっぱい。2008/12/26(金) 12:22:36
23のミニバッファ変更がさっぱりわけわかめ
highlight-completionとcycle-miniがうんともすんとも

しんどいのぉ
0618名無しさん@お腹いっぱい。2008/12/27(土) 00:01:03
>>601
いったい、Emacs 利用者数ってどれくらいなんだろうかね?
日本、世界それぞれで。
0619名無しさん@お腹いっぱい。2008/12/27(土) 01:01:25
リアルな話、日本で5,6人、世界で30人前後じゃねーの。
06206182008/12/27(土) 10:08:52
>> 619
それはアンリアルすぎる〜 www
単位に万が抜けてるでしょ!?
まぁ、なんとなく世界ではもっと多いような気がしないでもないが....
どっか、そういう統計がないものかね?
0621名無しさん@お腹いっぱい。2008/12/27(土) 10:09:44
>>620
うざい、どっか逝け。
0622名無しさん@お腹いっぱい。2008/12/27(土) 11:10:51
elscreen であるバッファを kill-buffer した後に、他のスクリーンで既に表示されている
バッファは表示されないようにしたいのですが、どうすればいいですか?
0623名無しさん@お腹いっぱい。2008/12/27(土) 14:41:59
>622
言わんとしているところが正確には分からんけど、
elscreen-kill-screen-and-buffersでどう?
0624名無しさん@お腹いっぱい。2008/12/27(土) 15:52:47
>>622
バッファは消したいけれど、タブ自体は残したいのではないかな
0625名無しさん@お腹いっぱい。2008/12/27(土) 17:19:40
>>621
10:09:44 - 10:08:52 = 00:00:52 !?
そんなあなたには、いますぐ、精神安定化のため M-x doctor をお勧めします...
0626名無しさん@お腹いっぱい。2008/12/27(土) 19:00:58
Emacs いつになれば 俺は這いあがれるだろう
0627名無しさん@お腹いっぱい。2008/12/29(月) 17:51:54

もうすぐアケオメだねみんな

げんきしてるの?
0628名無しさん@お腹いっぱい。2008/12/29(月) 21:16:29
今年は scim-bridge.el が Emacs に関しては一番の収穫だったかな。
みんなも Emacs の今年の収穫を教えてくれ!
0629名無しさん@お腹いっぱい。2008/12/29(月) 21:33:24
今年の収穫か。沢山あるが、ほとんどが自作elispか、
他人のをヘビーに改良したやつだな。
自作以外を強いて挙げるならば、vipper-mode、yasnippet、slime、dropdown-list ってとこかな。
0630名無しさん@お腹いっぱい。2008/12/29(月) 21:45:55
Anything 以外にない
0631名無しさん@お腹いっぱい。2008/12/30(火) 00:47:12
Emacs23の問題がどうしても直せなくて、
久しぶりにXEmacsに戻ったこと。
0632名無しさん@お腹いっぱい。2008/12/30(火) 00:55:42
XEmacsをキゼマックスと呼ぶことにようやく自分の中で踏ん切りがついたこと。
0633名無しさん@お腹いっぱい。2008/12/30(火) 01:19:15
PEG.elかなぁ
0634名無しさん@お腹いっぱい。2008/12/30(火) 02:27:53
やっぱ font backend かなぁ、ビットマップフォント卒業できた。
あとは自作ものかな。
0635名無しさん@お腹いっぱい。2008/12/30(火) 09:09:42
Windows環境では、MeadowよりもNTEmacsの方がはるかに軽いと知ったこと
もっと早くから使っていれば・・・!
0636名無しさん@お腹いっぱい。2008/12/30(火) 10:56:13
.emacs にいろいろ書くと便利になることを知りました(><)
0637名無しさん@お腹いっぱい。2008/12/30(火) 12:03:19
anything がコードがあれすぎる…
0638名無しさん@お腹いっぱい。2008/12/30(火) 12:15:16
るびきちプロダクトは避けるのが吉。食い散らかしなんだもん。
0639名無しさん@お腹いっぱい。2008/12/30(火) 12:25:01
CLOSと、iterate、seriesみたいなのがあればanythingはもう少し見易いコードになると思うヨ
0640名無しさん@お腹いっぱい。2008/12/30(火) 15:41:27
はい思いました
0641名無しさん@お腹いっぱい。2008/12/30(火) 22:12:32
このさい、C++で拡張書ければかなり楽なのになあ…
0642名無しさん@お腹いっぱい。2008/12/30(火) 22:37:11
なんでC++
0643名無しさん@お腹いっぱい。2008/12/31(水) 00:21:23
>>642
やっぱりEmacs使うようなヘビメタユーザーはC++に一番慣れてるからじゃね?
0644名無しさん@お腹いっぱい。2008/12/31(水) 00:51:10
Emacs使う人間がC++になれている……?
Emacs自体はCで書かれていて、拡張はLisp方言のelispで書くのに…?
よくワカンネ
0645名無しさん@お腹いっぱい。2008/12/31(水) 02:44:52
>>644
C++の熟練者はCの熟練者でもあるからなあ。
実装上、Cのほうが効率が良ければC++で書けてもCで書くだろふつう。
あと、拡張がLisp系なのはGNU Emacs開発時にC++は生まれたてだったから。
当然処理系の実装も枯れておらず、情報もなければ標準も定まってなかった。
GNU Emacsの開発開始が1984, C++ Programming Languageの発行が1985。
0646名無しさん@お腹いっぱい。2008/12/31(水) 02:54:59
あと、逆に言えばCに熟練したプログラマは当然C++が使えないということもないよ。
0647名無しさん@お腹いっぱい。2008/12/31(水) 03:22:39
PythonやRubyもCで実装されてるんだし、Cで何ら問題ない気がするけど。
それよりも、Lisp部分をもっと汎用的にしてくれたほうがうれしい。
なんか関数型言語ブームみたいだし。
0648名無しさん@お腹いっぱい。2008/12/31(水) 05:10:09
> あと、拡張がLisp系なのはGNU Emacs開発時にC++は生まれたてだったから。
> あと、拡張がLisp系なのはGNU Emacs開発時にC++は生まれたてだったから。
> あと、拡張がLisp系なのはGNU Emacs開発時にC++は生まれたてだったから。
0649名無しさん@お腹いっぱい。2008/12/31(水) 09:24:03
CommonLispやScheme、あるいはHaskellとかならまだ分かるし
百歩譲ってJavaScriptなら理解できるが
なぜC++w

自分はまともなCSの教育を受けたことも無くC系言語しか知らないドカタPGなので
関数型言語は理解できないんですって素直に言ったらどうだ

わざわざ.emacsをC++で記述するつもりかよ?
0650名無しさん@お腹いっぱい。2008/12/31(水) 11:15:24
C++で書いたライブラリの関数を静的リンク無しでelispから呼び出せるとかそういうのは欲しいと思う
0651名無しさん@お腹いっぱい。2008/12/31(水) 15:18:31
>>649
本人以外みんなわかってるんだからわざわざ指摘してやるなよw
0652名無しさん@お腹いっぱい。2008/12/31(水) 16:03:16
>>649
うわあ…
C++コンプまるだしやん。

関数型言語といえば納得してくれる素人ばっかだと思わんように。
0653名無しさん@お腹いっぱい。2008/12/31(水) 16:04:25
あ、そんなに関数型言語マンセーなら
RMSに、EmacsをHaskellで書き直してって頼んで鼻で笑われてね。
■ このスレッドは過去ログ倉庫に格納されています