From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "Mark A. Hershberger" via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#61514: 30.0.50; sadistically long xml line hangs emacs Date: Tue, 14 Feb 2023 16:02:04 -0500 Message-ID: <87lel0c65v.fsf@everybody.org> Reply-To: "Mark A. Hershberger" Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13764"; mail-complaints-to="usenet@ciao.gmane.io" To: 61514@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Feb 14 22:05:22 2023 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 1pS2UM-0003Jl-8G for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 14 Feb 2023 22:05:22 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pS2U8-0001vH-7S; Tue, 14 Feb 2023 16:05:08 -0500 Original-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 1pS2U3-0001v1-Si for bug-gnu-emacs@gnu.org; Tue, 14 Feb 2023 16:05:05 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pS2U2-0005zr-UI for bug-gnu-emacs@gnu.org; Tue, 14 Feb 2023 16:05:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pS2U2-0003rS-HQ for bug-gnu-emacs@gnu.org; Tue, 14 Feb 2023 16:05:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: "Mark A. Hershberger" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 Feb 2023 21:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 61514 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.167640868314807 (code B ref -1); Tue, 14 Feb 2023 21:05:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 14 Feb 2023 21:04:43 +0000 Original-Received: from localhost ([127.0.0.1]:57156 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pS2Th-0003qi-Uf for submit@debbugs.gnu.org; Tue, 14 Feb 2023 16:04:43 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:44802) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pS2Tf-0003qY-0X for submit@debbugs.gnu.org; Tue, 14 Feb 2023 16:04:40 -0500 Original-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 1pS2TZ-0001tw-Sl for bug-gnu-emacs@gnu.org; Tue, 14 Feb 2023 16:04:33 -0500 Original-Received: from spam1.m5hosting.com ([206.71.179.219]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pS2TV-0005uE-Sc for bug-gnu-emacs@gnu.org; Tue, 14 Feb 2023 16:04:33 -0500 Original-Received: from mail.nichework.com ([108.161.151.158]) by spam1.m5hosting.com with esmtps (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pS2TC-0001Fw-Sl for bug-gnu-emacs@gnu.org; Tue, 14 Feb 2023 13:04:20 -0800 Original-Received: from mail.nichework.com (localhost [127.0.0.1]) by mail.nichework.com (Postfix) with ESMTPS id 2F0344E0452 for ; Tue, 14 Feb 2023 13:04:10 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by mail.nichework.com (Postfix) with ESMTP id 064AC4E05B2 for ; Tue, 14 Feb 2023 13:04:10 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.nichework.com 064AC4E05B2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=everybody.org; s=C75414D8-59CA-11EA-A864-6C07A2A44C35; t=1676408650; bh=vXLP12AfiSIp63Fu4xGM3AkeX1Cpa3W94FhZCOsCqxI=; h=From:To:Date:Message-ID:MIME-Version; b=ppT5IUgNRAEfD3gnjNpUIWLAdQKW2TC0vhuCKh8k63Hpn5cNIqtiyWYIvR2b3W9h1 0fv2lsJpEKc8LMMpYYweAIkMCrEplIHnof8q3Fy8jrrH/wNPtaLTFgeVH76+KGneDp SDb84wBVNuY6rAh/dJkiL2Fv0xts/frKPq2dg201zH6xQd3gIkB85bEpXlZCjLclnR NZdgR8/ijjCquyHNLNi1cI6EPnWCYqGh0qUxTvVCzMjNRmetD1R8T9ifnY3+tH0Ozb EYT1/boUVOE+ss9xWkQmMDmyefcNYadZbw2Z+qwDXEZPaMowrvq2/qYn+lbWh5fC5/ To98y7GcEJWYQ== Original-Received: from mail.nichework.com ([127.0.0.1]) by localhost (mail.nichework.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id n-1qVUmuo5T3 for ; Tue, 14 Feb 2023 13:04:09 -0800 (PST) Original-Received: from gabriel.everybody.org (209-253-11-93.ip.mcleodusa.net [209.253.11.93]) by mail.nichework.com (Postfix) with ESMTPSA id 965744E0452 for ; Tue, 14 Feb 2023 13:04:09 -0800 (PST) X-Originating-IP: 108.161.151.158 X-SpamExperts-Domain: out.m5hosting.com X-SpamExperts-Username: 108.161.151.158 Authentication-Results: m5hosting.com; auth=pass smtp.auth=108.161.151.158@out.m5hosting.com X-SpamExperts-Outgoing-Class: ham X-SpamExperts-Outgoing-Evidence: SB/global_tokens (0.00177587214929) X-Recommended-Action: accept X-Filter-ID: Pt3MvcO5N4iKaDQ5O6lkdGlMVN6RH8bjRMzItlySaT/bkvvQX+R8elVqjbLHBrXJPUtbdvnXkggZ 3YnVId/Y5jcf0yeVQAvfjHznO7+bT5wlAxozo778b01LESzM9ruWD181ZRkJ75zosNBWoY/fPNcV PSoHm0W/3adFfiYl2nsDAgd8EhjXhNxK2iaC5ZBC/T4GcPvCLvSpAEEGy7kYxtLSm6ZPIIlKlwTC gIG9JyxEDs7WWa47hTVCppybiVa5BGjzuh4BML6Ea1s3IuoPv4YaJE+7Na2E3Oj46THdq0PQpijq RT1J+q3zA0F+F5/8TcWsqU26dvDcYIYzaKVPzmqo+CiEiEUieTH4xPDmrp2RMmGH+05pSN4hHKly uAOt4xNuSfrPV+ybw2gxV1Svw0QMF99VlWOZVo1sbhkkbsWwPVI/rahiZln9WaSEpal3cgXNOE5B iBPvUc+zssFNXm1kHkAJl9I0+cmjX7E2n2Y6rDn0tTOVcmJwqI8Ju2neCJuKmef1JCbmfgcv6zoJ wCAFxzML6QwN9QbWIKr2lWnaleDArnyiHVL+9m1Yi9b42+mjZSBX08/Qa05JAIPdanoSKlHMxVnk urBPHtW+f1JZBGKGpZFwJprvIwY1weIqboZ9k8ttCKjZelN1W89BkXn+HbCzapSJWJ1lLYwGze8i c5cOiPJd4s2U3aQ6oVZrauB9ERPk6JDy91qzxpJfKD+cDAWn/LMqWnQoM5MEPwtEz5VneUBrVnXk 5sly1vIf1P3k2kPy9wmDetZJiaD6+R+DVhN7hxa0Zvgvtl7SOShNSM4gYl1pOOZWclDXAOPdoPmE TXCqaiBIEGOPkonGHuW323yvE8gx3 X-Report-Abuse-To: spam@spam1.m5hosting.com Received-SPF: pass client-ip=206.71.179.219; envelope-from=mah@everybody.org; helo=spam1.m5hosting.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, SPF_HELO_NONE=0.001, SPF_PASS=-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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:255637 Archived-At: There seems to be a regression between 28 and 30 with how emacs handles long lines. Reading a comparision of editors, I came across this test case: It's interesting how some Linux editors handle huge lines. Tested several editors on Ubuntu 19.10 on Intel i3 CPU. With XML file with a single line of length 4M. XML file contains line like with the huge "name" value of 4M. Python script to generate test file: #!/usr/bin/python3 f =3D open("a.xml", "w") f.write('\n') From https://wiki.lazarus.freepascal.org/CudaText_VS_other_editors#Performance_o= n_huge_lines I know Emacs has problems with long lines, but the examples on this page referred to Emacs 26, so I thought I would see how things have changed. Opening the file (a.xml) produced by the script above from a dired buffer in Emacs 30.0.50 shows the following in the message window: RNG NXML error: (error "Stack overflow in regexp matcher") After this, Emacs appears to hang and nothing else is displayed. The mouse cursor does not change to indicate that any processing is happening. It changes to an arrow over clickable areas (e.g. the menu bar) and a vertical bar over the dired buffer. Hitting C-g does nothing. Resizing the window does not properly redraw it. Attempting to close the window does nothing. Build config for Emacs 30.0.50 below. For comparison, Emacs 28.2 (from Debian repo) opens the file but displays opens the file but the *Messages* buffer contains: Error: (error "Stack overflow in regexp matcher") Error during redisplay: (jit-lock-function 1) signaled (error "Stack ov= erflow in regexp matcher") Error during redisplay: (jit-lock-function 1501) signaled (error "Stack= overflow in regexp matcher") Internal error in rng-validate-mode triggered at buffer position 5. Sta= ck overflow in regexp matcher Moving point in the buffer displayed seems to work somewhat normally, but hitting C-e to go to the end of the line takes a bit and then keyboard navigation seems problematic while the *Messages* buffer fills with =E2=80=9CError during redisplay=E2=80=9D messages. Bottom line: Emacs 30 is handling files with long lines worse than Emacs 28. Output from report-emacs-bug continues: In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.36, cairo version 1.16.0) of 2023-02-10 built on gabriel Repository revision: ea29622e928f50522e424ee59b0f24bbb5a42eca Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12201007 System Description: Debian GNU/Linux bookworm/sid Configured using: 'configure --with-gif=3Difavailable --with-tree-sitter=3Difavailable --with-cairo --with-imagemagick --with-json --with-native-compilation --with-xinput2 --with-xwidgets --with-x-toolkit=3Dgtk3 --with-gconf --with-xwidgets --with-imagemagick --with-modules' Configured features: ACL CAIRO DBUS FREETYPE GCONF GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB Important settings: value of $LC_MONETARY: en_US.UTF-8 value of $LC_NUMERIC: en_US.UTF-8 value of $LC_TIME: en_US.UTF-8 value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=3Dibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: helm--remap-mouse-mode: t async-bytecomp-package-mode: t global-emojify-mode: t emojify-mode: t which-key-mode: t global-page-break-lines-mode: t page-break-lines-mode: t buffer-face-mode: t direnv-mode: t flx-ido-mode: t auto-compile-on-load-mode: t auto-compile-on-save-mode: t yas-global-mode: t yas-minor-mode: t gcmh-mode: t global-flycheck-mode: t flycheck-mode: t override-global-mode: t shell-dirtrack-mode: t server-mode: t ido-everywhere: t windmove-mode: t display-time-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 file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t abbrev-mode: t hs-minor-mode: t Load-path shadows: /home/mah/.emacs.d/straight/build/dpkg-dev-el/debian-autoloads hides /home/= mah/.emacs.d/straight/build/debian-el/debian-autoloads /home/mah/.emacs.d/straight/build/transient/transient hides /home/mah/work/= code/emacs-master/lisp/transient /home/mah/.emacs.d/straight/build/use-package/use-package hides /home/mah/w= ork/code/emacs-master/lisp/use-package/use-package /home/mah/.emacs.d/straight/build/use-package/use-package-bind-key hides /h= ome/mah/work/code/emacs-master/lisp/use-package/use-package-bind-key /home/mah/.emacs.d/straight/build/use-package/use-package-core hides /home/= mah/work/code/emacs-master/lisp/use-package/use-package-core /home/mah/.emacs.d/straight/build/use-package/use-package-delight hides /ho= me/mah/work/code/emacs-master/lisp/use-package/use-package-delight /home/mah/.emacs.d/straight/build/use-package/use-package-jump hides /home/= mah/work/code/emacs-master/lisp/use-package/use-package-jump /home/mah/.emacs.d/straight/build/use-package/use-package-ensure hides /hom= e/mah/work/code/emacs-master/lisp/use-package/use-package-ensure /home/mah/.emacs.d/straight/build/use-package/use-package-diminish hides /h= ome/mah/work/code/emacs-master/lisp/use-package/use-package-diminish /home/mah/.emacs.d/straight/build/use-package/use-package-lint hides /home/= mah/work/code/emacs-master/lisp/use-package/use-package-lint /home/mah/.emacs.d/straight/build/bind-key/bind-key hides /home/mah/work/co= de/emacs-master/lisp/use-package/bind-key /home/mah/.emacs.d/straight/build/xref/xref hides /home/mah/work/code/emacs= -master/lisp/progmodes/xref /home/mah/.emacs.d/straight/build/project/project hides /home/mah/work/code= /emacs-master/lisp/progmodes/project /home/mah/.emacs.d/straight/build/org/org-fold hides /home/mah/work/code/em= acs-master/lisp/org/org-fold /home/mah/.emacs.d/straight/build/org/ob-tangle hides /home/mah/work/code/e= macs-master/lisp/org/ob-tangle /home/mah/.emacs.d/straight/build/org/org-datetree hides /home/mah/work/cod= e/emacs-master/lisp/org/org-datetree /home/mah/.emacs.d/straight/build/org/ob-makefile hides /home/mah/work/code= /emacs-master/lisp/org/ob-makefile /home/mah/.emacs.d/straight/build/org/org-goto hides /home/mah/work/code/em= acs-master/lisp/org/org-goto /home/mah/.emacs.d/straight/build/org/org-timer hides /home/mah/work/code/e= macs-master/lisp/org/org-timer /home/mah/.emacs.d/straight/build/org/ob-julia hides /home/mah/work/code/em= acs-master/lisp/org/ob-julia /home/mah/.emacs.d/straight/build/org/ob-eshell hides /home/mah/work/code/e= macs-master/lisp/org/ob-eshell /home/mah/.emacs.d/straight/build/org/org-macro hides /home/mah/work/code/e= macs-master/lisp/org/org-macro /home/mah/.emacs.d/straight/build/org/ol-eshell hides /home/mah/work/code/e= macs-master/lisp/org/ol-eshell /home/mah/.emacs.d/straight/build/org/ob-emacs-lisp hides /home/mah/work/co= de/emacs-master/lisp/org/ob-emacs-lisp /home/mah/.emacs.d/straight/build/org/ob-fortran hides /home/mah/work/code/= emacs-master/lisp/org/ob-fortran /home/mah/.emacs.d/straight/build/org/ol-eww hides /home/mah/work/code/emac= s-master/lisp/org/ol-eww /home/mah/.emacs.d/straight/build/org/ol-mhe hides /home/mah/work/code/emac= s-master/lisp/org/ol-mhe /home/mah/.emacs.d/straight/build/org/ol-irc hides /home/mah/work/code/emac= s-master/lisp/org/ol-irc /home/mah/.emacs.d/straight/build/org/ox-org hides /home/mah/work/code/emac= s-master/lisp/org/ox-org /home/mah/.emacs.d/straight/build/org/org-lint hides /home/mah/work/code/em= acs-master/lisp/org/org-lint /home/mah/.emacs.d/straight/build/org/ob-core hides /home/mah/work/code/ema= cs-master/lisp/org/ob-core /home/mah/.emacs.d/straight/build/org/org-list hides /home/mah/work/code/em= acs-master/lisp/org/org-list /home/mah/.emacs.d/straight/build/org/org-compat hides /home/mah/work/code/= emacs-master/lisp/org/org-compat /home/mah/.emacs.d/straight/build/org/ox-man hides /home/mah/work/code/emac= s-master/lisp/org/ox-man /home/mah/.emacs.d/straight/build/org/org-persist hides /home/mah/work/code= /emacs-master/lisp/org/org-persist /home/mah/.emacs.d/straight/build/org/ob-org hides /home/mah/work/code/emac= s-master/lisp/org/ob-org /home/mah/.emacs.d/straight/build/org/ob-table hides /home/mah/work/code/em= acs-master/lisp/org/ob-table /home/mah/.emacs.d/straight/build/org/ol-bibtex hides /home/mah/work/code/e= macs-master/lisp/org/ol-bibtex /home/mah/.emacs.d/straight/build/org/org-element hides /home/mah/work/code= /emacs-master/lisp/org/org-element /home/mah/.emacs.d/straight/build/org/oc-natbib hides /home/mah/work/code/e= macs-master/lisp/org/oc-natbib /home/mah/.emacs.d/straight/build/org/ob-ocaml hides /home/mah/work/code/em= acs-master/lisp/org/ob-ocaml /home/mah/.emacs.d/straight/build/org/org-agenda hides /home/mah/work/code/= emacs-master/lisp/org/org-agenda /home/mah/.emacs.d/straight/build/org/ob-sqlite hides /home/mah/work/code/e= macs-master/lisp/org/ob-sqlite /home/mah/.emacs.d/straight/build/org/ol-bbdb hides /home/mah/work/code/ema= cs-master/lisp/org/ol-bbdb /home/mah/.emacs.d/straight/build/org/ob-ref hides /home/mah/work/code/emac= s-master/lisp/org/ob-ref /home/mah/.emacs.d/straight/build/org/ox-latex hides /home/mah/work/code/em= acs-master/lisp/org/ox-latex /home/mah/.emacs.d/straight/build/org/org-loaddefs hides /home/mah/work/cod= e/emacs-master/lisp/org/org-loaddefs /home/mah/.emacs.d/straight/build/org/org-fold-core hides /home/mah/work/co= de/emacs-master/lisp/org/org-fold-core /home/mah/.emacs.d/straight/build/org/ob-ditaa hides /home/mah/work/code/em= acs-master/lisp/org/ob-ditaa /home/mah/.emacs.d/straight/build/org/ox-beamer hides /home/mah/work/code/e= macs-master/lisp/org/ox-beamer /home/mah/.emacs.d/straight/build/org/ob-clojure hides /home/mah/work/code/= emacs-master/lisp/org/ob-clojure /home/mah/.emacs.d/straight/build/org/ob-haskell hides /home/mah/work/code/= emacs-master/lisp/org/ob-haskell /home/mah/.emacs.d/straight/build/org/ob-sql hides /home/mah/work/code/emac= s-master/lisp/org/ob-sql /home/mah/.emacs.d/straight/build/org/ob-matlab hides /home/mah/work/code/e= macs-master/lisp/org/ob-matlab /home/mah/.emacs.d/straight/build/org/org-num hides /home/mah/work/code/ema= cs-master/lisp/org/org-num /home/mah/.emacs.d/straight/build/org/ob-R hides /home/mah/work/code/emacs-= master/lisp/org/ob-R /home/mah/.emacs.d/straight/build/org/ob-js hides /home/mah/work/code/emacs= -master/lisp/org/ob-js /home/mah/.emacs.d/straight/build/org/ox-ascii hides /home/mah/work/code/em= acs-master/lisp/org/ox-ascii /home/mah/.emacs.d/straight/build/org/org-entities hides /home/mah/work/cod= e/emacs-master/lisp/org/org-entities /home/mah/.emacs.d/straight/build/org/org-plot hides /home/mah/work/code/em= acs-master/lisp/org/org-plot /home/mah/.emacs.d/straight/build/org/ob-shell hides /home/mah/work/code/em= acs-master/lisp/org/ob-shell /home/mah/.emacs.d/straight/build/org/oc hides /home/mah/work/code/emacs-ma= ster/lisp/org/oc /home/mah/.emacs.d/straight/build/org/oc-biblatex hides /home/mah/work/code= /emacs-master/lisp/org/oc-biblatex /home/mah/.emacs.d/straight/build/org/org-ctags hides /home/mah/work/code/e= macs-master/lisp/org/org-ctags /home/mah/.emacs.d/straight/build/org/org-habit hides /home/mah/work/code/e= macs-master/lisp/org/org-habit /home/mah/.emacs.d/straight/build/org/ob-perl hides /home/mah/work/code/ema= cs-master/lisp/org/ob-perl /home/mah/.emacs.d/straight/build/org/org-table hides /home/mah/work/code/e= macs-master/lisp/org/org-table /home/mah/.emacs.d/straight/build/org/ob-calc hides /home/mah/work/code/ema= cs-master/lisp/org/ob-calc /home/mah/.emacs.d/straight/build/org/oc-bibtex hides /home/mah/work/code/e= macs-master/lisp/org/oc-bibtex /home/mah/.emacs.d/straight/build/org/ob-octave hides /home/mah/work/code/e= macs-master/lisp/org/ob-octave /home/mah/.emacs.d/straight/build/org/ob-maxima hides /home/mah/work/code/e= macs-master/lisp/org/ob-maxima /home/mah/.emacs.d/straight/build/org/ol hides /home/mah/work/code/emacs-ma= ster/lisp/org/ol /home/mah/.emacs.d/straight/build/org/org-inlinetask hides /home/mah/work/c= ode/emacs-master/lisp/org/org-inlinetask /home/mah/.emacs.d/straight/build/org/ox-koma-letter hides /home/mah/work/c= ode/emacs-master/lisp/org/ox-koma-letter /home/mah/.emacs.d/straight/build/org/org-cycle hides /home/mah/work/code/e= macs-master/lisp/org/org-cycle /home/mah/.emacs.d/straight/build/org/ob-latex hides /home/mah/work/code/em= acs-master/lisp/org/ob-latex /home/mah/.emacs.d/straight/build/org/org-indent hides /home/mah/work/code/= emacs-master/lisp/org/org-indent /home/mah/.emacs.d/straight/build/org/ol-gnus hides /home/mah/work/code/ema= cs-master/lisp/org/ol-gnus /home/mah/.emacs.d/straight/build/org/org-refile hides /home/mah/work/code/= emacs-master/lisp/org/org-refile /home/mah/.emacs.d/straight/build/org/ob-sed hides /home/mah/work/code/emac= s-master/lisp/org/ob-sed /home/mah/.emacs.d/straight/build/org/org-attach-git hides /home/mah/work/c= ode/emacs-master/lisp/org/org-attach-git /home/mah/.emacs.d/straight/build/org/org-colview hides /home/mah/work/code= /emacs-master/lisp/org/org-colview /home/mah/.emacs.d/straight/build/org/ob-groovy hides /home/mah/work/code/e= macs-master/lisp/org/ob-groovy /home/mah/.emacs.d/straight/build/org/ob-lisp hides /home/mah/work/code/ema= cs-master/lisp/org/ob-lisp /home/mah/.emacs.d/straight/build/org/org-protocol hides /home/mah/work/cod= e/emacs-master/lisp/org/org-protocol /home/mah/.emacs.d/straight/build/org/ol-doi hides /home/mah/work/code/emac= s-master/lisp/org/ol-doi /home/mah/.emacs.d/straight/build/org/ob-ruby hides /home/mah/work/code/ema= cs-master/lisp/org/ob-ruby /home/mah/.emacs.d/straight/build/org/ox-texinfo hides /home/mah/work/code/= emacs-master/lisp/org/ox-texinfo /home/mah/.emacs.d/straight/build/org/ob-eval hides /home/mah/work/code/ema= cs-master/lisp/org/ob-eval /home/mah/.emacs.d/straight/build/org/ob-dot hides /home/mah/work/code/emac= s-master/lisp/org/ob-dot /home/mah/.emacs.d/straight/build/org/org-feed hides /home/mah/work/code/em= acs-master/lisp/org/org-feed /home/mah/.emacs.d/straight/build/org/ox-odt hides /home/mah/work/code/emac= s-master/lisp/org/ox-odt /home/mah/.emacs.d/straight/build/org/ob-plantuml hides /home/mah/work/code= /emacs-master/lisp/org/ob-plantuml /home/mah/.emacs.d/straight/build/org/ol-docview hides /home/mah/work/code/= emacs-master/lisp/org/ol-docview /home/mah/.emacs.d/straight/build/org/ob-lob hides /home/mah/work/code/emac= s-master/lisp/org/ob-lob /home/mah/.emacs.d/straight/build/org/ob-awk hides /home/mah/work/code/emac= s-master/lisp/org/ob-awk /home/mah/.emacs.d/straight/build/org/ox-publish hides /home/mah/work/code/= emacs-master/lisp/org/ox-publish /home/mah/.emacs.d/straight/build/org/ox-html hides /home/mah/work/code/ema= cs-master/lisp/org/ox-html /home/mah/.emacs.d/straight/build/org/org hides /home/mah/work/code/emacs-m= aster/lisp/org/org /home/mah/.emacs.d/straight/build/org/org-src hides /home/mah/work/code/ema= cs-master/lisp/org/org-src /home/mah/.emacs.d/straight/build/org/ol-w3m hides /home/mah/work/code/emac= s-master/lisp/org/ol-w3m /home/mah/.emacs.d/straight/build/org/ox hides /home/mah/work/code/emacs-ma= ster/lisp/org/ox /home/mah/.emacs.d/straight/build/org/ob-C hides /home/mah/work/code/emacs-= master/lisp/org/ob-C /home/mah/.emacs.d/straight/build/org/oc-basic hides /home/mah/work/code/em= acs-master/lisp/org/oc-basic /home/mah/.emacs.d/straight/build/org/ob-screen hides /home/mah/work/code/e= macs-master/lisp/org/ob-screen /home/mah/.emacs.d/straight/build/org/ob-processing hides /home/mah/work/co= de/emacs-master/lisp/org/ob-processing /home/mah/.emacs.d/straight/build/org/ob-sass hides /home/mah/work/code/ema= cs-master/lisp/org/ob-sass /home/mah/.emacs.d/straight/build/org/ol-man hides /home/mah/work/code/emac= s-master/lisp/org/ol-man /home/mah/.emacs.d/straight/build/org/org-version hides /home/mah/work/code= /emacs-master/lisp/org/org-version /home/mah/.emacs.d/straight/build/org/org-keys hides /home/mah/work/code/em= acs-master/lisp/org/org-keys /home/mah/.emacs.d/straight/build/org/ox-md hides /home/mah/work/code/emacs= -master/lisp/org/ox-md /home/mah/.emacs.d/straight/build/org/org-capture hides /home/mah/work/code= /emacs-master/lisp/org/org-capture /home/mah/.emacs.d/straight/build/org/ob-lua hides /home/mah/work/code/emac= s-master/lisp/org/ob-lua /home/mah/.emacs.d/straight/build/org/org-duration hides /home/mah/work/cod= e/emacs-master/lisp/org/org-duration /home/mah/.emacs.d/straight/build/org/org-footnote hides /home/mah/work/cod= e/emacs-master/lisp/org/org-footnote /home/mah/.emacs.d/straight/build/org/org-macs hides /home/mah/work/code/em= acs-master/lisp/org/org-macs /home/mah/.emacs.d/straight/build/org/org-tempo hides /home/mah/work/code/e= macs-master/lisp/org/org-tempo /home/mah/.emacs.d/straight/build/org/ob-lilypond hides /home/mah/work/code= /emacs-master/lisp/org/ob-lilypond /home/mah/.emacs.d/straight/build/org/ob-exp hides /home/mah/work/code/emac= s-master/lisp/org/ob-exp /home/mah/.emacs.d/straight/build/org/ob-python hides /home/mah/work/code/e= macs-master/lisp/org/ob-python /home/mah/.emacs.d/straight/build/org/ol-info hides /home/mah/work/code/ema= cs-master/lisp/org/ol-info /home/mah/.emacs.d/straight/build/org/org-pcomplete hides /home/mah/work/co= de/emacs-master/lisp/org/org-pcomplete /home/mah/.emacs.d/straight/build/org/org-attach hides /home/mah/work/code/= emacs-master/lisp/org/org-attach /home/mah/.emacs.d/straight/build/org/org-archive hides /home/mah/work/code= /emacs-master/lisp/org/org-archive /home/mah/.emacs.d/straight/build/org/ol-rmail hides /home/mah/work/code/em= acs-master/lisp/org/ol-rmail /home/mah/.emacs.d/straight/build/org/org-id hides /home/mah/work/code/emac= s-master/lisp/org/org-id /home/mah/.emacs.d/straight/build/org/org-crypt hides /home/mah/work/code/e= macs-master/lisp/org/org-crypt /home/mah/.emacs.d/straight/build/org/ob-java hides /home/mah/work/code/ema= cs-master/lisp/org/ob-java /home/mah/.emacs.d/straight/build/org/ob-css hides /home/mah/work/code/emac= s-master/lisp/org/ob-css /home/mah/.emacs.d/straight/build/org/ob-scheme hides /home/mah/work/code/e= macs-master/lisp/org/ob-scheme /home/mah/.emacs.d/straight/build/org/org-faces hides /home/mah/work/code/e= macs-master/lisp/org/org-faces /home/mah/.emacs.d/straight/build/org/ob hides /home/mah/work/code/emacs-ma= ster/lisp/org/ob /home/mah/.emacs.d/straight/build/org/ob-comint hides /home/mah/work/code/e= macs-master/lisp/org/ob-comint /home/mah/.emacs.d/straight/build/org/org-mobile hides /home/mah/work/code/= emacs-master/lisp/org/org-mobile /home/mah/.emacs.d/straight/build/org/ob-forth hides /home/mah/work/code/em= acs-master/lisp/org/ob-forth /home/mah/.emacs.d/straight/build/org/org-clock hides /home/mah/work/code/e= macs-master/lisp/org/org-clock /home/mah/.emacs.d/straight/build/org/ox-icalendar hides /home/mah/work/cod= e/emacs-master/lisp/org/ox-icalendar /home/mah/.emacs.d/straight/build/org/oc-csl hides /home/mah/work/code/emac= s-master/lisp/org/oc-csl /home/mah/.emacs.d/straight/build/org/org-mouse hides /home/mah/work/code/e= macs-master/lisp/org/org-mouse /home/mah/.emacs.d/straight/build/org/ob-gnuplot hides /home/mah/work/code/= emacs-master/lisp/org/ob-gnuplot /home/mah/.emacs.d/straight/build/let-alist/let-alist hides /home/mah/work/= code/emacs-master/lisp/emacs-lisp/let-alist Features: (shadow sort mail-extr emacsbug winner ffap tramp-archive tramp-gvfs tramp-cache zeroconf helm-command helm-elisp helm-eval edebug debug backtrace helm-info helm-mode helm-misc helm-git-grep helm-files image-dired image-dired-tags image-dired-external image-dired-util image-mode exif helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-utils helm-help helm-types cl helm helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source helm-multi-match helm-lib async hideshow emojify tar-mode arc-mode archive-mode init cal-china lunar solar cal-dst cal-hebrew cal-julian holidays holiday-loaddefs terraform-mode hcl-mode terraform-mode-autoloads hcl-mode-autoloads terraform-doc terraform-doc-autoloads html-fold html-fold-autoloads danneskjold-theme danneskjold-theme-autoloads dpkg-dev-el-autoloads dpkg-dev-el debian-el-autoloads debian-el which-key which-key-autoloads prettier-js-autoloads impatient-mode htmlize simple-httpd impatient-mode-autoloads simple-httpd-autoloads web-mode-autoloads whattf-dt html5-langs whattf-dt-autoloads rustic-autoloads xterm-color-autoloads spinner-autoloads project-autoloads xref-autoloads rust-mode-autoloads flycheck-rust flycheck-rust-autoloads feature-mode cucumber-mode etags fileloop feature-mode-autoloads markdown-xwidget-autoloads mustache-autoloads phpcbf phpcbf-autoloads dockerfile-mode-autoloads nov-autoloads esxml-autoloads kv-autoloads go-errcheck-autoloads go-mode-autoloads blamer-autoloads git-timemachine vc-git vc-dispatcher git-timemachine-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads pfuture-autoloads ace-window-autoloads lice lice-autoloads gnus-alias gnus-alias-autoloads lorem-ipsum-autoloads ox-moderncv org-cv-utils ox-moderncv-autoloads magit-tramp-autoloads magit-gitflow-autoloads magit-popup-autoloads orgit-forge-autoloads orgit-autoloads web time-stamp web-autoloads ghub+ apiwrap apropos ghub+-autoloads apiwrap-autoloads ox-mediawiki-autoloads org-download-autoloads org-ref org-ref-core org-ref-glossary org-ref-bibtex avy doi-utils org-ref-utils org-ref-export citeproc citeproc-itemgetters citeproc-biblatex citeproc-bibtex ol-bibtex citeproc-cite citeproc-subbibs citeproc-sort citeproc-name citeproc-formatters citeproc-number rst citeproc-proc citeproc-disamb citeproc-itemdata citeproc-generic-elements citeproc-macro citeproc-choose citeproc-date citeproc-context citeproc-prange citeproc-style citeproc-locale citeproc-term citeproc-rt citeproc-lib citeproc-s thingatpt queue org-ref-misc-links org-ref-label-link org-ref-ref-links org-ref-citation-links xref project org-ref-bibliography-links hydra lv bibtex-completion filenotify biblio biblio-download biblio-dissemin biblio-ieee biblio-hal biblio-dblp biblio-crossref biblio-arxiv timezone biblio-doi biblio-core url-queue hl-line parsebib bibtex org-ref-autoloads citeproc-autoloads queue-autoloads bibtex-completion-autoloads biblio-autoloads biblio-core-autoloads parsebib-autoloads avy-autoloads org2blog-autoloads writegood-mode-autoloads hydra-autoloads lv-autoloads htmlize-autoloads metaweblog metaweblog-autoloads xml-rpc xml-rpc-autoloads mediawiki-autoloads json-mode js c-ts-common treesit imenu cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs json-mode-autoloads json-snatcher json-snatcher-autoloads password-store auth-source-pass password-store-autoloads page-break-lines page-break-lines-autoloads vterm bookmark tramp tramp-loaddefs trampver tramp-integration cus-edit pp files-x tramp-compat ls-lisp face-remap compile term disp-table ehelp vterm-module term/xterm xterm vterm-autoloads org-journal-autoloads deft-autoloads yaml-mode yaml-mode-autoloads emojify-autoloads spaceline-all-the-icons spaceline-all-the-icons-separators spaceline-all-the-icons-segments all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons memoize spaceline-all-the-icons-autoloads memoize-autoloads all-the-icons-autoloads spaceline powerline powerline-separators color powerline-themes spaceline-autoloads powerline-autoloads multiple-cursors-autoloads helm-git-grep-autoloads helm-autoloads popup-autoloads helm-core-autoloads async-autoloads ivy-autoloads python-mode-autoloads org-bullets-autoloads direnv diff-mode direnv-autoloads alert-autoloads log4e-autoloads gntp-autoloads flx-ido flx flx-ido-autoloads flx-autoloads xmlunicode-autoloads auto-compile auto-compile-autoloads js2-mode-autoloads string-inflection-autoloads org-mime org-mime-autoloads bbdb-autoloads loccur loccur-autoloads phpunit-autoloads yasnippet-snippets-autoloads yasnippet-snippets yasnippet yasnippet-autoloads company-autoloads php-mode-autoloads ghub-graphql gsexp ghub url-http url-gw nsm url-auth let-alist graphql graphql-autoloads treepy with-editor comp comp-cstr warnings transient edmacro kmacro gcmh gcmh-autoloads forge-autoloads yaml-autoloads markdown-mode-autoloads ghub-autoloads treepy-autoloads emacsql-sqlite-autoloads emacsql-autoloads closql-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads with-editor-autoloads transient-autoloads sqlite3 sqlite3-api sqlite3-autoloads firestarter firestarter-autoloads editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch pcase editorconfig-autoloads f f-shortdoc s f-autoloads s-autoloads geben dbgp tree-widget geben-autoloads envrc inheritenv envrc-autoloads inheritenv-autoloads flycheck flycheck-autoloads let-alist-autoloads pkg-info-autoloads epl-autoloads spacemacs-dark-theme spacemacs-common spacemacs-common-autoloads compat compat-autoloads finder-inf ox-pandoc ht dash ox-org 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-latex ox-icalendar ox-html table ox-ascii ox-publish ox ox-pandoc-autoloads ht-autoloads dash-autoloads org-crypt bind-key my-firestarter ob-ditaa ob-shell shell ob-dot whiteboard-theme server ido help-at-pt allout cus-load define org-duration org-clock advice windmove easy-mmode time org-agenda org-element org-persist xdg org-id avl-tree generator tabify appt gnus-icalendar org-capture org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete comint ansi-osc ansi-color ring org-list org-footnote org-faces org-entities noutline outline icons ob-emacs-lisp ob-core ob-eval org-cycle org-table ol rx org-fold org-fold-core org-keys oc org-loaddefs find-func org-version org-compat org-macs format-spec gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source json map url-vars gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time iso8601 gnus-spec gnus-int gnus-range message sendmail mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config mailabbrev mailheader gnus-win gnus nnheader gnus-util text-property-search time-date mail-utils range wid-edit mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr gmm-utils eieio byte-opt eieio-core icalendar diary-lib diary-loaddefs cal-menu calendar cal-loaddefs use-package-autoloads bind-key-autoloads info straight-autoloads cl-seq cl-extra help-mode straight subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile 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 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 xwidget-internal dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 802052 442929) (symbols 48 54570 10) (strings 32 265826 103942) (string-bytes 1 8283120) (vectors 16 131683) (vector-slots 8 4350011 2882978) (floats 8 2108 2629) (intervals 56 1888 1441) (buffers 984 17)) --=20 http://hexmode.com/ I cannot remember the books I've read any more than the meals I have eaten; even so, they have made me. -- Ralph Waldo Emerson