From: Stefan Kangas <stefankangas@gmail.com> Date: Thu, 1 Sep 2022 04:17:37 +0000 (+0200) Subject: Merge from origin/emacs-28 X-Git-Tag: emacs-29.0.90~1856^2~812 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0bd860cc2e94e3f5178000e929af93863b9ae458;p=emacs.git Merge from origin/emacs-28 8807a4f532 Enable 256 colors in fbterm. bbc23ca8ab One more fix for find-file.el 0cbcaf5119 ; Yet another doc fix for 'ff-other-file-alist' (bug#57325) 2d9a391727 Recommend using fbterm in the Linux console. a5a92e577c ; * src/window.c (syms_of_window) <window-point-insertion-... 4d52fe6b96 * lisp/find-file.el (ff-other-file-alist): Doc fix. (Bug#... d111b5b651 * lisp/info.el (Info-mode): Support the Linux console better. cc945ec0ed ; Fix doc strings in latin1-disp.el 195fcc932e Improve the documentation of glyphless-character display 72ae02377e ; * lisp/jit-lock.el (jit-lock-chunk-size): Doc fix. 3fb69fad49 Fix documentation of 'glyphless-char-display' # Conflicts: # lisp/international/characters.el # src/xdisp.c --- 0bd860cc2e94e3f5178000e929af93863b9ae458 diff --cc lisp/international/characters.el index d6e83c81e74,d845baa2ebf..245ade54e18 --- a/lisp/international/characters.el +++ b/lisp/international/characters.el @@@ -1656,17 -1594,13 +1656,19 @@@ GROUP must be one of these symbols such as U+200C (ZWNJ), U+200E (LRM), but excluding characters that have graphic images, such as U+00AD (SHY). - `variation-selectors': U+FE00..U+FE0F, used for choosing between - glyph variations (e.g. Emoji vs Text - presentation). - `no-font': characters for which no suitable font is found. - For character terminals, characters that cannot - be encoded by `terminal-coding-system' or those - for which the terminal has no glyphs. + `bidi-control': A subset of `format-control', but only characters + that are relevant for bidirectional formatting control, + like U+2069 (PDI) and U+202B (RLE). + `variation-selectors': + Characters in the range U+FE00..U+FE0F and - U+E0100..U+E01EF, used for selecting alternate glyph - presentations, such as Emoji vs Text presentation, of - the preceding character(s). - `no-font': For GUI frames, characters for which no suitable - font is found; for text-mode frames, characters - that cannot be encoded by `terminal-coding-system'. ++ U+E0100..U+E01EF, used for choosing between ++ glyph variations, such as Emoji vs Text ++ presentation, of the preceding character(s). ++ `no-font': For GUI frames, characters for which no ++ suitable font is found; for text-mode frames, ++ characters that cannot be encoded by ++ `terminal-coding-system' or those for which ++ the terminal has no glyphs. METHOD must be one of these symbols: `zero-width': don't display. diff --cc src/xdisp.c index 70f6936dd0b,6d42105474f..2c9dc63a389 --- a/src/xdisp.c +++ b/src/xdisp.c @@@ -7842,14 -7406,15 +7842,20 @@@ lookup_glyphless_char_display (int c, s && CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (Vglyphless_char_display)) >= 1) { if (c >= 0) - glyphless_method = CHAR_TABLE_REF (Vglyphless_char_display, c); + { + glyphless_method = CHAR_TABLE_REF (Vglyphless_char_display, c); + if (CONSP (glyphless_method)) + glyphless_method = FRAME_WINDOW_P (it->f) + ? XCAR (glyphless_method) + : XCDR (glyphless_method); + } else glyphless_method = XCHAR_TABLE (Vglyphless_char_display)->extras[0]; + + if (CONSP (glyphless_method)) + glyphless_method = FRAME_WINDOW_P (it->f) + ? XCAR (glyphless_method) + : XCDR (glyphless_method); } retry: @@@ -37113,12 -35826,13 +37120,15 @@@ An element may also be a cons cell (GRA display method for graphical terminals and text terminals respectively. GRAPHICAL and TEXT should each have one of the values listed above. - The char-table has one extra slot to control the display of a character for - which no font is found. This slot only takes effect on graphical terminals. - Its value should be an ASCII acronym string, `hex-code', `empty-box', or - `thin-space'. It could also be a cons cell of any two of these, to specify - separate values for graphical and text terminals. - The default is `empty-box'. -The char-table has one extra slot to control the display of characters for -which no font is found on graphical terminals, and characters that cannot -be displayed by text-mode terminals. Its value should be an ASCII acronym -string, `hex-code', `empty-box', or `thin-space'. The default is `hex-code'. ++The char-table has one extra slot to control the display of characters ++for which no font is found on graphical terminals, and characters that ++cannot be displayed by text-mode terminals. Its value should be an ++ASCII acronym string, `hex-code', `empty-box', or `thin-space'. It ++could also be a cons cell of any two of these, to specify separate ++values for graphical and text terminals. The default is `empty-box'. + + With the obvious exception of `zero-width', all the other representations + are displayed using the face `glyphless-char'. If a character has a non-nil entry in an active display table, the display table takes effect; in this case, Emacs does not consult