のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,822人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレEmacs part 23

    emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - starts + - sticky + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    801 : 名無しさん@お腹 - 2008/01/25(金) 20:55:05 (+13,-30,-186)
    >>800
    ありがとうございます。
    しかし、うまくいかないようです。
    elispはさっぱりわかってないんですが、今
    (defun revert-buffer-with-cp932 ()
    (let ((coding-system-for-read 'cp932))
    (revert-buffer)))
    (add-hook 'find-file-hook 'revert-buffer-with-cp932)
    などと書いてファイルを開いた時に自動で cp932 を適用させようとしているところです。
    まだ書きかけですが、拡張子がtxtの時だけ、問い合わせなしで自動実行させるつもりです。
    802 : 801 - 2008/01/25(金) 22:33:49 (+0,+0,+0)
    やっとできたかな...
    (defvar coding-with-cp932-extension-regexp "\\.txt$")
    (defun revert-buffer-with-cp932 ()
    (let ((coding-system-for-read 'cp932)
    (noconfirm t)
    ignore-auto preserve-modes)
    (with-current-buffer (or (buffer-base-buffer (current-buffer))
    (current-buffer))
    (let* ((auto-save-p (and (not ignore-auto)
    (recent-auto-save-p)
    buffer-auto-save-file-name
    (file-readable-p buffer-auto-save-file-name)
    (y-or-n-p
    "Buffer has been auto-saved recently. Revert from auto-save file? ")))
    (file-name (if auto-save-p
    buffer-auto-save-file-name
    buffer-file-name)))
    (when (string-match coding-with-cp932-extension-regexp file-name)
    (cond ((null file-name)
    (error "Buffer does not seem to be associated with any file"))
    ((or noconfirm
    (and (not (buffer-modified-p))
    (catch 'found
    (dolist (regexp revert-without-query)
    (when (string-match regexp file-name)
    (throw 'found t)))))
    (yes-or-no-p (format "Revert buffer from file %s? "
    file-name)))
    (run-hooks 'before-revert-hook)
    803 : 続き - 2008/01/25(金) 22:34:30 (+0,+0,+0)
    ;; If file was backed up but has changed since,
    ;; we shd make another backup.
    (and (not auto-save-p)
    (not (verify-visited-file-modtime (current-buffer)))
    (setq buffer-backed-up nil))
    ;; Effectively copy the after-revert-hook status,
    ;; since after-find-file will clobber it.
    (let ((global-hook (default-value 'after-revert-hook))
    (local-hook (when (local-variable-p 'after-revert-hook)
    after-revert-hook))
    (inhibit-read-only t))
    (cond
    (revert-buffer-insert-file-contents-function
    (unless (eq buffer-undo-list t)
    ;; Get rid of all undo records for this buffer.
    (setq buffer-undo-list nil))
    ;; Don't make undo records for the reversion.
    (let ((buffer-undo-list t))
    (funcall revert-buffer-insert-file-contents-function
    file-name auto-save-p)))
    ((not (file-exists-p file-name))
    (error (if buffer-file-number
    "File %s no longer exists!"
    "Cannot revert nonexistent file %s")
    file-name))
    ((not (file-readable-p file-name))
    (error (if buffer-file-number
    "File %s no longer readable!"
    "Cannot revert unreadable file %s")
    file-name))
    804 : 名無しさん@お腹 - 2008/01/25(金) 22:43:12 (-5,-23,+1)
    tes
    805 : 803の続き(8 - 2008/01/25(金) 22:44:45 (+0,+0,+0)
    (t
    ;; Bind buffer-file-name to nil
    ;; so that we don't try to lock the file.
    (let ((buffer-file-name nil))
    (or auto-save-p
    (unlock-buffer)))
    (widen)
    (let ((coding-system-for-read
    ;; Auto-saved file should be read by Emacs'
    ;; internal coding.
    (if auto-save-p 'auto-save-coding
    (or coding-system-for-read
    buffer-file-coding-system-explicit))))
    (if (and (not enable-multibyte-characters)
    coding-system-for-read
    (not (memq (coding-system-base
    coding-system-for-read)
    '(no-conversion raw-text))))
    ;; As a coding system suitable for multibyte
    ;; buffer is specified, make the current
    ;; buffer multibyte.
    (set-buffer-multibyte t))

    ;; This force after-insert-file-set-coding
    ;; (called from insert-file-contents) to set
    ;; buffer-file-coding-system to a proper value.
    (kill-local-variable 'buffer-file-coding-system)
    806 : 805の続き - 2008/01/25(金) 22:45:31 (+0,+0,+0)
    ;; Note that this preserves point in an intelligent way.
    (if preserve-modes
    (let ((buffer-file-format buffer-file-format))
    (insert-file-contents file-name (not auto-save-p)
    nil nil t))
    (insert-file-contents file-name (not auto-save-p)
    nil nil t)))))
    ;; Recompute the truename in case changes in symlinks
    ;; have changed the truename.
    (setq buffer-file-truename
    (abbreviate-file-name (file-truename buffer-file-name)))
    ;(after-find-file nil nil t t preserve-modes)
    ;; Run after-revert-hook as it was before we reverted.
    (setq-default revert-buffer-internal-hook global-hook)
    (if local-hook
    (set (make-local-variable 'revert-buffer-internal-hook)
    local-hook)
    (kill-local-variable 'revert-buffer-internal-hook))
    (run-hooks 'revert-buffer-internal-hook))
    nil)))))))
    (add-hook 'find-file-hook 'revert-buffer-with-cp932)
    807 : 名無しさん@お腹 - 2008/01/25(金) 22:50:20 (+31,-29,-25)
    要するに*.txtのときだけ文字コードcp932決め打ちで開きたいってこと?
    808 : 名無しさん@お腹 - 2008/01/25(金) 22:55:49 (+66,+29,-2)
    >>807
    そうです。
    もっと上手い書き方がありますか?
    809 : 名無しさん@お腹 - 2008/01/25(金) 23:01:13 (+19,-30,-29)
    >>808
    それでいいのなら、file-coding-system-alistという仕組みがあるよ。
    810 : 名無しさん@お腹 - 2008/01/25(金) 23:04:45 (-2,-30,-53)
    (modify-coding-system-alist 'file "\\.txt\\'" 'cp932-dos)
    かな。
    811 : 名無しさん@お腹 - 2008/01/25(金) 23:15:48 (+17,-13,-10)
    >>809-810
    ありがとうございます。うまくいきました。
    普段 xyzzy を使っているので elisp はさっぱりなのです。
    812 : 名無しさん@お腹 - 2008/01/26(土) 01:21:54 (+7,-30,+0)
    昔叩かれて育てelispって感じのスレあったけど今はないのかな?
    燃料投下してみる。スレチだったらごめん

    emacs22, wanderlustにて、送信情報が一発変更できないのが不便だと思った。受信は.foldersで色々設定できるのに!
    てことで、ちょっと作ってみた。突っ込みよろしく

    補完用とアカウント設定
    (setq ven-maffy-smtp-account-table
    '(( "completeWord"
    "サーバー"
    "ドメイン"
    "owner"
    ((reply "Reply-to: xxxxxx"
    ("To" . "")
    ("Cc" . "")
    ("Bcc" . "xxxxx"))))
    ))

    補完機能付送信情報変更
    (defun ven-maffy-smtp-account-change ()
    "SMTP Account change "
    (interactive)
    (let ((account)(completion-ignore-case t))
    (setq account (cdr (assoc (completing-read
    "need Complete a SMTP Account: "
    ven-maffy-smtp-account-table nil t "defaultComplete") ven-maffy-smtp-account-table)))
    (setq wl-smtp-posting-server (nth 0 account)
    smtp-local-domain (nth 1 account)
    wl-from (nth 2 account)
    wl-draft-cofnig-alist (nth 3 account))))
    普段はサマリーモードのdefine-keyで、C-ccで変更してます。
    813 : 名無しさん@お腹 - 2008/01/26(土) 01:24:36 (-1,-29,-10)
    投稿してから思い出したけど、base64-encode-regionしたのを張ったほうがよいのかな?
    814 : 名無しさん@お腹 - 2008/01/26(土) 08:15:50 (+32,-30,-41)
    >>812
    wl-draft-config-alistでFrom:についてのパタンをキーにするといい。
    815 : 名無しさん@お腹 - 2008/01/26(土) 12:47:03 (+4,-29,-24)
    elispで書いたprogramをemacsなしの単独で動かす方法ないのでしょうか?
    816 : 名無しさん@お腹 - 2008/01/26(土) 13:06:55 (+3,-30,-61)
    >>815
    意訳すると、こんな風にスクリプトとして使いたいってこと?
    今月の Software Design の Emacs の特集にあったよ。

    #!/usr/local/bin/emacs --script

    (message "Hello, world.")
    817 : 名無しさん@お腹 - 2008/01/26(土) 13:41:12 (+57,+29,-11)
    ずーっと以前はスタンドアロンなインタープリターとしてコンパイルでき
    たけど(それらしきifdefがはいっていた)、22ではなくなってるな。
    818 : KingOfMa - 2008/01/26(土) 14:27:09 (+32,-29,-16)

    君達の中に pymacs を常用しているコアなユーザーはいないのかね?
    もしいるのであれば pymacs の情報交換をしないか?

    819 : 名無しさん@お腹 - 2008/01/26(土) 16:36:22 (+68,+29,-10)
    >>818
    へぇ、こんなものがあるんだ
    ほかのスクリプト言語でもつくられてるのかなぁ?
    820 : 名無しさん@お腹 - 2008/01/26(土) 16:48:24 (-1,-29,+0)
    名前しか知らないけど、climacs
    821 : KingOfMa - 2008/01/26(土) 17:00:55 (+43,-30,-74)
    >>819
    ちょっとばかし勘違いしているようだから一応説明しておくが、 pymacs は
    emacs 内で python の expression や statement を実行し、
    返り値を emacs lisp が理解できるデータ構造へ変換するなどのサポートによって
    emacs <-> python のコミュニケーションを可能にするパッケージだぞ。
    主に Emacs Lisp ができない部分を Python にやらせる、という言語拡張的用途で
    使用される。

    822 : 名無しさん@お腹 - 2008/01/26(土) 17:36:00 (+58,+29,+0)
    >>821
    うん分かってるよ
    823 : 名無しさん@お腹 - 2008/01/26(土) 19:44:44 (+57,+29,-37)
    なんかrubyといちゃいちゃする奴もあった気がするけど、
    るびきちがつくってたから即ページ閉じた記憶がある。
    824 : 名無しさん@お腹 - 2008/01/26(土) 20:31:32 (+85,+28,+0)
    おッパイマックス
    825 : 名無しさん@お腹 - 2008/01/26(土) 20:47:45 (+52,+29,-2)
    るびきちプロダクツは使いたくない
    826 : 名無しさん@お腹 - 2008/01/26(土) 20:50:13 (+57,+29,-28)
    じゃあ俺はC++といちゃいちゃするのを作るよ
    827 : 名無しさん@お腹 - 2008/01/26(土) 20:57:21 (+57,+29,-23)
    じゃ俺はその副産物のC++インタプリンタに期待してテカテカしとくよ
    828 : 名無しさん@お腹 - 2008/01/26(土) 22:02:47 (+62,+29,+0)
    >>814
    確かに、賢いね
    ありがとー
    829 : KingOfMa - 2008/01/27(日) 05:45:50 (+97,+29,-18)
    >>824
    ある私の従兄弟が同じ低レベルな駄洒落を言っていたぞ。

    830 : 名無しさん@お腹 - 2008/01/27(日) 11:20:40 (+58,+22,+0)
    >>829
    高レベル乙
    831 : 名無しさん@お腹 - 2008/01/27(日) 13:03:32 (+119,+30,-123)
    非常に長い行がある大きなファイルを開くと、ほとんどのモードでフリーズしてしまいます。
    これは各モードでのフォントロックの正規表現が原因だと思いますが、ある一定のコラム数
    以上の行を含むファイルは開く確認を求めるようにする、又はフォントロックを制限する
    ことは可能ですか?
    832 : 名無しさん@お腹 - 2008/01/27(日) 13:47:54 (+67,+26,-18)
    >>831
    elispを書けない俺なら、ラップする起動スクリプトを書くだろうなぁ。
    833 : 名無しさん@お腹 - 2008/01/27(日) 14:35:05 (+11,-29,-10)
    >>831
    ファイルが決っているなら、そのファイルでだけ font-lock を nil にするとか。
    834 : 名無しさん@お腹 - 2008/01/27(日) 15:14:42 (-2,-30,-19)
    M-x find-file-without-font-lock
    835 : 名無しさん@お腹 - 2008/01/28(月) 00:01:25 (+3,-30,-75)
    diredでファイル移動しようとすると

    dired-rename-file: Symbol's value as variable is void: dired-backup-overwrite

    って文句言われる事あるけど、
    dired.elの中でdired-auxをrequireしとけよって思った。
    最新では直ってるのかな。
    836 : 名無しさん@お腹 - 2008/01/28(月) 00:04:47 (+57,+29,-16)
    あ、ズレた事書いてしまったようだ。
    とにかく、Rキーにバインドされてるのに、
    変数が定義されてなくて素直に使えないのはいただけないな、と。
    837 : 名無しさん@お腹 - 2008/01/28(月) 00:35:30 (+25,-2,-2)
    うちの22.1ではそんなエラーは起きないけど?
    838 : 名無しさん@お腹 - 2008/01/28(月) 03:39:01 (+13,-30,-72)
    (setq special-display-buffer-names '(("*Help*" (:background "LightSteelBlue"))))
    これで*Help*の背景色が青っぽくなるはずなんですが、なりません (23.0.60)
    一応別のフレームに表示されるようにはなってるんですが、色がdefaultのままです
    なんか間違ってますか?
    839 : 名無しさん@お腹 - 2008/01/28(月) 04:41:33 (+19,-30,-87)
    まず
    > the FRAME-PARAMETERS are pairs of the form (PARAMETER . VALUE);

    で、これ評価すればわかるだろうけど、色指定は background-color
    (print (mapcar 'car (frame-parameters)))

    840 : 831 - 2008/01/28(月) 08:13:55 (+172,+29,-47)
    かなり需要はあると思ったんだけど、他にやってる人いなさそうなので、
    生姜なく自分で実装してやりました。
    思ったより時間がかからなかったけど、まんどくさかった。
    今は快適快適
    841 : 名無しさん@お腹 - 2008/01/28(月) 09:53:17 (+106,+29,+0)
    >>840
    > かなり需要はあると思ったんだけど、
    無いと思うよ。
    842 : 831 - 2008/01/28(月) 10:55:08 (+150,+29,-82)
    >>841
    あんまりファイルを開かない人にとってはね。
    emacs のヘビーユーザーだったら、フォントロックのregexpによる
    フリーズを既に何度も味わってることだし、そのユーザー層には需要があると思われる。
    >>840がライトユーザーなだけでしょ?
    843 : 名無しさん@お腹 - 2008/01/28(月) 11:13:39 (+9,-29,-4)
    >>842
    みんなのために、M-x report-emacs-bug しといてくれ
    844 : 名無しさん@お腹 - 2008/01/28(月) 11:19:46 (+68,+24,-13)
    >>842
    君はライトユーザなのかw
    845 : 名無しさん@お腹 - 2008/01/28(月) 11:55:09 (-1,-29,-17)
    長い行があるファイルを開くことがないなー。
    バイナリを開くときは、hexl-find しちゃうし。
    846 : 名無しさん@お腹 - 2008/01/28(月) 12:01:29 (+82,+28,-4)
    >>842
    > >>840がライトユーザーなだけでしょ?
    今ひどい自演を見た
    847 : 名無しさん@お腹 - 2008/01/28(月) 12:01:57 (+47,+19,-19)
    そのフリーズするとかいうファイルのサンプルが欲しいな。
    848 : 名無しさん@お腹 - 2008/01/28(月) 12:51:49 (+3,-30,-50)
    font-lockが重いファイルは
    jit-lock-modeとかlazy-lock-modeとか使えば
    改善されるよ。
    font-lock-support-mode使ってファイル毎にロックモードかえられる。
    849 : 名無しさん@お腹 - 2008/01/29(火) 01:00:22 (+2,-29,-21)
    appendでlistに追加するときに
    追加したい要素が既にlist内にあったら追加しない方法って
    処理行う前に要素全部と比較するしかないかな?
    850 : 名無しさん@お腹 - 2008/01/29(火) 01:54:12 (-1,-30,-13)
    >>849
    subr.el の add-to-list を見ると、compare-fn が null,eq,eql 以外のとき、そうしてるよね。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - starts + - sticky + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について