Subject: Allow showing Unicode

From: 積丹尼 Dan Jacobson <[email-masked]>
Date: Mon, 13 May 2019 05:53:05 +0800

X-Debbugs-Cc: [email-masked]

PROPOSAL:

Add a variable the user could set in his .emacs, so so many lines of docstring
would at least mention the word "Unicode" once:

     1	C-x = runs the command what-cursor-position (found in global-map),
     2	which is an interactive compiled Lisp function in ‘simple.el’.
     3	
     4	It is bound to C-x =.
     5	
     6	(what-cursor-position &optional DETAIL)
     7	
     8	Print info on cursor position (on screen and within buffer).
     9	Also describe the character after point, and give its character code
    10	in octal, decimal and hex.
    11	
    12	For a non-ASCII multibyte character, also give its encoding in the
    13	buffer’s selected coding system if the coding system encodes the
    14	character safely.  If the character is encoded into one byte, that
    15	code is shown in hex.  If the character is encoded into more than one
    16	byte, just "..." is shown.
    17	
    18	In addition, with prefix argument, show details about that character
    19	in *Help* buffer.  See also the command ‘describe-char’.

And so so many lines of output:

     1	             position: 801 of 1900 (42%), column: 164
     2	            character: 「 (displayed as 「) (codepoint 12300, #o30014, #x300c)
     3	    preferred charset: chinese-big5-1 (Frequently used part (A141-C67E) of Big5 (Chinese traditional))
     4	code point in charset: 0x2156
     5	               script: cjk-misc
     6	               syntax: (」	which means: open, matches 」
     7	             category: .:Base, <:Not at eol, c:Chinese, h:Korean, j:Japanese, |:line breakable
     8	             to input: type "C-x 8 RET 300c" or "C-x 8 RET LEFT CORNER BRACKET"
     9	          buffer code: #xE3 #x80 #x8C
    10	            file code: #xE3 #x80 #x8C (encoded by coding system raw-text-unix)
    11	              display: by this font (glyph code)
    12	    x:-eten-fixed-medium-r-normal--16-150-75-75-c-160-big5.eten-0 (#xA175)
    13	
    14	Character code properties: customize what to show
    15	  name: LEFT CORNER BRACKET
    16	  old-name: OPENING CORNER BRACKET
    17	  general-category: Ps (Punctuation, Open)
    18	  decomposition: (12300) ('「')
    19	
    20	There is an overlay here:
    21	 From 801 to 802
    22	  face                 show-paren-mismatch
    23	  priority             1000
    24	
    25	
    26	There are text properties here:
    27	  face                 variable-pitch

would also at least mention the "U+XXXX" once, yes with a real "U+"
once, yes, even on a wasteful additional line, and even if one can infer
what line it is currently hiding on above from reading

    A few common Unicode characters can be inserted via a command
    starting with ‘C-x 8’.  For example, ‘C-x 8 [’ inserts ‘ which is
    Unicode code-point ‘U+2018’ LEFT SINGLE QUOTATION MARK, sometimes called
    a left single “curved quote” or “curly quote”.  Similarly, ‘C-x 8 ]’,
    ‘C-x 8 {’ and ‘C-x 8 }’ insert the curved quotes ’, “ and ”,
    respectively.  Also, a working Alt key acts like ‘C-x 8’; e.g., ‘A-[’
    acts like ‘C-x 8 [’ and inserts ‘.  To see which characters have ‘C-x 8’
    shorthands, type ‘C-x 8 C-h’.

in the manual. Yes we discussed this before.