Subject: 28.0.50; Fontifications in Info buffers break alignment in @multitable

From: Eli Zaretskii <[email-masked]>
Date: Sat, 06 Mar 2021 19:16:01 +0200

To reproduce:

  emacs -Q
  C-u C-h i ../info/elisp.info RET
  C-s Syntax name

You should now see the table of syntax categories.  The characters in
the rightmost column don't align, which looks ugly.

This happens because font-lock is instructed to do this:

  (defvar Info-mode-font-lock-keywords
    '(("‘\\([‘’]\\|[^‘’]*\\)’" (1 'Info-quoted))))

Thus the quotes and the quoted text use different faces, and if those
faces use different fonts (as they do by default), the table will not
be aligned.

One possible solution would be to modify Info-mode-font-lock-keywords
such that the quotes are also fontified in Info-quoted face.

In GNU Emacs 28.0.50 (build 1071, i686-pc-mingw32)
 of 2021-03-06 built on HOME-C4E4A596F7
Repository revision: 45b1151696287e469dcb426f8b6e908125635373
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 5.1.2600
System Description: Microsoft Windows XP Service Pack 3 (v5.1.0.2600)

Configured using:
 'configure -C --prefix=/d/usr --with-wide-int --with-modules
 --enable-checking=yes,glyphs 'CFLAGS=-O0 -gdwarf-4 -g3''

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY
W32NOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS XPM
ZLIB

Important settings:
  value of $LANG: ENU
  locale-coding-system: cp1255

Major mode: Info

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail
rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json map text-property-search time-date
subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
mule-util info iso-transl tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win
w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads w32notify
w32 lcms2 multi-tty make-network-process emacs)

Memory information:
((conses 16 89749 8422)
 (symbols 48 8122 1)
 (strings 16 27031 2327)
 (string-bytes 1 724882)
 (vectors 16 13691)
 (vector-slots 8 179164 12452)
 (floats 8 27 294)
 (intervals 40 5234 210)
 (buffers 888 11))