- 1 名前:おっす [03/09/18 19:29]
- なんとなくEmacs 触り始めて、なんとなくelispにも手を出して
しまったアナタ。 なんとなく書いてしまったコードをココに書き込んで叩かれましょう。 タタカレテツヨクナレ。 年季の入った玄人衆は、もしアドバイスできたらお願いします。 いや、叩きついでにでも。 とりあえず入門書は ttp://www.netfort.gr.jp/~kiyoka/emacs_setq/emacs_setq.html ttp://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp.html リファレンスマニュアルは(ちと古い) ttp://www.fan.gr.jp/~ring/doc/elisp-manual/elisp.html とか、新しいのは(でも英語) ttp://www.delorie.com/gnu/docs/elisp-manual-21/elisp.html ではひとつ、コード中心の熱いバトルをよろぴく。
- 653 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/28(金) 02:15:52 ]
- >>651
でっちあげてみた。 ただ、複数の invisible 属性があるような場合だとうまく動かない。 たとえばこんなの (concat "a" (propertize "b" 'invisible 'test1) (propertize "c" 'invisible 'test2) "d") (defun kill-ring-save-without-invisible (beg end) (interactive "r") (kill-ring-save beg end) (let ((kill (car kill-ring)) new-kill pos) (when (get-text-property 0 'invisible kill) (setq kill (substring kill (or (next-single-property-change 0 'invisible kill) (length kill))))) (while (setq pos (next-single-property-change 0 'invisible kill)) (setq new-kill (concat new-kill (substring kill 0 pos))) (setq kill (substring kill (or (next-single-property-change pos 'invisible kill) (length kill))))) (setq new-kill (concat new-kill kill)) (kill-new new-kill t)))
- 654 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/28(金) 05:44:14 ]
- 複数の invisible 属性に対応してみた。
(defun kill-ring-save-without-invisible (beg end) (interactive "r") (kill-ring-save beg end) (let ((kill (car kill-ring)) (pos 0) new-kill) (while (> (length kill) 0) (setq pos (or (next-single-property-change 0 'invisible kill) (length kill))) (unless (get-text-property 0 'invisible kill) (setq new-kill (concat new-kill (substring kill 0 pos)))) (setq kill (substring kill pos))) (kill-new new-kill t)))
|

|