|
From: | Daniel Colascione |
Subject: | bug#16413: 24.3.50; Inconsistent behavior of text property functions in narrowed buffer |
Date: | Sat, 11 Jan 2014 00:03:42 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
On 01/11/2014 12:01 AM, Eli Zaretskii wrote:
Date: Fri, 10 Jan 2014 20:05:33 -0800 From: Daniel Colascione <dancol@dancol.org> On 01/10/2014 07:05 PM, Nathan Trapuzzano wrote:The various functions for examining text properties behave unintuitively and incosistently at (point-max) on narrowed buffers. Rather than returning `nil', they return the prop(s) of the text at (point-max), even though the text is not actually visible in the buffer, due to narrowing. By contrast, `char-after' always returns `nil' when passed (point-max). It seems to me the text property functions should also return `nil', as they do at (eobp) on widened buffers.I agree that this behavior is unintuitive, but I wonder whether we can fix this bug without breaking existing elisp.I don't even agree it's not intuitive: in the eob case there's nothing at point-max, while in a narrowed buffer there's a character there. Narrowing is not documented to make the text outside the region to magically disappear, it just prevents point from moving there.
Narrowing *is* generally useful for treating part of a buffer as a consistent unit, though, especially when that part is syntactically different from the rest of the buffer.
[Prev in Thread] | Current Thread | [Next in Thread] |