GNU bug report logs -
#59141
28.1.90; Face :extend when all the line but trailing \n is invisible
Previous Next
Reported by: Ihor Radchenko <yantar92 <at> posteo.net>
Date: Wed, 9 Nov 2022 02:24:01 UTC
Severity: normal
Tags: fixed
Found in version 28.1.90
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
>> Here is an experimental patch for outline.el
>> that demonstrates a possible way to fix this:
>>
>> diff --git a/lisp/outline.el b/lisp/outline.el
>> index a646f71db8..73ae707821 100644
>> --- a/lisp/outline.el
>> +++ b/lisp/outline.el
>> @@ -930,7 +930,8 @@ outline-flag-region
>> ;; We use `front-advance' here because the invisible text begins at the
>> ;; very end of the heading, before the newline, so text inserted at FROM
>> ;; belongs to the heading rather than to the entry.
>> - (let ((o (make-overlay from to nil 'front-advance)))
>> + (let ((o (make-overlay from (1+ to))))
>> + (overlay-put o 'display "\n")
>
> Note that 'font-advance is there for a reason.
>
> Also, what will happen with ellipsis when there is 'display property?
Then ellipsis could be added to (overlay-put o 'display "...\n").
Alternatively, maybe it would be sufficient to put the 'display "\n" property
only on the final newline, thus hiding its face properties.
The drawback is that it requires more overlays.
This bug report was last modified 1 year and 112 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.