|
From: | Dmitry Gutov |
Subject: | bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled. |
Date: | Fri, 11 Aug 2023 14:18:15 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 |
On 11/08/2023 13:42, Alan Mackenzie wrote:
Hello, Dmitry. On Fri, Aug 11, 2023 at 03:51:09 +0300, Dmitry Gutov wrote:On 08/08/2023 18:33, Alan Mackenzie wrote:So I'm still wondering why you think it's a bug.Because it violates the definition and basic understanding of equal. It's a special case when no special case is needed.Does 'equal'-ity of strings with and without text properties (or with different text properties) violate these as well?Maybe, maybe not. It depends on whether you consider the text properties on a string (or buffer portion) an essential part of the string or not.
...or, like, a metadata attached to a value. Which is an approach to have its benefits as well, seeing how we've been living with it for many years.
I think it was possibly a design error to have text properties conceptually as a part of a string/buffer rather than something associated with it, like an overlay. The fact that equal ignores these properties supports this view.
We needed a reference to access the properties from. Overlays are different because they attach to a buffer. There is nothing else to attach to when you have a string value.
Which seems very similar to the situation with symbols, I think.
[Prev in Thread] | Current Thread | [Next in Thread] |