[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: inline image for Mule 2



>>>>> In [emacs-w3m : No.03299]
>>>>>	Katsumi Yamaoka <yamaoka@jpl.org> wrote:

山岡> いや、たぶんぼくの .emacs かどこかに何かあります。

そうでもないかもしれないので、ちょっと書きます。^^;;

Emacs 20 では face property を持たないか、値が nil の overlay、
すなわち

(overlay-get OVERLAY 'face)
 => nil

のようなものは、デフォルトで `default' という face を持つように
なっているようです。つまり以下を行なった場合と同じです。

(overlay-put OVERLAY 'face 'default)

つまり、この OVERLAY がかぶせられたテキストの表示には、`default'
という face の属性が適用されるのですが、

(face-background 'default)
 => nil
(face-foreground 'default)
 => nil

という条件では、その OVERLAY がかぶせられても、おそらく表示は変
化しないでしょう。みなさんは `default' の色を変更していないので
はないですか?

以下の式を試してみて下さい。M-x xxx-test です。

[1]Hit any key:

の後で "Hello World!" が BG=赤, FG=黄 になれば、ぼくの環境といっ
しょですし、w3m-bitmap-transparent-face のようなものはやっぱり必
要だということになります。

(defun xxx-test ()
  (interactive)
  (let ((buffer (get-buffer-create "*xxx-test*"))
	(pop-up-windows t)
	pop-up-frames ovl)
    (copy-face 'default 'xxx-default)
    (pop-to-buffer buffer)
    (erase-buffer)
    (insert "Hello World!\n")
    (make-face 'xxx-face)
    (put-text-property (point-min) (point-max) 'face 'xxx-face)
    (set-face-background 'xxx-face "Cyan")
    (set-face-foreground 'xxx-face "Blue")
    (unwind-protect
	(progn
	  (read-char "[1]Hit any key: ")
	  (set-face-background 'default "Red")
	  (set-face-foreground 'default "Yellow")
	  (setq ovl (make-overlay (point-min) (point-max)))
	  (read-char "[2]Hit any key: ")
	  (delete-overlay ovl)
	  (read-char "[3]Hit any key: "))
      (copy-face 'xxx-default 'default))))
-- 
Katsumi Yamaoka <yamaoka@jpl.org>