[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 03/27 08:34 / Filesize : 205 KB / Number-of Response : 769
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Emacs Lisp 3



1 名前:デフォルトの名無しさん [2007/10/09(火) 05:39:53 ]
Emacs Lisp の専用スレ。
少数派による互助を中心に、初心者の相談も気が向けば受け付けます。
単なる Emacs ユーザーは別板の Emacs 関連スレにどうぞ。

過去スレ
Emacs Lisp
pc2.2ch.net/test/read.cgi/tech/1004551074/
Emacs Lisp 2
pc11.2ch.net/test/read.cgi/tech/1068467385/

関連スレ
Emacs part 22
pc11.2ch.net/test/read.cgi/unix/1180828013/
【叩かれて】Emacs Lisp道場【強くなれ】
pc11.2ch.net/test/read.cgi/unix/1063880951/
Lisp Scheme Part18
pc11.2ch.net/test/read.cgi/tech/1186922295/

700 名前:デフォルトの名無しさん [2012/03/09(金) 07:48:01.98 ]
Meadowでget-buffer-createしたバッファに
while回しながら見つけたファイルの名前と中身を
insertしようと

(if (file-exists-p filename)
(progn
(insert filename)
(insert-file-contents filename))
)

と書きましたが、書き込みがバッファされているようで、先にファイルの中身が
全部インサートされて後から(insert file)の結果がまとめてインサートされているようです。

(insert filename)
(sit-for 0)
(insert-file-contents filename))

とかやれば、そこでフラッシュされるかなと思ったのですが、
それもダメでした。何かいい方法はないでしょうか。


701 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 10:54:52.36 ]
>>700
バッファされてるんじゃなくてpointがダメな気がする。
insertとinsert-file-contentsはpointからデータを挿入するけど、
insert-file-contentsの方は挿入した後pointを動かさないから、
(goto-char (point-max))とかしてみたらどうかね。

702 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 13:25:16.80 ]
強制描画させるのなら、sit-forではなくて redisplay, redraw-frame, redraw-display とかは?

703 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 13:40:54.66 ]
実践Emacs入門読んだ。
elispを関数型言語って言ってるんだけど
誤記たよね?

704 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 14:06:39.05 ]
今出てるWEB+DBの記事の定義に従えばそうだね

でも、↓ではCLがHaskellと同列に書いてあるし、
en.wikipedia.org/wiki/Functional_programming
functional flavor languageで初期LISPも紹介してあるから、そんなに目くじらたてるほどでもないんじゃないの

705 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 14:15:26.74 ]
単に初期のLispじゃなくて、マッカーシー先生が論文中で示した、
理論的なモデルのことを指してるんじゃないかなそれは。

706 名前:704 mailto:sage [2012/03/09(金) 16:37:17.52 ]
そうなんだ

707 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 18:00:53.80 ]
で、実装しちゃったのがスティーブ・ラッセル氏

708 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 05:38:23.01 ]
るびきちの「Emacs Lispテクニックバイブル」ってこのスレの人的には
評価どうなん?



709 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 05:50:32.97 ]
Emacsテクニックバイブルとは別の本だということを知らなかった

710 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 08:55:56.58 ]
>>701
遅くなりましたが、そのとおりでした。ありがとうございます。
>>702
何かのときのために覚えて起きます。

711 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 10:00:02.54 ]
るびきちって、るびーきち○いだった人?

712 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 13:26:39.59 ]
> るびきちの「Emacs Lispテクニックバイブル」

内容以前に文章が稚拙すぎると思った。


713 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 13:44:11.30 ]
いいじゃない。頑張って書いてるんだから。何処かの翻訳本とかの何書いてるか分からないよりはまし。
本書いたことがないとどれだけ大変か分からない。

それとも、お前サバンナでも同じ事言えんの?

714 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 13:54:05.09 ]
>>713
サバンナ?わからない。
上の本に関してはどこか作者の心の乱れみたいなのを感じちゃって
正視に耐えなかった。


715 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 14:08:06.87 ]
             ,,ト、,, ,,ィ ,ィ
           _,,-;" '' ゛''" ゛';__
           ヽ/""゛゛''`';, ノr´)
          ,;'゛/__   _ "iヽ;ミ    お前ってアレだよな…
          ,,'"|( d  /oノ ド゛ `ミ   サバンナじゃ真っ先に死ぬタイプだよな
         r ";,| ▼    ド゛ `ミ
        (`ヽ';ヽ_人__ノ  /  ,,ミ゛、
         ヽ、 '';,i⌒⌒  /   リ  ヽ、
         /` ィ'r`''''""´  ,,ミ゛    |
        /   | ゛r、ノ,,トリ'"  i    |
        /   |          |    |
 ̄ ̄ ̄ ̄ ̄i   ノ ̄ ̄ ̄ ̄ ̄ ̄/   ノ ̄ ̄ ̄ ̄
        `ー ´        /  /
                ,-ー´  /
               ((_(_(_ノ

716 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 14:11:30.45 ]
savannah.gnu.org

717 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 14:27:06.17 ]
Emacsはサバンナやったんや

718 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:14:00.00 ]

               , -――- 、
              /       ヽ
              | ノ  ー    |   それっておかしくねぇ?
              |(・) (・)   |   だって、ここ2chじゃん
              |  (      |
              ヽ O    人
               >ー-― ´   ̄ ̄\
  ⊂ニニ ̄ ̄ ̄ヽ  /              |
     くメ) _ノ  |  |  |        |   |
       (/  |  | /  |        |   |
          |  |/  /|        |   |
          |  ト  / |        |   |
          ヽ__/ |        |   |



719 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:15:13.34 ]
氏の文章は論理的でなく読んでいて苦痛ですらある
Emacs Lispテクニックバイブルp. 82から引用してみよう

> 2-11-1 Lispファイルの置いているディレクトリを指定する
>
> ロードする方法を解説する前に、elispの置いてあるディレクトリを
> 指定しなければなりません。それを指定することで、ロードするときに
> Lispファイルのディレクトリ名を指定する必要がなくなります。

解説するのは誰か、ディレクトリを指定するのは誰か
本当に「しなければならない」のか

こういった論理の乱れが作用し読者はいつしか電波を発するようになるのである

720 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:37:12.21 ]
分かりにくいかもね。後半の文は要らんかったかもね。
どんな表現だったら良かったんだろうね
編集さん大変だったろうなあ

721 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:49:21.27 ]
その人の本は読んだことは無いがそこをさっと目で流した限り、
一般的に言うところの”パスを通す”と似た様な事をするんだろうなと読め、そんなに引っかかりは感じなかった。
精読や多読していくと違和感を感じるんだろうか。

722 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:57:55.82 ]
俺文書くのうまいぜっていう人ほど客観的になれなくて、
負けず嫌いだったりすると周りの言う事聞かなくなるからなあ。
小説の読み方の教科書とか

723 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 16:03:04.03 ]
>>719
お買い上げありがとうございます。

724 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 17:24:23.47 ]
>719の文章は、「ロードする方法をさっと解説してからパス通すことを
教えた方が必要性が分かりやすくていいんじゃね」とか突っ込まれたときに
受け入れることも無視することもできなかった結果の産物っぽく感じる

だから、単に言うこと聞かずに我が道をゆく方がマシだったんじゃね
従わないけど聞かずにはいられないってタイプがもっとも支離滅裂な結果になる

>>721
基本的に著者の書きたいことを分かってる場合は(著者と同じく)おかしさを感じにくいからな
そういう脳内変換は2chやネットの文章あさるには必須の技能でもあるし

725 名前:デフォルトの名無しさん [2012/03/10(土) 17:24:55.22 ]
elispの置いてあるディレクトリを指定することで、ロードするときにLispファイルの
ディレクトリ名を指定する必要がなくなります。
ロードディレクトリの指定は必須ではありませんが、
以降はロードディレクトリを指定した前提でロードする方法を解説します。




どう?


726 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 17:39:27.49 ]
>>725
その文章の方がいいことを説明する前に、>>719の方が圧倒的に面白い。

727 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 18:55:53.69 ]
「るびきちは文章が下手で読むに耐えない」
2ちゃんでは珍しくはっきりした結論がでたな
「理科系の作文技術」でも読んで寝るわ

728 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 19:59:39.57 ]
ちょっと前まではこの手の話題になると
ねたみ酷いって書き込みが入ったものだが




729 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 21:03:33.05 ]
その時もあんな酷い文例貼られてた?

730 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:03:22.91 ]
>解説するのは誰か、ディレクトリを指定するのは誰か
解説は本の役目で指定するのは自分、これ以外どう解釈するんだ?

731 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:22:48.16 ]
> ロードする方法を私が解説する前に、elispの置いてあるディレクトリを
> あなたは指定しなければなりません。それをあなたが指定することで、ロードするときに
> Lispファイルのディレクトリ名をあなたが指定する必要がなくなります。
はっきりさせるとむしろおかしくね?w

732 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:24:37.67 ]
>>730
本人乙。そう解釈せざるをえないのだが、
| (本が)ロードする方法を解説する前に、(あなたは)elispの置いてある
| ディレクトリを指定しなければなりません。
一つの文で主語が切り替わるからイラつく。

733 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:25:21.44 ]
>>730
複文かつねじれた文ってやつだよ
大卒ならみんな知ってる

734 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:30:04.29 ]
>大卒ならみんな知ってる

あほすぎ。なんか Emacs スレみたいな感じになってきたね。
あっちスレの誰かがやってきたのかな?


735 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:43:07.93 ]
>>734
まあそうだね。>>733は引っこめるよ。すまなかった

736 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:51:18.59 ]
大卒じゃなくても…とか大卒でも…とかマジレスしようと思ったけど
もしかしてその著者が大卒じゃないとかそういう流れでのレス?

737 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 23:32:52.39 ]
るびきちは一応大卒だったと思うが
>【著者紹介】 るびきち
>早稲田大学大学院理工学研究科修士課程修了。

738 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 23:58:34.13 ]
なんか臭い。



739 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:24:24.11 ]
じゃあべつにジョークでもなかったか
素直に735の意に従うべきだったな

740 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:51:16.12 ]
何かを作ったことが無い人は「これくらいなら自分でも本気出せば作れる」と思ってる

741 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:54:32.63 ]
この程度なら、と思わせる文章の酷さ。

742 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:59:10.07 ]
>>740
あるあるすぎて困るけど作品の批評とはまた別の話

743 名前:デフォルトの名無しさん [2012/03/17(土) 14:27:29.00 ]
質問です。2つのOCRした文章に、大きな違いが無いことを確認するために
*ediff control panel*で
(defun my-ediff-make-fine-diffs-all ()
(interactive)
(let ((i 0))
(while (< i ediff-number-of-differences )
(ediff-make-fine-diffs i)
(setq i (1+ i))
)))
として overlay で違いを強調するところまではやったのですが、
overlayのままでは、enriched-mode で保存も出来ないので、
overlay を text-property に変換して enriched-mode で保存できたら
いいなと思ってるんですが、どうすればいいでしょうか。
文章が長いのとOCRのノイズが多いので、手ではやりたくありません。

よろしくお願いします。

744 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 16:48:20.69 ]
next-overlay-changeとかでバッファの先頭からループして
テキストプロパティに変換して削除して回るだけっぽい


745 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 17:39:46.40 ]
>>744
www.gnu.org/software/emacs/manual/html_node/elisp/Finding-Overlays.html
の find-overlays-specifying を見てたんですが、
(overlay-get overlay 'face) とかでどんな overlay かは返ってきますね。

するとこれをスタックに積んで始まりと終わりが分かったら
そこを変換しろと言う訳ですね。ちょっとやってみます。
また分からなかったら質問します。ありがとうございます。

746 名前:デフォルトの名無しさん [2012/03/21(水) 23:49:54.13 ]
deを含まないabcを探索したいのですが、以下でうまくいきません。
もしかして、emacs lispで「?!」は使えないのでしょうか?

(re-search-forward ”abc(?!de)” nil t)

747 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 00:16:43.92 ]
Infoぐらい読もう。
(info "(elisp)Syntax of Regexps")

748 名前:746 mailto:sage [2012/03/22(木) 01:07:53.55 ]
>>747
special charactersに「!」が含まれていないので、
使えないという理解でいいんですよね?

うーん、書くのが面倒くさくなるなあ。



749 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 02:16:32.52 ]
>>746
バックスラッシュが括弧に必要

750 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 08:31:18.61 ]
>>749
拡張正規表現の話だぞ。

751 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 13:49:33.36 ]
>>750
すまん。Emacsに先読みが無いことに今気がついた。
普通は後続の正規表現を指定するか、単語境界いれるからあんまり使わないんだよね

752 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 16:17:30.37 ]
elispは拡張正規表現をサポートしていない。

代替するとこんな感じか?わっかりにっきーな
(re-search-forward "abc[^d]\\|abcd[^e]\\|abc$\\|abcd$")

753 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 21:46:10.19 ]
>>752
「拡張正規表現」の定義によりますよ。

754 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 22:06:24.54 ]
言いたいことあるなら中身まで言えば良いのに

755 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 22:12:46.02 ]
>>750
emacsの正規表現でグループ化するには(をエスケープして\(としてやらないといけない
しかし単に"\("と書いてはいけない。
"\("が文字列として評価され(になり、その(が正規表現に渡されてとして評価される
正規表現に\(を渡したい時は文字列"\\("としないといけない

756 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:15:18.09 ]
>>755
エスケープはわかったからさ。>>746
> deを含まないabcを探索したいのですが
これをemacsの正規表現で書いてくれや。

757 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:36:29.29 ]
サーセン

758 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 13:24:07.87 ]
>>756
>>753



759 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 16:20:20.63 ]
?
emacsの正規表現って定義あるよね?

760 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 23:21:27.61 ]
Perl/Ruby/Python/TclとかにあるNegative lookahead (?!re)はemacs lispには無いはず。
emacs24とかは知らんが。

abc(?!de)は、"abcxxxx" の最初の "abc" とマッチするんだよね。
>>752のは "abcx"とマッチすることになるから微妙に違ってくる。
emacs lispでは、ひとつの正規表現だけでは、これと同じことはできないんじゃないの?

761 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 01:31:35.63 ]
vim なら abc\(de\)\@! でできる。
Emacs の正規表現の貧弱さにはいつもイライラする。


762 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 05:17:04.56 ]
鬼車導入と新たな正規表現リテラルの導入かねやっぱり

763 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 10:03:06.08 ]
今更エンジン変更とか新しくPEG導入するよかコストかかりそう

764 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 13:45:33.85 ]
正規表現をPCREに変えろという話が本家で出ては消え、出ては消え・・・
本気で変えたいんならレキシカルスコープ変数やった人みたいに、
専用ブランチ作ってマージして、互換性の問題などを検証してみんなを納得させないといけない。
PEGはもういくつか実装あるような希ガス

765 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 15:24:09.42 ]
ELisp の場合、正規表現を特別扱いするような文法はないから、単に新しい関数群を導入すれば互換性は壊さずに済むよ。
pcre-search-forward や pcre-match-string みたいな。


766 名前:デフォルトの名無しさん [2012/03/24(土) 19:29:57.02 ]
以下の設定で、open -gとしてバックグランドで開きたいのですが、どのように書けば"-g"オプションを渡せますか?
(setq browse-url-generic-program "/usr/bin/open")

767 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:39:48.53 ]
browse-url-generic-args ってそれ指定するための変数じゃねーの?しらんけど

768 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:04:29.09 ]
>>767
(setq browse-url-generic-args (list "-g")))
でうまく行きました。ありがとうございます。








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<205KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef