From unknown Tue Jun 17 20:20:52 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#55972 <55972@debbugs.gnu.org> To: bug#55972 <55972@debbugs.gnu.org> Subject: Status: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error Reply-To: bug#55972 <55972@debbugs.gnu.org> Date: Wed, 18 Jun 2025 03:20:52 +0000 retitle 55972 28.1; Package quickstart generated for large number of packag= es generates byte-code string larger than 64K, triggering bytecode overflow= error reassign 55972 emacs submitter 55972 Lynn Winebarger severity 55972 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 14 10:51:37 2022 Received: (at submit) by debbugs.gnu.org; 14 Jun 2022 14:51:37 +0000 Received: from localhost ([127.0.0.1]:35456 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o17tH-0007J3-Je for submit@debbugs.gnu.org; Tue, 14 Jun 2022 10:51:37 -0400 Received: from lists.gnu.org ([209.51.188.17]:39392) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o17tD-0007Is-RT for submit@debbugs.gnu.org; Tue, 14 Jun 2022 10:51:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56114) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o17t5-0004Sy-Sg for bug-gnu-emacs@gnu.org; Tue, 14 Jun 2022 10:51:31 -0400 Received: from mail-vs1-xe2d.google.com ([2607:f8b0:4864:20::e2d]:40510) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o17t1-0001au-5w for bug-gnu-emacs@gnu.org; Tue, 14 Jun 2022 10:51:23 -0400 Received: by mail-vs1-xe2d.google.com with SMTP id d39so9172330vsv.7 for ; Tue, 14 Jun 2022 07:51:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=pMqT/K9KERgxndNYQwiyuin/ZiqAWJStZNd5gwG96OY=; b=QSBr7s9jT8tamQIMvBTYCqdDLLsG54nB0sE0ydWOBbFhDwMU689Pl+KeVDNLASt392 oR+32MA6B5ceK1KsuerZoHcknDubfo9xbZcIc7PYGo+vo3TH5HwVVYNwQRhoIAi2tvKS jyE3UES21YvvlbUqWLSdUk5lbEd2W8Oz6xl346IzWwdnXpMp4tx/+G80sOgeJ7DCAFDU WI53TYRP4fEZ8xDgESrBnPSVNJP7DF+bNYG+5CU+Wi07LFIGlHNZfYBlNYatzaIj936T mr9aEjoPYiLgvcgPGDgQ5Qho9FF7CCYoxcQIndDbqucfmlvc15AaUke18N5LOyNwjA3H pRyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=pMqT/K9KERgxndNYQwiyuin/ZiqAWJStZNd5gwG96OY=; b=yvZpDgx93oXBvflqn+2xJTN5704qpejzVZTcK6HsuscoFdcxdm/pw2NsPu6k4ptclB ZnA+ZK+vNrQ6+oIm5/QqQYXMVehNgFvASLfFt5PSEyXD09dty4yp4ydzUv4HvOrMz4SB V9fBA01SKuyzOflk5hd1ZrSa4mtOL2m0lje/l082e40ot5wm7mvGC0lUCCidiYNJ4Bdn a85wBB3kXiq6TsunfE/y/fc/lSUcOQlzhRFuFQKkyuO1jL0XzM4vktfVmxnNXp5GdQZ0 ZTctsyC4CDNLeOhBprjnztH+d11DqZJyLRxJSqnNvEfOES7vPXr+foTfQMDBmlGp8HDQ bA4g== X-Gm-Message-State: AJIora82eFkwBItraDHU7TZSUKkG4EouT8IyDMIWGFaps4ekA8wGhuP2 BKslr4oFytSa0IwKbrnc8gdYWhRc90fX1nhUn3R4quuc0cc= X-Google-Smtp-Source: AGRyM1u4+LQNbphsKcpOpVSl/PFLtgiu9fZDw8S7AHbTvhLeRQS7ZlJlmSmKbW9XHIOB99p7O4pbZ512dw4Z+7VkUh4= X-Received: by 2002:a67:c78f:0:b0:32d:8831:16f0 with SMTP id t15-20020a67c78f000000b0032d883116f0mr2246486vsk.64.1655218276976; Tue, 14 Jun 2022 07:51:16 -0700 (PDT) MIME-Version: 1.0 From: Lynn Winebarger Date: Tue, 14 Jun 2022 10:51:03 -0400 Message-ID: Subject: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="0000000000006ccc0f05e16989b3" Received-SPF: pass client-ip=2607:f8b0:4864:20::e2d; envelope-from=owinebar@gmail.com; helo=mail-vs1-xe2d.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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) 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: -2.3 (--) --0000000000006ccc0f05e16989b3 Content-Type: text/plain; charset="UTF-8" I installed 940+ packages, with the package-quickstart option set to t. During the last set of packages I attempted to install, a message stating that attempting to byte-compile package-quickstart.el generated the error "bytecode overflow" appeared, and the installation process failed I don't know if the transaction was left in an incomplete state or not. I examined the package-quickstart.el file, and by trial and error found that cutting out the last few packages rendered a file that byte-compiled, and then verified that this happened whether I cut from the beginning or the end. I disassembled the byte code and it's simply a result of the byte-code interpreter being limited to 16-bit addresses. Whether this is a bug in the package system code for generating the package-quickstart.el file or a bug in the compiler for not handling the limitation more robustly, I leave to you. In GNU Emacs 28.1 (build 1, x86_64-pc-cygwin, GTK+ Version 3.22.28, cairo version 1.17.4) of 2022-04-05 built on fv-az282-442 Repository revision: 402e460d4c4ab116ebe2aebea5606ac4ac4a9e21 Repository branch: master Windowing system distributor 'The Cygwin/X Project', version 11.0.12101003 Configured using: 'configure --srcdir=/cygdrive/d/a/scallywag/emacs/emacs-28.1-1.x86_64/src/emacs-28.1 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man -C 'CFLAGS=-ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/cygdrive/d/a/scallywag/emacs/emacs-28.1-1.x86_64/build=/usr/src/debug/emacs-28.1-1 -fdebug-prefix-map=/cygdrive/d/a/scallywag/emacs/emacs-28.1-1.x86_64/src/emacs-28.1=/usr/src/debug/emacs-28.1-1' CPPFLAGS= LDFLAGS=' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBXML2 M17N_FLT MODULES NOTIFY GFILENOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=none locale-coding-system: utf-8-unix Major mode: Compilation Minor modes in effect: erefactor-check-eval-mode: t async-bytecomp-package-mode: t sly-symbol-completion-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t csv-field-index-mode: t TeX-PDF-mode: t delete-selection-mode: t highlight-changes-visible-mode: t shell-dirtrack-mode: t global-tab-line-mode: t tab-line-mode: t windmove-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: /home/owine/.emacs.d/elpa/evil-1.15.0/evil hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil /home/owine/.emacs.d/elpa/evil-1.15.0/evil-vars hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-vars /home/owine/.emacs.d/elpa/evil-1.15.0/evil-types hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-types /home/owine/.emacs.d/elpa/evil-1.15.0/evil-states hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-states /home/owine/.emacs.d/elpa/evil-1.15.0/evil-search hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-search /home/owine/.emacs.d/elpa/evil-1.15.0/evil-repeat hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-repeat /home/owine/.emacs.d/elpa/evil-1.15.0/evil-pkg hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-pkg /home/owine/.emacs.d/elpa/evil-1.15.0/evil-maps hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-maps /home/owine/.emacs.d/elpa/evil-1.15.0/evil-macros hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-macros /home/owine/.emacs.d/elpa/evil-1.15.0/evil-keybindings hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-keybindings /home/owine/.emacs.d/elpa/evil-1.15.0/evil-jumps hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-jumps /home/owine/.emacs.d/elpa/evil-1.15.0/evil-integration hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-integration /home/owine/.emacs.d/elpa/evil-1.15.0/evil-ex hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-ex /home/owine/.emacs.d/elpa/evil-1.15.0/evil-digraphs hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-digraphs /home/owine/.emacs.d/elpa/evil-1.15.0/evil-development hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-development /home/owine/.emacs.d/elpa/evil-1.15.0/evil-core hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-core /home/owine/.emacs.d/elpa/evil-1.15.0/evil-common hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-common /home/owine/.emacs.d/elpa/evil-1.15.0/evil-commands hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-commands /home/owine/.emacs.d/elpa/evil-1.15.0/evil-command-window hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-command-window /home/owine/.emacs.d/elpa/evil-1.15.0/evil-autoloads hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-autoloads /home/owine/.emacs.d/elpa/lispy-20220209.1138/elpa hides /home/owine/.emacs.d/elpa/ivy-20220529.1130/elpa /home/owine/.emacs.d/elpa/xcscope-20210719.828/xcscope hides /usr/share/emacs/site-lisp/xcscope /home/owine/.emacs.d/elpa/auctex-13.1.3/tex-site hides /usr/share/emacs/site-lisp/tex-site /home/owine/.emacs.d/elpa/maxima-20220531.1751/maxima hides /usr/share/emacs/site-lisp/maxima /home/owine/.emacs.d/elpa/maxima-20220531.1751/maxima-font-lock hides /usr/share/emacs/site-lisp/maxima-font-lock /home/owine/.emacs.d/elpa/cmake-mode-20220322.1258/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /home/owine/.emacs.d/elpa/clhs-20210428.1911/clhs hides /usr/share/emacs/site-lisp/clhs /home/owine/.emacs.d/elpa/clang-format-20191106.950/clang-format hides /usr/share/emacs/site-lisp/clang-format /home/owine/.emacs.d/elpa/auctex-13.1.3/auctex hides /usr/share/emacs/site-lisp/auctex /home/owine/.emacs.d/elpa/auctex-13.1.3/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x /home/owine/.emacs.d/elpa/auctex-13.1.3/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp /home/owine/.emacs.d/elpa/auctex-13.1.3/tex hides /usr/share/emacs/site-lisp/auctex/tex /home/owine/.emacs.d/elpa/auctex-13.1.3/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style /home/owine/.emacs.d/elpa/auctex-13.1.3/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik /home/owine/.emacs.d/elpa/auctex-13.1.3/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp /home/owine/.emacs.d/elpa/auctex-13.1.3/tex-ispell hides /usr/share/emacs/site-lisp/auctex/tex-ispell /home/owine/.emacs.d/elpa/auctex-13.1.3/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info /home/owine/.emacs.d/elpa/auctex-13.1.3/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font /home/owine/.emacs.d/elpa/auctex-13.1.3/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold /home/owine/.emacs.d/elpa/auctex-13.1.3/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar /home/owine/.emacs.d/elpa/auctex-13.1.3/preview hides /usr/share/emacs/site-lisp/auctex/preview /home/owine/.emacs.d/elpa/auctex-13.1.3/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex /home/owine/.emacs.d/elpa/auctex-13.1.3/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt /home/owine/.emacs.d/elpa/auctex-13.1.3/latex hides /usr/share/emacs/site-lisp/auctex/latex /home/owine/.emacs.d/elpa/auctex-13.1.3/latex-flymake hides /usr/share/emacs/site-lisp/auctex/latex-flymake /home/owine/.emacs.d/elpa/auctex-13.1.3/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex /home/owine/.emacs.d/elpa/auctex-13.1.3/context hides /usr/share/emacs/site-lisp/auctex/context /home/owine/.emacs.d/elpa/auctex-13.1.3/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl /home/owine/.emacs.d/elpa/auctex-13.1.3/context-en hides /usr/share/emacs/site-lisp/auctex/context-en /home/owine/.emacs.d/elpa/auctex-13.1.3/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite /home/owine/.emacs.d/elpa/transient-20220527.2213/transient hides /usr/share/emacs/28.1/lisp/transient /home/owine/.emacs.d/elpa/xref-1.4.1/xref hides /usr/share/emacs/28.1/lisp/progmodes/xref /home/owine/.emacs.d/elpa/dictionary-20201001.1727/dictionary hides /usr/share/emacs/28.1/lisp/net/dictionary /home/owine/.emacs.d/elpa/hierarchy-20190425.842/hierarchy hides /usr/share/emacs/28.1/lisp/emacs-lisp/hierarchy /home/owine/.emacs.d/elpa/cl-print-1.0/cl-print hides /usr/share/emacs/28.1/lisp/emacs-lisp/cl-print Features: (shadow mail-extr geiser-impl geiser-custom geiser-base disass emacsbug two-column misearch multi-isearch erefactor helm-for-files helm-comint helm-imenu helm-bookmark helm-external helm-mode helm-misc helm-elisp helm-files image-dired helm-buffers helm-tags helm-locate helm-eval helm-occur helm-grep helm-regexp helm-net helm-adaptive helm-info helm-utils helm-types helm-help helm helm-global-bindings helm-easymenu helm-core async-bytecomp slime sly sly-completion sly-buttons sly-messages sly-common hyperspec ace-jump-mode dired-subtree dired-hacks-utils dired-x windata helm-make django-snippets pythonic magit-popup docbook-snippets docstr docstr-key docstr-faces docstr-writers docstr-util doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path doom-themes-base dynamic-ruler compat checkdoc ebib ebib-reading-list ebib-notes ebib-filters ebib-keywords ebib-utils ebib-db ecb-symboldef ecb-analyse ecb-compatibility ecb-winman-support ecb-autogen ecb-tod ecb-cycle ecb-eshell ecb-help ecb-jde ecb-upgrade ecb-file-browser ecb-method-browser ecb-semantic-wrapper ecb-semantic ecb-speedbar ecb-layout ecb-create-layout ecb-compilation ecb-common-browser ecb-navigate eieio-compat ecb-cedet-wrapper semantic/db-mode semantic/db-find semantic/db-ref semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn semantic/format semantic/tag-ls semantic/find semantic/ctxt ecb-mode-line ecb-face tree-buffer ecb-util silentcomp vc-mtn vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs eglot array julia-mode-latexsubs eide-vc xcscope eide-windows eide-search eide-project eide-keys eide-compare eide-popup eide-edit eide-menu eide-display eide-config js ein-process ein-jupyter ein-dev ein-notebook ein-python-send ein-traceback ein-pytools ein-pager ein-completer ein-notification ein-scratchsheet ein-worksheet poly-ein display-line-numbers ein-kill-ring ein-cell ein-kernelinfo ein-notebooklist ein-contents-api ein-file ein-shared-output ein-output-area ein-kernel ein-ipdb ein-query ein-events ein-websocket websocket ein-node ein-log ein-classes ein-core request ein-utils anaphora ein polymode polymode-base polymode-weave polymode-export polymode-compat polymode-methods trace poly-lock polymode-core polymode-classes eldev profiler eldev-util jsonrpc electric-operator elp benchmark electric-spacing-text-mode electric-spacing-emacs-lisp-mode electric-spacing-haskell-mode electric-spacing-org-mode electric-spacing-rust-mode electric-spacing-python-mode electric-spacing-cc-mode electric-spacing lsp-pwsh lsp-kotlin dap-ui lsp-treemacs gdb-mi gud bui lsp-lens dap-utils dap-mode dap-launch dap-overlays lsp-treemacs-themes treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks thunk treemacs-interface treemacs-extensions treemacs-mouse-interface treemacs-tags treemacs-faces treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-visuals treemacs-fringe-indicator treemacs-icons treemacs-themes treemacs-workspaces treemacs-scope treemacs-dom treemacs-core-utils treemacs-macros treemacs-logging treemacs-customization pfuture dashboard git dashboard-widgets recentf extmap dotassoc kv debbugs-gnu add-log debbugs-compat debbugs soap-client rng-xsd xsd-regexp ob-shell em-hist em-pred esh-mode detached autorevert trie tNFA heap link connection diff-hl-show-hunk diff-hl-inline-popup diff-hl-dired diff diff-hl vc-hg log-view pcvs-util vc-dir treeview dash-docs ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util projectile counsel xdg swiper skeleton ibuf-macs find-dired grep ibuf-ext ibuffer ibuffer-loaddefs cpio-dired cpio-odc cpio-hpodc cpio-hpbin cpio-crc cpio-bin cpio-affiliated-buffers cpio-modes cpio-newc cpio-generic bindat cquery-inheritance-hierarchy cquery-call-hierarchy cquery-code-lens cquery-semantic-highlighting cquery-tree cquery-common lsp autothemer csharp-compilation css-eldoc-hash-table csv-mode hsluv ctxmenu common-lisp-snippets company-c-headers axiom-environment company-box-doc company-box-icons frame-local company-coq-utils company-coq-tg company-coq-abbrev smie shr kinsoku svg hideshow company-math flx ffap irony-completion irony-snippet irony-cdb-json irony-cdb irony irony-iotask jedi-core epc ctable concurrent python-environment company-etags lean-dev lean-right-click lean-message-boxes lean-type lean-hole lean-flycheck lean-input lean-eri lean-info lean-syntax lean-server lean-leanpkg lean-debug lean-settings lean-util math-symbol-lists maxima maxima-font-lock posframe rtags repeat asm-mode company-web company-css web-completion-data levenshtein find-file python helm-source helm-multi-match helm-lib clj-refactor cap-words superword subword inflections cider paredit mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors multiple-cursors-core oc-csl org-id citar citar-file clang-format tramp-sh cider-debug cider-repl-history cider-scratch pulse cider-mode cider-completion cider-profile cider-inspector cider-eval cider-repl cider-test cider-stacktrace cider-overlays cider-jar cider-browse-ns cider-eldoc apropos cider-find cider-resolve cider-doc cider-browse-spec cider-clojuredocs cider-client cider-connection sesman-browser nrepl-client parseedn cider-popup cider-common cider-util sesman clojure-mode nrepl-dict align parseclj-ast parseclj-parser parseclj-lex parseclj-alist tls lui-track circe lui-irc-colors irc lcs lui-logging lui-format lui tracking shorten flyspell circe-compat citeproc-org org-ref org-ref-core org-ref-glossary org-ref-bibtex org-ref-export ox-pandoc org-ref-misc-links org-ref-label-link org-ref-ref-links org-ref-citation-links org-ref-bibliography-links bibtex-completion doi-utils org-ref-utils citeproc citeproc-itemgetters citeproc-cite citeproc-generic-elements citeproc-choose string-inflection citeproc-biblatex citeproc-subbibs citeproc-sort citeproc-name citeproc-macro citeproc-formatters citeproc-proc citeproc-disamb citeproc-itemdata citeproc-number queue citeproc-date citeproc-context citeproc-style citeproc-locale citeproc-prange citeproc-term citeproc-rt citeproc-lib citeproc-bibtex citeproc-s ol-bibtex ox-org ox-odt ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox citre-peek citre-basic-tools citre-ctags citre-util citre-core citre-tag citre-core-tables citre-common cl-format-builtins clisp-format cl-format-def tree-mode hierarchy cg-global which-func caml view rfc1345 cape ccls-member-hierarchy ccls-inheritance-hierarchy ccls-call-hierarchy ccls-code-lens ccls-semantic-highlight ccls-tree ccls-common lsp-javascript lsp-html lsp-icons lsp-completion lsp-semantic-tokens lsp-mode lsp-protocol markdown-mode ht inline centaur-tabs-interactive centaur-tabs-functions centaur-tabs-elements powerline powerline-separators powerline-themes config-manage config-manage-mode config-manage-prop config-manage-base choice-program time-stamp config-manage-declare choice-program-complete bug-hunter bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils org-agenda org-colview org-element avl-tree boxy benchmark-init reftex-sel org-capture org-refile filenotify biblio parsebib biblio-download biblio-dissemin biblio-ieee biblio-hal biblio-dblp biblio-crossref biblio-arxiv biblio-doi biblio-core url-queue ido hl-line f f-shortdoc tempo make-mode etags fileloop company-dabbrev company-template company avy axiom-selector axiom-buffer-menu axiom-boot-mode axiom-spad-mode axiom-input-mode imenu axiom-process-mode axiom-help-mode axiom-base mm-url vc-git diff-mode vc vc-dispatcher macrostep-c cmacexp macrostep lua-mode texinfo texinfo-loaddefs toolbar-x reporter desktop frameset context plain-tex latex latex-flymake flymake-proc flymake tex-ispell tex-style tex crm texmathp auto-loads tex-site auto-complete-config rng-nxml nxml-mode nxml-outln nxml-rap rng-valid rng-loc rng-uri rng-parse nxml-parse nxml-enc rng-match rng-dt rng-util rng-pttrn nxml-ns xmltok nxml-util yaxception auto-complete popup sage-shell-mode deferred ede/srecode srecode semantic/db semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local ede/speedbar ede/files ede ede/detect ede/base ede/source eieio-speedbar cedet cc-langs spinner ede/auto eieio-base arxiv-query arxiv-vars org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol org-keys oc org-compat org-macs org-loaddefs hydra lv smtpmail sendmail dired-aux async async-await iter2 promise promise-rejection-tracking promise-finally promise-done promise-es6-extensions promise-core generator enriched pces-e20 pces-20 pccl-20 broken ccl path-util invisible inv-23 mcs-e20 mcs-20 mcharset poem poem-e20 poem-e20_3 pym poe alist static apel-ver product cl yasnippet-snippets angular-snippets yasnippet log4e notifications gntp almost-mono-themes sort reftex-dcr reftex-parse reftex-cite reftex reftex-loaddefs reftex-vars s all-the-icons ivy-rich ivy delsel ivy-faces ivy-overlay colir all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons edit-indirect ssass-mode vue-html-mode mmm-cmds mmm-mode mmm-univ sgml-mode dom mmm-class mmm-region mmm-auto mmm-vars mmm-utils mmm-compat face-remap term disp-table ehelp term/xterm xterm reformatter timezone xmlunicode quail xmlunicode-character-list ert ewoc debug flycheck dash let-alist easy-mmode epl rx warnings yaml-mode tar-mode arc-mode archive-mode names edebug backtrace autoload lisp-mnt mm-archive network-stream url-http url-gw url-auth cl-print eieio-opt cl-extra shortdoc package-x help-fns radix-tree mule-util vhdl-mode hippie-exp cus-theme tmm find-func time color shadowfile xwidget bookmark wid-browse tree-widget eieio-custom woman speedbar ezimage dframe rst compile proced mh-e mh-compat mh-buffers mh-loaddefs message rfc822 mml mml-sec epa derived epg rfc6068 mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader hilit-chg hi-lock gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums text-property-search mail-utils mm-util mail-prsvr facemenu cwarn cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ses unsafep rcirc newst-backend mpc ispell htmlfontify htmlfontify-loaddefs eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util erc-goodies erc erc-backend erc-loaddefs doc-view jka-compr image-mode exif cal-menu calendar cal-loaddefs calculator edmacro kmacro calc calc-loaddefs rect calc-macs tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat parse-time iso8601 ls-lisp format-spec ntlm hmac-md5 hex-util md4 nsm rmc netrc net-utils ldap kermit shell pcomplete gravatar dns url-cache goto-addr gnutls puny eudc-vars dig dbus xml bug-reference ange-ftp comint server man ansi-color locate dired dired-loaddefs epg-config ebnf2ps ps-print ps-print-loaddefs ps-def lpr bib-mode help-mode novice thingatpt xref project ring cus-edit pp wid-edit cus-start time-date modus-operandi-theme modus-themes pcase tab-line cus-load windmove finder-inf bnf-mode-autoloads names-autoloads advice namespaces-autoloads realgud-recursive-autoloads slime-autoloads with-editor-autoloads info package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip 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 cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind gfilenotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 3122102 613628) (symbols 48 167919 62) (strings 32 759155 206619) (string-bytes 1 22732645) (vectors 16 252152) (vector-slots 8 4169882 371529) (floats 8 3882 287) (intervals 56 204409 17430) (buffers 992 249)) --0000000000006ccc0f05e16989b3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

I installed 940+ packages, with the package-quickstart= option set to t.
During the last set of packages I attempted to install= , a message stating
that attempting to byte-compile package-quickstart.e= l generated the
error "bytecode overflow" appeared, and the in= stallation process failed
I don't know if the transaction was left i= n an incomplete state or not.

I examined the package-quickstart.el f= ile, and by trial and error found
that cutting out the last few packages= rendered a file that
byte-compiled, and then verified that this happene= d whether I cut from
the beginning or the end.

I disassembled the= byte code and it's simply a result of the byte-code
interpreter bei= ng limited to 16-bit addresses.

Whether this is a bug in the package= system code for generating the
package-quickstart.el file or a bug in t= he compiler for not handling the
limitation more robustly, I leave to yo= u.


In GNU Emacs 28.1 (build 1, x86_64-pc-cygwin, GTK+ Version 3.= 22.28, cairo version 1.17.4)
=C2=A0of 2022-04-05 built on fv-az282-442Repository revision: 402e460d4c4ab116ebe2aebea5606ac4ac4a9e21
Reposito= ry branch: master
Windowing system distributor 'The Cygwin/X Project= ', version 11.0.12101003
Configured using:
=C2=A0'configure=C2=A0--srcdir=3D/cygdrive/d/a/scallywag/emacs/emacs-28.1-1.x86_64/src/em= acs-28.1
=C2=A0--prefix=3D/usr --exec-prefix=3D/usr --localstatedir=3D/v= ar --sysconfdir=3D/etc
=C2=A0--infodir=3D/usr/share/info --mandir=3D/usr= /share/man -C 'CFLAGS=3D-ggdb -O2
=C2=A0-pipe -Wall -Werror=3Dformat= -security -Wp,-D_FORTIFY_SOURCE=3D2
=C2=A0-fstack-protector-strong --par= am=3Dssp-buffer-size=3D4
=C2=A0-fdebug-prefix-map=3D/cygdrive/d/a/scally= wag/emacs/emacs-28.1-1.x86_64/build=3D/usr/src/debug/emacs-28.1-1
=C2=A0= -fdebug-prefix-map=3D/cygdrive/d/a/scallywag/emacs/emacs-28.1-1.x86_64/src/= emacs-28.1=3D/usr/src/debug/emacs-28.1-1'
=C2=A0CPPFLAGS=3D LDFLAGS= =3D'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GM= P GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBOTF LIBXML2 M17N_FLT MODU= LES NOTIFY GFILENOTIFY PDUMPER PNG
RSVG SOUND THREADS TIFF TOOLKIT_SCROL= L_BARS X11 XDBE XIM XPM GTK3 ZLIB

Important settings:
=C2=A0 valu= e of $LANG: en_US.UTF-8
=C2=A0 value of $XMODIFIERS: @im=3Dnone
=C2= =A0 locale-coding-system: utf-8-unix

Major mode: Compilation

= Minor modes in effect:
=C2=A0 erefactor-check-eval-mode: t
=C2=A0 asy= nc-bytecomp-package-mode: t
=C2=A0 sly-symbol-completion-mode: t
=C2= =A0 treemacs-filewatch-mode: t
=C2=A0 treemacs-follow-mode: t
=C2=A0 = treemacs-git-mode: t
=C2=A0 treemacs-fringe-indicator-mode: t
=C2=A0 = csv-field-index-mode: t
=C2=A0 TeX-PDF-mode: t
=C2=A0 delete-selectio= n-mode: t
=C2=A0 highlight-changes-visible-mode: t
=C2=A0 shell-dirtr= ack-mode: t
=C2=A0 global-tab-line-mode: t
=C2=A0 tab-line-mode: t=C2=A0 windmove-mode: t
=C2=A0 tooltip-mode: t
=C2=A0 global-eldoc-m= ode: t
=C2=A0 show-paren-mode: t
=C2=A0 electric-indent-mode: t
= =C2=A0 mouse-wheel-mode: t
=C2=A0 file-name-shadow-mode: t
=C2=A0 con= text-menu-mode: t
=C2=A0 global-font-lock-mode: t
=C2=A0 font-lock-mo= de: t
=C2=A0 blink-cursor-mode: t
=C2=A0 auto-composition-mode: t
= =C2=A0 auto-encryption-mode: t
=C2=A0 auto-compression-mode: t
=C2=A0= buffer-read-only: t
=C2=A0 column-number-mode: t
=C2=A0 line-number-= mode: t
=C2=A0 indent-tabs-mode: t
=C2=A0 transient-mark-mode: t
<= br>Load-path shadows:
/home/owine/.emacs.d/elpa/evil-1.15.0/evil hides /= home/owine/.emacs.d/elpa/evil-20220518.859/evil
/home/owine/.emacs.d/elp= a/evil-1.15.0/evil-vars hides /home/owine/.emacs.d/elpa/evil-20220518.859/e= vil-vars
/home/owine/.emacs.d/elpa/evil-1.15.0/evil-types hides /home/ow= ine/.emacs.d/elpa/evil-20220518.859/evil-types
/home/owine/.emacs.d/elpa= /evil-1.15.0/evil-states hides /home/owine/.emacs.d/elpa/evil-20220518.859/= evil-states
/home/owine/.emacs.d/elpa/evil-1.15.0/evil-search hides /hom= e/owine/.emacs.d/elpa/evil-20220518.859/evil-search
/home/owine/.emacs.d= /elpa/evil-1.15.0/evil-repeat hides /home/owine/.emacs.d/elpa/evil-20220518= .859/evil-repeat
/home/owine/.emacs.d/elpa/evil-1.15.0/evil-pkg hides /h= ome/owine/.emacs.d/elpa/evil-20220518.859/evil-pkg
/home/owine/.emacs.d/= elpa/evil-1.15.0/evil-maps hides /home/owine/.emacs.d/elpa/evil-20220518.85= 9/evil-maps
/home/owine/.emacs.d/elpa/evil-1.15.0/evil-macros hides /hom= e/owine/.emacs.d/elpa/evil-20220518.859/evil-macros
/home/owine/.emacs.d= /elpa/evil-1.15.0/evil-keybindings hides /home/owine/.emacs.d/elpa/evil-202= 20518.859/evil-keybindings
/home/owine/.emacs.d/elpa/evil-1.15.0/evil-ju= mps hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-jumps
/home/o= wine/.emacs.d/elpa/evil-1.15.0/evil-integration hides /home/owine/.emacs.d/= elpa/evil-20220518.859/evil-integration
/home/owine/.emacs.d/elpa/evil-1= .15.0/evil-ex hides /home/owine/.emacs.d/elpa/evil-20220518.859/evil-ex
= /home/owine/.emacs.d/elpa/evil-1.15.0/evil-digraphs hides /home/owine/.emac= s.d/elpa/evil-20220518.859/evil-digraphs
/home/owine/.emacs.d/elpa/evil-= 1.15.0/evil-development hides /home/owine/.emacs.d/elpa/evil-20220518.859/e= vil-development
/home/owine/.emacs.d/elpa/evil-1.15.0/evil-core hides /h= ome/owine/.emacs.d/elpa/evil-20220518.859/evil-core
/home/owine/.emacs.d= /elpa/evil-1.15.0/evil-common hides /home/owine/.emacs.d/elpa/evil-20220518= .859/evil-common
/home/owine/.emacs.d/elpa/evil-1.15.0/evil-commands hid= es /home/owine/.emacs.d/elpa/evil-20220518.859/evil-commands
/home/owine= /.emacs.d/elpa/evil-1.15.0/evil-command-window hides /home/owine/.emacs.d/e= lpa/evil-20220518.859/evil-command-window
/home/owine/.emacs.d/elpa/evil= -1.15.0/evil-autoloads hides /home/owine/.emacs.d/elpa/evil-20220518.859/ev= il-autoloads
/home/owine/.emacs.d/elpa/lispy-20220209.1138/elpa hides /h= ome/owine/.emacs.d/elpa/ivy-20220529.1130/elpa
/home/owine/.emacs.d/elpa= /xcscope-20210719.828/xcscope hides /usr/share/emacs/site-lisp/xcscope
/= home/owine/.emacs.d/elpa/auctex-13.1.3/tex-site hides /usr/share/emacs/site= -lisp/tex-site
/home/owine/.emacs.d/elpa/maxima-20220531.1751/maxima hid= es /usr/share/emacs/site-lisp/maxima
/home/owine/.emacs.d/elpa/maxima-20= 220531.1751/maxima-font-lock hides /usr/share/emacs/site-lisp/maxima-font-l= ock
/home/owine/.emacs.d/elpa/cmake-mode-20220322.1258/cmake-mode hides = /usr/share/emacs/site-lisp/cmake-mode
/home/owine/.emacs.d/elpa/clhs-202= 10428.1911/clhs hides /usr/share/emacs/site-lisp/clhs
/home/owine/.emacs= .d/elpa/clang-format-20191106.950/clang-format hides /usr/share/emacs/site-= lisp/clang-format
/home/owine/.emacs.d/elpa/auctex-13.1.3/auctex hides /= usr/share/emacs/site-lisp/auctex
/home/owine/.emacs.d/elpa/auctex-13.1.3= /toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/home/owine= /.emacs.d/elpa/auctex-13.1.3/texmathp hides /usr/share/emacs/site-lisp/auct= ex/texmathp
/home/owine/.emacs.d/elpa/auctex-13.1.3/tex hides /usr/share= /emacs/site-lisp/auctex/tex
/home/owine/.emacs.d/elpa/auctex-13.1.3/tex-= style hides /usr/share/emacs/site-lisp/auctex/tex-style
/home/owine/.ema= cs.d/elpa/auctex-13.1.3/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex= -mik
/home/owine/.emacs.d/elpa/auctex-13.1.3/tex-jp hides /usr/share/ema= cs/site-lisp/auctex/tex-jp
/home/owine/.emacs.d/elpa/auctex-13.1.3/tex-i= spell hides /usr/share/emacs/site-lisp/auctex/tex-ispell
/home/owine/.em= acs.d/elpa/auctex-13.1.3/tex-info hides /usr/share/emacs/site-lisp/auctex/t= ex-info
/home/owine/.emacs.d/elpa/auctex-13.1.3/tex-font hides /usr/shar= e/emacs/site-lisp/auctex/tex-font
/home/owine/.emacs.d/elpa/auctex-13.1.= 3/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/home/owine/= .emacs.d/elpa/auctex-13.1.3/tex-bar hides /usr/share/emacs/site-lisp/auctex= /tex-bar
/home/owine/.emacs.d/elpa/auctex-13.1.3/preview hides /usr/shar= e/emacs/site-lisp/auctex/preview
/home/owine/.emacs.d/elpa/auctex-13.1.3= /plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex
/home/owine= /.emacs.d/elpa/auctex-13.1.3/multi-prompt hides /usr/share/emacs/site-lisp/= auctex/multi-prompt
/home/owine/.emacs.d/elpa/auctex-13.1.3/latex hides = /usr/share/emacs/site-lisp/auctex/latex
/home/owine/.emacs.d/elpa/auctex= -13.1.3/latex-flymake hides /usr/share/emacs/site-lisp/auctex/latex-flymake=
/home/owine/.emacs.d/elpa/auctex-13.1.3/font-latex hides /usr/share/ema= cs/site-lisp/auctex/font-latex
/home/owine/.emacs.d/elpa/auctex-13.1.3/c= ontext hides /usr/share/emacs/site-lisp/auctex/context
/home/owine/.emac= s.d/elpa/auctex-13.1.3/context-nl hides /usr/share/emacs/site-lisp/auctex/c= ontext-nl
/home/owine/.emacs.d/elpa/auctex-13.1.3/context-en hides /usr/= share/emacs/site-lisp/auctex/context-en
/home/owine/.emacs.d/elpa/auctex= -13.1.3/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/home/= owine/.emacs.d/elpa/transient-20220527.2213/transient hides /usr/share/emac= s/28.1/lisp/transient
/home/owine/.emacs.d/elpa/xref-1.4.1/xref hides /u= sr/share/emacs/28.1/lisp/progmodes/xref
/home/owine/.emacs.d/elpa/dictio= nary-20201001.1727/dictionary hides /usr/share/emacs/28.1/lisp/net/dictiona= ry
/home/owine/.emacs.d/elpa/hierarchy-20190425.842/hierarchy hides /usr= /share/emacs/28.1/lisp/emacs-lisp/hierarchy
/home/owine/.emacs.d/elpa/cl= -print-1.0/cl-print hides /usr/share/emacs/28.1/lisp/emacs-lisp/cl-print
Features:
(shadow mail-extr geiser-impl geiser-custom geiser-base d= isass emacsbug
two-column misearch multi-isearch erefactor helm-for-file= s helm-comint
helm-imenu helm-bookmark helm-external helm-mode helm-misc= helm-elisp
helm-files image-dired helm-buffers helm-tags helm-locate he= lm-eval
helm-occur helm-grep helm-regexp helm-net helm-adaptive helm-inf= o
helm-utils helm-types helm-help helm helm-global-bindings helm-easymen= u
helm-core async-bytecomp slime sly sly-completion sly-buttons
sly-m= essages sly-common hyperspec ace-jump-mode dired-subtree
dired-hacks-uti= ls dired-x windata helm-make django-snippets pythonic
magit-popup docboo= k-snippets docstr docstr-key docstr-faces
docstr-writers docstr-util doo= m-modeline-segments doom-modeline-env
doom-modeline-core shrink-path doo= m-themes-base dynamic-ruler compat
checkdoc ebib ebib-reading-list ebib-= notes ebib-filters ebib-keywords
ebib-utils ebib-db ecb-symboldef ecb-an= alyse ecb-compatibility
ecb-winman-support ecb-autogen ecb-tod ecb-cycle= ecb-eshell ecb-help
ecb-jde ecb-upgrade ecb-file-browser ecb-method-bro= wser
ecb-semantic-wrapper ecb-semantic ecb-speedbar ecb-layout
ecb-cr= eate-layout ecb-compilation ecb-common-browser ecb-navigate
eieio-compat= ecb-cedet-wrapper semantic/db-mode semantic/db-find
semantic/db-ref sem= antic/analyze semantic/sort semantic/scope
semantic/analyze/fcn semantic= /format semantic/tag-ls semantic/find
semantic/ctxt ecb-mode-line ecb-fa= ce tree-buffer ecb-util silentcomp
vc-mtn vc-bzr vc-src vc-sccs vc-svn v= c-cvs vc-rcs eglot array
julia-mode-latexsubs eide-vc xcscope eide-windo= ws eide-search
eide-project eide-keys eide-compare eide-popup eide-edit = eide-menu
eide-display eide-config js ein-process ein-jupyter ein-dev ei= n-notebook
ein-python-send ein-traceback ein-pytools ein-pager ein-compl= eter
ein-notification ein-scratchsheet ein-worksheet poly-ein
display= -line-numbers ein-kill-ring ein-cell ein-kernelinfo
ein-notebooklist ein= -contents-api ein-file ein-shared-output
ein-output-area ein-kernel ein-= ipdb ein-query ein-events ein-websocket
websocket ein-node ein-log ein-c= lasses ein-core request ein-utils
anaphora ein polymode polymode-base po= lymode-weave polymode-export
polymode-compat polymode-methods trace poly= -lock polymode-core
polymode-classes eldev profiler eldev-util jsonrpc e= lectric-operator elp
benchmark electric-spacing-text-mode electric-spaci= ng-emacs-lisp-mode
electric-spacing-haskell-mode electric-spacing-org-mo= de
electric-spacing-rust-mode electric-spacing-python-mode
electric-s= pacing-cc-mode electric-spacing lsp-pwsh lsp-kotlin dap-ui
lsp-treemacs = gdb-mi gud bui lsp-lens dap-utils dap-mode dap-launch
dap-overlays lsp-t= reemacs-themes treemacs treemacs-header-line
treemacs-compatibility tree= macs-mode treemacs-bookmarks thunk
treemacs-interface treemacs-extension= s treemacs-mouse-interface
treemacs-tags treemacs-faces treemacs-persist= ence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
= treemacs-annotations treemacs-async treemacs-visuals
treemacs-fringe-ind= icator treemacs-icons treemacs-themes
treemacs-workspaces treemacs-scope= treemacs-dom treemacs-core-utils
treemacs-macros treemacs-logging treem= acs-customization pfuture
dashboard git dashboard-widgets recentf extmap= dotassoc kv debbugs-gnu
add-log debbugs-compat debbugs soap-client rng-= xsd xsd-regexp ob-shell
em-hist em-pred esh-mode detached autorevert tri= e tNFA heap link
connection diff-hl-show-hunk diff-hl-inline-popup diff-= hl-dired diff
diff-hl vc-hg log-view pcvs-util vc-dir treeview dash-docs= ediff
ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init=
ediff-util projectile counsel xdg swiper skeleton ibuf-macs find-dired<= br>grep ibuf-ext ibuffer ibuffer-loaddefs cpio-dired cpio-odc cpio-hpodccpio-hpbin cpio-crc cpio-bin cpio-affiliated-buffers cpio-modes
cpio-ne= wc cpio-generic bindat cquery-inheritance-hierarchy
cquery-call-hierarch= y cquery-code-lens cquery-semantic-highlighting
cquery-tree cquery-commo= n lsp autothemer csharp-compilation
css-eldoc-hash-table csv-mode hsluv = ctxmenu common-lisp-snippets
company-c-headers axiom-environment company= -box-doc company-box-icons
frame-local company-coq-utils company-coq-tg = company-coq-abbrev smie shr
kinsoku svg hideshow company-math flx ffap i= rony-completion
irony-snippet irony-cdb-json irony-cdb irony irony-iotas= k jedi-core epc
ctable concurrent python-environment company-etags lean-= dev
lean-right-click lean-message-boxes lean-type lean-hole lean-flychec= k
lean-input lean-eri lean-info lean-syntax lean-server lean-leanpkg
= lean-debug lean-settings lean-util math-symbol-lists maxima
maxima-font-= lock posframe rtags repeat asm-mode company-web company-css
web-completi= on-data levenshtein find-file python helm-source
helm-multi-match helm-l= ib clj-refactor cap-words superword subword
inflections cider paredit mc= -separate-operations rectangular-region-mode
mc-mark-pop mc-edit-lines m= c-hide-unmatched-lines-mode mc-mark-more
mc-cycle-cursors multiple-curso= rs-core oc-csl org-id citar citar-file
clang-format tramp-sh cider-debug= cider-repl-history cider-scratch pulse
cider-mode cider-completion cide= r-profile cider-inspector cider-eval
cider-repl cider-test cider-stacktr= ace cider-overlays cider-jar
cider-browse-ns cider-eldoc apropos cider-f= ind cider-resolve cider-doc
cider-browse-spec cider-clojuredocs cider-cl= ient cider-connection
sesman-browser nrepl-client parseedn cider-popup c= ider-common cider-util
sesman clojure-mode nrepl-dict align parseclj-ast= parseclj-parser
parseclj-lex parseclj-alist tls lui-track circe lui-irc= -colors irc lcs
lui-logging lui-format lui tracking shorten flyspell cir= ce-compat
citeproc-org org-ref org-ref-core org-ref-glossary org-ref-bib= tex
org-ref-export ox-pandoc org-ref-misc-links org-ref-label-link
or= g-ref-ref-links org-ref-citation-links org-ref-bibliography-links
bibtex= -completion doi-utils org-ref-utils citeproc citeproc-itemgetters
citepr= oc-cite citeproc-generic-elements citeproc-choose
string-inflection cite= proc-biblatex citeproc-subbibs citeproc-sort
citeproc-name citeproc-macr= o citeproc-formatters citeproc-proc
citeproc-disamb citeproc-itemdata ci= teproc-number queue citeproc-date
citeproc-context citeproc-style citepr= oc-locale citeproc-prange
citeproc-term citeproc-rt citeproc-lib citepro= c-bibtex citeproc-s
ol-bibtex ox-org ox-odt ox-latex ox-icalendar ox-htm= l table ox-ascii
ox-publish ox citre-peek citre-basic-tools citre-ctags = citre-util
citre-core citre-tag citre-core-tables citre-common cl-format= -builtins
clisp-format cl-format-def tree-mode hierarchy cg-global which= -func caml
view rfc1345 cape ccls-member-hierarchy ccls-inheritance-hier= archy
ccls-call-hierarchy ccls-code-lens ccls-semantic-highlight ccls-tr= ee
ccls-common lsp-javascript lsp-html lsp-icons lsp-completion
lsp-s= emantic-tokens lsp-mode lsp-protocol markdown-mode ht inline
centaur-tab= s-interactive centaur-tabs-functions centaur-tabs-elements
powerline pow= erline-separators powerline-themes config-manage
config-manage-mode conf= ig-manage-prop config-manage-base choice-program
time-stamp config-manag= e-declare choice-program-complete bug-hunter
bui-list bui-info bui-entry= bui-core bui-history bui-button bui-utils
org-agenda org-colview org-el= ement avl-tree boxy benchmark-init
reftex-sel org-capture org-refile fil= enotify biblio parsebib
biblio-download biblio-dissemin biblio-ieee bibl= io-hal biblio-dblp
biblio-crossref biblio-arxiv biblio-doi biblio-core u= rl-queue ido
hl-line f f-shortdoc tempo make-mode etags fileloop company= -dabbrev
company-template company avy axiom-selector axiom-buffer-menuaxiom-boot-mode axiom-spad-mode axiom-input-mode imenu
axiom-process-m= ode axiom-help-mode axiom-base mm-url vc-git diff-mode vc
vc-dispatcher = macrostep-c cmacexp macrostep lua-mode texinfo
texinfo-loaddefs toolbar-= x reporter desktop frameset context plain-tex
latex latex-flymake flymak= e-proc flymake tex-ispell tex-style tex crm
texmathp auto-loads tex-site= auto-complete-config rng-nxml nxml-mode
nxml-outln nxml-rap rng-valid r= ng-loc rng-uri rng-parse nxml-parse
nxml-enc rng-match rng-dt rng-util r= ng-pttrn nxml-ns xmltok nxml-util
yaxception auto-complete popup sage-sh= ell-mode deferred ede/srecode
srecode semantic/db semantic/util-modes se= mantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local ed= e/speedbar ede/files
ede ede/detect ede/base ede/source eieio-speedbar c= edet cc-langs spinner
ede/auto eieio-base arxiv-query arxiv-vars org ob = ob-tangle ob-ref
ob-lob ob-table ob-exp org-macro org-footnote org-src o= b-comint
org-pcomplete org-list org-faces org-entities noutline outline<= br>org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex olorg-keys oc org-compat org-macs org-loaddefs hydra lv smtpmail sendmaildired-aux async async-await iter2 promise promise-rejection-tracking
p= romise-finally promise-done promise-es6-extensions promise-core
generato= r enriched pces-e20 pces-20 pccl-20 broken ccl path-util
invisible inv-2= 3 mcs-e20 mcs-20 mcharset poem poem-e20 poem-e20_3 pym
poe alist static = apel-ver product cl yasnippet-snippets angular-snippets
yasnippet log4e = notifications gntp almost-mono-themes sort reftex-dcr
reftex-parse refte= x-cite reftex reftex-loaddefs reftex-vars s
all-the-icons ivy-rich ivy d= elsel ivy-faces ivy-overlay colir
all-the-icons-faces data-material data= -weathericons data-octicons
data-fileicons data-faicons data-alltheicons= edit-indirect ssass-mode
vue-html-mode mmm-cmds mmm-mode mmm-univ sgml-= mode dom mmm-class
mmm-region mmm-auto mmm-vars mmm-utils mmm-compat fac= e-remap term
disp-table ehelp term/xterm xterm reformatter timezone xmlu= nicode quail
xmlunicode-character-list ert ewoc debug flycheck dash let-= alist
easy-mmode epl rx warnings yaml-mode tar-mode arc-mode archive-mod= e
names edebug backtrace autoload lisp-mnt mm-archive network-stream
= url-http url-gw url-auth cl-print eieio-opt cl-extra shortdoc package-x
= help-fns radix-tree mule-util vhdl-mode hippie-exp cus-theme tmm
find-fu= nc time color shadowfile xwidget bookmark wid-browse tree-widget
eieio-c= ustom woman speedbar ezimage dframe rst compile proced mh-e
mh-compat mh= -buffers mh-loaddefs message rfc822 mml mml-sec epa derived
epg rfc6068 = mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils ma= ilheader hilit-chg hi-lock gnus nnheader gnus-util rmail
rmail-loaddefs = rfc2047 rfc2045 ietf-drums text-property-search
mail-utils mm-util mail-= prsvr facemenu cwarn cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-style= s cc-align cc-engine cc-vars cc-defs ses
unsafep rcirc newst-backend mpc= ispell htmlfontify htmlfontify-loaddefs
eshell esh-cmd esh-ext esh-opt = esh-proc esh-io esh-arg esh-module
esh-groups esh-util erc-goodies erc e= rc-backend erc-loaddefs doc-view
jka-compr image-mode exif cal-menu cale= ndar cal-loaddefs calculator
edmacro kmacro calc calc-loaddefs rect calc= -macs tramp tramp-loaddefs
trampver tramp-integration files-x tramp-comp= at parse-time iso8601
ls-lisp format-spec ntlm hmac-md5 hex-util md4 nsm= rmc netrc net-utils
ldap kermit shell pcomplete gravatar dns url-cache = goto-addr gnutls puny
eudc-vars dig dbus xml bug-reference ange-ftp comi= nt server man
ansi-color locate dired dired-loaddefs epg-config ebnf2ps = ps-print
ps-print-loaddefs ps-def lpr bib-mode help-mode novice thingatp= t xref
project ring cus-edit pp wid-edit cus-start time-date
modus-op= erandi-theme modus-themes pcase tab-line cus-load windmove
finder-inf bn= f-mode-autoloads names-autoloads advice
namespaces-autoloads realgud-rec= ursive-autoloads slime-autoloads
with-editor-autoloads info package brow= se-url url url-proxy url-privacy
url-expand url-methods url-history url-= cookie url-domsuf url-util
mailcap url-handlers url-parse auth-source cl= -seq eieio eieio-core
cl-macs eieio-loaddefs password-cache json subr-x = map url-vars seq
byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-= lib iso-transl
tooltip eldoc paren electric uniquify ediff-hook vc-hooks=
lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dn= d
tool-bar dnd fontset image regexp-opt fringe tabulated-list replacenewcomment text-mode lisp-mode prog-mode register page tab-bar menu-barrfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
fon= t-lock syntax font-core term/tty-colors frame minibuffer cl-generic
cham= georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
kore= an japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european= ethiopic indian cyrillic chinese composite emoji-zwj charscript
charpro= p case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloa= ded nadvice button loaddefs faces cus-face macroexp files
window text-pr= operties overlay sha1 md5 base64 format env code-pages
mule custom widge= t hashtable-print-readable backquote threads dbusbind
gfilenotify lcms2 = dynamic-setting system-font-setting
font-render-setting cairo move-toolb= ar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory i= nformation:
((conses 16 3122102 613628)
=C2=A0(symbols 48 167919 62)<= br>=C2=A0(strings 32 759155 206619)
=C2=A0(string-bytes 1 22732645)
= =C2=A0(vectors 16 252152)
=C2=A0(vector-slots 8 4169882 371529)
=C2= =A0(floats 8 3882 287)
=C2=A0(intervals 56 204409 17430)
=C2=A0(buffe= rs 992 249))
--0000000000006ccc0f05e16989b3-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 14 12:29:45 2022 Received: (at 55972) by debbugs.gnu.org; 14 Jun 2022 16:29:45 +0000 Received: from localhost ([127.0.0.1]:35590 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o19QH-0001VL-9j for submit@debbugs.gnu.org; Tue, 14 Jun 2022 12:29:45 -0400 Received: from mail1467c50.megamailservers.eu ([91.136.14.67]:53144 helo=mail268c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o19QE-0001V0-2v for 55972@debbugs.gnu.org; Tue, 14 Jun 2022 12:29:44 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1655224175; bh=/BYb11O/ndtPl/pQ1LNPokL7OuZ7kXuFyKkNxMjyqMA=; h=From:Subject:Date:Cc:To:From; b=lHyUcrqQBEpKUWQylqBF0B8izfIhxaRyJIeP54OgWVQMb4ERgm4TBCM/Nrt4zs9UU sIy0+y/T/gVo05fdfqJvrHqDXdBAT9dqxwaRdFuagQEebPAsuN3q84LFCLbpqIYZG1 AN3wKBtqywfqCF4aR5cDbHatCGcTaBPKTtUvR4lY= Feedback-ID: mattiase@acm.or Received: from smtpclient.apple (c188-150-171-71.bredband.tele2.se [188.150.171.71]) (authenticated bits=0) by mail268c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 25EGTWnC000780; Tue, 14 Jun 2022 16:29:34 +0000 From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= Content-Type: multipart/mixed; boundary="Apple-Mail=_91500EF0-CB8F-424C-90A6-1AA83833F829" Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error Message-Id: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> Date: Tue, 14 Jun 2022 18:29:32 +0200 To: Lynn Winebarger X-Mailer: Apple Mail (2.3654.120.0.1.13) X-CTCH-RefID: str=0001.0A782F25.62A8B76F.0026, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-Origin-Country: SE X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: If, as seems to be the case, byte-compile-keep-pending is only used for top-level forms, then this patch may even be correct. Does it solve your problems? It still seems to generate far bigger bytecod [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -0.0 T_SCC_BODY_TEXT_LINE No description available. 0.3 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-Debbugs-Envelope-To: 55972 Cc: 55972@debbugs.gnu.org, Stefan Monnier 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 (/) --Apple-Mail=_91500EF0-CB8F-424C-90A6-1AA83833F829 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii If, as seems to be the case, byte-compile-keep-pending is only used for = top-level forms, then this patch may even be correct. Does it solve your = problems? It still seems to generate far bigger bytecode chunks than the 300 = cutoff would imply but that's perhaps just a matter of calling the = function in more places. --Apple-Mail=_91500EF0-CB8F-424C-90A6-1AA83833F829 Content-Disposition: attachment; filename=bytecomp-flush-big.diff Content-Type: application/octet-stream; x-unix-mode=0644; name="bytecomp-flush-big.diff" Content-Transfer-Encoding: 7bit diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index ab21fba8a2..156a38ec2d 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -2521,13 +2521,12 @@ byte-compile-output-docform (defun byte-compile-keep-pending (form &optional handler) (if (memq byte-optimize '(t source)) (setq form (byte-optimize-one-form form t))) + ;; To avoid consing up monstrously large forms at load time, we split + ;; the output regularly. + (when (nthcdr 300 byte-compile-output) + (byte-compile-flush-pending)) (if handler (let ((byte-compile--for-effect t)) - ;; To avoid consing up monstrously large forms at load time, we split - ;; the output regularly. - (and (memq (car-safe form) '(fset defalias)) - (nthcdr 300 byte-compile-output) - (byte-compile-flush-pending)) (funcall handler form) (if byte-compile--for-effect (byte-compile-discard))) --Apple-Mail=_91500EF0-CB8F-424C-90A6-1AA83833F829-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 15 05:31:31 2022 Received: (at 55972) by debbugs.gnu.org; 15 Jun 2022 09:31:31 +0000 Received: from localhost ([127.0.0.1]:36554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1PN4-0000C6-K4 for submit@debbugs.gnu.org; Wed, 15 Jun 2022 05:31:31 -0400 Received: from mail174c50.megamailservers.eu ([91.136.10.184]:38970 helo=mail36c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1PN0-00007G-Du for 55972@debbugs.gnu.org; Wed, 15 Jun 2022 05:31:28 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1655285484; bh=Ts0l64duzqfbesWukDONyIjDhqW+MDIxEtEoo743WWY=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=D48MRSavfuVF2epCfWEjYsovSQa93HIUNMJkE6E9qgr2V8ys5yO8MkA55XD2Dzv0V 7/zEf721DcyFZTiKXiXZAWxK8I7+Izq/VaEZ/HaUaRe7k2R0HTE7IBPXLRcFNRaTmh i20wpRx9UMDkvz0wxUsr9Ko2XzSFCQPe0rJIPFFA= Feedback-ID: mattiase@acm.or Received: from smtpclient.apple (c188-150-171-71.bredband.tele2.se [188.150.171.71]) (authenticated bits=0) by mail36c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 25F9VLW8127137; Wed, 15 Jun 2022 09:31:23 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> Date: Wed, 15 Jun 2022 11:31:21 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> To: Lynn Winebarger X-Mailer: Apple Mail (2.3654.120.0.1.13) X-CTCH-RefID: str=0001.0A782F18.62A9A6EC.0054, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-Origin-Country: SE X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 55972 Cc: 55972@debbugs.gnu.org, Stefan Monnier 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.7 (/) > It still seems to generate far bigger bytecode chunks than the 300 = cutoff would imply That is simply because of some very large top-level forms: each package = encloses its autoload definitions in a single `let` form at the top = level. We could change the generation of package-quickstart.el to limit = the number of forms in each top-level `let`. From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 17 16:06:22 2022 Received: (at 55972) by debbugs.gnu.org; 17 Jun 2022 20:06:22 +0000 Received: from localhost ([127.0.0.1]:47029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2IEY-00082x-7m for submit@debbugs.gnu.org; Fri, 17 Jun 2022 16:06:22 -0400 Received: from mail-vk1-f175.google.com ([209.85.221.175]:39773) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2IEW-00082l-0v for 55972@debbugs.gnu.org; Fri, 17 Jun 2022 16:06:20 -0400 Received: by mail-vk1-f175.google.com with SMTP id p83so2455995vkf.6 for <55972@debbugs.gnu.org>; Fri, 17 Jun 2022 13:06:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hvqzGd+Jm00hqAAaE+b3GatCCQCSFZTCroIcUtV62ag=; b=jvChPmizpUfwvigyHzuM/vqhGE1U8fGUrwnMAvlQd7sZ6dJyuaN2Mro0UJT6Pxn77F 8kBPyLYCakGP7U/mg70kcj+acwHerZMLstukrMEkfpjlqfogZdJNvDk5ft/s8eVuqz0H hOAVrrUKWFIMecnGgiegEK7Mhv8AUyUoy+N2ey4oAOJv95eEnZ54ZwzSKTp3a8udUh/Z eKp2VKUB+9T+VnzsRLwyE1doWET1MmOlZ9NK71Aixjc0KZvj7DmYvvx8jZ2V+p/xX7ae HroAtZzzKJ0fc4Wjovca4mPy/SdvHW2N6cduDqJ/j2Te688mlHv+GNMkuyvqpHGr004o WVhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hvqzGd+Jm00hqAAaE+b3GatCCQCSFZTCroIcUtV62ag=; b=yjM4bDtUDN/ylY55yISaPYTouLwIiJe/zpip3UaC+KIr17O7miiT9oH3JerUl26N8K ncUSFPzpUkTkcU7HTI3Pevt6vDbTjNzUydkDSUS3MPKmbOIUIYIDat1qWfylwG0qJVKK TEJs8eqLr1KKeWMoZjDo3iGeKDx+SIbbMimXvV4HB6ZOrwXyZhI3XoW+Gd2AzrNyQuYw MfR9HWMVe2G5XBse/aKOFVpXUvC7k3DX6UXW0k103RGXF/V6G21kP0aBUWOT3QP2kTnN Dk6NfnLsQaF/mYazmy9/35E4j66GpCgoNsiICML0xIsVVwPbO+xqxsFZJmQMg6VdyNj/ Hjfw== X-Gm-Message-State: AJIora+UQMkHN6g44FOiUwC/WSSQIJZs6fyaHGl32n1bu44PG7IVFof3 +/7dXcoE5L7fHy85s0wToLKEqqvU3tAhfHS1y18= X-Google-Smtp-Source: AGRyM1v7CG796DLOsjLEcPpuBlHuv4fLC4HMW465W1/WgoXO2Ig5xMBdnTTk1sa6QKinqjvjxp2E5Y9uhbfkaEf+nss= X-Received: by 2002:a1f:ab56:0:b0:36b:e8de:afe2 with SMTP id u83-20020a1fab56000000b0036be8deafe2mr143733vke.10.1655496374385; Fri, 17 Jun 2022 13:06:14 -0700 (PDT) MIME-Version: 1.0 References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> In-Reply-To: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> From: Lynn Winebarger Date: Fri, 17 Jun 2022 16:06:01 -0400 Message-ID: Subject: Re: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error To: =?UTF-8?Q?Mattias_Engdeg=C3=A5rd?= Content-Type: multipart/alternative; boundary="000000000000527e4705e1aa4946" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 55972 Cc: 55972@debbugs.gnu.org, Stefan Monnier 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 (-) --000000000000527e4705e1aa4946 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jun 14, 2022 at 12:29 PM Mattias Engdeg=C3=A5rd = wrote: > If, as seems to be the case, byte-compile-keep-pending is only used for > top-level forms, then this patch may even be correct. Does it solve your > problems? > It still seems to generate far bigger bytecode chunks than the 300 cutoff > would imply but that's perhaps just a matter of calling the function in > more places. > > Thanks, Mattias, it does work. I was going to ask about directly addressing the underlying problem by tail-calling or trampolining to a byte-code vector in the constants array, but then realized you would have to either make sure there could be no "gotos" between the segments or do a real trampoline to an explicit label. And in either case you would have to save the contents of the stack frame and reinstate them in the continuation byte-code call, and I don't see any byte-codes that would support that. Otherwise you could only do it when you know there is no stack in use, which is what I believe your solution effectively does. On the other hand, given the code for patching up byte-code in byte-compile-lapcode, you could explicitly byte-compile a thunk for every top-level expression, then glue them together until they would exceed the 65K pc limit, then do another segment, etc, and do a simple trampoline between the resulting byte-code vectors, or no trampoline if there were only one required. Strictly speaking, gluing them all together is really an optimization of creating byte-code vectors (thunks) for each top-level expression, and looping over the collection of them, invoking each one in turn. As long as I'm looking at the compile log, I also see a lot of errors of the form: package-quickstart2.el:14739:39: Warning: The compiler ignores =E2=80=98autoload=E2=80=99 except at top level. You should probably put the autoload of the macro =E2=80=98bind-map-for-minor= -mode=E2=80=99 at top-level. This message is only reported for macros - there are plenty of autoload expressions that do not generate this message despite being in the same kind of "let" form. Lynn --000000000000527e4705e1aa4946 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Tue, Jun 14, 2022 at 12:29 PM Mattias Engdeg=C3=A5rd <mattiase@acm.org> wrote:
If, as seems to be the case, b= yte-compile-keep-pending is only used for top-level forms, then this patch = may even be correct. Does it solve your problems?
It still seems to generate far bigger bytecode chunks than the 300 cutoff w= ould imply but that's perhaps just a matter of calling the function in = more places.


Thanks, Mattias, it does work.=C2=A0= =C2=A0

I was going to ask about directly addressin= g the underlying problem by tail-calling
or= trampolining to a byte-code vector in the constants array, but then realiz= ed you would have to
either make sure there could be no "got= os" between the segments or do a real trampoline to
an expli= cit label.=C2=A0 And in either case you would have to save the contents of = the stack frame=C2=A0
and reinstate them in the continuation byte= -code call,=C2=A0and I don't see any byte-codes that=C2=A0would=C2=A0
support=C2=A0that.=C2=A0 =C2=A0Otherwise you could only do it when= you know there is no stack in use, which is what I believe
your = solution effectively does.

On the other hand, give= n the code for patching up byte-code in byte-compile-lapcode, you could
explicitly byte-compile a thunk for every top-level expression, then= glue them together until they would exceed=C2=A0
the 65K pc limi= t, then do another segment, etc, and do a simple trampoline between the res= ulting byte-code vectors,
or no trampoline if there were only one= required.=C2=A0 Strictly speaking, gluing them all together is really an o= ptimization=C2=A0
of creating byte-code vectors (thunks) for each= top-level expression, and looping over the collection of them, invoking=C2= =A0
each one in turn.

As long as I'm= looking at the compile log, I also see a lot of errors of the form:
<= div>=C2=A0 =C2=A0 =C2=A0package-quickstart2.el:14739:39: Warning: The compi= ler ignores =E2=80=98autoload=E2=80=99 except at top level.=C2=A0 You shoul= d
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0probably put the autoload of the mac= ro =E2=80=98bind-map-for-minor-mode=E2=80=99 at top-level.
Th= is message is only reported for macros - there are plenty of autoload expre= ssions that do not generate this
message despite being in the sam= e kind of "let" form.

Lynn
=C2=A0
--000000000000527e4705e1aa4946-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 17 17:27:40 2022 Received: (at 55972) by debbugs.gnu.org; 17 Jun 2022 21:27:40 +0000 Received: from localhost ([127.0.0.1]:47118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2JVD-0001bq-Qy for submit@debbugs.gnu.org; Fri, 17 Jun 2022 17:27:40 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:8313) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2JVB-0001bc-RQ for 55972@debbugs.gnu.org; Fri, 17 Jun 2022 17:27:39 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B4B1C8025F; Fri, 17 Jun 2022 17:27:30 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 15E6A8043C; Fri, 17 Jun 2022 17:27:25 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1655501245; bh=YnghBfg335JK0I6snQ2u59N3xbB4QpxX2BiQMwwO8zM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=VSTag6xmKcHu0BNxFB/ZKTRF7Gx9tFz7VEjGHqCVRNer3AqkOa6UuM8uEiPSug97J tROL8tNxs9jrOZ+e+s7W12RKdktPqbO+561QQgwkI7GWmkssPq3wJdsLcmQMjXn1Ls o8EdqIqWO2/n+M6EPtk7NIlz3abHMo8RiGuQ5/0McXZN83SApWgc3WTpDAtPSBapJU YMwHK25xLAk0AFX2fAHnkFoQqDieclnpl1E35hLCTLjlbFb9XLWenshO4To9cYW6tw Pk0/YhgIlfGyu0HxinL3ERMS44MEkSeCOqLIOjsB3ki4IVjwIhvuJYn60QiMiHwYJL gYThISYYc+P/Q== Received: from alfajor (unknown [45.72.221.51]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D05D31204C5; Fri, 17 Jun 2022 17:27:24 -0400 (EDT) From: Stefan Monnier To: Lynn Winebarger Subject: Re: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error Message-ID: References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> Date: Fri, 17 Jun 2022 17:27:23 -0400 In-Reply-To: (Lynn Winebarger's message of "Fri, 17 Jun 2022 16:06:01 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.057 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55972 Cc: Mattias =?windows-1252?Q?Engdeg=E5rd?= , 55972@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 (---) > I was going to ask about directly addressing the underlying problem by > tail-calling or trampolining to a byte-code vector in the constants > array, but then realized you would have to either make sure there > could be no "gotos" between the segments or do a real trampoline to an > explicit label. And in either case you would have to save the > contents of the stack frame and reinstate them in the continuation > byte-code call, and I don't see any byte-codes that would support > that. Otherwise you could only do it when you know there is no stack > in use, which is what I believe your solution effectively does. Indeed, the 64k limit can bite hard in some cases where working around it would take a lot of work and we don't have any of the infrastructure needed for it. But luckily, in practice those hard cases tend not to occur at all. Instead we tend to bump into the limit just because we're too naive in how we combine together several top-level expressions. > As long as I'm looking at the compile log, I also see a lot of errors of > the form: > package-quickstart2.el:14739:39: Warning: The compiler ignores > =E2=80=98autoload=E2=80=99 except at top level. You should > probably put the autoload of the macro =E2=80=98bind-map-for-min= or-mode=E2=80=99 > at top-level. Could you make a separate bug report for this one? I'm not sure what's the better fix for this one. It should be a harmless warning, but even when it's harmless it's annoying. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 18 06:45:26 2022 Received: (at 55972) by debbugs.gnu.org; 18 Jun 2022 10:45:26 +0000 Received: from localhost ([127.0.0.1]:47587 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2VxG-0006aR-9N for submit@debbugs.gnu.org; Sat, 18 Jun 2022 06:45:26 -0400 Received: from mail211c50.megamailservers.eu ([91.136.10.221]:58656 helo=mail194c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2VxB-0006aE-QK for 55972@debbugs.gnu.org; Sat, 18 Jun 2022 06:45:25 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1655549119; bh=z+ajdqfM7rzqMwegfmvU2+TiRyW/HiHKHwmdQkvVKdU=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=M2wR8hb6bFYLJP1ovPIozd8vrxKLV9Use4pE4lDpgxkFrm1JScPz4/R2vJ6jdrZU1 YAbSpFvrA53lptR6VeclL4+bu4BIA1CJHzllFmT6z71VGZNjYZamLvt+85Nr/Mlko5 Zxya4JSMVmlg1DSzioJEkPuMYgkZN+IEHV/qGBQU= Feedback-ID: mattiase@acm.or Received: from smtpclient.apple (c188-150-171-71.bredband.tele2.se [188.150.171.71]) (authenticated bits=0) by mail194c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 25IAjHR4090447; Sat, 18 Jun 2022 10:45:18 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Sat, 18 Jun 2022 12:45:16 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <0EFC0B56-47FF-40D2-BC56-0F036CE8CD6C@acm.org> References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.13) X-CTCH-RefID: str=0001.0A782F28.62ADACBF.003D, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-Origin-Country: SE X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 17 juni 2022 kl. 23.27 skrev Stefan Monnier : > Indeed, the 64k limit can bite hard in some cases where working around > it would take a lot of work and we don't have any of the infrastructure > needed for it. Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -0.0 T_SCC_BODY_TEXT_LINE No description available. 0.3 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-Debbugs-Envelope-To: 55972 Cc: 55972@debbugs.gnu.org, Lynn Winebarger 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 (/) 17 juni 2022 kl. 23.27 skrev Stefan Monnier : > Indeed, the 64k limit can bite hard in some cases where working around > it would take a lot of work and we don't have any of the = infrastructure > needed for it. Right and actually we don't want even to get near that limit because of = bad scaling in the compiler. Stefan, do you agree with the patch (for byte-compile-keep-pending)? I = think it's sound but would welcome a second pair of eyes on it. From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 18 09:00:13 2022 Received: (at 55972) by debbugs.gnu.org; 18 Jun 2022 13:00:13 +0000 Received: from localhost ([127.0.0.1]:47801 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2Y3S-0007yF-0A for submit@debbugs.gnu.org; Sat, 18 Jun 2022 09:00:13 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:65505) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2Y3Q-0007xx-B5 for 55972@debbugs.gnu.org; Sat, 18 Jun 2022 08:59:56 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 7705B100626; Sat, 18 Jun 2022 08:59:50 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 23DCB1003F2; Sat, 18 Jun 2022 08:59:49 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1655557189; bh=CLg5nm+WR+PTsI8Zr52HYdnrKolxp1BqwpqsBsOM3Jk=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=M/3R7Fm5S1r20NqApUM+WeoRGSprwSTpJkaho8Vb4siVx30MS9Jnt12xWidCZ/MYH jCehGX6LXzHLBdaJZpxlwJHrBeiK7H8hxKIY8QB+4xuvAfhcFJ/+1HR1Znjl4RVjcF YbG4CmI0gRtvr+8MDFZQ3pQNWOLoEx6xOuBglLX2mD/dtgEg8yjjwDMu7HfIVGwqqB JAEDZx2oU6NdT2yt/9cXqHUri+MedTkdm4KbzKlohcHpWykL2tqicjKuz+0+1IU/Rm 57wqRQTdDpa+VLlsjPJWY8t3cdOES7T78Rg5LCJ0Zt6hmhdYh5QBeLC+Uy1rOMLHeL 8+EFyH9ML4/EQ== Received: from alfajor (unknown [45.72.221.51]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id DE8F51204DC; Sat, 18 Jun 2022 08:59:48 -0400 (EDT) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error Message-ID: References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> <0EFC0B56-47FF-40D2-BC56-0F036CE8CD6C@acm.org> Date: Sat, 18 Jun 2022 08:59:48 -0400 In-Reply-To: <0EFC0B56-47FF-40D2-BC56-0F036CE8CD6C@acm.org> ("Mattias =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Sat, 18 Jun 2022 12:45:16 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.045 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55972 Cc: 55972@debbugs.gnu.org, Lynn Winebarger 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 (-) > Stefan, do you agree with the patch (for byte-compile-keep-pending)? I think > it's sound but would welcome a second pair of eyes on it. Looks OK to me, yes. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 18 09:53:22 2022 Received: (at 55972) by debbugs.gnu.org; 18 Jun 2022 13:53:22 +0000 Received: from localhost ([127.0.0.1]:47827 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2Yt8-0000tr-AS for submit@debbugs.gnu.org; Sat, 18 Jun 2022 09:53:22 -0400 Received: from mail154c50.megamailservers.eu ([91.136.10.164]:36394 helo=mail50c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2Yt3-0000tf-Fs for 55972@debbugs.gnu.org; Sat, 18 Jun 2022 09:53:20 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1655560395; bh=un3+m3LQtIOH/Yj0yB78g/1b6Ei+H0qS3iHM1DlwRGk=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=hhRpKh1TQrwUF3tRyH4A5+mkDZcAzrxuji4M5CMwP2vRgdwGwM4bi0PNSkzPLbCJ5 8bJObhstMMdXfab6jqMkwYFo/YMk2hxPwNPHDOOTZ4bOUgTWK3N8CpOulwfUS1Zq8J rGnMXlG+ZEiXinV5NCJDYV4sf8K7XvprDr/mXcvM= Feedback-ID: mattiase@acm.or Received: from smtpclient.apple (c188-150-171-71.bredband.tele2.se [188.150.171.71]) (authenticated bits=0) by mail50c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 25IDrDtH079877; Sat, 18 Jun 2022 13:53:14 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Sat, 18 Jun 2022 15:53:12 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <8E7F9A90-3A32-46D9-9B25-E71DB0A820BC@acm.org> References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> <0EFC0B56-47FF-40D2-BC56-0F036CE8CD6C@acm.org> To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.13) X-CTCH-RefID: str=0001.0A782F1C.62ADD8CB.002E, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-Origin-Country: SE X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 18 juni 2022 kl. 14.59 skrev Stefan Monnier : > >> Stefan, do you agree with the patch (for byte-compile-keep-pending)? I think >> it's sound but would welcome a second pair [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -0.0 T_SCC_BODY_TEXT_LINE No description available. 0.3 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-Debbugs-Envelope-To: 55972 Cc: 55972@debbugs.gnu.org, Lynn Winebarger 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 (/) 18 juni 2022 kl. 14.59 skrev Stefan Monnier : >=20 >> Stefan, do you agree with the patch (for byte-compile-keep-pending)? = I think >> it's sound but would welcome a second pair of eyes on it. >=20 > Looks OK to me, yes. Thank you, pushed. To solve the problem entirely, it's possible that we also need to split = the top-level `let` forms in package-quickstart.el. For instance, = `magit` generates a 5 KiB bytecode chunk and 750-element constant vector = which is perfectly manageable, but a package with more autoloads may be = troublesome. Do you know a package that would fit the description? From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 18 10:53:13 2022 Received: (at 55972) by debbugs.gnu.org; 18 Jun 2022 14:53:13 +0000 Received: from localhost ([127.0.0.1]:49830 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2Zp3-0002ru-MH for submit@debbugs.gnu.org; Sat, 18 Jun 2022 10:53:13 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:16031) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o2Zp1-0002rf-Lw for 55972@debbugs.gnu.org; Sat, 18 Jun 2022 10:53:12 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B10B2100626; Sat, 18 Jun 2022 10:53:05 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 2F4D01003F2; Sat, 18 Jun 2022 10:53:04 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1655563984; bh=MUHsS+cUeDNNzIre+TRtlfsrGLEVagYiFsy7XojzQmQ=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=jbCaeGXBdZMif0KAn3d/NGZ5ZUYaqf6CDggt0bHCtqn03QQWnlbMN9Xii1lonfGEN FrKXK43DcfzdasSC3AcgHoxVbakOV5TC8vg8tVQU8Q+nS8ZJkfdcmqQBD67vRjbDLl SI60TArm7hhguX/aqxAfhIIcCaC//fDzDotbphZEkbCT0oDVDh7QFrUod7vG3Sm4qG NErhFEvOKKQDZVoSJqCEQw++DnY68Ad3ce8olQXJQBX7q/omf+2R4TLXva/QB1NMLA cz+JHQgqNKi/CybZM72bcGemfXBvnt7NFcnBwOny5fZilCq/BItUHI48mXsdZeHNuM 87B/iwM0Ldn5A== Received: from alfajor (unknown [45.72.221.51]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B679912027F; Sat, 18 Jun 2022 10:53:03 -0400 (EDT) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error Message-ID: References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> <0EFC0B56-47FF-40D2-BC56-0F036CE8CD6C@acm.org> <8E7F9A90-3A32-46D9-9B25-E71DB0A820BC@acm.org> Date: Sat, 18 Jun 2022 10:53:02 -0400 In-Reply-To: <8E7F9A90-3A32-46D9-9B25-E71DB0A820BC@acm.org> ("Mattias =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Sat, 18 Jun 2022 15:53:12 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.045 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55972 Cc: 55972@debbugs.gnu.org, Lynn Winebarger 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 (---) > To solve the problem entirely, it's possible that we also need to split the > top-level `let` forms in package-quickstart.el. I think the other bug (about `autoload` calls that define macros leading to warnings because they're not at top-level) suggests that we should move the calls to `autoload` outside of the `let`, which would probably make this problem even less likely. > For instance, `magit` generates a 5 KiB bytecode chunk and 750-element > constant vector which is perfectly manageable, but a package with more > autoloads may be troublesome. Do you know a package that would fit > the description? I suspect none. I suspect in the case of Magit the magit-autoloads.el file is actually too large for its own good: it should probably be split into autoloads that "face outside" (i.e. those that need to be defined before Magit is used) from those facing inside (those that are needed for internal lazy loading). The old autoload.el didn't support this conveniently, but the new one does, so a few years from now we'll have a clean solution :-) Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 12 21:38:04 2023 Received: (at 55972) by debbugs.gnu.org; 13 Sep 2023 01:38:05 +0000 Received: from localhost ([127.0.0.1]:60340 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgEpQ-0004IQ-JP for submit@debbugs.gnu.org; Tue, 12 Sep 2023 21:38:04 -0400 Received: from mail-lj1-x22d.google.com ([2a00:1450:4864:20::22d]:47518) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgEpO-0004Ht-Av for 55972@debbugs.gnu.org; Tue, 12 Sep 2023 21:38:04 -0400 Received: by mail-lj1-x22d.google.com with SMTP id 38308e7fff4ca-2b962c226ceso105157001fa.3 for <55972@debbugs.gnu.org>; Tue, 12 Sep 2023 18:37:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694569071; x=1695173871; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=HhabEkfynpX/0+2mT1KmxPHcOa25v0EILvVb0qq8q9M=; b=FhoERcpGz5qt8X9fGRQs54yz+gddcQDNh1NQ0YyFCmo+wOw6Xo0saHtg6w3ptyDGtF RxnBIJ7tW5uzS0Kjg8ahQ41HrIYp13Vc2mEcamKsdIvy2lldmAekbXNa4YA2QUUv2Zhm Nbg/Zj/vbhFUSfdCXXm0mQc6deaWNlAU8+BUdrHRmA8nKhhMSeQWmyVGQGR3nIN7tJFI ZXzMnGA513ZqlnGFUEY5j8+VZPk8pSGpVmXjCxWEad9TVAqCNJLC9aIVKCMi9R7FZ2SM vs13Eq8rQfO89cGdvskliYXUeDZQA/aGKtqm3RWwpYu2GuxWJnWIL2YUcnFi0ZuuUFtH c6Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694569071; x=1695173871; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=HhabEkfynpX/0+2mT1KmxPHcOa25v0EILvVb0qq8q9M=; b=wUUK1AeHWYqy+67zM375zqG1IKrQhZRqk2jW/25BGd+t3IKf1ddXziqG4iisxqud5X qinAk325+ns9524P5emW1buCHxeWAGQGV9ydUCcOGScdV4k/56UqNvehTjHprg2ufRxj sQTQ0GHynKt2ZeTLBpkuJT8CtaNRu0nf/+9uYb6C39aNashJEVgapT83w2RGUq/BYWRL +Mjk8fNtMhDxGEm0Z5AwZYo+HK8EwmHxhbAv7AewiX6AZwBDWOxivx5CyG5BWJWdrAke zzV89yclPCq2PLaZH6hI0yCGTMmfpHQcM6UPu573k7NYBePOL/nibIlrr6xNfLaWtn8M FNBA== X-Gm-Message-State: AOJu0Yz29JupIggP/faUL1Rr7kh0uyQewcocfTujajplbBHtoRQsIlSD 2Z01YZCAEsiNYHFeGBCvlyhjZPQdWeV6YhkKJso= X-Google-Smtp-Source: AGHT+IFlsHDfvM62BSQLa3hyZmsCX+yqUqZDywXB7YhAFyUOWjzDHuqWkHJyXZ5Oe6YW/Yv7M+y86ANPiQnG+AZPYnQ= X-Received: by 2002:a2e:99cf:0:b0:2be:54b4:ff90 with SMTP id l15-20020a2e99cf000000b002be54b4ff90mr999592ljj.53.1694569070968; Tue, 12 Sep 2023 18:37:50 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Tue, 12 Sep 2023 18:37:50 -0700 From: Stefan Kangas In-Reply-To: (Stefan Monnier's message of "Sat, 18 Jun 2022 10:53:02 -0400") References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> <0EFC0B56-47FF-40D2-BC56-0F036CE8CD6C@acm.org> <8E7F9A90-3A32-46D9-9B25-E71DB0A820BC@acm.org> MIME-Version: 1.0 Date: Tue, 12 Sep 2023 18:37:50 -0700 Message-ID: Subject: Re: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error To: Stefan Monnier Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 55972 Cc: =?UTF-8?Q?Mattias_Engdeg=C3=A5rd?= , Jonas Bernoulli , 55972@debbugs.gnu.org, Lynn Winebarger 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 (-) Stefan Monnier writes: >> For instance, `magit` generates a 5 KiB bytecode chunk and 750-element >> constant vector which is perfectly manageable, but a package with more >> autoloads may be troublesome. Do you know a package that would fit >> the description? > > I suspect none. I suspect in the case of Magit the magit-autoloads.el > file is actually too large for its own good: it should probably be split > into autoloads that "face outside" (i.e. those that need to be defined > before Magit is used) from those facing inside (those that are needed > for internal lazy loading). Copying in Jonas, in case he has any comments. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 13 10:52:23 2023 Received: (at 55972) by debbugs.gnu.org; 13 Sep 2023 14:52:23 +0000 Received: from localhost ([127.0.0.1]:35613 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgRE6-0002Ae-PP for submit@debbugs.gnu.org; Wed, 13 Sep 2023 10:52:23 -0400 Received: from mail.hostpark.net ([212.243.197.30]:41800) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgRE3-0002AO-Ah for 55972@debbugs.gnu.org; Wed, 13 Sep 2023 10:52:21 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.hostpark.net (Postfix) with ESMTP id 9857F164DD; Wed, 13 Sep 2023 16:52:07 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bernoul.li; h= content-type:content-type:mime-version:message-id:date:date :references:in-reply-to:subject:subject:from:from; s=sel2011a; t=1694616727; bh=FUur1/yzP6p5MXCRs+sEj/5PPUsdThqy+wNXvhH0IsE=; b= IS6yKuhsBvpuro1SOvH5IA6tT11orv0H3dbSx20opz+N/yXY98VUdM73PNtvyo6u MptWypCGQ1emPLbBL+6L59mzDeH4gRbK6LDNU5hNPbk8pxQaY7M3yFqgWGNrd3kA YvMm1UhxaVhyMhR/SLuuJxvJ+78C4D6A/yO00JRea18= X-Virus-Scanned: by Hostpark/NetZone Mailprotection at hostpark.net Received: from mail.hostpark.net ([127.0.0.1]) by localhost (mail0.hostpark.net [127.0.0.1]) (amavisd-new, port 10224) with ESMTP id 1Jd2wzHpOaoN; Wed, 13 Sep 2023 16:52:07 +0200 (CEST) Received: from customer (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.hostpark.net (Postfix) with ESMTPSA id 1429D16607; Wed, 13 Sep 2023 16:52:07 +0200 (CEST) From: Jonas Bernoulli To: Stefan Kangas , Stefan Monnier Subject: Re: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error In-Reply-To: References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> <0EFC0B56-47FF-40D2-BC56-0F036CE8CD6C@acm.org> <8E7F9A90-3A32-46D9-9B25-E71DB0A820BC@acm.org> Date: Wed, 13 Sep 2023 16:52:06 +0200 Message-ID: <87ttry5dnt.fsf@bernoul.li> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 55972 Cc: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= , 55972@debbugs.gnu.org, Lynn Winebarger 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.7 (-) Stefan Kangas writes: > Stefan Monnier writes: > >>> For instance, `magit` generates a 5 KiB bytecode chunk and 750-element >>> constant vector which is perfectly manageable, but a package with more >>> autoloads may be troublesome. Do you know a package that would fit >>> the description? >> >> I suspect none. I suspect in the case of Magit the magit-autoloads.el >> file is actually too large for its own good: it should probably be split >> into autoloads that "face outside" (i.e. those that need to be defined >> before Magit is used) from those facing inside (those that are needed >> for internal lazy loading). > > Copying in Jonas, in case he has any comments. I have no idea how I would split the autoloads into two parts. Is there some mechanism, say ;;;###autoload[external] / ;;;###autoload[internal], that would be respected by `loaddefs-generate' and/or code that uses that? Does package.el know how to use it, and what about other package managers and homegrown makefiles and scripts? Then there is also the question of how much work it would mean for me to go over all autoloaded things and decide which bucket they belong into. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 13 11:00:18 2023 Received: (at 55972) by debbugs.gnu.org; 13 Sep 2023 15:00:18 +0000 Received: from localhost ([127.0.0.1]:35638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgRLm-0003Hi-3F for submit@debbugs.gnu.org; Wed, 13 Sep 2023 11:00:18 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:51050) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgRLk-0002xu-DU for 55972@debbugs.gnu.org; Wed, 13 Sep 2023 11:00:17 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 9C3C3441BEF; Wed, 13 Sep 2023 11:00:05 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1694617204; bh=sRJ8zEQ6tF4d4A97Hn21f3EkEmHJtP6M05NXgRA/1UE=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Z0QDFYf7svzL898J+lT/z3xvCTr26ScF5zCw67sgOdlvjgSlnzY+Y/PnDuHbbrW9+ eNCxPYBrGNlx5SGxUNCvYVTxp4OUktkR9eI2wEAhSl4iO2AOZbAt2Wzcw9OlZwtJiN Y18+etwiPOsu0+mztahejZSsS8zWDH6HsHOUqEYjRIevoBXGoB6Y50bx+wMhDibmol Cz98Py0YDrgLgajTeI2WfM1xZ5RtXx/xbm/qyjGCqD/JMUDOcxfH+y0WW6iJiim/AK tUsgoIwN99Tf1VI2hsK9alR0zBXJvlS+iIbMIcuDrq2/rxAx+xtlYJYpdOHornvtsG 2Am5I8g9rWk2g== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 2D16D441BC9; Wed, 13 Sep 2023 11:00:04 -0400 (EDT) Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 1B3E01201D0; Wed, 13 Sep 2023 11:00:04 -0400 (EDT) From: Stefan Monnier To: Jonas Bernoulli Subject: Re: bug#55972: 28.1; Package quickstart generated for large number of packages generates byte-code string larger than 64K, triggering bytecode overflow error In-Reply-To: <87ttry5dnt.fsf@bernoul.li> (Jonas Bernoulli's message of "Wed, 13 Sep 2023 16:52:06 +0200") Message-ID: References: <1058D1B4-9A9F-41D9-BE59-55BFA2A69A10@acm.org> <0EFC0B56-47FF-40D2-BC56-0F036CE8CD6C@acm.org> <8E7F9A90-3A32-46D9-9B25-E71DB0A820BC@acm.org> <87ttry5dnt.fsf@bernoul.li> Date: Wed, 13 Sep 2023 10:58:54 -0400 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-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.116 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55972 Cc: Mattias =?windows-1252?Q?Engd?= =?windows-1252?Q?eg=E5rd?= , 55972@debbugs.gnu.org, Stefan Kangas , Lynn Winebarger 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 (---) > I have no idea how I would split the autoloads into two parts. Is there > some mechanism, say ;;;###autoload[external] / ;;;###autoload[internal], > that would be respected by `loaddefs-generate' and/or code that uses that? The new `loaddefs-gen.el` does offer something for that, yes, but that's only for Emacs=E2=89=A529, so until Org support older Emacsen you'd have to pregenerate that "internal autoloads" file "by hand" (and even keep it in the Git until `elpa.gnu.org` upgrades to a version of Debian that has Emacs-29, i.e. presumably Debian 13 aka Trixie around 2025). Stefan