GNU bug report logs - #17836
24.3; `describe-fontset' confused about e.g. ?\C-@

Previous Next

Package: emacs;

Reported by: Samuel Bronson <naesten <at> gmail.com>

Date: Mon, 23 Jun 2014 01:58:02 UTC

Severity: minor

Found in version 24.3

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Samuel Bronson <naesten <at> gmail.com>
Cc: 17836 <at> debbugs.gnu.org
Subject: bug#17836: 24.3; `describe-fontset' confused about e.g. ?\C-@
Date: Mon, 23 Jun 2014 19:17:01 +0300
> From: Samuel Bronson <naesten <at> gmail.com>
> Date: Sun, 22 Jun 2014 21:57:07 -0400
> 
> Fontset: -misc-fixed-medium-r-semicondensed--13-*-*-*-*-*-fontset-xterm.default
> CHAR RANGE (CODE RANGE)
>     FONT NAME (REQUESTED and [OPENED])
> C-@ .. � (#x43 .. #x10FFFF)
>     -Misc-Fixed-medium-r-semicondensed--13-*-75-75-c-120-ISO10646-1
> --8<---------------cut here---------------end--------------->8---
> 
> Notice how #x43 is NOT a representation of `?\C-@' but, in fact, of
> `?C'?

That's because print-fontset-element does this:

  (beginning-of-line)
  (let ((from (following-char))

IOW, it assumes that there's a single character there, not a
human-readable description of a character, such as "C-@".

How about submitting a patch that uses 'kbd', say?

> Why would you try to extract the codepoints AFTER formatting the
> range as a string ...?

Because the formatting of the codepoints is done by describe-vector,
which doesn't pass the codepoints to print-fontset-element.  So it
needs to reverse-engineer the codepoints from the text that was
already inserted into the buffer.




This bug report was last modified 3 years and 280 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.