From unknown Sun Aug 17 01:51:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#77627: 31.0.50; prettify-symbols-mode fails when replacement CHARACTER is a composition rule Resent-From: Visuwesh Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 08 Apr 2025 04:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 77627 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 77627@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.174408674013003 (code B ref -1); Tue, 08 Apr 2025 04:33:02 +0000 Received: (at submit) by debbugs.gnu.org; 8 Apr 2025 04:32:20 +0000 Received: from localhost ([127.0.0.1]:58146 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u20dG-0003NZ-Dx for submit@debbugs.gnu.org; Tue, 08 Apr 2025 00:32:20 -0400 Received: from lists.gnu.org ([2001:470:142::17]:59146) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u20dD-0003N3-3u for submit@debbugs.gnu.org; Tue, 08 Apr 2025 00:32:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u20d6-0006U3-GC for bug-gnu-emacs@gnu.org; Tue, 08 Apr 2025 00:32:08 -0400 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u20d3-0005cq-7o for bug-gnu-emacs@gnu.org; Tue, 08 Apr 2025 00:32:08 -0400 Received: by mail-pl1-x641.google.com with SMTP id d9443c01a7336-22548a28d0cso70774355ad.3 for ; Mon, 07 Apr 2025 21:32:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744086723; x=1744691523; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:user-agent :subject:to:from:from:to:cc:subject:date:message-id:reply-to; bh=s8CafQLtrJFiBmjDZ/QXpv9dBZPNCzwLYvVoGWTeoNM=; b=AJat3kJ22Uu16HCigXAnqDTovWqyrYmBNyFhA1+rl+13pye/JwvI1EHVm1VQgyii45 URLIQuQoiv6N62J1LiYg0gNwhPlZ4I1HKsxhTGMXkXe/sIo/Zncs6KtOQtvBxQmCwkp0 v5IzVqiH8p3BiaavF/ihNKGlFa/G/NEWL3Hwp9mhTU9SUT7BYuoUqJ7GKHpgRLZiSK3R wpdCNmBV9G0Pk4RtB6QqlhYSxZowARWJKNEZZ/OWeZLCgMwH5ImC1V6HUesqjCZXwstW BYtuD7ZgyW5SEKhjrxkyHf3uG7C+q6SQ3cj9J0ineCfY8gHbhiuu1TIIk494lfj24pk8 HmZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744086723; x=1744691523; h=content-transfer-encoding:mime-version:message-id:date:user-agent :subject:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=s8CafQLtrJFiBmjDZ/QXpv9dBZPNCzwLYvVoGWTeoNM=; b=Uwhx4aEi8BPo8YaVrfE6HvNmb3oKRDAA9wFIL1A0NrfyTlRRJnvXPSpatMrq0lPhYU U7q965emEI+lBb74bfdR/LX28mnb5bwaJd6AN0KoFN9S3Y8lE89tdy8eb265SZ2zj9uG W4DVmiBlDpih74W9b+GOGRQSB9vY4m08y3r1cm+/io29KexGe8AwyO6olr2GbaA+TsnW 0FWbbJ9IGlfcM/kAzEUzkJg4TJR8RyXqo2IVGoPlXAqp7JymrneP1NRYMglHilO1UD+8 ycuGJzPmGlHLeIGJLDwwZlKx6EhZfUlqGzQ0aGRywgbuWzQtkauG7dyIlh7Hsesn+795 r/XA== X-Gm-Message-State: AOJu0YzqRpF9ZBMUJpONrqaPl8UZ35qXeRPGpxNT60ON0lAlKoOAIB9S MkhnmsKFlpDpR9P4nQGjk4fSJWeYu7v13O+m6K8UMqgOVBnK1wkrQQGtaCnp X-Gm-Gg: ASbGncsWbNb/SC85j2eUhoGtgTCVuTw0TdU7TSE/xkw+bpXYjPb4lWRG22TlPZnt/9v gVGTJ9T4qpuqikT7ei6bQpivcZB7cq/Q6oLkccNAmN2W9q/2bsNZfXnU/6uUyxmZu0MwSpGX4F6 zmcs90hYBOjOf83rBU2MzUWhMp7WgdHHDxwWsqwG8wDl4QuGNnhHEvuWbufNyTRUFCsjN8ZOhMr rT+6V7Go6b0MVAzMxu98RMx3Zn4piIejh22vyurodqN93DvgAIvXd5cla/LSruXLU96aql644Tv 30Luujfi16coeq7U6L66aDEXN4Hmj6ogEFbW/8vOvw== X-Google-Smtp-Source: AGHT+IEWJgV9927kIStgQpQmrwfFrX8+Riq00cgXR7YSBEm1V0wuK5Bvhok0eB9yizuMTWMidNy+mg== X-Received: by 2002:a17:902:fc8d:b0:224:76f:9e45 with SMTP id d9443c01a7336-22a8a860bddmr214217055ad.21.1744086722780; Mon, 07 Apr 2025 21:32:02 -0700 (PDT) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-2297866e693sm90113215ad.185.2025.04.07.21.31.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 21:32:02 -0700 (PDT) From: Visuwesh User-Agent: Gnus/5.13 (Gnus v5.13) Date: Tue, 08 Apr 2025 10:01:30 +0530 Message-ID: <8734ejff4t.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::641; envelope-from=visuweshm@gmail.com; helo=mail-pl1-x641.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) As per the docstring of prettify-symbols-alist, the replacement for any SYMBOL can be: Each element looks like (SYMBOL . CHARACTER), where the symbol matching SYMBOL (a string, not a regexp) will be shown as CHARACTER instead. where CHARACTER being list or vector implies that it is a composition rule. However, prettify-symbols--composition-displayable-p fails because it assumes CHARACTER is always a character (i.e., integer). To reproduce, 1. emacs -Q 2. M-: (setq prettify-symbols-alist '(("\\left\\{" . (?=E2=8E=A8 (tc . = Bc) ?=E2=8E=A7 (Bc . tc) ?=E2=8E=A9)))) RET 3. M-x toggle-debug-on-error RET 4. M-x prettify-symbols-mode RET 5. Witness the backtrace. Here's the backtrace: Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p (tc = . Bc)) #f(compiled-function (idx-elt) #)(((tc . Bc)= . 1)) #f(compiled-function (elt) #)(((tc . Bc) . = 1)) mapc(#f(compiled-function (elt) #) ((9128 .= 0) ((tc . Bc) . 1) (9127 . 2) ((Bc . tc) . 3) (9129 . 4))) seq-do(#f(compiled-function (elt) #) ((9128= . 0) ((tc . Bc) . 1) (9127 . 2) ((Bc . tc) . 3) (9129 . 4))) seq-every-p(#f(compiled-function (idx-elt) #= ) ((9128 . 0) ((tc . Bc) . 1) (9127 . 2) ((Bc . tc) . 3) (9129 . 4))) prettify-symbols--composition-displayable-p((9128 (tc . Bc) 9127 (Bc . tc= ) 9129)) #f(compiled-function (elt) #)(("\\left\\{" 91= 28 (tc . Bc) 9127 (Bc . tc) 9129)) #f(compiled-function (elt) #)(("\\left\\{" 9= 128 (tc . Bc) 9127 (Bc . tc) 9129)) mapcar(#f(compiled-function (elt) #) (("\\le= ft\\{" 9128 (tc . Bc) 9127 (Bc . tc) 9129))) #f(compiled-function #'sequence #)(#f(compi= led-function (elt) #) (("\\left\\{" 9128 (tc .= Bc) 9127 (Bc . tc) 9129))) apply(#f(compiled-function #'sequence #) #f= (compiled-function (elt) #) (("\\left\\{" 9128= (tc . Bc) 9127 (Bc . tc) 9129)) nil) seq-map(#f(compiled-function (elt) #) (("\\l= eft\\{" 9128 (tc . Bc) 9127 (Bc . tc) 9129))) seq-filter(#f(compiled-function (elt) #) (("\= \left\\{" 9128 (tc . Bc) 9127 (Bc . tc) 9129))) prettify-symbols--make-keywords() prettify-symbols-mode(toggle) funcall-interactively(prettify-symbols-mode toggle) call-interactively(prettify-symbols-mode record nil) command-execute(prettify-symbols-mode record) execute-extended-command(nil "prettify-symbols-mode" nil) funcall-interactively(execute-extended-command nil "prettify-symbols-mode= " nil) call-interactively(execute-extended-command nil nil) command-execute(execute-extended-command) In GNU Emacs 31.0.50 (build 45, x86_64-pc-linux-gnu, X toolkit, cairo version 1.18.4, Xaw scroll bars) of 2025-04-08 built on astatine Repository revision: 19257efbf712dc026572a88b46d456d0c4b8c365 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101015 System Description: Debian GNU/Linux trixie/sid Configured using: 'configure --with-sound=3Dalsa --with-x-toolkit=3Dlucid --without-xaw3d --without-gconf --without-libsystemd --with-cairo CFLAGS=3D-g3 CC=3D/usr/bin/gcc-13' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR LUCID ZLIB Important settings: value of $LC_MONETARY: ta_IN.UTF-8 value of $LC_NUMERIC: ta_IN.UTF-8 value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: recentf-mode: t org-cdlatex-mode: t server-mode: t eros-mode: t vz/org-abbrev-mode: t vz/org-prettify-mode: t pdf-occur-global-minor-mode: t minibuffer-depth-indicate-mode: t repeat-mode: t display-time-mode: t display-battery-mode: t delete-selection-mode: t xterm-mouse-mode: t vz/winkey-minor-mode: t straight-use-package-mode: t straight-package-neutering-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t prettify-symbols-mode: t use-hard-newlines: t tab-bar-history-mode: t tab-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t undelete-frame-mode: t minibuffer-regexp-mode: t auto-fill-function: org-auto-fill-function indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t abbrev-mode: t Load-path shadows: /home/viz/lib/emacs/straight/build/org/ob-awk hides /home/viz/lib/ports/ema= cs/lisp/org/ob-awk /home/viz/lib/emacs/straight/build/org/org-capture hides /home/viz/lib/port= s/emacs/lisp/org/org-capture /home/viz/lib/emacs/straight/build/org/ob-sql hides /home/viz/lib/ports/ema= cs/lisp/org/ob-sql /home/viz/lib/emacs/straight/build/org/ol-doi hides /home/viz/lib/ports/ema= cs/lisp/org/ol-doi /home/viz/lib/emacs/straight/build/org/org-plot hides /home/viz/lib/ports/e= macs/lisp/org/org-plot /home/viz/lib/emacs/straight/build/org/ob-dot hides /home/viz/lib/ports/ema= cs/lisp/org/ob-dot /home/viz/lib/emacs/straight/build/org/ol-eshell hides /home/viz/lib/ports/= emacs/lisp/org/ol-eshell /home/viz/lib/emacs/straight/build/org/ob-C hides /home/viz/lib/ports/emacs= /lisp/org/ob-C /home/viz/lib/emacs/straight/build/org/ob-ref hides /home/viz/lib/ports/ema= cs/lisp/org/ob-ref /home/viz/lib/emacs/straight/build/org/org-list hides /home/viz/lib/ports/e= macs/lisp/org/org-list /home/viz/lib/emacs/straight/build/org/org-mouse hides /home/viz/lib/ports/= emacs/lisp/org/org-mouse /home/viz/lib/emacs/straight/build/org/ob-haskell hides /home/viz/lib/ports= /emacs/lisp/org/ob-haskell /home/viz/lib/emacs/straight/build/org/ob-plantuml hides /home/viz/lib/port= s/emacs/lisp/org/ob-plantuml /home/viz/lib/emacs/straight/build/org/org-keys hides /home/viz/lib/ports/e= macs/lisp/org/org-keys /home/viz/lib/emacs/straight/build/org/org-clock hides /home/viz/lib/ports/= emacs/lisp/org/org-clock /home/viz/lib/emacs/straight/build/org/ox-html hides /home/viz/lib/ports/em= acs/lisp/org/ox-html /home/viz/lib/emacs/straight/build/org/oc-biblatex hides /home/viz/lib/port= s/emacs/lisp/org/oc-biblatex /home/viz/lib/emacs/straight/build/org/ob-table hides /home/viz/lib/ports/e= macs/lisp/org/ob-table /home/viz/lib/emacs/straight/build/org/ob hides /home/viz/lib/ports/emacs/l= isp/org/ob /home/viz/lib/emacs/straight/build/org/ol-w3m hides /home/viz/lib/ports/ema= cs/lisp/org/ol-w3m /home/viz/lib/emacs/straight/build/org/ob-groovy hides /home/viz/lib/ports/= emacs/lisp/org/ob-groovy /home/viz/lib/emacs/straight/build/org/org-footnote hides /home/viz/lib/por= ts/emacs/lisp/org/org-footnote /home/viz/lib/emacs/straight/build/org/org-entities hides /home/viz/lib/por= ts/emacs/lisp/org/org-entities /home/viz/lib/emacs/straight/build/org/ob-org hides /home/viz/lib/ports/ema= cs/lisp/org/ob-org /home/viz/lib/emacs/straight/build/org/org-macs hides /home/viz/lib/ports/e= macs/lisp/org/org-macs /home/viz/lib/emacs/straight/build/org/ob-shell hides /home/viz/lib/ports/e= macs/lisp/org/ob-shell /home/viz/lib/emacs/straight/build/org/ob-R hides /home/viz/lib/ports/emacs= /lisp/org/ob-R /home/viz/lib/emacs/straight/build/org/ob-lisp hides /home/viz/lib/ports/em= acs/lisp/org/ob-lisp /home/viz/lib/emacs/straight/build/org/ob-js hides /home/viz/lib/ports/emac= s/lisp/org/ob-js /home/viz/lib/emacs/straight/build/org/ob-maxima hides /home/viz/lib/ports/= emacs/lisp/org/ob-maxima /home/viz/lib/emacs/straight/build/org/org-element-ast hides /home/viz/lib/= ports/emacs/lisp/org/org-element-ast /home/viz/lib/emacs/straight/build/org/ox-ascii hides /home/viz/lib/ports/e= macs/lisp/org/ox-ascii /home/viz/lib/emacs/straight/build/org/org-persist hides /home/viz/lib/port= s/emacs/lisp/org/org-persist /home/viz/lib/emacs/straight/build/org/ox-md hides /home/viz/lib/ports/emac= s/lisp/org/ox-md /home/viz/lib/emacs/straight/build/org/org-duration hides /home/viz/lib/por= ts/emacs/lisp/org/org-duration /home/viz/lib/emacs/straight/build/org/ob-lilypond hides /home/viz/lib/port= s/emacs/lisp/org/ob-lilypond /home/viz/lib/emacs/straight/build/org/ob-ruby hides /home/viz/lib/ports/em= acs/lisp/org/ob-ruby /home/viz/lib/emacs/straight/build/org/ob-core hides /home/viz/lib/ports/em= acs/lisp/org/ob-core /home/viz/lib/emacs/straight/build/org/ol-mhe hides /home/viz/lib/ports/ema= cs/lisp/org/ol-mhe /home/viz/lib/emacs/straight/build/org/ob-ditaa hides /home/viz/lib/ports/e= macs/lisp/org/ob-ditaa /home/viz/lib/emacs/straight/build/org/ol-irc hides /home/viz/lib/ports/ema= cs/lisp/org/ol-irc /home/viz/lib/emacs/straight/build/org/ob-fortran hides /home/viz/lib/ports= /emacs/lisp/org/ob-fortran /home/viz/lib/emacs/straight/build/org/org-feed hides /home/viz/lib/ports/e= macs/lisp/org/org-feed /home/viz/lib/emacs/straight/build/org/ob-java hides /home/viz/lib/ports/em= acs/lisp/org/ob-java /home/viz/lib/emacs/straight/build/org/ox hides /home/viz/lib/ports/emacs/l= isp/org/ox /home/viz/lib/emacs/straight/build/org/oc-csl hides /home/viz/lib/ports/ema= cs/lisp/org/oc-csl /home/viz/lib/emacs/straight/build/org/ob-exp hides /home/viz/lib/ports/ema= cs/lisp/org/ob-exp /home/viz/lib/emacs/straight/build/org/org-loaddefs hides /home/viz/lib/por= ts/emacs/lisp/org/org-loaddefs /home/viz/lib/emacs/straight/build/org/ob-scheme hides /home/viz/lib/ports/= emacs/lisp/org/ob-scheme /home/viz/lib/emacs/straight/build/org/ob-tangle hides /home/viz/lib/ports/= emacs/lisp/org/ob-tangle /home/viz/lib/emacs/straight/build/org/ox-koma-letter hides /home/viz/lib/p= orts/emacs/lisp/org/ox-koma-letter /home/viz/lib/emacs/straight/build/org/ob-gnuplot hides /home/viz/lib/ports= /emacs/lisp/org/ob-gnuplot /home/viz/lib/emacs/straight/build/org/org-crypt hides /home/viz/lib/ports/= emacs/lisp/org/org-crypt /home/viz/lib/emacs/straight/build/org/org-datetree hides /home/viz/lib/por= ts/emacs/lisp/org/org-datetree /home/viz/lib/emacs/straight/build/org/org-attach hides /home/viz/lib/ports= /emacs/lisp/org/org-attach /home/viz/lib/emacs/straight/build/org/ob-julia hides /home/viz/lib/ports/e= macs/lisp/org/ob-julia /home/viz/lib/emacs/straight/build/org/ob-sqlite hides /home/viz/lib/ports/= emacs/lisp/org/ob-sqlite /home/viz/lib/emacs/straight/build/org/org-cycle hides /home/viz/lib/ports/= emacs/lisp/org/org-cycle /home/viz/lib/emacs/straight/build/org/org-faces hides /home/viz/lib/ports/= emacs/lisp/org/org-faces /home/viz/lib/emacs/straight/build/org/org-mobile hides /home/viz/lib/ports= /emacs/lisp/org/org-mobile /home/viz/lib/emacs/straight/build/org/org-ctags hides /home/viz/lib/ports/= emacs/lisp/org/org-ctags /home/viz/lib/emacs/straight/build/org/ob-latex hides /home/viz/lib/ports/e= macs/lisp/org/ob-latex /home/viz/lib/emacs/straight/build/org/ob-matlab hides /home/viz/lib/ports/= emacs/lisp/org/ob-matlab /home/viz/lib/emacs/straight/build/org/ob-sed hides /home/viz/lib/ports/ema= cs/lisp/org/ob-sed /home/viz/lib/emacs/straight/build/org/org-attach-git hides /home/viz/lib/p= orts/emacs/lisp/org/org-attach-git /home/viz/lib/emacs/straight/build/org/ob-python hides /home/viz/lib/ports/= emacs/lisp/org/ob-python /home/viz/lib/emacs/straight/build/org/ox-icalendar hides /home/viz/lib/por= ts/emacs/lisp/org/ox-icalendar /home/viz/lib/emacs/straight/build/org/org-tempo hides /home/viz/lib/ports/= emacs/lisp/org/org-tempo /home/viz/lib/emacs/straight/build/org/ob-screen hides /home/viz/lib/ports/= emacs/lisp/org/ob-screen /home/viz/lib/emacs/straight/build/org/org-num hides /home/viz/lib/ports/em= acs/lisp/org/org-num /home/viz/lib/emacs/straight/build/org/ob-forth hides /home/viz/lib/ports/e= macs/lisp/org/ob-forth /home/viz/lib/emacs/straight/build/org/ox-odt hides /home/viz/lib/ports/ema= cs/lisp/org/ox-odt /home/viz/lib/emacs/straight/build/org/ol-bbdb hides /home/viz/lib/ports/em= acs/lisp/org/ol-bbdb /home/viz/lib/emacs/straight/build/org/org-table hides /home/viz/lib/ports/= emacs/lisp/org/org-table /home/viz/lib/emacs/straight/build/org/ox-man hides /home/viz/lib/ports/ema= cs/lisp/org/ox-man /home/viz/lib/emacs/straight/build/org/ox-org hides /home/viz/lib/ports/ema= cs/lisp/org/ox-org /home/viz/lib/emacs/straight/build/org/ob-comint hides /home/viz/lib/ports/= emacs/lisp/org/ob-comint /home/viz/lib/emacs/straight/build/org/ob-clojure hides /home/viz/lib/ports= /emacs/lisp/org/ob-clojure /home/viz/lib/emacs/straight/build/org/org-id hides /home/viz/lib/ports/ema= cs/lisp/org/org-id /home/viz/lib/emacs/straight/build/org/oc-natbib hides /home/viz/lib/ports/= emacs/lisp/org/oc-natbib /home/viz/lib/emacs/straight/build/org/ox-texinfo hides /home/viz/lib/ports= /emacs/lisp/org/ox-texinfo /home/viz/lib/emacs/straight/build/org/org-agenda hides /home/viz/lib/ports= /emacs/lisp/org/org-agenda /home/viz/lib/emacs/straight/build/org/org-src hides /home/viz/lib/ports/em= acs/lisp/org/org-src /home/viz/lib/emacs/straight/build/org/ob-emacs-lisp hides /home/viz/lib/po= rts/emacs/lisp/org/ob-emacs-lisp /home/viz/lib/emacs/straight/build/org/ob-css hides /home/viz/lib/ports/ema= cs/lisp/org/ob-css /home/viz/lib/emacs/straight/build/org/ox-latex hides /home/viz/lib/ports/e= macs/lisp/org/ox-latex /home/viz/lib/emacs/straight/build/org/oc hides /home/viz/lib/ports/emacs/l= isp/org/oc /home/viz/lib/emacs/straight/build/org/ol hides /home/viz/lib/ports/emacs/l= isp/org/ol /home/viz/lib/emacs/straight/build/org/org-element hides /home/viz/lib/port= s/emacs/lisp/org/org-element /home/viz/lib/emacs/straight/build/org/org hides /home/viz/lib/ports/emacs/= lisp/org/org /home/viz/lib/emacs/straight/build/org/org-goto hides /home/viz/lib/ports/e= macs/lisp/org/org-goto /home/viz/lib/emacs/straight/build/org/ob-eval hides /home/viz/lib/ports/em= acs/lisp/org/ob-eval /home/viz/lib/emacs/straight/build/org/org-habit hides /home/viz/lib/ports/= emacs/lisp/org/org-habit /home/viz/lib/emacs/straight/build/org/org-pcomplete hides /home/viz/lib/po= rts/emacs/lisp/org/org-pcomplete /home/viz/lib/emacs/straight/build/org/ol-eww hides /home/viz/lib/ports/ema= cs/lisp/org/ol-eww /home/viz/lib/emacs/straight/build/org/ob-processing hides /home/viz/lib/po= rts/emacs/lisp/org/ob-processing /home/viz/lib/emacs/straight/build/org/org-timer hides /home/viz/lib/ports/= emacs/lisp/org/org-timer /home/viz/lib/emacs/straight/build/org/org-inlinetask hides /home/viz/lib/p= orts/emacs/lisp/org/org-inlinetask /home/viz/lib/emacs/straight/build/org/ol-bibtex hides /home/viz/lib/ports/= emacs/lisp/org/ol-bibtex /home/viz/lib/emacs/straight/build/org/org-fold-core hides /home/viz/lib/po= rts/emacs/lisp/org/org-fold-core /home/viz/lib/emacs/straight/build/org/oc-basic hides /home/viz/lib/ports/e= macs/lisp/org/oc-basic /home/viz/lib/emacs/straight/build/org/ox-publish hides /home/viz/lib/ports= /emacs/lisp/org/ox-publish /home/viz/lib/emacs/straight/build/org/oc-bibtex hides /home/viz/lib/ports/= emacs/lisp/org/oc-bibtex /home/viz/lib/emacs/straight/build/org/org-macro hides /home/viz/lib/ports/= emacs/lisp/org/org-macro /home/viz/lib/emacs/straight/build/org/ol-docview hides /home/viz/lib/ports= /emacs/lisp/org/ol-docview /home/viz/lib/emacs/straight/build/org/org-fold hides /home/viz/lib/ports/e= macs/lisp/org/org-fold /home/viz/lib/emacs/straight/build/org/org-lint hides /home/viz/lib/ports/e= macs/lisp/org/org-lint /home/viz/lib/emacs/straight/build/org/org-version hides /home/viz/lib/port= s/emacs/lisp/org/org-version /home/viz/lib/emacs/straight/build/org/ob-ocaml hides /home/viz/lib/ports/e= macs/lisp/org/ob-ocaml /home/viz/lib/emacs/straight/build/org/ob-sass hides /home/viz/lib/ports/em= acs/lisp/org/ob-sass /home/viz/lib/emacs/straight/build/org/ob-perl hides /home/viz/lib/ports/em= acs/lisp/org/ob-perl /home/viz/lib/emacs/straight/build/org/ol-rmail hides /home/viz/lib/ports/e= macs/lisp/org/ol-rmail /home/viz/lib/emacs/straight/build/org/org-protocol hides /home/viz/lib/por= ts/emacs/lisp/org/org-protocol /home/viz/lib/emacs/straight/build/org/ol-info hides /home/viz/lib/ports/em= acs/lisp/org/ol-info /home/viz/lib/emacs/straight/build/org/ob-eshell hides /home/viz/lib/ports/= emacs/lisp/org/ob-eshell /home/viz/lib/emacs/straight/build/org/org-refile hides /home/viz/lib/ports= /emacs/lisp/org/org-refile /home/viz/lib/emacs/straight/build/org/ob-octave hides /home/viz/lib/ports/= emacs/lisp/org/ob-octave /home/viz/lib/emacs/straight/build/org/ob-lua hides /home/viz/lib/ports/ema= cs/lisp/org/ob-lua /home/viz/lib/emacs/straight/build/org/ol-gnus hides /home/viz/lib/ports/em= acs/lisp/org/ol-gnus /home/viz/lib/emacs/straight/build/org/ob-makefile hides /home/viz/lib/port= s/emacs/lisp/org/ob-makefile /home/viz/lib/emacs/straight/build/org/org-archive hides /home/viz/lib/port= s/emacs/lisp/org/org-archive /home/viz/lib/emacs/straight/build/org/ob-lob hides /home/viz/lib/ports/ema= cs/lisp/org/ob-lob /home/viz/lib/emacs/straight/build/org/ol-man hides /home/viz/lib/ports/ema= cs/lisp/org/ol-man /home/viz/lib/emacs/straight/build/org/org-compat hides /home/viz/lib/ports= /emacs/lisp/org/org-compat /home/viz/lib/emacs/straight/build/org/org-colview hides /home/viz/lib/port= s/emacs/lisp/org/org-colview /home/viz/lib/emacs/straight/build/org/org-indent hides /home/viz/lib/ports= /emacs/lisp/org/org-indent /home/viz/lib/emacs/straight/build/org/ox-beamer hides /home/viz/lib/ports/= emacs/lisp/org/ox-beamer /home/viz/lib/emacs/straight/build/org/ob-calc hides /home/viz/lib/ports/em= acs/lisp/org/ob-calc Features: (shadow sort gnus-cite flyspell ispell ecomplete mail-extr shortdoc comp-common emacsbug nndraft nnmh nnmaildir nnagent nnml nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache pulse color misearch multi-isearch help-fns cl-print cus-start reveal recentf tree-widget vc-git diff-mode track-changes cursor-sensor latexenc vc-backup log-view log-edit add-log pcvs-util vc vc-dispatcher diff face-remap org-pdftools pdf-annot facemenu org-noter oc-bibtex image-file image-converter oc-basic org-ql-find org-ql-completing-read org-ql-search org-ql-view transient crm org-super-agenda org-ql peg ts org-habit org-duration embark-org ob-gnuplot ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-icalendar org-agenda ox-html ox-mathml org-latex-preview ox-latex table ox-ascii ox-publish ox org-element org-persist avl-tree generator ob-fortran ob-python python ob-calc calc-store calc-trail calc-ext calc calc-loaddefs rect calc-macs ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-shell shell ob-racket cdlatex texmathp org-attach ol-eww eww vtable mule-util url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util mail-prsvr ol-docview doc-view ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi org-tempo org-id org-refile org-element-ast inline ol-man org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie treesit executable ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs org-version org-compat org-macs server paredit edmacro kmacro eros checkdoc flymake project wordel-autoloads mines-autoloads sokoban-autoloads ement-autoloads taxy-magit-section-autoloads magit-section-autoloads taxy-autoloads persist-autoloads nov-autoloads esxml-autoloads kv-autoloads transmission-autoloads csv-mode-autoloads lua-mode-autoloads gnuplot-autoloads go-mode-autoloads racket-mode-autoloads eros-autoloads comint-mime-autoloads writegood-mode-autoloads embark ffap thingatpt compat embark-autoloads xeft-autoloads paredit-autoloads puni-autoloads expand-region-autoloads filladapt-autoloads compose org-ql-autoloads org-super-agenda-autoloads ts-autoloads org-pdftools-autoloads org-noter-autoloads change-env-autoloads math-delimiters-autoloads doct-autoloads emacs-ob-racket-autoloads valign-autoloads cdlatex-autoloads tempo bibtex iso8601 time-date auctex-autoloads tex-site pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist advice tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch let-alist pdf-misc imenu pdf-tools package browse-url xdg url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source eieio eieio-core json url-vars compile comint ansi-osc ansi-color ring cus-edit wid-edit pdf-view password-cache jka-compr pdf-cache pdf-info tq pdf-util pdf-macs image-mode dired-x dired dired-loaddefs exif pdf-tools-autoloads tablist-autoloads typo-autoloads mb-depth repeat visual-fill-autoloads olivetti-autoloads time format-spec battery filenotify dom tamil99 quail disp-table lacarte-autoloads shell-command-plus-autoloads delsel xt-mouse cus-load avy-autoloads icalendar diary-lib diary-loaddefs cal-menu calendar cal-loaddefs plz dired-du-autoloads finder-inf filecache imenu-xref-autoloads ert map ewoc debug backtrace find-func qrencode-autoloads derived tochemfig-autoloads chemtable-autoloads molar-mass-autoloads files-x vc-backup-autoloads skeleton saveplace-pdf-view saveplace bookmark text-property-search pp saveplace-pdf-view-autoloads dbus xml rx plz-autoloads inspector-autoloads xr-autoloads straight-autoloads straight info loaddefs-gen generate-lisp-file lisp-mnt radix-tree easy-mmode cl-seq subr-x byte-opt cl-macs gv bytecomp byte-compile pcase vz-nh-theme vz-options-theme cl-extra help-mode warnings icons cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-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 font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty move-toolbar make-network-process tty-child-frames emacs) Memory information: ((conses 16 1129278 358282) (symbols 48 65076 11) (strings 32 424681 33561) (string-bytes 1 17744579) (vectors 16 130556) (vector-slots 8 2006052 293951) (floats 8 10509 16673) (intervals 56 12855 164) (buffers 984 42)) From unknown Sun Aug 17 01:51:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#77627: 31.0.50; prettify-symbols-mode fails when replacement CHARACTER is a composition rule Resent-From: Visuwesh Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 08 Apr 2025 15:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77627 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 77627@debbugs.gnu.org Received: via spool by 77627-submit@debbugs.gnu.org id=B77627.174412591830162 (code B ref 77627); Tue, 08 Apr 2025 15:26:01 +0000 Received: (at 77627) by debbugs.gnu.org; 8 Apr 2025 15:25:18 +0000 Received: from localhost ([127.0.0.1]:34720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2ApB-0007qN-Bw for submit@debbugs.gnu.org; Tue, 08 Apr 2025 11:25:17 -0400 Received: from mail-pf1-x443.google.com ([2607:f8b0:4864:20::443]:46354) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u2Ap8-0007o1-Iu for 77627@debbugs.gnu.org; Tue, 08 Apr 2025 11:25:15 -0400 Received: by mail-pf1-x443.google.com with SMTP id d2e1a72fcca58-736b98acaadso5673940b3a.1 for <77627@debbugs.gnu.org>; Tue, 08 Apr 2025 08:25:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744125908; x=1744730708; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Iisuv+9d5FEa2HbSK78M+mNbsRNJz0QwK+Vmmav3Uzs=; b=JQLzvk2/W7fbsoKigpym7hjzdutG/quljQnnWPszzeTCage8NwHfpxJwqDpv/LlMaz /AJuAR0SB3nw+uxwu3IDyJS/3JJaM4aTA0MuAoDV0QYRjfwfJ1yXyLbmEu8R9G6lAz3K TU8a/jM19NQPDJnm0qttzOfEWLkv9zmghH+Vmo4SBSgjcJ1OAIYxyBxvkB+AwGmrvpK6 3himlN1hz/LW2SjfZCotd9YoijSLxbKSJGAeV4qia5llkxn/zAtTNhhDa1uFntj17CD/ FRpqGPJWyP00T/z0H6EBM2uB7Wiytc76Dc+Ss9XP7ar2GRYcDCxxUcfw1kUysKUYi6dd v8Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744125908; x=1744730708; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Iisuv+9d5FEa2HbSK78M+mNbsRNJz0QwK+Vmmav3Uzs=; b=O+4dt1/axIknyyqoSh+2GIpwljmS8+MUBDHE0rGIYcS+mDhXivIi+ufHlDevyYxzSO T/AccCQvlyhNXi91oNz/x7Xrp0bDN2NAo7cMwtDUIO+Nokce1PcsPF/eYYKZpg0NRu6S DWD67DJDcaOYExf3qIGaKl9AGq/Y/zSowdfhvBRUIxeU05QwBceiMEC7aU3tvcskEtNs /jpdLGHvgj0RPdyWKn5m5z09w8Dh3VeAesgs1DyiGGzPME1OXy41kHzvJLng1TNskkwe bOUI/ncWNKqiIEW10F5ZTRhnJFfDvBwmsQ1jFpy9HNgxKIRByDRZzvisyXFz+AIqq2ad yONg== X-Gm-Message-State: AOJu0YwU+Mw1aClCtB5Lufxq/DpVKi3xPBejeqx24DnFJnEHR75H7GPf 9FHq8MOEBR4fEQ4XQbLjx9BgGTJ19Mw2kND3fBySh8FjJnwJ2XFblwYmp17d X-Gm-Gg: ASbGncttRlIbXrH1yNpeRn/2cwhhsxb2YBvd6N1K+ovPXvP35ezCDYwi6+4d5jt4SCZ euSVw3HwlXe9QoBQ7EfCspgwQlG5Ax1+jNdW9li0z/8vQIeH2GkHWS+kSiGovxAwD+gJFoPlUoB 3hclgHGH9VcYsFv3TikvvSaVIp1J/STRnocjtPa0QsOlyNzDbifEG0oi6vkp6lsx/jgXj7+P/D6 n1N9RbAcKOxqvCrHQPIIErsOIzXDf0rml8C8jZlbQ8WXkd0ccVYplMZ2DNZhj2HfO1Paq/lC7K2 P8ZrCoSsaFamt29HVceN04la9kdcO7K3RLtpXVJmxw== X-Google-Smtp-Source: AGHT+IEmV1oTK9cUqkudEi8hkLkRqOMZIWvnVNu83TMyzfVQmYhCiLTZJ8whWKkRSnETirkm+m0GnA== X-Received: by 2002:a05:6a00:3a0a:b0:736:53ce:a32c with SMTP id d2e1a72fcca58-73b6b8c5773mr13411787b3a.17.1744125907476; Tue, 08 Apr 2025 08:25:07 -0700 (PDT) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-739d97d1a29sm10669233b3a.34.2025.04.08.08.25.06 for <77627@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 08:25:07 -0700 (PDT) From: Visuwesh In-Reply-To: <8734ejff4t.fsf@gmail.com> References: <8734ejff4t.fsf@gmail.com> Date: Tue, 08 Apr 2025 20:55:02 +0530 Message-ID: <87plhmekvl.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) [=E0=AE=9A=E0=AF=86=E0=AE=B5=E0=AF=8D=E0=AE=B5=E0=AE=BE=E0=AE=AF=E0=AF=8D = =E0=AE=8F=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 08, 2025] Visuwesh w= rote: > As per the docstring of prettify-symbols-alist, the replacement for any > SYMBOL can be: > > Each element looks like (SYMBOL . CHARACTER), where the symbol > matching SYMBOL (a string, not a regexp) will be shown as > CHARACTER instead. > > where CHARACTER being list or vector implies that it is a composition > rule. However, prettify-symbols--composition-displayable-p fails > because it assumes CHARACTER is always a character (i.e., integer). > > To reproduce, > > 1. emacs -Q > 2. M-: (setq prettify-symbols-alist '(("\\left\\{" . (?=E2=8E=A8 (tc = . Bc) ?=E2=8E=A7 (Bc . tc) ?=E2=8E=A9)))) RET > 3. M-x toggle-debug-on-error RET > 4. M-x prettify-symbols-mode RET > 5. Witness the backtrace. OK, the new predicate does consider composition rule but there's a typo: diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el index 33e0d354fee..6c6b14d455a 100644 --- a/lisp/progmodes/prog-mode.el +++ b/lisp/progmodes/prog-mode.el @@ -244,8 +244,8 @@ prettify-symbols--composition-displayable-p ;; check that every even-indexed element is displayable (seq-every-p (lambda (idx-elt) - (if (evenp (car idx-elt)) - (char-displayable-on-frame-p (cdr idx-elt)) + (if (evenp (cdr idx-elt)) + (char-displayable-on-frame-p (car idx-elt)) t)) (seq-map-indexed #'cons composition))) (t From unknown Sun Aug 17 01:51:08 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Visuwesh Subject: bug#77627: closed (Re: bug#77627: 31.0.50; prettify-symbols-mode fails when replacement CHARACTER is a composition rule) Message-ID: References: <86y0waskmv.fsf@gnu.org> <8734ejff4t.fsf@gmail.com> X-Gnu-PR-Message: they-closed 77627 X-Gnu-PR-Package: emacs Reply-To: 77627@debbugs.gnu.org Date: Tue, 08 Apr 2025 16:07:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1744128422-15952-1" This is a multi-part message in MIME format... ------------=_1744128422-15952-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #77627: 31.0.50; prettify-symbols-mode fails when replacement CHARACTER is = a composition rule which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 77627@debbugs.gnu.org. --=20 77627: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D77627 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1744128422-15952-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 77627-done) by debbugs.gnu.org; 8 Apr 2025 16:06:59 +0000 Received: from localhost ([127.0.0.1]:34935 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2BTW-00048j-IL for submit@debbugs.gnu.org; Tue, 08 Apr 2025 12:06:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43432) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2BTT-00047t-CF for 77627-done@debbugs.gnu.org; Tue, 08 Apr 2025 12:06:56 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u2BTN-0007an-Li; Tue, 08 Apr 2025 12:06:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=kDdfzzv5gCOsrMpMAavWsB40Cmj7qDKnphEJzANBn8s=; b=nq27uaLqOnUivrdrxCSZ iMhmqyiX5YWpEaDrzr4edwrmk9T5HqabG77smQxLFEXN7faMNiocRzdbZLOxKK5jVOYOwGDpO3ePh khQdq/XT31+f6ex+oiAxcXbSKQ/qBI1FaxEd2zJJdO43fUUylvreAOMImV3FZYsxx58BXs3/Vqpyd dJPKphFd4Ll7YPqasBBfEBh+Vr/Omw7XMOArEwqDEGEJupnUFvUub8k+nxnZ4kFKaHXjz0fsiIweS lUOchA0eZEgnbEELAMF6Fdv3rjj2OvDBXtvWTFjT6H+ykkBBLibQ+FvjdTG/6CeM+4y9b+eCCuzRh cN0Uxzxq2KZLow==; Date: Tue, 08 Apr 2025 19:06:32 +0300 Message-Id: <86y0waskmv.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87plhmekvl.fsf@gmail.com> (message from Visuwesh on Tue, 08 Apr 2025 20:55:02 +0530) Subject: Re: bug#77627: 31.0.50; prettify-symbols-mode fails when replacement CHARACTER is a composition rule References: <8734ejff4t.fsf@gmail.com> <87plhmekvl.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77627-done Cc: 77627-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Date: Tue, 08 Apr 2025 20:55:02 +0530 > > [செவ்வாய் ஏப்ரல் 08, 2025] Visuwesh wrote: > > > As per the docstring of prettify-symbols-alist, the replacement for any > > SYMBOL can be: > > > > Each element looks like (SYMBOL . CHARACTER), where the symbol > > matching SYMBOL (a string, not a regexp) will be shown as > > CHARACTER instead. > > > > where CHARACTER being list or vector implies that it is a composition > > rule. However, prettify-symbols--composition-displayable-p fails > > because it assumes CHARACTER is always a character (i.e., integer). > > > > To reproduce, > > > > 1. emacs -Q > > 2. M-: (setq prettify-symbols-alist '(("\\left\\{" . (?⎨ (tc . Bc) ?⎧ (Bc . tc) ?⎩)))) RET > > 3. M-x toggle-debug-on-error RET > > 4. M-x prettify-symbols-mode RET > > 5. Witness the backtrace. > > OK, the new predicate does consider composition rule but there's a typo: > > diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el > index 33e0d354fee..6c6b14d455a 100644 > --- a/lisp/progmodes/prog-mode.el > +++ b/lisp/progmodes/prog-mode.el > @@ -244,8 +244,8 @@ prettify-symbols--composition-displayable-p > ;; check that every even-indexed element is displayable > (seq-every-p > (lambda (idx-elt) > - (if (evenp (car idx-elt)) > - (char-displayable-on-frame-p (cdr idx-elt)) > + (if (evenp (cdr idx-elt)) > + (char-displayable-on-frame-p (car idx-elt)) > t)) > (seq-map-indexed #'cons composition))) > (t Thanks, installed on master, and closing the bug. ------------=_1744128422-15952-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 8 Apr 2025 04:32:20 +0000 Received: from localhost ([127.0.0.1]:58146 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u20dG-0003NZ-Dx for submit@debbugs.gnu.org; Tue, 08 Apr 2025 00:32:20 -0400 Received: from lists.gnu.org ([2001:470:142::17]:59146) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u20dD-0003N3-3u for submit@debbugs.gnu.org; Tue, 08 Apr 2025 00:32:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u20d6-0006U3-GC for bug-gnu-emacs@gnu.org; Tue, 08 Apr 2025 00:32:08 -0400 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u20d3-0005cq-7o for bug-gnu-emacs@gnu.org; Tue, 08 Apr 2025 00:32:08 -0400 Received: by mail-pl1-x641.google.com with SMTP id d9443c01a7336-22548a28d0cso70774355ad.3 for ; Mon, 07 Apr 2025 21:32:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744086723; x=1744691523; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:user-agent :subject:to:from:from:to:cc:subject:date:message-id:reply-to; bh=s8CafQLtrJFiBmjDZ/QXpv9dBZPNCzwLYvVoGWTeoNM=; b=AJat3kJ22Uu16HCigXAnqDTovWqyrYmBNyFhA1+rl+13pye/JwvI1EHVm1VQgyii45 URLIQuQoiv6N62J1LiYg0gNwhPlZ4I1HKsxhTGMXkXe/sIo/Zncs6KtOQtvBxQmCwkp0 v5IzVqiH8p3BiaavF/ihNKGlFa/G/NEWL3Hwp9mhTU9SUT7BYuoUqJ7GKHpgRLZiSK3R wpdCNmBV9G0Pk4RtB6QqlhYSxZowARWJKNEZZ/OWeZLCgMwH5ImC1V6HUesqjCZXwstW BYtuD7ZgyW5SEKhjrxkyHf3uG7C+q6SQ3cj9J0ineCfY8gHbhiuu1TIIk494lfj24pk8 HmZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744086723; x=1744691523; h=content-transfer-encoding:mime-version:message-id:date:user-agent :subject:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=s8CafQLtrJFiBmjDZ/QXpv9dBZPNCzwLYvVoGWTeoNM=; b=Uwhx4aEi8BPo8YaVrfE6HvNmb3oKRDAA9wFIL1A0NrfyTlRRJnvXPSpatMrq0lPhYU U7q965emEI+lBb74bfdR/LX28mnb5bwaJd6AN0KoFN9S3Y8lE89tdy8eb265SZ2zj9uG W4DVmiBlDpih74W9b+GOGRQSB9vY4m08y3r1cm+/io29KexGe8AwyO6olr2GbaA+TsnW 0FWbbJ9IGlfcM/kAzEUzkJg4TJR8RyXqo2IVGoPlXAqp7JymrneP1NRYMglHilO1UD+8 ycuGJzPmGlHLeIGJLDwwZlKx6EhZfUlqGzQ0aGRywgbuWzQtkauG7dyIlh7Hsesn+795 r/XA== X-Gm-Message-State: AOJu0YzqRpF9ZBMUJpONrqaPl8UZ35qXeRPGpxNT60ON0lAlKoOAIB9S MkhnmsKFlpDpR9P4nQGjk4fSJWeYu7v13O+m6K8UMqgOVBnK1wkrQQGtaCnp X-Gm-Gg: ASbGncsWbNb/SC85j2eUhoGtgTCVuTw0TdU7TSE/xkw+bpXYjPb4lWRG22TlPZnt/9v gVGTJ9T4qpuqikT7ei6bQpivcZB7cq/Q6oLkccNAmN2W9q/2bsNZfXnU/6uUyxmZu0MwSpGX4F6 zmcs90hYBOjOf83rBU2MzUWhMp7WgdHHDxwWsqwG8wDl4QuGNnhHEvuWbufNyTRUFCsjN8ZOhMr rT+6V7Go6b0MVAzMxu98RMx3Zn4piIejh22vyurodqN93DvgAIvXd5cla/LSruXLU96aql644Tv 30Luujfi16coeq7U6L66aDEXN4Hmj6ogEFbW/8vOvw== X-Google-Smtp-Source: AGHT+IEWJgV9927kIStgQpQmrwfFrX8+Riq00cgXR7YSBEm1V0wuK5Bvhok0eB9yizuMTWMidNy+mg== X-Received: by 2002:a17:902:fc8d:b0:224:76f:9e45 with SMTP id d9443c01a7336-22a8a860bddmr214217055ad.21.1744086722780; Mon, 07 Apr 2025 21:32:02 -0700 (PDT) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-2297866e693sm90113215ad.185.2025.04.07.21.31.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 21:32:02 -0700 (PDT) From: Visuwesh To: bug-gnu-emacs@gnu.org Subject: 31.0.50; prettify-symbols-mode fails when replacement CHARACTER is a composition rule User-Agent: Gnus/5.13 (Gnus v5.13) X-Debbugs-Cc: Date: Tue, 08 Apr 2025 10:01:30 +0530 Message-ID: <8734ejff4t.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::641; envelope-from=visuweshm@gmail.com; helo=mail-pl1-x641.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) As per the docstring of prettify-symbols-alist, the replacement for any SYMBOL can be: Each element looks like (SYMBOL . CHARACTER), where the symbol matching SYMBOL (a string, not a regexp) will be shown as CHARACTER instead. where CHARACTER being list or vector implies that it is a composition rule. However, prettify-symbols--composition-displayable-p fails because it assumes CHARACTER is always a character (i.e., integer). To reproduce, 1. emacs -Q 2. M-: (setq prettify-symbols-alist '(("\\left\\{" . (?=E2=8E=A8 (tc . = Bc) ?=E2=8E=A7 (Bc . tc) ?=E2=8E=A9)))) RET 3. M-x toggle-debug-on-error RET 4. M-x prettify-symbols-mode RET 5. Witness the backtrace. Here's the backtrace: Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p (tc = . Bc)) #f(compiled-function (idx-elt) #)(((tc . Bc)= . 1)) #f(compiled-function (elt) #)(((tc . Bc) . = 1)) mapc(#f(compiled-function (elt) #) ((9128 .= 0) ((tc . Bc) . 1) (9127 . 2) ((Bc . tc) . 3) (9129 . 4))) seq-do(#f(compiled-function (elt) #) ((9128= . 0) ((tc . Bc) . 1) (9127 . 2) ((Bc . tc) . 3) (9129 . 4))) seq-every-p(#f(compiled-function (idx-elt) #= ) ((9128 . 0) ((tc . Bc) . 1) (9127 . 2) ((Bc . tc) . 3) (9129 . 4))) prettify-symbols--composition-displayable-p((9128 (tc . Bc) 9127 (Bc . tc= ) 9129)) #f(compiled-function (elt) #)(("\\left\\{" 91= 28 (tc . Bc) 9127 (Bc . tc) 9129)) #f(compiled-function (elt) #)(("\\left\\{" 9= 128 (tc . Bc) 9127 (Bc . tc) 9129)) mapcar(#f(compiled-function (elt) #) (("\\le= ft\\{" 9128 (tc . Bc) 9127 (Bc . tc) 9129))) #f(compiled-function #'sequence #)(#f(compi= led-function (elt) #) (("\\left\\{" 9128 (tc .= Bc) 9127 (Bc . tc) 9129))) apply(#f(compiled-function #'sequence #) #f= (compiled-function (elt) #) (("\\left\\{" 9128= (tc . Bc) 9127 (Bc . tc) 9129)) nil) seq-map(#f(compiled-function (elt) #) (("\\l= eft\\{" 9128 (tc . Bc) 9127 (Bc . tc) 9129))) seq-filter(#f(compiled-function (elt) #) (("\= \left\\{" 9128 (tc . Bc) 9127 (Bc . tc) 9129))) prettify-symbols--make-keywords() prettify-symbols-mode(toggle) funcall-interactively(prettify-symbols-mode toggle) call-interactively(prettify-symbols-mode record nil) command-execute(prettify-symbols-mode record) execute-extended-command(nil "prettify-symbols-mode" nil) funcall-interactively(execute-extended-command nil "prettify-symbols-mode= " nil) call-interactively(execute-extended-command nil nil) command-execute(execute-extended-command) In GNU Emacs 31.0.50 (build 45, x86_64-pc-linux-gnu, X toolkit, cairo version 1.18.4, Xaw scroll bars) of 2025-04-08 built on astatine Repository revision: 19257efbf712dc026572a88b46d456d0c4b8c365 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101015 System Description: Debian GNU/Linux trixie/sid Configured using: 'configure --with-sound=3Dalsa --with-x-toolkit=3Dlucid --without-xaw3d --without-gconf --without-libsystemd --with-cairo CFLAGS=3D-g3 CC=3D/usr/bin/gcc-13' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR LUCID ZLIB Important settings: value of $LC_MONETARY: ta_IN.UTF-8 value of $LC_NUMERIC: ta_IN.UTF-8 value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: recentf-mode: t org-cdlatex-mode: t server-mode: t eros-mode: t vz/org-abbrev-mode: t vz/org-prettify-mode: t pdf-occur-global-minor-mode: t minibuffer-depth-indicate-mode: t repeat-mode: t display-time-mode: t display-battery-mode: t delete-selection-mode: t xterm-mouse-mode: t vz/winkey-minor-mode: t straight-use-package-mode: t straight-package-neutering-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t prettify-symbols-mode: t use-hard-newlines: t tab-bar-history-mode: t tab-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t undelete-frame-mode: t minibuffer-regexp-mode: t auto-fill-function: org-auto-fill-function indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t abbrev-mode: t Load-path shadows: /home/viz/lib/emacs/straight/build/org/ob-awk hides /home/viz/lib/ports/ema= cs/lisp/org/ob-awk /home/viz/lib/emacs/straight/build/org/org-capture hides /home/viz/lib/port= s/emacs/lisp/org/org-capture /home/viz/lib/emacs/straight/build/org/ob-sql hides /home/viz/lib/ports/ema= cs/lisp/org/ob-sql /home/viz/lib/emacs/straight/build/org/ol-doi hides /home/viz/lib/ports/ema= cs/lisp/org/ol-doi /home/viz/lib/emacs/straight/build/org/org-plot hides /home/viz/lib/ports/e= macs/lisp/org/org-plot /home/viz/lib/emacs/straight/build/org/ob-dot hides /home/viz/lib/ports/ema= cs/lisp/org/ob-dot /home/viz/lib/emacs/straight/build/org/ol-eshell hides /home/viz/lib/ports/= emacs/lisp/org/ol-eshell /home/viz/lib/emacs/straight/build/org/ob-C hides /home/viz/lib/ports/emacs= /lisp/org/ob-C /home/viz/lib/emacs/straight/build/org/ob-ref hides /home/viz/lib/ports/ema= cs/lisp/org/ob-ref /home/viz/lib/emacs/straight/build/org/org-list hides /home/viz/lib/ports/e= macs/lisp/org/org-list /home/viz/lib/emacs/straight/build/org/org-mouse hides /home/viz/lib/ports/= emacs/lisp/org/org-mouse /home/viz/lib/emacs/straight/build/org/ob-haskell hides /home/viz/lib/ports= /emacs/lisp/org/ob-haskell /home/viz/lib/emacs/straight/build/org/ob-plantuml hides /home/viz/lib/port= s/emacs/lisp/org/ob-plantuml /home/viz/lib/emacs/straight/build/org/org-keys hides /home/viz/lib/ports/e= macs/lisp/org/org-keys /home/viz/lib/emacs/straight/build/org/org-clock hides /home/viz/lib/ports/= emacs/lisp/org/org-clock /home/viz/lib/emacs/straight/build/org/ox-html hides /home/viz/lib/ports/em= acs/lisp/org/ox-html /home/viz/lib/emacs/straight/build/org/oc-biblatex hides /home/viz/lib/port= s/emacs/lisp/org/oc-biblatex /home/viz/lib/emacs/straight/build/org/ob-table hides /home/viz/lib/ports/e= macs/lisp/org/ob-table /home/viz/lib/emacs/straight/build/org/ob hides /home/viz/lib/ports/emacs/l= isp/org/ob /home/viz/lib/emacs/straight/build/org/ol-w3m hides /home/viz/lib/ports/ema= cs/lisp/org/ol-w3m /home/viz/lib/emacs/straight/build/org/ob-groovy hides /home/viz/lib/ports/= emacs/lisp/org/ob-groovy /home/viz/lib/emacs/straight/build/org/org-footnote hides /home/viz/lib/por= ts/emacs/lisp/org/org-footnote /home/viz/lib/emacs/straight/build/org/org-entities hides /home/viz/lib/por= ts/emacs/lisp/org/org-entities /home/viz/lib/emacs/straight/build/org/ob-org hides /home/viz/lib/ports/ema= cs/lisp/org/ob-org /home/viz/lib/emacs/straight/build/org/org-macs hides /home/viz/lib/ports/e= macs/lisp/org/org-macs /home/viz/lib/emacs/straight/build/org/ob-shell hides /home/viz/lib/ports/e= macs/lisp/org/ob-shell /home/viz/lib/emacs/straight/build/org/ob-R hides /home/viz/lib/ports/emacs= /lisp/org/ob-R /home/viz/lib/emacs/straight/build/org/ob-lisp hides /home/viz/lib/ports/em= acs/lisp/org/ob-lisp /home/viz/lib/emacs/straight/build/org/ob-js hides /home/viz/lib/ports/emac= s/lisp/org/ob-js /home/viz/lib/emacs/straight/build/org/ob-maxima hides /home/viz/lib/ports/= emacs/lisp/org/ob-maxima /home/viz/lib/emacs/straight/build/org/org-element-ast hides /home/viz/lib/= ports/emacs/lisp/org/org-element-ast /home/viz/lib/emacs/straight/build/org/ox-ascii hides /home/viz/lib/ports/e= macs/lisp/org/ox-ascii /home/viz/lib/emacs/straight/build/org/org-persist hides /home/viz/lib/port= s/emacs/lisp/org/org-persist /home/viz/lib/emacs/straight/build/org/ox-md hides /home/viz/lib/ports/emac= s/lisp/org/ox-md /home/viz/lib/emacs/straight/build/org/org-duration hides /home/viz/lib/por= ts/emacs/lisp/org/org-duration /home/viz/lib/emacs/straight/build/org/ob-lilypond hides /home/viz/lib/port= s/emacs/lisp/org/ob-lilypond /home/viz/lib/emacs/straight/build/org/ob-ruby hides /home/viz/lib/ports/em= acs/lisp/org/ob-ruby /home/viz/lib/emacs/straight/build/org/ob-core hides /home/viz/lib/ports/em= acs/lisp/org/ob-core /home/viz/lib/emacs/straight/build/org/ol-mhe hides /home/viz/lib/ports/ema= cs/lisp/org/ol-mhe /home/viz/lib/emacs/straight/build/org/ob-ditaa hides /home/viz/lib/ports/e= macs/lisp/org/ob-ditaa /home/viz/lib/emacs/straight/build/org/ol-irc hides /home/viz/lib/ports/ema= cs/lisp/org/ol-irc /home/viz/lib/emacs/straight/build/org/ob-fortran hides /home/viz/lib/ports= /emacs/lisp/org/ob-fortran /home/viz/lib/emacs/straight/build/org/org-feed hides /home/viz/lib/ports/e= macs/lisp/org/org-feed /home/viz/lib/emacs/straight/build/org/ob-java hides /home/viz/lib/ports/em= acs/lisp/org/ob-java /home/viz/lib/emacs/straight/build/org/ox hides /home/viz/lib/ports/emacs/l= isp/org/ox /home/viz/lib/emacs/straight/build/org/oc-csl hides /home/viz/lib/ports/ema= cs/lisp/org/oc-csl /home/viz/lib/emacs/straight/build/org/ob-exp hides /home/viz/lib/ports/ema= cs/lisp/org/ob-exp /home/viz/lib/emacs/straight/build/org/org-loaddefs hides /home/viz/lib/por= ts/emacs/lisp/org/org-loaddefs /home/viz/lib/emacs/straight/build/org/ob-scheme hides /home/viz/lib/ports/= emacs/lisp/org/ob-scheme /home/viz/lib/emacs/straight/build/org/ob-tangle hides /home/viz/lib/ports/= emacs/lisp/org/ob-tangle /home/viz/lib/emacs/straight/build/org/ox-koma-letter hides /home/viz/lib/p= orts/emacs/lisp/org/ox-koma-letter /home/viz/lib/emacs/straight/build/org/ob-gnuplot hides /home/viz/lib/ports= /emacs/lisp/org/ob-gnuplot /home/viz/lib/emacs/straight/build/org/org-crypt hides /home/viz/lib/ports/= emacs/lisp/org/org-crypt /home/viz/lib/emacs/straight/build/org/org-datetree hides /home/viz/lib/por= ts/emacs/lisp/org/org-datetree /home/viz/lib/emacs/straight/build/org/org-attach hides /home/viz/lib/ports= /emacs/lisp/org/org-attach /home/viz/lib/emacs/straight/build/org/ob-julia hides /home/viz/lib/ports/e= macs/lisp/org/ob-julia /home/viz/lib/emacs/straight/build/org/ob-sqlite hides /home/viz/lib/ports/= emacs/lisp/org/ob-sqlite /home/viz/lib/emacs/straight/build/org/org-cycle hides /home/viz/lib/ports/= emacs/lisp/org/org-cycle /home/viz/lib/emacs/straight/build/org/org-faces hides /home/viz/lib/ports/= emacs/lisp/org/org-faces /home/viz/lib/emacs/straight/build/org/org-mobile hides /home/viz/lib/ports= /emacs/lisp/org/org-mobile /home/viz/lib/emacs/straight/build/org/org-ctags hides /home/viz/lib/ports/= emacs/lisp/org/org-ctags /home/viz/lib/emacs/straight/build/org/ob-latex hides /home/viz/lib/ports/e= macs/lisp/org/ob-latex /home/viz/lib/emacs/straight/build/org/ob-matlab hides /home/viz/lib/ports/= emacs/lisp/org/ob-matlab /home/viz/lib/emacs/straight/build/org/ob-sed hides /home/viz/lib/ports/ema= cs/lisp/org/ob-sed /home/viz/lib/emacs/straight/build/org/org-attach-git hides /home/viz/lib/p= orts/emacs/lisp/org/org-attach-git /home/viz/lib/emacs/straight/build/org/ob-python hides /home/viz/lib/ports/= emacs/lisp/org/ob-python /home/viz/lib/emacs/straight/build/org/ox-icalendar hides /home/viz/lib/por= ts/emacs/lisp/org/ox-icalendar /home/viz/lib/emacs/straight/build/org/org-tempo hides /home/viz/lib/ports/= emacs/lisp/org/org-tempo /home/viz/lib/emacs/straight/build/org/ob-screen hides /home/viz/lib/ports/= emacs/lisp/org/ob-screen /home/viz/lib/emacs/straight/build/org/org-num hides /home/viz/lib/ports/em= acs/lisp/org/org-num /home/viz/lib/emacs/straight/build/org/ob-forth hides /home/viz/lib/ports/e= macs/lisp/org/ob-forth /home/viz/lib/emacs/straight/build/org/ox-odt hides /home/viz/lib/ports/ema= cs/lisp/org/ox-odt /home/viz/lib/emacs/straight/build/org/ol-bbdb hides /home/viz/lib/ports/em= acs/lisp/org/ol-bbdb /home/viz/lib/emacs/straight/build/org/org-table hides /home/viz/lib/ports/= emacs/lisp/org/org-table /home/viz/lib/emacs/straight/build/org/ox-man hides /home/viz/lib/ports/ema= cs/lisp/org/ox-man /home/viz/lib/emacs/straight/build/org/ox-org hides /home/viz/lib/ports/ema= cs/lisp/org/ox-org /home/viz/lib/emacs/straight/build/org/ob-comint hides /home/viz/lib/ports/= emacs/lisp/org/ob-comint /home/viz/lib/emacs/straight/build/org/ob-clojure hides /home/viz/lib/ports= /emacs/lisp/org/ob-clojure /home/viz/lib/emacs/straight/build/org/org-id hides /home/viz/lib/ports/ema= cs/lisp/org/org-id /home/viz/lib/emacs/straight/build/org/oc-natbib hides /home/viz/lib/ports/= emacs/lisp/org/oc-natbib /home/viz/lib/emacs/straight/build/org/ox-texinfo hides /home/viz/lib/ports= /emacs/lisp/org/ox-texinfo /home/viz/lib/emacs/straight/build/org/org-agenda hides /home/viz/lib/ports= /emacs/lisp/org/org-agenda /home/viz/lib/emacs/straight/build/org/org-src hides /home/viz/lib/ports/em= acs/lisp/org/org-src /home/viz/lib/emacs/straight/build/org/ob-emacs-lisp hides /home/viz/lib/po= rts/emacs/lisp/org/ob-emacs-lisp /home/viz/lib/emacs/straight/build/org/ob-css hides /home/viz/lib/ports/ema= cs/lisp/org/ob-css /home/viz/lib/emacs/straight/build/org/ox-latex hides /home/viz/lib/ports/e= macs/lisp/org/ox-latex /home/viz/lib/emacs/straight/build/org/oc hides /home/viz/lib/ports/emacs/l= isp/org/oc /home/viz/lib/emacs/straight/build/org/ol hides /home/viz/lib/ports/emacs/l= isp/org/ol /home/viz/lib/emacs/straight/build/org/org-element hides /home/viz/lib/port= s/emacs/lisp/org/org-element /home/viz/lib/emacs/straight/build/org/org hides /home/viz/lib/ports/emacs/= lisp/org/org /home/viz/lib/emacs/straight/build/org/org-goto hides /home/viz/lib/ports/e= macs/lisp/org/org-goto /home/viz/lib/emacs/straight/build/org/ob-eval hides /home/viz/lib/ports/em= acs/lisp/org/ob-eval /home/viz/lib/emacs/straight/build/org/org-habit hides /home/viz/lib/ports/= emacs/lisp/org/org-habit /home/viz/lib/emacs/straight/build/org/org-pcomplete hides /home/viz/lib/po= rts/emacs/lisp/org/org-pcomplete /home/viz/lib/emacs/straight/build/org/ol-eww hides /home/viz/lib/ports/ema= cs/lisp/org/ol-eww /home/viz/lib/emacs/straight/build/org/ob-processing hides /home/viz/lib/po= rts/emacs/lisp/org/ob-processing /home/viz/lib/emacs/straight/build/org/org-timer hides /home/viz/lib/ports/= emacs/lisp/org/org-timer /home/viz/lib/emacs/straight/build/org/org-inlinetask hides /home/viz/lib/p= orts/emacs/lisp/org/org-inlinetask /home/viz/lib/emacs/straight/build/org/ol-bibtex hides /home/viz/lib/ports/= emacs/lisp/org/ol-bibtex /home/viz/lib/emacs/straight/build/org/org-fold-core hides /home/viz/lib/po= rts/emacs/lisp/org/org-fold-core /home/viz/lib/emacs/straight/build/org/oc-basic hides /home/viz/lib/ports/e= macs/lisp/org/oc-basic /home/viz/lib/emacs/straight/build/org/ox-publish hides /home/viz/lib/ports= /emacs/lisp/org/ox-publish /home/viz/lib/emacs/straight/build/org/oc-bibtex hides /home/viz/lib/ports/= emacs/lisp/org/oc-bibtex /home/viz/lib/emacs/straight/build/org/org-macro hides /home/viz/lib/ports/= emacs/lisp/org/org-macro /home/viz/lib/emacs/straight/build/org/ol-docview hides /home/viz/lib/ports= /emacs/lisp/org/ol-docview /home/viz/lib/emacs/straight/build/org/org-fold hides /home/viz/lib/ports/e= macs/lisp/org/org-fold /home/viz/lib/emacs/straight/build/org/org-lint hides /home/viz/lib/ports/e= macs/lisp/org/org-lint /home/viz/lib/emacs/straight/build/org/org-version hides /home/viz/lib/port= s/emacs/lisp/org/org-version /home/viz/lib/emacs/straight/build/org/ob-ocaml hides /home/viz/lib/ports/e= macs/lisp/org/ob-ocaml /home/viz/lib/emacs/straight/build/org/ob-sass hides /home/viz/lib/ports/em= acs/lisp/org/ob-sass /home/viz/lib/emacs/straight/build/org/ob-perl hides /home/viz/lib/ports/em= acs/lisp/org/ob-perl /home/viz/lib/emacs/straight/build/org/ol-rmail hides /home/viz/lib/ports/e= macs/lisp/org/ol-rmail /home/viz/lib/emacs/straight/build/org/org-protocol hides /home/viz/lib/por= ts/emacs/lisp/org/org-protocol /home/viz/lib/emacs/straight/build/org/ol-info hides /home/viz/lib/ports/em= acs/lisp/org/ol-info /home/viz/lib/emacs/straight/build/org/ob-eshell hides /home/viz/lib/ports/= emacs/lisp/org/ob-eshell /home/viz/lib/emacs/straight/build/org/org-refile hides /home/viz/lib/ports= /emacs/lisp/org/org-refile /home/viz/lib/emacs/straight/build/org/ob-octave hides /home/viz/lib/ports/= emacs/lisp/org/ob-octave /home/viz/lib/emacs/straight/build/org/ob-lua hides /home/viz/lib/ports/ema= cs/lisp/org/ob-lua /home/viz/lib/emacs/straight/build/org/ol-gnus hides /home/viz/lib/ports/em= acs/lisp/org/ol-gnus /home/viz/lib/emacs/straight/build/org/ob-makefile hides /home/viz/lib/port= s/emacs/lisp/org/ob-makefile /home/viz/lib/emacs/straight/build/org/org-archive hides /home/viz/lib/port= s/emacs/lisp/org/org-archive /home/viz/lib/emacs/straight/build/org/ob-lob hides /home/viz/lib/ports/ema= cs/lisp/org/ob-lob /home/viz/lib/emacs/straight/build/org/ol-man hides /home/viz/lib/ports/ema= cs/lisp/org/ol-man /home/viz/lib/emacs/straight/build/org/org-compat hides /home/viz/lib/ports= /emacs/lisp/org/org-compat /home/viz/lib/emacs/straight/build/org/org-colview hides /home/viz/lib/port= s/emacs/lisp/org/org-colview /home/viz/lib/emacs/straight/build/org/org-indent hides /home/viz/lib/ports= /emacs/lisp/org/org-indent /home/viz/lib/emacs/straight/build/org/ox-beamer hides /home/viz/lib/ports/= emacs/lisp/org/ox-beamer /home/viz/lib/emacs/straight/build/org/ob-calc hides /home/viz/lib/ports/em= acs/lisp/org/ob-calc Features: (shadow sort gnus-cite flyspell ispell ecomplete mail-extr shortdoc comp-common emacsbug nndraft nnmh nnmaildir nnagent nnml nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache pulse color misearch multi-isearch help-fns cl-print cus-start reveal recentf tree-widget vc-git diff-mode track-changes cursor-sensor latexenc vc-backup log-view log-edit add-log pcvs-util vc vc-dispatcher diff face-remap org-pdftools pdf-annot facemenu org-noter oc-bibtex image-file image-converter oc-basic org-ql-find org-ql-completing-read org-ql-search org-ql-view transient crm org-super-agenda org-ql peg ts org-habit org-duration embark-org ob-gnuplot ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-icalendar org-agenda ox-html ox-mathml org-latex-preview ox-latex table ox-ascii ox-publish ox org-element org-persist avl-tree generator ob-fortran ob-python python ob-calc calc-store calc-trail calc-ext calc calc-loaddefs rect calc-macs ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-shell shell ob-racket cdlatex texmathp org-attach ol-eww eww vtable mule-util url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util mail-prsvr ol-docview doc-view ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi org-tempo org-id org-refile org-element-ast inline ol-man org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie treesit executable ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs org-version org-compat org-macs server paredit edmacro kmacro eros checkdoc flymake project wordel-autoloads mines-autoloads sokoban-autoloads ement-autoloads taxy-magit-section-autoloads magit-section-autoloads taxy-autoloads persist-autoloads nov-autoloads esxml-autoloads kv-autoloads transmission-autoloads csv-mode-autoloads lua-mode-autoloads gnuplot-autoloads go-mode-autoloads racket-mode-autoloads eros-autoloads comint-mime-autoloads writegood-mode-autoloads embark ffap thingatpt compat embark-autoloads xeft-autoloads paredit-autoloads puni-autoloads expand-region-autoloads filladapt-autoloads compose org-ql-autoloads org-super-agenda-autoloads ts-autoloads org-pdftools-autoloads org-noter-autoloads change-env-autoloads math-delimiters-autoloads doct-autoloads emacs-ob-racket-autoloads valign-autoloads cdlatex-autoloads tempo bibtex iso8601 time-date auctex-autoloads tex-site pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist advice tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch let-alist pdf-misc imenu pdf-tools package browse-url xdg url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source eieio eieio-core json url-vars compile comint ansi-osc ansi-color ring cus-edit wid-edit pdf-view password-cache jka-compr pdf-cache pdf-info tq pdf-util pdf-macs image-mode dired-x dired dired-loaddefs exif pdf-tools-autoloads tablist-autoloads typo-autoloads mb-depth repeat visual-fill-autoloads olivetti-autoloads time format-spec battery filenotify dom tamil99 quail disp-table lacarte-autoloads shell-command-plus-autoloads delsel xt-mouse cus-load avy-autoloads icalendar diary-lib diary-loaddefs cal-menu calendar cal-loaddefs plz dired-du-autoloads finder-inf filecache imenu-xref-autoloads ert map ewoc debug backtrace find-func qrencode-autoloads derived tochemfig-autoloads chemtable-autoloads molar-mass-autoloads files-x vc-backup-autoloads skeleton saveplace-pdf-view saveplace bookmark text-property-search pp saveplace-pdf-view-autoloads dbus xml rx plz-autoloads inspector-autoloads xr-autoloads straight-autoloads straight info loaddefs-gen generate-lisp-file lisp-mnt radix-tree easy-mmode cl-seq subr-x byte-opt cl-macs gv bytecomp byte-compile pcase vz-nh-theme vz-options-theme cl-extra help-mode warnings icons cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-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 font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty move-toolbar make-network-process tty-child-frames emacs) Memory information: ((conses 16 1129278 358282) (symbols 48 65076 11) (strings 32 424681 33561) (string-bytes 1 17744579) (vectors 16 130556) (vector-slots 8 2006052 293951) (floats 8 10509 16673) (intervals 56 12855 164) (buffers 984 42)) ------------=_1744128422-15952-1--