[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs Lisp manual issues regarding overlays, display properties, mar
From: |
Joe Wells |
Subject: |
Re: Emacs Lisp manual issues regarding overlays, display properties, margins, etc. |
Date: |
Sat, 29 Sep 2007 17:38:55 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) |
Johan Bockgård <bojohan+news@dd.chalmers.se> writes:
>Joe Wells <jbw@macs.hw.ac.uk> writes:
>
>> Issue 1: The “height” display specification seems not to work at
>> all. For example, in the following the B is not larger:
>>
>> (test-overlays
>> (insert "ABC")
>> (let ((o (make-overlay 2 3)))
>> (overlay-put o 'display '(height 2))))
>
> This worked for me.
For me, running all of the above in a fresh “emacs -Q”, all three
characters (A, B, and C) get displayed with font
“-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO8859-1”. I
used “C-u C-x =” to find out what font is used.
By the way, I have no font settings for Emacs in my X resources.
Have you tried the example in a fresh “emacs -Q”? If so, what fonts
do the 3 characters get displayed with? Can you try it also with no X
resource font settings for Emacs?
>> Issue 6: The “Overlay Properties” manual node says this on
>> overlay priorities: [...]
>
>> So what is the relative priority of an overlay which has a
>> nonnegative integer value of its priority property, and one which
>> has no priority property at all? It seems that nil is below 0:
>>
>> (test-overlays
>> (insert "ABC")
>> (let ((o1 (make-overlay 2 3))
>> (o2 (make-overlay 2 3)))
>> (overlay-put o1 'display "123")
>> (overlay-put o2 'priority 0)
>> (overlay-put o2 'display "abc")))
>
> Both overlays have priority 0. o2 takes precedence because it is on top
> (you get the same result without the second last line).
Can this please be documented? Both that no “priority” property (or a
value of nil) is equivalent to a value of 0, and how priority works
for overlays with the same priority.
--
Joe
P.S. Here is the test-overlays macro again:
(defmacro test-overlays (&rest body)
`(let ((buf (get-buffer-create "xyzzy")))
(with-current-buffer buf
(display-buffer buf)
(erase-buffer)
(dolist (o (overlays-in (point-min) (point-max)))
(delete-overlay o))
,@body)))