From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yichao Yu Newsgroups: gmane.emacs.bugs Subject: bug#10867: 26.3; XIM preedit/status font handling Date: Sun, 2 Aug 2020 15:03:53 -0400 Message-ID: References: <4952739.ddR2m7k7D9@saber-chakra> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13848"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Xuetian Weng To: 10867@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Aug 02 21:05:13 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k2JIG-0003TK-05 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 02 Aug 2020 21:05:12 +0200 Original-Received: from localhost ([::1]:39250 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k2JIF-0006T9-2r for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 02 Aug 2020 15:05:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52908) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k2JI6-0006Ss-RQ for bug-gnu-emacs@gnu.org; Sun, 02 Aug 2020 15:05:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:60185) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k2JI6-0007IN-Hd for bug-gnu-emacs@gnu.org; Sun, 02 Aug 2020 15:05:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k2JI6-0000bT-D6 for bug-gnu-emacs@gnu.org; Sun, 02 Aug 2020 15:05:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <4952739.ddR2m7k7D9@saber-chakra> Resent-From: Yichao Yu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 02 Aug 2020 19:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10867 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org, 10867@debbugs.gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.15963950542254 (code B ref -1); Sun, 02 Aug 2020 19:05:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 2 Aug 2020 19:04:14 +0000 Original-Received: from localhost ([127.0.0.1]:43498 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k2JHJ-0000aC-QX for submit@debbugs.gnu.org; Sun, 02 Aug 2020 15:04:14 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:41694) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k2JHH-0000Zx-RV for submit@debbugs.gnu.org; Sun, 02 Aug 2020 15:04:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52826) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k2JHH-0006PM-MG for bug-gnu-emacs@gnu.org; Sun, 02 Aug 2020 15:04:11 -0400 Original-Received: from mail-lj1-x244.google.com ([2a00:1450:4864:20::244]:36658) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k2JHE-0007Fi-6b for bug-gnu-emacs@gnu.org; Sun, 02 Aug 2020 15:04:11 -0400 Original-Received: by mail-lj1-x244.google.com with SMTP id t23so13887844ljc.3 for ; Sun, 02 Aug 2020 12:04:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=DtDCxHypcAYzCEBvo+lvr88+iIsnx/s+3REMaYE6wnU=; b=hcb9iK4YdpPPx5XAoHtRKVqvgWc1agVlQdtMd4PAGoR+4nhgBEl8G9droMPLlJ0NAu i4EXxXvzTzdZ7PVmkdknWveRQygxLncahwHbAx9e3jBJXksY07o70ir17xD+ExWoqhm7 Otm8hPIM4SC45OszbVEXVyYcddpz5HIaRGGqVv+zYE7Xp5NZeUVfRAVL0JcuQOk1dC6B /l4916HbqXG0zQPcj5+zaQYaHi1UZXdFrm4Og/RXdBM2irYQhUrHvkwBQM4KqxpUTZx4 K5kS+LgHXSO6q6hGgXlLgZpEAUmqOOfBjGfOA0zeBQN477V3zTouCJXfaNWBhd7YDIVc 0+nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=DtDCxHypcAYzCEBvo+lvr88+iIsnx/s+3REMaYE6wnU=; b=ZXTvVYTOiVdn+09avB+GWH19zViRZ0puAFk0eyTiZAk38chVZMLVHk5UTdljMqKeXm gE40nSBBaHtCRvVtCNmB7PCniuxl4fHQursPKrqzsedcjRDAv2mgRkZbcESPRr6c3D/A cXTepgGLrIHkqZsenOhed8nIFfretXNUm2boFR3OWxA2LzOlu6BGd6MAQWLC0hQ/Ovus KlR1VfLUaDJlpyQL6O/qI6t+B/AcfA1jc0v5CHJbj9l17NC7OSKLzgdzY7cvIKp+dPHS bwtm1t6Or2SJvL2uQBuxmMZtIlkmEP3O3rzXn8L9TP/GTaSikBXry42pWiIynfIwVvqh /EAA== X-Gm-Message-State: AOAM531l9DYOjb1MCd+wXhPtyPS+/FkXkjNhtffZ/UOXSomJ5zdXYfKv O7WWl0+G07QLF+y0xfCY/OmXCptO3z+NBhB6LOhF5GQ7als= X-Google-Smtp-Source: ABdhPJw6v4IjiH2N866BmdwsYR1kyWc8V266okcAKRwiC8zGNZQ6Rrr1nl8BklsrFr4JB4VEK2xt4Swf2m02K9ZCE7o= X-Received: by 2002:a2e:9189:: with SMTP id f9mr6160324ljg.171.1596395044986; Sun, 02 Aug 2020 12:04:04 -0700 (PDT) Received-SPF: pass client-ip=2a00:1450:4864:20::244; envelope-from=yyc1992@gmail.com; helo=mail-lj1-x244.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:183883 Archived-At: This is a really old bug but it is finally clear recently what is causing it. ## Background and observed issues. 1. Since at least 8 years ago when this bug was first reported, it was observed that sometimes emacs cannot use XIM unless set to a CJK locale, e.g. zh_CN.UTF-8. This is not always necessary, and might not always work and it was also unclear what caused it since nothing seems to have hard coded anything locale dependent in either emacs or xlib and other programs using xim also seems fine... 2. It was also know (probably more recent) that it is necessary to install certain font to get XIM work with emacs since otherwise some XIM related font lookup fails and disables XIM. ## Root cause It turns out that the two issues are closely related. The full story is roughly like this, 1. Emacs calls `xic_create_xfontset` in `create_frame_xic`. This function try to figure out a list of fonts based on some conditions. If no font is found at this state, it causes the second issue that requires installation of some fonts. 2. The return value of this is then passed in as the `fontSet` (XNFontSet) attribute for preedit and status within `create_frame_xic`. However, if there are too many font matches, it'll fail in the `XimType_XFontSet` case within `_XimValueToAttribute` since it can overflow the 2048 byte buffer that xlib uses. (the buffer size available when it decodes the XFontSet measured locally is ~ 1k). This also causes the input method initialization to fail and this is the cause of the first issue. The effect of setting the locale is actually simply on the number of font matches. Most users seem to have more fonts matching an english locale than a CJK one which is why setting to a CJK locale avoids the overflow. For users that have fewer/different (english) fonts installed there could also be fewer matches allowing XIM to work. ## What other programs do * xterm seems to use "fixed" to lookup font * qt4 https://dreamswork.github.io/qt4/qximinputcontext__x11_8cpp_source.html AFAICT uses different fonts? * gtk I don't actually see where it set fonts... @Xuetian Weng dug deeper into this ## Fix I'm not sure what's the correct one. It seems that setting the fontSet is necessary although I'm not sure how/if gtk get away with it. According to @Xuetian Weng virtually no one use this setting anymore so setting a dummy value to comfort xlib might be good enough? It would avoid both issues at the same time. ------------------- In GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.21) of 2020-07-29 built on yyc.yyc-arch.org Repository revision: d9eea1ad1bca16406a6d4c9bd0daa57a9d0a531f System Description: Arch Linux Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Making completion list... Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-wide-int --with-modules 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -g -fvar-tracking-assignments -fdebug-prefix-map=/home/yuyichao/projects/arch-pkg/pkg/tmp/emacs/repos/extra-x86_64/src=/usr/src/debug -ggdb3 -O0 -DDEBUG_XIC_FONTSET=1' CPPFLAGS=-D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD LCMS2 Important settings: value of $LANG: zh_CN.UTF-8 value of $XMODIFIERS: @im=fcitx locale-coding-system: utf-8-unix Major mode: Fundamental 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 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: /usr/share/emacs/site-lisp/org/ox hides /usr/share/emacs/26.3/lisp/org/ox /usr/share/emacs/site-lisp/org/ox-texinfo hides /usr/share/emacs/26.3/lisp/org/ox-texinfo /usr/share/emacs/site-lisp/org/ox-publish hides /usr/share/emacs/26.3/lisp/org/ox-publish /usr/share/emacs/site-lisp/org/ox-org hides /usr/share/emacs/26.3/lisp/org/ox-org /usr/share/emacs/site-lisp/org/ox-odt hides /usr/share/emacs/26.3/lisp/org/ox-odt /usr/share/emacs/site-lisp/org/ox-md hides /usr/share/emacs/26.3/lisp/org/ox-md /usr/share/emacs/site-lisp/org/ox-man hides /usr/share/emacs/26.3/lisp/org/ox-man /usr/share/emacs/site-lisp/org/ox-latex hides /usr/share/emacs/26.3/lisp/org/ox-latex /usr/share/emacs/site-lisp/org/ox-icalendar hides /usr/share/emacs/26.3/lisp/org/ox-icalendar /usr/share/emacs/site-lisp/org/ox-html hides /usr/share/emacs/26.3/lisp/org/ox-html /usr/share/emacs/site-lisp/org/ox-beamer hides /usr/share/emacs/26.3/lisp/org/ox-beamer /usr/share/emacs/site-lisp/org/ox-ascii hides /usr/share/emacs/26.3/lisp/org/ox-ascii /usr/share/emacs/site-lisp/org/org hides /usr/share/emacs/26.3/lisp/org/org /usr/share/emacs/site-lisp/org/org-version hides /usr/share/emacs/26.3/lisp/org/org-version /usr/share/emacs/site-lisp/org/org-timer hides /usr/share/emacs/26.3/lisp/org/org-timer /usr/share/emacs/site-lisp/org/org-table hides /usr/share/emacs/26.3/lisp/org/org-table /usr/share/emacs/site-lisp/org/org-src hides /usr/share/emacs/26.3/lisp/org/org-src /usr/share/emacs/site-lisp/org/org-protocol hides /usr/share/emacs/26.3/lisp/org/org-protocol /usr/share/emacs/site-lisp/org/org-plot hides /usr/share/emacs/26.3/lisp/org/org-plot /usr/share/emacs/site-lisp/org/org-pcomplete hides /usr/share/emacs/26.3/lisp/org/org-pcomplete /usr/share/emacs/site-lisp/org/org-mouse hides /usr/share/emacs/26.3/lisp/org/org-mouse /usr/share/emacs/site-lisp/org/org-mobile hides /usr/share/emacs/26.3/lisp/org/org-mobile /usr/share/emacs/site-lisp/org/org-macs hides /usr/share/emacs/26.3/lisp/org/org-macs /usr/share/emacs/site-lisp/org/org-macro hides /usr/share/emacs/26.3/lisp/org/org-macro /usr/share/emacs/site-lisp/org/org-loaddefs hides /usr/share/emacs/26.3/lisp/org/org-loaddefs /usr/share/emacs/site-lisp/org/org-list hides /usr/share/emacs/26.3/lisp/org/org-list /usr/share/emacs/site-lisp/org/org-lint hides /usr/share/emacs/26.3/lisp/org/org-lint /usr/share/emacs/site-lisp/org/org-install hides /usr/share/emacs/26.3/lisp/org/org-install /usr/share/emacs/site-lisp/org/org-inlinetask hides /usr/share/emacs/26.3/lisp/org/org-inlinetask /usr/share/emacs/site-lisp/org/org-indent hides /usr/share/emacs/26.3/lisp/org/org-indent /usr/share/emacs/site-lisp/org/org-id hides /usr/share/emacs/26.3/lisp/org/org-id /usr/share/emacs/site-lisp/org/org-habit hides /usr/share/emacs/26.3/lisp/org/org-habit /usr/share/emacs/site-lisp/org/org-footnote hides /usr/share/emacs/26.3/lisp/org/org-footnote /usr/share/emacs/site-lisp/org/org-feed hides /usr/share/emacs/26.3/lisp/org/org-feed /usr/share/emacs/site-lisp/org/org-faces hides /usr/share/emacs/26.3/lisp/org/org-faces /usr/share/emacs/site-lisp/org/org-entities hides /usr/share/emacs/26.3/lisp/org/org-entities /usr/share/emacs/site-lisp/org/org-element hides /usr/share/emacs/26.3/lisp/org/org-element /usr/share/emacs/site-lisp/org/org-duration hides /usr/share/emacs/26.3/lisp/org/org-duration /usr/share/emacs/site-lisp/org/org-datetree hides /usr/share/emacs/26.3/lisp/org/org-datetree /usr/share/emacs/site-lisp/org/org-ctags hides /usr/share/emacs/26.3/lisp/org/org-ctags /usr/share/emacs/site-lisp/org/org-crypt hides /usr/share/emacs/26.3/lisp/org/org-crypt /usr/share/emacs/site-lisp/org/org-compat hides /usr/share/emacs/26.3/lisp/org/org-compat /usr/share/emacs/site-lisp/org/org-colview hides /usr/share/emacs/26.3/lisp/org/org-colview /usr/share/emacs/site-lisp/org/org-clock hides /usr/share/emacs/26.3/lisp/org/org-clock /usr/share/emacs/site-lisp/org/org-capture hides /usr/share/emacs/26.3/lisp/org/org-capture /usr/share/emacs/site-lisp/org/org-attach hides /usr/share/emacs/26.3/lisp/org/org-attach /usr/share/emacs/site-lisp/org/org-archive hides /usr/share/emacs/26.3/lisp/org/org-archive /usr/share/emacs/site-lisp/org/org-agenda hides /usr/share/emacs/26.3/lisp/org/org-agenda /usr/share/emacs/site-lisp/org/ob hides /usr/share/emacs/26.3/lisp/org/ob /usr/share/emacs/site-lisp/org/ob-vala hides /usr/share/emacs/26.3/lisp/org/ob-vala /usr/share/emacs/site-lisp/org/ob-tangle hides /usr/share/emacs/26.3/lisp/org/ob-tangle /usr/share/emacs/site-lisp/org/ob-table hides /usr/share/emacs/26.3/lisp/org/ob-table /usr/share/emacs/site-lisp/org/ob-stan hides /usr/share/emacs/26.3/lisp/org/ob-stan /usr/share/emacs/site-lisp/org/ob-sqlite hides /usr/share/emacs/26.3/lisp/org/ob-sqlite /usr/share/emacs/site-lisp/org/ob-sql hides /usr/share/emacs/26.3/lisp/org/ob-sql /usr/share/emacs/site-lisp/org/ob-shen hides /usr/share/emacs/26.3/lisp/org/ob-shen /usr/share/emacs/site-lisp/org/ob-shell hides /usr/share/emacs/26.3/lisp/org/ob-shell /usr/share/emacs/site-lisp/org/ob-sed hides /usr/share/emacs/26.3/lisp/org/ob-sed /usr/share/emacs/site-lisp/org/ob-screen hides /usr/share/emacs/26.3/lisp/org/ob-screen /usr/share/emacs/site-lisp/org/ob-scheme hides /usr/share/emacs/26.3/lisp/org/ob-scheme /usr/share/emacs/site-lisp/org/ob-sass hides /usr/share/emacs/26.3/lisp/org/ob-sass /usr/share/emacs/site-lisp/org/ob-ruby hides /usr/share/emacs/26.3/lisp/org/ob-ruby /usr/share/emacs/site-lisp/org/ob-ref hides /usr/share/emacs/26.3/lisp/org/ob-ref /usr/share/emacs/site-lisp/org/ob-python hides /usr/share/emacs/26.3/lisp/org/ob-python /usr/share/emacs/site-lisp/org/ob-processing hides /usr/share/emacs/26.3/lisp/org/ob-processing /usr/share/emacs/site-lisp/org/ob-plantuml hides /usr/share/emacs/26.3/lisp/org/ob-plantuml /usr/share/emacs/site-lisp/org/ob-picolisp hides /usr/share/emacs/26.3/lisp/org/ob-picolisp /usr/share/emacs/site-lisp/org/ob-perl hides /usr/share/emacs/26.3/lisp/org/ob-perl /usr/share/emacs/site-lisp/org/ob-org hides /usr/share/emacs/26.3/lisp/org/ob-org /usr/share/emacs/site-lisp/org/ob-octave hides /usr/share/emacs/26.3/lisp/org/ob-octave /usr/share/emacs/site-lisp/org/ob-ocaml hides /usr/share/emacs/26.3/lisp/org/ob-ocaml /usr/share/emacs/site-lisp/org/ob-mscgen hides /usr/share/emacs/26.3/lisp/org/ob-mscgen /usr/share/emacs/site-lisp/org/ob-maxima hides /usr/share/emacs/26.3/lisp/org/ob-maxima /usr/share/emacs/site-lisp/org/ob-matlab hides /usr/share/emacs/26.3/lisp/org/ob-matlab /usr/share/emacs/site-lisp/org/ob-makefile hides /usr/share/emacs/26.3/lisp/org/ob-makefile /usr/share/emacs/site-lisp/org/ob-lua hides /usr/share/emacs/26.3/lisp/org/ob-lua /usr/share/emacs/site-lisp/org/ob-lob hides /usr/share/emacs/26.3/lisp/org/ob-lob /usr/share/emacs/site-lisp/org/ob-lisp hides /usr/share/emacs/26.3/lisp/org/ob-lisp /usr/share/emacs/site-lisp/org/ob-lilypond hides /usr/share/emacs/26.3/lisp/org/ob-lilypond /usr/share/emacs/site-lisp/org/ob-ledger hides /usr/share/emacs/26.3/lisp/org/ob-ledger /usr/share/emacs/site-lisp/org/ob-latex hides /usr/share/emacs/26.3/lisp/org/ob-latex /usr/share/emacs/site-lisp/org/ob-js hides /usr/share/emacs/26.3/lisp/org/ob-js /usr/share/emacs/site-lisp/org/ob-java hides /usr/share/emacs/26.3/lisp/org/ob-java /usr/share/emacs/site-lisp/org/ob-io hides /usr/share/emacs/26.3/lisp/org/ob-io /usr/share/emacs/site-lisp/org/ob-hledger hides /usr/share/emacs/26.3/lisp/org/ob-hledger /usr/share/emacs/site-lisp/org/ob-haskell hides /usr/share/emacs/26.3/lisp/org/ob-haskell /usr/share/emacs/site-lisp/org/ob-groovy hides /usr/share/emacs/26.3/lisp/org/ob-groovy /usr/share/emacs/site-lisp/org/ob-gnuplot hides /usr/share/emacs/26.3/lisp/org/ob-gnuplot /usr/share/emacs/site-lisp/org/ob-fortran hides /usr/share/emacs/26.3/lisp/org/ob-fortran /usr/share/emacs/site-lisp/org/ob-forth hides /usr/share/emacs/26.3/lisp/org/ob-forth /usr/share/emacs/site-lisp/org/ob-exp hides /usr/share/emacs/26.3/lisp/org/ob-exp /usr/share/emacs/site-lisp/org/ob-eval hides /usr/share/emacs/26.3/lisp/org/ob-eval /usr/share/emacs/site-lisp/org/ob-emacs-lisp hides /usr/share/emacs/26.3/lisp/org/ob-emacs-lisp /usr/share/emacs/site-lisp/org/ob-ebnf hides /usr/share/emacs/26.3/lisp/org/ob-ebnf /usr/share/emacs/site-lisp/org/ob-dot hides /usr/share/emacs/26.3/lisp/org/ob-dot /usr/share/emacs/site-lisp/org/ob-ditaa hides /usr/share/emacs/26.3/lisp/org/ob-ditaa /usr/share/emacs/site-lisp/org/ob-css hides /usr/share/emacs/26.3/lisp/org/ob-css /usr/share/emacs/site-lisp/org/ob-core hides /usr/share/emacs/26.3/lisp/org/ob-core /usr/share/emacs/site-lisp/org/ob-coq hides /usr/share/emacs/26.3/lisp/org/ob-coq /usr/share/emacs/site-lisp/org/ob-comint hides /usr/share/emacs/26.3/lisp/org/ob-comint /usr/share/emacs/site-lisp/org/ob-clojure hides /usr/share/emacs/26.3/lisp/org/ob-clojure /usr/share/emacs/site-lisp/org/ob-calc hides /usr/share/emacs/26.3/lisp/org/ob-calc /usr/share/emacs/site-lisp/org/ob-awk hides /usr/share/emacs/26.3/lisp/org/ob-awk /usr/share/emacs/site-lisp/org/ob-asymptote hides /usr/share/emacs/26.3/lisp/org/ob-asymptote /usr/share/emacs/site-lisp/org/ob-abc hides /usr/share/emacs/26.3/lisp/org/ob-abc /usr/share/emacs/site-lisp/org/ob-R hides /usr/share/emacs/26.3/lisp/org/ob-R /usr/share/emacs/site-lisp/org/ob-J hides /usr/share/emacs/26.3/lisp/org/ob-J /usr/share/emacs/site-lisp/org/ob-C hides /usr/share/emacs/26.3/lisp/org/ob-C Features: (shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils term/xterm xterm time-date elec-pair mule-util china-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame 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 minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 100413 6755) (symbols 48 20515 1) (miscs 40 73 105) (strings 32 28736 1427) (string-bytes 1 750294) (vectors 16 13057) (vector-slots 8 514213 20152) (floats 8 54 437) (intervals 56 232 0) (buffers 992 13))