[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#58168: string-lessp glitches and inconsistencies
From: |
Eli Zaretskii |
Subject: |
bug#58168: string-lessp glitches and inconsistencies |
Date: |
Tue, 04 Oct 2022 14:37:27 +0300 |
> From: Mattias Engdegård <mattias.engdegard@gmail.com>
> Date: Mon, 3 Oct 2022 21:48:10 +0200
> Cc: 58168@debbugs.gnu.org,
> Eli Zaretskii <eliz@gnu.org>
>
> 1 okt. 2022 kl. 15.51 skrev Eli Zaretskii <eliz@gnu.org>:
>
> > I think the variable is a misnomer of sorts: the request back when it
> > was introduced to display hex where we usually display octal \nnn
> > escapes. And the latter happens not only for raw bytes.
>
> Fair enough. Maybe the documentation should reflect that, but I'm still
> holding out for a change to the C1 presentation in the long term, so...
>
> I'm not going to pursue this little digression any further except that while
> looking at it I found a few inaccuracies and a likely bug in
> redisplay-testsuite.el. I'm attaching a patch which un-muddles the test and
> adds a display of unprintable Unicode chars such as C1 controls, in addition
> to raw bytes. I'd like to adorn the commit with the correct bug number so if
> you remember that of the original discussion that would be useful (I never
> found it very easy to search debbugs).
First I needed to fix fallout from making STRING_CHAR intolerant of
unibyte text, because redisplay-testsuite caused assertion violations
in string_char_and_length. (Doesn't it abort for you? or do you not
build Emacs with --enable-checking?) This was a regression in Emacs
28, sigh.
Looking at your patch, I don't think I understand this part:
> --- a/test/manual/redisplay-testsuite.el
> +++ b/test/manual/redisplay-testsuite.el
> @@ -305,7 +305,7 @@ test-redisplay-5-toggle
> (let ((label (if display-raw-bytes-as-hex "\\x80" "\\200")))
> (overlay-put test-redisplay-5a-expected-overlay 'display
> (propertize label 'face 'escape-glyph)))
> - (let ((label (if display-raw-bytes-as-hex "\\x3fffc" "\\777774")))
> + (let ((label (if display-raw-bytes-as-hex "\\xfc" "\\374")))
> (overlay-put test-redisplay-5b-expected-overlay 'display
> (propertize label 'face 'escape-glyph))))
>
> @@ -320,18 +320,36 @@ test-redisplay-5
> (test-insert-overlay " " 'display "\200"))
> (insert "\n\n")
> (insert " Expected: ")
> - ;; This tests a large codepoint, to make sure the internal buffer we
> - ;; use to produce the representation is large enough.
> - (aset printable-chars #x3fffc nil)
> (setq test-redisplay-5b-expected-overlay
> (test-insert-overlay " " 'display
> - (propertize "\\777774" 'face 'escape-glyph)))
> + (propertize "\\374" 'face 'escape-glyph)))
I could understand why you'd want to _add_ the larger values, but why
replace?
As for the bug report which led to display-raw-bytes-as-hex (if that
what you meant) and its discussion, it's bug#27122. (If you know what
code is in question, it is much easier to find the bug via "git
annotate", assuming the bug number was cited in the commit logs.)
- bug#58168: string-lessp glitches and inconsistencies, (continued)
- bug#58168: string-lessp glitches and inconsistencies, Eli Zaretskii, 2022/10/01
- bug#58168: string-lessp glitches and inconsistencies, Eli Zaretskii, 2022/10/01
- bug#58168: string-lessp glitches and inconsistencies, Lars Ingebrigtsen, 2022/10/01
- bug#58168: string-lessp glitches and inconsistencies, Eli Zaretskii, 2022/10/01
- bug#58168: string-lessp glitches and inconsistencies, Mattias Engdegård, 2022/10/01
- bug#58168: string-lessp glitches and inconsistencies, Lars Ingebrigtsen, 2022/10/01
- bug#58168: string-lessp glitches and inconsistencies, Mattias Engdegård, 2022/10/03
- bug#58168: string-lessp glitches and inconsistencies, Lars Ingebrigtsen, 2022/10/04
- bug#58168: string-lessp glitches and inconsistencies,
Eli Zaretskii <=
- bug#58168: string-lessp glitches and inconsistencies, Mattias Engdegård, 2022/10/04
- bug#58168: string-lessp glitches and inconsistencies, Eli Zaretskii, 2022/10/04
- bug#58168: string-lessp glitches and inconsistencies, Mattias Engdegård, 2022/10/06
- bug#58168: string-lessp glitches and inconsistencies, Eli Zaretskii, 2022/10/06
- bug#58168: string-lessp glitches and inconsistencies, Mattias Engdegård, 2022/10/06
- bug#58168: string-lessp glitches and inconsistencies, Eli Zaretskii, 2022/10/06
- bug#58168: string-lessp glitches and inconsistencies, Mattias Engdegård, 2022/10/07
- bug#58168: string-lessp glitches and inconsistencies, Eli Zaretskii, 2022/10/07
- bug#58168: string-lessp glitches and inconsistencies, Mattias Engdegård, 2022/10/08
- bug#58168: string-lessp glitches and inconsistencies, Eli Zaretskii, 2022/10/01