From unknown Wed Jun 18 00:16:30 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#30872 <30872@debbugs.gnu.org> To: bug#30872 <30872@debbugs.gnu.org> Subject: Status: incorrect byte-compile of closure called from local funcalled function Reply-To: bug#30872 <30872@debbugs.gnu.org> Date: Wed, 18 Jun 2025 07:16:30 +0000 retitle 30872 incorrect byte-compile of closure called from local funcalled= function reassign 30872 emacs submitter 30872 Aaron Jensen severity 30872 normal tag 30872 confirmed fixed patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 19 23:09:23 2018 Received: (at submit) by debbugs.gnu.org; 20 Mar 2018 03:09:23 +0000 Received: from localhost ([127.0.0.1]:42469 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ey7eL-0001TT-Qw for submit@debbugs.gnu.org; Mon, 19 Mar 2018 23:09:23 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57030) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ey7eI-0001TC-Pd for submit@debbugs.gnu.org; Mon, 19 Mar 2018 23:09:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ey7e8-0003du-KQ for submit@debbugs.gnu.org; Mon, 19 Mar 2018 23:09:13 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:47960) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ey7e8-0003dC-BT for submit@debbugs.gnu.org; Mon, 19 Mar 2018 23:09:08 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47961) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ey7e3-0002zp-DM for bug-gnu-emacs@gnu.org; Mon, 19 Mar 2018 23:09:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ey7dz-0003RD-0D for bug-gnu-emacs@gnu.org; Mon, 19 Mar 2018 23:09:03 -0400 Received: from mail-pg0-x230.google.com ([2607:f8b0:400e:c05::230]:41499) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ey7dy-0003Px-Kh for bug-gnu-emacs@gnu.org; Mon, 19 Mar 2018 23:08:58 -0400 Received: by mail-pg0-x230.google.com with SMTP id m24so100458pgv.8 for ; Mon, 19 Mar 2018 20:08:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=fMQ2FtoS9GPSjsZYigUl4zylXvDfMD8IMGNP2Ic4HiY=; b=ig/yurj/h8HF/uIj1Nj1hXZRvT27i3TG5xXfoKJgDVRCHrtTU2FrpCMMyurldLDKxd ML9LL5w6o/AlkCOs6Tdpi9akzd6b9UopOxYWC5dQwU3gRUnAN/kZ3bhA1h2sSTsnLz8a vw039B6mj/CKaEW0RQczjLPUkQE+wQMmSrXRFKSnFhAewVzLrgcwSVUC1QM+alyj14Yx H+kJT5X2SXAEvR2vBpRdQz0YVwlJqQC1Iscty6OAaq/CtnNMVC+xSJLPYtjaSIShk5cc Hzayv9+LhdZpvzOG4CAzvTDrYVW9rQCib5rMwyV6aTip0+4pHD1S6JeJ+PiFKa2SQIxn J18g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=fMQ2FtoS9GPSjsZYigUl4zylXvDfMD8IMGNP2Ic4HiY=; b=fnD6CHPcJ4trnMBw7fNTQkHS53q3uM7u7HmNuxHeHXVF/Rr/e8PAkcnkHfjiiQ72tZ /nSccae8uMew9aGN+F29Jk7BpqhiYHtYo3zlE/e0F5uAbdnXrGiykwxQX9U4zEqSx0VC sress6kcaNj5jDSfQnt8RSqnsc0PbZxsXkPle+u6GRgT0kFw+3yUns/Ztc7EmD4hfJUR Lcqw/j+Gz/gV713pNu4jtESkFP9OqIco2ihkG1AXaKMeFrG3PVd2O7TsJgbuLpI406VK uoHqY7E9Gg75KpGr27uHu0U/I44EfF5tseEY0xjzmuPcOBYHaurjP7ewPcbEdZqv+FKC F8Vg== X-Gm-Message-State: AElRT7F/v501KL7OXn3NQNuaNaC/NQWlNLS1DToEDXn7f9pb414/RgzT kIhLlpDHnNMJVzpmeP+ed/tOrk8z X-Google-Smtp-Source: AG47ELvaUNAMLH1UWGifd+5JrnUj//+5eMhuIFPP+qv1tzmug4yF/SKaDYrvMYv65KEsouaJfDQJVw== X-Received: by 10.98.9.134 with SMTP id 6mr12214204pfj.149.1521515336410; Mon, 19 Mar 2018 20:08:56 -0700 (PDT) Received: from aaron-mbt.local (c-76-28-156-232.hsd1.wa.comcast.net. [76.28.156.232]) by smtp.gmail.com with ESMTPSA id t87sm777392pfi.37.2018.03.19.20.08.55 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 19 Mar 2018 20:08:55 -0700 (PDT) From: Aaron Jensen To: bug-gnu-emacs@gnu.org Subject: 26.0.91; odd byte compile issue Date: Mon, 19 Mar 2018 20:08:54 -0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Previously, in bug#30852 I noted that there was an infinite loop in eterm-256color. It appears that that loop may be caused by some bug, or something I do not understand in Emacs. I can repro this in 26 and 27 To repro, put this in test.el and byte compile it: ;;; -*- lexical-binding: t; -*- (defun repro-bug (handle-fun &rest args) (pcase-let (((or `(,params) `(t ,_)) args)) (if t (progn (message "before: %S" params) (pcase params (`(38) (message "A") (setq params nil)) (`(,x . ,_) (message "B") (setq params nil))) (message "after: %S" params) params) (apply handle-fun args)))) There's all sorts of weird stuff in that repro, and maybe someone can pare it down further, but most of it appears to be required. Then: (load-file "test.elc") (repro-bug nil '(0)) Expected: It returns nil and prints: before: (0) B after: nil nil Actual: It returns (0) and prints: before: (0) B after: (0) (0) Note that if the function is eval'd, it works as expected. The problem only appears when byte compiled. In GNU Emacs 26.0.91 (build 1, x86_64-apple-darwin17.4.0, NS appkit-1561.20 Version 10.13.3 (Build 17D102)) of 2018-03-15 built on aaron-mbt.local Repository revision: 2b8507fbdce8228ccdbcbc31fe545a50330ddd51 Windowing system distributor 'Apple', version 10.3.1561 Recent messages: Saving file /Users/aaronjensen/Source/temp/test-a.el... Wrote /Users/aaronjensen/Source/temp/test-a.el Wrote /Users/aaronjensen/Source/temp/test-a.elc Wrote /Users/aaronjensen/Source/temp/test-a.{el,elc} Loading /Users/aaronjensen/Source/temp/test-a.elc...done t before: (0) B after: (0) (0) Configured using: 'configure --disable-dependency-tracking --disable-silent-rules --enable-locallisppath=/usr/local/share/emacs/site-lisp --infodir=/usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/info/emacs --prefix=/usr/local/Cellar/emacs-plus/HEAD-2b8507f --with-xml2 --without-dbus --with-gnutls --with-imagemagick --with-modules --with-rsvg --with-ns --disable-ns-self-contained' Configured features: JPEG RSVG IMAGEMAGICK NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS LCMS2 Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect: magit-auto-revert-mode: t company-statistics-mode: t company-childframe-mode: t company-mode: t auto-compile-mode: t elisp-slime-nav-mode: t eros-mode: t lispyville-mode: t lispy-mode: t nameless-mode: t goto-address-prog-mode: t bug-reference-prog-mode: t auto-highlight-symbol-mode: t dtrt-indent-mode: t highlight-numbers-mode: t highlight-parentheses-mode: t rainbow-delimiters-mode: t yas-global-mode: t yas-minor-mode: t auto-dim-other-buffers-mode: t recentf-mode: t global-git-gutter+-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t desktop-save-mode: t global-wakatime-mode: t wakatime-mode: t evil-mc-mode: t hl-todo-mode: t global-spacemacs-whitespace-cleanup-mode: t spacemacs-whitespace-cleanup-mode: t ws-butler-global-mode: t ws-butler-mode: t winum-mode: t winner-mode: t pupo-mode: t purpose-mode: t volatile-highlights-mode: t global-vi-tilde-fringe-mode: t vi-tilde-fringe-mode: t save-place-mode: t savehist-mode: t projectile-rails-global-mode: t projectile-mode: t persp-mode: t global-origami-mode: t origami-mode: t Info-breadcrumbs-in-mode-line-mode: t flycheck-pos-tip-mode: t global-flycheck-mode: t flx-ido-mode: t eyebrowse-mode: t global-evil-surround-mode: t evil-surround-mode: t global-evil-search-highlight-persist: t evil-search-highlight-persist: t show-smartparens-global-mode: t show-smartparens-mode: t evil-lion-mode: t evil-escape-mode: t global-anzu-mode: t anzu-mode: t eval-sexp-fu-flash-mode: t editorconfig-mode: t diff-auto-refine-mode: t counsel-mode: t ivy-mode: t delete-selection-mode: t clean-aindent-mode: t hybrid-mode: t which-key-mode: t override-global-mode: t global-undo-tree-mode: t undo-tree-mode: t evil-mode: t evil-local-mode: t spacemacs-leader-override-mode: t global-spacemacs-leader-override-mode: t global-hl-line-mode: t xterm-mouse-mode: t global-auto-revert-mode: t shell-dirtrack-mode: t ido-vertical-mode: t global-page-break-lines-mode: t page-break-lines-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t abbrev-mode: t hs-minor-mode: t Load-path shadows: /Users/aaronjensen/.emacs.d/elpa/26.0/develop/ht-20180129.1434/ht hides /Users/aaronjensen/.emacs.d/core/libs/ht /Users/aaronjensen/.emacs.d/elpa/26.0/develop/inf-ruby-20180309.433/inf-ruby hides /usr/local/share/emacs/site-lisp/ruby/inf-ruby /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-stan hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-stan /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-exp hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-exp /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-J hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-J /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-eshell hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-eshell /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-emacs-lisp hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-emacs-lisp /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-gnus hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-gnus /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-css hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-css /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-lob hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-lob /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-forth hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-forth /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-macs hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-macs /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-version hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-version /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-scheme hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-scheme /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-abc hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-abc /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-C hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-C /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-capture hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-capture /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ref hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-ref /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-clojure hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-clojure /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-mouse hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-mouse /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ledger hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-ledger /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-ctags hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-ctags /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-entities hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-entities /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-archive hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-archive /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-screen hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-screen /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-haskell hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-haskell /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-asymptote hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-asymptote /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-mhe hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-mhe /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-table hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-table /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-keys hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-keys /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-org hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-org /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-plot hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-plot /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-awk hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-awk /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-groovy hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-groovy /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-octave hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-octave /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-faces hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-faces /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-colview hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-colview /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-R hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-R /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-timer hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-timer /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ebnf hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-ebnf /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-mobile hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-mobile /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-fortran hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-fortran /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-shell hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-shell /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-perl hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-perl /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-sqlite hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-sqlite /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-sed hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-sed /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-list hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-list /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ruby hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-ruby /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-eval hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-eval /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-habit hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-habit /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-clock hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-clock /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-html hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-html /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-src hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-src /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-lisp hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-lisp /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ditaa hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-ditaa /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-pcomplete hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-pcomplete /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-lint hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-lint /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-rmail hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-rmail /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-latex hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-latex /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-sass hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-sass /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-io hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-io /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-tangle hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-tangle /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-calc hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-calc /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-java hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-java /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-icalendar hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-icalendar /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-eww hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-eww /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-md hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-md /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-beamer hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-beamer /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-element hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-element /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-protocol hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-protocol /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-mscgen hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-mscgen /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-gnuplot hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-gnuplot /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-latex hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-latex /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-id hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-id /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-vala hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-vala /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-man hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-man /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-feed hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-feed /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-lua hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-lua /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-table hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-table /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ocaml hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-ocaml /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-coq hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-coq /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-picolisp hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-picolisp /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-indent hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-indent /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-lilypond hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-lilypond /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-matlab hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-matlab /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-datetree hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-datetree /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-python hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-python /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-bbdb hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-bbdb /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-makefile hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-makefile /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-duration hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-duration /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-agenda hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-agenda /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-dot hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-dot /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-js hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-js /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-publish hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-publish /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-inlinetask hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-inlinetask /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-org hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-org /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-core hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-core /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-compat hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-compat /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-docview hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-docview /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-odt hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-odt /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-plantuml hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-plantuml /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-ascii hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-ascii /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-loaddefs hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-loaddefs /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-w3m hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-w3m /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-bibtex hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-bibtex /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-info hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-info /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-hledger hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-hledger /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-maxima hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-maxima /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-macro hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-macro /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-sql hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-sql /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-attach hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-attach /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-processing hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-processing /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-texinfo hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ox-texinfo /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-irc hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-irc /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-crypt hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-crypt /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-footnote hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-footnote /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-install hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/org-install /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-comint hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-comint /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-shen hides /usr/local/Cellar/emacs-plus/HEAD-2b8507f/share/emacs/26.0.91/lisp/org/ob-shen Features: (shadow sort mail-extr emacsbug sendmail tabify cl-print debug tramp-sh magit-bookmark bookmark smex evil-nerd-commenter evil-nerd-commenter-operator evil-nerd-commenter-sdk eterm-256color shell-pop term ehelp company-tng misearch multi-isearch eieio-opt speedbar sb-image ezimage dframe appt diary-lib diary-loaddefs org-duration epa-file org-agenda pp executable company-emoji company-emoji-list org-eldoc evil-org org-table ob-shell ob-ruby org-bullets org-download toc-org typo org-indent image-file org-rmail org-mhe org-irc org-info org-gnus nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader org-docview doc-view jka-compr org-bibtex bibtex org-bbdb org-w3m org-checklist org-inlinetask org-gcal org-archive smartparens-org ob-elixir ob-http ob-http-mode ob-restclient restclient ox-gfm ox-md ox-reveal ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox orgit org-element avl-tree generator magithub magithub-dash magithub-notification magithub-issue-view magithub-comment magithub-repo magithub-orgs magithub-issue-tricks magithub-issue-post magithub-edit-mode magithub-ci magithub-issue magithub-label magithub-user magithub-core magithub-faces magithub-settings smartparens-markdown markdown-mode ghub+ apiwrap apropos evil-magit git-rebase magit-gh-pulls gh gh-users gh-issues gh-pulls gh-repos gh-comments gh-gist gh-oauth gh-api logito gh-cache gh-auth gh-url gh-profile magit-obsolete magit-blame magit-stash magit-bisect magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-collab ghub magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode magit-core magit-autorevert magit-process magit-margin magit-mode org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs request-deferred deferred request alert log4e notifications dbus xml gntp shrink-path vc-git open-junk-file company-statistics company-files company-keywords company-dabbrev-code company-dabbrev company-capf company-childframe posframe company overseer pkg-info url-http tls gnutls url url-proxy url-privacy url-expand url-methods url-history mailcap url-auth url-cookie url-domsuf url-util url-gw nsm epl auto-compile packed elisp-slime-nav eros flycheck-package package-lint finder lispyville lispy iedit iedit-lib multiple-cursors-core lispy-inline avy semantic/db semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet evil-ediff ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff edebug lispy-tags nameless goto-addr bug-reference auto-highlight-symbol dtrt-indent highlight-numbers parent-mode highlight-parentheses hideshow rainbow-delimiters yasnippet-snippets yasnippet elec-pair editorconfig-core editorconfig-core-handle editorconfig-fnmatch colir face-remap auto-dim-other-buffers recentf tree-widget git-gutter-fringe+ fringe-helper git-gutter+ git-commit with-editor magit-git magit-section magit-utils crm magit-popup async-bytecomp async log-edit message rmc puny rfc822 mml mml-sec epa gnus-util rmail rmail-loaddefs mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log desktop frameset wakatime-mode contextual-menubar quiet-emacs fill-or-unfill init-macos-terminal-copy-paste init-terminal-cursor evil-terminal-cursor-changer init-org init-magit evil-mc evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands evil-mc-common hl-todo persistent-soft list-utils pcache eieio-base font-utils server zone xterm-color spacemacs-whitespace-cleanup ws-butler winum winner spacemacs-purpose-popwin window-purpose-x imenu-list imenu window-purpose window-purpose-fixes window-purpose-prefix-overload window-purpose-switch window-purpose-layout window-purpose-core window-purpose-configuration window-purpose-utils volatile-highlights vi-tilde-fringe unicode-fonts tmux string-inflection smartparens-config smartparens-text smartparens-ruby saveplace savehist ruby-test-mode pcre2el rxt re-builder projectile-rails rake f inflections inf-ruby ruby-mode smie projectile grep ibuf-ext ibuffer ibuffer-loaddefs popwin persp-mode osx-trash origami origami-parsers s linum ivy-hydra info+ image-mode google-c-style flycheck-pos-tip pos-tip flycheck find-func flx-ido eyebrowse evil-surround evil-search-highlight-persist evil-numbers evil-lisp-state smartparens dash evil-lion evil-indent-plus evil-exchange evil-escape evil-args evil-anzu anzu eval-sexp-fu highlight font-lock+ frame-fns avoid editorconfig noutline outline doom-modeline let-alist powerline-separators color all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons memoize diff-hl vc-dir ewoc vc vc-dispatcher diff-mode counsel dired dired-loaddefs compile esh-util etags xref project swiper ivy flx delsel ivy-overlay ffap clean-aindent-mode adaptive-wrap gh-common marshal rx docker-tramp tramp-cache hybrid-mode evil-evilified-state which-key use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key use-package-core hydra lv exec-path-from-shell cus-edit cus-start cus-load evil evil-integration undo-tree diff evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-types evil-search evil-ex evil-macros evil-repeat evil-states evil-core evil-common windmove thingatpt rect evil-digraphs diminish evil-vars bind-map quelpa help-fns radix-tree package-build mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr json map lisp-mnt hl-line xt-mouse autorevert filenotify cl-extra disp-table wid-edit monokai-theme info finder-inf patch-server init-sass init-php init-html init-evil tramp tramp-compat tramp-loaddefs trampver shell pcomplete comint ansi-color ring parse-time format-spec ido-vertical-mode ido core-spacemacs core-use-package-ext core-transient-state core-micro-state core-toggle core-keybindings core-fonts-support core-themes-support core-display-init core-jump core-release-management core-custom-settings core-configuration-layer eieio-compat core-spacemacs-buffer core-funcs core-dotspacemacs ht cl help-mode warnings package url-handlers url-parse auth-source cl-seq password-cache url-vars seq eieio byte-opt bytecomp byte-compile cconv eieio-core eieio-loaddefs epg epg-config core-command-line pcase core-debug edmacro kmacro derived cl-macs gv advice profiler easymenu cl-loaddefs cl-lib page-break-lines easy-mmode core-emacs-backports subr-x time-date tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote kqueue cocoa ns lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 1610503 457352) (symbols 48 87585 1) (miscs 40 2934 6745) (strings 32 347460 50549) (string-bytes 1 11857161) (vectors 16 153761) (vector-slots 8 3562242 217408) (floats 8 1081 1701) (intervals 56 41136 3898) (buffers 992 140)) From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 20 01:41:58 2018 Received: (at 30872) by debbugs.gnu.org; 20 Mar 2018 05:41:58 +0000 Received: from localhost ([127.0.0.1]:42622 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyA22-0005RJ-AP for submit@debbugs.gnu.org; Tue, 20 Mar 2018 01:41:58 -0400 Received: from mail-qt0-f181.google.com ([209.85.216.181]:40559) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyA20-0005R3-Mz for 30872@debbugs.gnu.org; Tue, 20 Mar 2018 01:41:56 -0400 Received: by mail-qt0-f181.google.com with SMTP id y6so408360qtm.7 for <30872@debbugs.gnu.org>; Mon, 19 Mar 2018 22:41:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=tTgHDbaLX65SpegN1vSxIZxGyVSy1gPNJAti/hjcaUw=; b=HSGI2qW3IR2pq+hE7IqkBPCcWFJpXIfnhomYyG2X9mMkd1suzMYO6lIi5+PV5T+NwA YhTkyYI+emKNofqMslWT8L9hM3AZb7GfIC9TP5a+xFylXkD21O6v+51PnXfoMFrjSJFs UdvoeTdP2+SfPT2+HSaVwrpb0m6QI/kOqiB8/QTaVSGK2/2mTQZaYVOJZFeY1QrjsKqv LIAmMGD+CamjZOPGxduvvAEvb9zTpo8Ig0a57YmAl7RgNZAwMjWyQwM58wVO/QN5t+mF //kkxqgjfivB6ugz3BrkIBNkQsBY/toYiA9KLqdlumvSaCRr8eKIHbWZFPz+TDNDPYo0 +biA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=tTgHDbaLX65SpegN1vSxIZxGyVSy1gPNJAti/hjcaUw=; b=VWLzbJYZi8PFIwvmioPd8WOyrFDJyFTYhELoHdpQQZGlq+YyYuiatbR0xvtnLuZvmg FIch5361lNquGIjV/8RVPCsH/rSl2hghRYUnRo4HDHWQ19mS0Fz8e0SW+xkP8a6KQoph Dw9LMRTFnWAh6P+OBgOd0/mKgfEAULy/LagBytrFBJEwkhWLWXIowfkuFdC6vGQIoW2R +xKLVCm+T9pk+U08maxRgzK3wByAVDId336F6gqCnEI3t06NY6rpu6ttQzzaEJa2kWo6 Ni+f9mD2pkGEnghdyGtD6B1GUa18Ugry58ORECdfBy4NX+4KnuQZpeDKCQJSmjvPz9sG v7EQ== X-Gm-Message-State: AElRT7Gy484mDm0fb5turdty1fFECGKaeM0q+Jiq6LF1FJU+tDeyzaqA 6DEBn130nyUMyQAa/ZZBJsbzPtAGOJdQZDQuIYzfgw== X-Google-Smtp-Source: AG47ELsebfbmqAj1ZvPbCsqoN4DfHrMdsNgWogyKUNJck/62s/iYYIXQjXD7YKkG7Cl19IBBhbkGCMxFcmHcflfoLx0= X-Received: by 10.200.68.90 with SMTP id m26mr17591340qtn.5.1521524510565; Mon, 19 Mar 2018 22:41:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.237.60.76 with HTTP; Mon, 19 Mar 2018 22:41:49 -0700 (PDT) From: Aaron Jensen Date: Mon, 19 Mar 2018 22:41:49 -0700 Message-ID: Subject: Re: 26.0.91; odd byte compile issue To: 30872@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 30872 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 (/) I realized I left it for the reader to figure out what the issue is. It appears that using a certain combination of macros, when a file is byte compiled, that version does not allow you to `setq' a variable that has been defined by `pcase-let' in an `or'. The repro demonstrates this by doing a `(setq params nil)' and then printing the value of params and returning it. It is not set to `nil' even though that line has been evaluated. Hope that helps. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 20 19:57:39 2018 Received: (at 30872) by debbugs.gnu.org; 20 Mar 2018 23:57:39 +0000 Received: from localhost ([127.0.0.1]:44422 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyR8M-0005qV-O0 for submit@debbugs.gnu.org; Tue, 20 Mar 2018 19:57:38 -0400 Received: from mail-it0-f51.google.com ([209.85.214.51]:50483) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyR8K-0005qE-O5; Tue, 20 Mar 2018 19:57:36 -0400 Received: by mail-it0-f51.google.com with SMTP id d13-v6so4705019itf.0; Tue, 20 Mar 2018 16:57:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=VH8dReOmsKPzHs7zW1S7+iX8UbLWc4P4vErGlmsTTYY=; b=lrjMIvAD4QoXOXz+xSr8LTq2Trm2YgElid1+gpR4zm0vtaBQlze7kzNBFnwpNx9OoS WP/Ms1oykIo+O88FA99DZGVHt2mUpaa/CYaFPGhqy4+YNL/wqK5paFfw+eCmwF2FSlrc 6cYPXgUTg/DM1lEnNmhWzZDB3QLR6iloZHCMIknMcpp2CoPRThVvPOWr4OUDtCKSSVc0 qURuV5StKHi09vu5dyR1M+N7Yyo9DpTn/xszO9+nRmQSNmD26VxvysX/NC2Ml9bzvYEk rpaE1J8rDLjzjF6kMfeqmtEFb9FTdUBK9g9hmo8wt4Y9/YPmDZuNYbPifEFDXp21Am6L 6W8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=VH8dReOmsKPzHs7zW1S7+iX8UbLWc4P4vErGlmsTTYY=; b=rcq+h3YQCxLtn4aZ3zvw2HLOl29myjn9yvsROMAYC51QlBYYpUwCEqy1ESdalu+ndZ PDNQyry/6+h2onwTt4GVXXAfAu3P0YgzkVDUVc1wZi2DBSYygY6INg0T/9+GVnDicwIo GjPXNsQKljWkhSQJZyHJOIuRxgkVFGYrbqalINbDMlB4C2tXwnjI8NzfWlvs66qNCNQT pAIsrhoGO/OxX/EIkTZuPb7v1BrbzuCTyS4R2kwJ82dIsStB/W3u5GyrRVznLXX/juO5 uNq6C6g3DwrDp0NcRgxhDGQaLRrJ5fWpEE6Je/B0fdxJNgfwpYe60SZEB3I4TVKtnztk BTIw== X-Gm-Message-State: AElRT7GaV19jAj5SoZRprHMB/vCysl64mCpL8dlZdFvtlKxj1Fo4LpSK dV/D1ztOfkGllB7NV0/998xSEw== X-Google-Smtp-Source: AG47ELulr93i8vvcQ27VVA3r5xNL1EifwEaizpllexuRRU5UB7C3DCHZYwa3SclVwBhtjH1/lmnEHQ== X-Received: by 2002:a24:3242:: with SMTP id j63-v6mr1902791ita.13.1521590251073; Tue, 20 Mar 2018 16:57:31 -0700 (PDT) Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id r6sm1830340ioe.85.2018.03.20.16.57.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 20 Mar 2018 16:57:30 -0700 (PDT) From: Noam Postavsky To: Aaron Jensen Subject: Re: bug#30872: 26.0.91; odd byte compile issue References: Date: Tue, 20 Mar 2018 19:57:28 -0400 In-Reply-To: (Aaron Jensen's message of "Mon, 19 Mar 2018 20:08:54 -0700") Message-ID: <877eq6ti53.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30872 Cc: 30872@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: -0.0 (/) --=-=-= Content-Type: text/plain retitle 30872 incorrect byte-compile of closure called from local funcalled function found 30872 24.3 tags 30872 + confirmed quit Aaron Jensen writes: > There's all sorts of weird stuff in that repro, and maybe someone can > pare it down further, but most of it appears to be required. I macroexpanded and reduced the result, ending up with this: --=-=-= Content-Type: application/emacs-lisp Content-Disposition: inline; filename=repro.el Content-Transfer-Encoding: quoted-printable Content-Description: reduced test case ;;; -*- lexical-binding: t; -*- (defun repro-bug (handle-fun arg) (let* ((subfun (lambda (params) (message "before: %S" params) (if t (funcall (lambda () (setq params nil))) (ignore handle-fun)) (message "after: %S" params)))) (funcall subfun arg))) --=-=-= Content-Type: text/plain I can reproduce back to 24.3 (which is the earliest Emacs I have running). I expect the bug has been present since the introduction of lexical scope. Looks somewhat similar to Bug#24171. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 30 18:55:43 2018 Received: (at 30872) by debbugs.gnu.org; 30 May 2018 22:55:43 +0000 Received: from localhost ([127.0.0.1]:55458 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fOA0N-0007Sh-8s for submit@debbugs.gnu.org; Wed, 30 May 2018 18:55:43 -0400 Received: from mail-io0-f180.google.com ([209.85.223.180]:41454) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fOA0L-0007SU-F7 for 30872@debbugs.gnu.org; Wed, 30 May 2018 18:55:41 -0400 Received: by mail-io0-f180.google.com with SMTP id t5-v6so11012075ioa.8 for <30872@debbugs.gnu.org>; Wed, 30 May 2018 15:55:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=gQhK2soNMBxlGHVCZboWuxyzkbOQ0WDUJbY83SC2EsM=; b=Z1BQ4Ie8IhNmIt5t/0uR+qjQAVmxj3zognIvsFnj4ePOPshZwUwnOoT48LLGUtDMbC rVgpnc3PMLVIWFZ92U531zPLztnl4mOHs6S3UcFVc0h3MEbXnZrPwSsHlcyQgjEzj73u nGdgBlVRIfvbqzLNpbvscjreagAH1+XjjNBG4z2N6sK9Y3jUQgTV4yEtnXU7z4ICSoBx 3+gokHNA0bGCoZ5LCLNUhwL4DQMrmYeZZeRYcCA05snXlpHWFprDPNjZdoh3rn8+tO8W cZbwcfOwTM3HC6N8G8Bj+OVXj1C56DsEVii2WFnU35AmXgwAK1iDF9pDUkWJTxBr/lfx bBxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=gQhK2soNMBxlGHVCZboWuxyzkbOQ0WDUJbY83SC2EsM=; b=MJTCsIO+2Mi7BvBqrVmO22lGsMSMyTdvb41P6E3mVUYZBB/a5aO4p+lbMkGAYymRRc Ofpi7Hi5Hc6MzD1K/G8QDABZAsE/oJP3YY90vrWiZoDl3OjpBYreOuY+btqYWM5munCN LRAmYJTbrY50HFHwizgh9Bsb/LCErTU8cmGhb8OcY4rMvUloC5kdmaOxlV2nM71UdmaI BYPhK7GM3AgWYSw4xrJ7RYJG8Mbc7ZULn6H8uQRV2geqgrL5Kvi6C8fxvwqgJt358WPS 5AmGrRgSKfp4k9sCybf8p1XwHPUPCd8/9w5pcksGwKvApDUXN2UwpQ28Gs3N7IZDMpGt 1rNQ== X-Gm-Message-State: ALKqPwfQR0fxbMNYxuLRmK/cWhmNaB71Q0logm07EEhtjgBmqP9Q9biV X9FTNJcai8VXJtG48T3oSrA= X-Google-Smtp-Source: ADUXVKK2AKRos1B5f/6hhsYmAZZ5WrhzkMAcPI2AC6X/mu0fBIXVtElZ8Cg+Yg63Ayn3F/omEBadlQ== X-Received: by 2002:a6b:4910:: with SMTP id u16-v6mr4376840iob.108.1527720935963; Wed, 30 May 2018 15:55:35 -0700 (PDT) Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id v127-v6sm243806itc.3.2018.05.30.15.55.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 30 May 2018 15:55:34 -0700 (PDT) From: Noam Postavsky To: Aaron Jensen Subject: Re: bug#30872: incorrect byte-compile of closure called from local funcalled function References: <877eq6ti53.fsf@gmail.com> Date: Wed, 30 May 2018 18:55:33 -0400 In-Reply-To: <877eq6ti53.fsf@gmail.com> (Noam Postavsky's message of "Tue, 20 Mar 2018 19:57:28 -0400") Message-ID: <87vab4bvoa.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: 30872 Cc: Stefan Monnier , 30872@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: -2.7 (--) I narrowed it down a bit more, note the lack of setq in the result of byte-compile-preprocess: (byte-compile-preprocess '#'(lambda (handle-fun arg) (let* ((subfun #'(lambda (params) (ignore handle-fun) (funcall #'(lambda () (setq params nil))) params))) (funcall subfun arg)))) ;=> #'(lambda (handle-fun arg) (let* ((subfun #'(lambda (handle-fun params) (ignore handle-fun) (funcall (internal-make-closure nil (params) nil nil)) params))) (funcall subfun handle-fun arg))) It's hitting this bit of code in cconv.el, where it says this "should never happen": (defun cconv-convert (form env extend) (pcase form [...] (`(setq . ,forms) ; setq special form [...] (push (pcase sym-new ((pred symbolp) `(setq ,sym-new ,value)) (`(car-safe ,iexp) `(setcar ,iexp ,value)) ;; This "should never happen", but for variables which are ;; mutated+captured+unused, we may end up trying to `setq' ;; on a closed-over variable, so just drop the setq. (_ ;; (byte-compile-report-error ;; (format "Internal error in cconv of (setq %s ..)" ;; sym-new)) value)) Stefan, thoughts? From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 07 20:33:11 2018 Received: (at 30872) by debbugs.gnu.org; 8 Jun 2018 00:33:11 +0000 Received: from localhost ([127.0.0.1]:38511 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fR5L3-0002lg-Tl for submit@debbugs.gnu.org; Thu, 07 Jun 2018 20:33:11 -0400 Received: from mail-it0-f47.google.com ([209.85.214.47]:37737) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fR5L2-0002lU-BG for 30872@debbugs.gnu.org; Thu, 07 Jun 2018 20:33:08 -0400 Received: by mail-it0-f47.google.com with SMTP id l6-v6so326961iti.2 for <30872@debbugs.gnu.org>; Thu, 07 Jun 2018 17:33:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=1IZQPQHUvryf6Kzt4vi1Pnk1yrAdBD9NqG/5x5Nbkus=; b=qoZJMYruijb9n64h3lRH8QiVR/jV5YYPswytcG4SrpQk0N9gaOjCtLG3ZWGW/BKPh7 WaBwPbli+F5LAFv09tkh2hpcy60rniQwy4m7ZysUsZCwd8s4VmtrsWYvJWbgsOY7QWHH AOQtQQhp4gNT4wfbzdZWfcb+enBLzqpKET14uwyFJjp1g/ZA8wUTBtbYJOTklez0t3a9 ceo9kVVK8DGJDT43yntH0iH1ubUIarxn7eRcECICnyPcwOTgxxfr51XKZVqsNAxr9BXa rjG+WU1LCu/tBCKCR6WJB+2TI/kE8zcrDVGebzxeTtTdOpvpBrqad6X7m1xD+MNouZoi pm1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=1IZQPQHUvryf6Kzt4vi1Pnk1yrAdBD9NqG/5x5Nbkus=; b=m+5B3wyV6jg7Kixut7EcCY9JyDfx2MN2dstTYh64YF4E2zy7e2lt/PKbE4BxL8QGzT 6aDoG8qWun8/sNz5M6R94pecFViVo7fBmoXVZxyLJB6TGuSpAoNFynszc9+qxRYJu8Oq PboPUckPOnmW/pCRJYebDHwkWoNsfbbfPJwkJeDu0SqN+HQVoZ15k/pNFpGNEYm1J4HX wELhWzNVPLgPbMGb9smPzmyC4kAIqmxp3ffkJJAF8/bS8FNehl0QqlNz9lQaatcFeu05 msKJOjQLHB5E8iYS+uTm43bSBk87vWbF3hLAQZm0+cT/010eFe8ZJpTHfnm7CGZrBfy0 Vh7Q== X-Gm-Message-State: APt69E0lz1brBNwYd/JZ9mKBvcYp8E8zufltflCqrbIalZ3bscA7qPu/ 8Jjr2cMHDDF/9CApcdET1IgOdw== X-Google-Smtp-Source: ADUXVKJMUlYZP6/Nty6MbN1Kc/GkC+SV4YEUYWXY+Iz80XYiL87wDIsBfdi0BrxtP4FQXqi07N2oGw== X-Received: by 2002:a24:9794:: with SMTP id k142-v6mr3895438ite.120.1528417982780; Thu, 07 Jun 2018 17:33:02 -0700 (PDT) Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id m13-v6sm7202283iob.86.2018.06.07.17.33.01 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 07 Jun 2018 17:33:01 -0700 (PDT) From: Noam Postavsky To: Aaron Jensen Subject: Re: bug#30872: incorrect byte-compile of closure called from local funcalled function References: <877eq6ti53.fsf@gmail.com> <87vab4bvoa.fsf_-_@gmail.com> Date: Thu, 07 Jun 2018 20:33:00 -0400 In-Reply-To: <87vab4bvoa.fsf_-_@gmail.com> (Noam Postavsky's message of "Wed, 30 May 2018 18:55:33 -0400") Message-ID: <87602u2k3n.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30872 Cc: Stefan Monnier , 30872@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: -1.0 (-) --=-=-= Content-Type: text/plain Okay, I think I found the problem. In case of a lambda lifted function we weren't doing this part of cconv--convert-function: (dolist (arg args) (if (not (member (cons (list arg) parentform) cconv-captured+mutated)) (if (assq arg new-env) (push `(,arg) new-env)) (push `(,arg . (car-safe ,arg)) new-env) (push `(,arg (list ,arg)) letbind))) so `params' wasn't handled properly. I copied and adapted that code to the corresponding place in cconv-convert, and it seems to work. Please review for sanity. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=v1-0001-Don-t-forget-to-analyse-args-of-lambda-lifted-fun.patch Content-Description: patch >From dbdfb6c0b2bfa497178afcede7a8d0bbde4a00d7 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Thu, 7 Jun 2018 19:58:47 -0400 Subject: [PATCH v1] Don't forget to analyse args of lambda lifted functions (Bug#30872) * lisp/emacs-lisp/cconv.el (cconv-convert): Do the (defun foo (... m-arg ...) ...) => (defun foo (... m-arg ...) (let ((m-arg (list m-arg))) ...)) transformation for mutated args of lambda lifted functions as well. --- lisp/emacs-lisp/cconv.el | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el index 02fe794467..e6e877846f 100644 --- a/lisp/emacs-lisp/cconv.el +++ b/lisp/emacs-lisp/cconv.el @@ -352,18 +352,25 @@ cconv-convert (funargs (cadr fun)) (funcvars (append fvs funargs)) (funcbody (cddr fun)) - (funcbody-env ())) + (funcbody-env ()) + (letbind ())) (push `(,var . (apply-partially ,var . ,fvs)) new-env) (dolist (fv fvs) (cl-pushnew fv new-extend) (if (and (eq 'car-safe (car-safe (cdr (assq fv env)))) (not (memq fv funargs))) (push `(,fv . (car-safe ,fv)) funcbody-env))) - `(function (lambda ,funcvars . - ,(mapcar (lambda (form) - (cconv-convert - form funcbody-env nil)) - funcbody))))) + (dolist (arg funargs) + (if (not (member (cons (list arg) value) cconv-captured+mutated)) + (if (assq arg funcbody-env) (push `(,arg) funcbody-env)) + (push `(,arg . (car-safe ,arg)) funcbody-env) + (push `(,arg (list ,arg)) letbind))) + `(function (lambda ,funcvars + (let ,letbind . + ,(mapcar (lambda (form) + (cconv-convert + form funcbody-env nil)) + funcbody)))))) ;; Check if it needs to be turned into a "ref-cell". ((member (cons binder form) cconv-captured+mutated) -- 2.11.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 07 22:43:17 2018 Received: (at 30872) by debbugs.gnu.org; 8 Jun 2018 02:43:17 +0000 Received: from localhost ([127.0.0.1]:38577 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fR7My-0005jY-Vm for submit@debbugs.gnu.org; Thu, 07 Jun 2018 22:43:17 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:47678) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fR7Mx-0005jR-CV for 30872@debbugs.gnu.org; Thu, 07 Jun 2018 22:43:16 -0400 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id w582heSC032029; Thu, 7 Jun 2018 22:43:40 -0400 Received: by pastel.home (Postfix, from userid 20848) id BBB19656CB; Thu, 7 Jun 2018 22:43:13 -0400 (EDT) From: Stefan Monnier To: Noam Postavsky Subject: Re: bug#30872: incorrect byte-compile of closure called from local funcalled function Message-ID: References: <877eq6ti53.fsf@gmail.com> <87vab4bvoa.fsf_-_@gmail.com> <87602u2k3n.fsf@gmail.com> Date: Thu, 07 Jun 2018 22:43:13 -0400 In-Reply-To: <87602u2k3n.fsf@gmail.com> (Noam Postavsky's message of "Thu, 07 Jun 2018 20:33:00 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6303=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6303> : inlines <6684> : streams <1789053> : uri <2654477> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 30872 Cc: Aaron Jensen , 30872@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 (---) > so `params' wasn't handled properly. I copied and adapted that code to > the corresponding place in cconv-convert, and it seems to work. Please > review for sanity. Looks sane, thank you. Even better would be to try and share this code rather than duplicate it. Please try and add some comment in the code, tho: it's rather dry (and yes, I know I'm largely to blame for it). Also don't forget to add a corresponding testcase. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 11 08:36:36 2018 Received: (at 30872) by debbugs.gnu.org; 11 Jun 2018 12:36:36 +0000 Received: from localhost ([127.0.0.1]:42888 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fSM3n-00009q-UF for submit@debbugs.gnu.org; Mon, 11 Jun 2018 08:36:36 -0400 Received: from mail-it0-f52.google.com ([209.85.214.52]:39706) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fSM3l-00009X-Kc; Mon, 11 Jun 2018 08:36:34 -0400 Received: by mail-it0-f52.google.com with SMTP id p185-v6so10663891itp.4; Mon, 11 Jun 2018 05:36:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=65E/RBBQMWxlHlWOmxTE3uE4ArarUGJJaoHWRHowBug=; b=p+f/7VxHV+9kGw40UgtHrcgPvnqUqYFgUNiF3P0wiZ5mfrwh/5zxvD4aG1xB84IIIp sAIhseYUgssSxE5EU3m0CL7LMM7y273wKi55oEZlto9BxQoMNep8uJOAEoCjK5+X+gTt IqOoXvcG2XtnXEwCF+hpDdcuS5DA+o1gzys7wNCaxzcdvGZ+OeEaKxwLPkVYb7nqHgjA 7b8D8y1KHTcW0hs9ZHGqH3fLMuSZu1NEbTZLI4il7qnqPV5VoHxpXsaOXDoYK2Q+UbE0 S6YtYqgDppoyX1HGp+MXrm2riUNUn0vhoPJkPkgvkl3gVTiDVRvXfEw5BXZ497jyozRL qPmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=65E/RBBQMWxlHlWOmxTE3uE4ArarUGJJaoHWRHowBug=; b=HYyNHtXICgi8fhisVRSCCt6VPUWOzut03sf4W2dty37f6TpCsB3E664zDiGO/NKBZL O6HCLg4GohknllQZVf0PGba2OmesTPLU2o9WmrcRkupU8SpB2CuqEBf/L9y/cv4YmZ61 BJqivHvVveJ6zpzQjsW6wkbqK3tO5LKQGuEa5IQKGH1fW3yokmJUD5GseDlcr0LBnlWo CD8aipFWE6v299YA6sQrQiV3FwZIUNNQiPG1pPGf8QxBrVckoApI0xwmhGnjNgq+2YBO NX72clK/PRHQ9wgMwnXp6v1bhnLxQfW0gld1LNXQ2CJnTSbsEUzDIhCyFJ3Z2zyVKobM biOg== X-Gm-Message-State: APt69E0iNJ+3+1trtGKHL4gMcC6WL6q4as2lumdVKyNM9qcYiV04qReT MuVX8XMmhvXThzeA5EWz6La+Nw== X-Google-Smtp-Source: ADUXVKLfQmv+PrAjCTfXI6N+NN+3GSh8zfeelb6b6YvKn3oCqFjfaTvaihw9iBWiuNgTxhSK+Q3XDQ== X-Received: by 2002:a24:b715:: with SMTP id h21-v6mr10874377itf.32.1528720587953; Mon, 11 Jun 2018 05:36:27 -0700 (PDT) Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id l19-v6sm1499867ioh.27.2018.06.11.05.36.26 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 11 Jun 2018 05:36:26 -0700 (PDT) From: Noam Postavsky To: Stefan Monnier Subject: Re: bug#30872: incorrect byte-compile of closure called from local funcalled function References: <877eq6ti53.fsf@gmail.com> <87vab4bvoa.fsf_-_@gmail.com> <87602u2k3n.fsf@gmail.com> Date: Mon, 11 Jun 2018 08:36:25 -0400 In-Reply-To: (Stefan Monnier's message of "Thu, 07 Jun 2018 22:43:13 -0400") Message-ID: <87bmchzeie.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30872 Cc: Aaron Jensen , 30872@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: -1.0 (-) --=-=-= Content-Type: text/plain tags 30872 + patch quit Stefan Monnier writes: > Looks sane, thank you. Even better would be to try and share this code > rather than duplicate it. Please try and add some comment in the code, > tho: it's rather dry (and yes, I know I'm largely to blame for it). It seemed pretty okay to me; I was confused by the (if (assq arg env) (push `(,arg) env)) for a bit, so I added a mention of the nil case to the cconv-convert docstring. > Also don't forget to add a corresponding testcase. Right, here it is. Should this go to emacs-26? It looks fairly safe to me, but since I'm new to this code, I don't want to put too much weight on my assessment. --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0001-Don-t-forget-to-analyse-args-of-lambda-lifted-functi.patch Content-Transfer-Encoding: quoted-printable Content-Description: patch >From 7458c4dc8f49f3a2e1d35eb0eda4da5b1c832487 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Thu, 7 Jun 2018 19:58:47 -0400 Subject: [PATCH] Don't forget to analyse args of lambda lifted functions (Bug#30872) * lisp/emacs-lisp/cconv.el (cconv--convert-funcbody): New function. (cconv--convert-function): Extracted from here. (cconv-convert): Also use it here, in the lambda lifted case, so that mutated args are properly accounted for. * test/lisp/emacs-lisp/cconv-tests.el: New test. --- lisp/emacs-lisp/cconv.el | 55 +++++++++++++++++++++------------= ---- test/lisp/emacs-lisp/cconv-tests.el | 40 +++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 24 deletions(-) create mode 100644 test/lisp/emacs-lisp/cconv-tests.el diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el index 02fe794467..ff4e59ef1b 100644 --- a/lisp/emacs-lisp/cconv.el +++ b/lisp/emacs-lisp/cconv.el @@ -206,7 +206,6 @@ cconv--convert-function (cl-assert (equal body (caar cconv-freevars-alist))) (let* ((fvs (cdr (pop cconv-freevars-alist))) (body-new '()) - (letbind '()) (envector ()) (i 0) (new-env ())) @@ -227,25 +226,8 @@ cconv--convert-function (setq envector (nreverse envector)) (setq new-env (nreverse new-env)) =20 - (dolist (arg args) - (if (not (member (cons (list arg) parentform) cconv-captured+mutated= )) - (if (assq arg new-env) (push `(,arg) new-env)) - (push `(,arg . (car-safe ,arg)) new-env) - (push `(,arg (list ,arg)) letbind))) - - (setq body-new (mapcar (lambda (form) - (cconv-convert form new-env nil)) - body)) - - (when letbind - (let ((special-forms '())) - ;; Keep special forms at the beginning of the body. - (while (or (stringp (car body-new)) ;docstring. - (memq (car-safe (car body-new)) '(interactive declare))) - (push (pop body-new) special-forms)) - (setq body-new - `(,@(nreverse special-forms) (let ,letbind . ,body-new))))) - + (setq body-new (cconv--convert-funcbody + args body new-env parentform)) (cond ((not (or envector docstring)) ;If no freevars - do nothing. `(function (lambda ,args . ,body-new))) @@ -279,6 +261,30 @@ cconv--remap-llv (nthcdr 3 mapping))))) new-env)) =20 +(defun cconv--convert-funcbody (funargs funcbody env parentform) + "Run `cconv-convert' on FUNCBODY, the forms of a lambda expression. +PARENTFORM is the form containing the lambda expression. ENV is a +lexical environment (same format as for `cconv-convert'), not +including FUNARGS, the function's argument list. Return a list +of converted forms." + (let ((letbind ())) + (dolist (arg funargs) + (if (not (member (cons (list arg) parentform) cconv-captured+mutated= )) + (if (assq arg env) (push `(,arg . nil) env)) + (push `(,arg . (car-safe ,arg)) env) + (push `(,arg (list ,arg)) letbind))) + (setq funcbody (mapcar (lambda (form) + (cconv-convert form env nil)) + funcbody)) + (if letbind + (let ((special-forms '())) + ;; Keep special forms at the beginning of the body. + (while (or (stringp (car funcbody)) ;docstring. + (memq (car-safe (car funcbody)) '(interactive declare= ))) + (push (pop funcbody) special-forms)) + `(,@(nreverse special-forms) (let ,letbind . ,funcbody))) + funcbody))) + (defun cconv-convert (form env extend) ;; This function actually rewrites the tree. "Return FORM with all its lambdas changed so they are closed. @@ -292,6 +298,9 @@ cconv-convert environment's Nth slot. (VAR . (apply-partially F ARG1 ARG2 ..)): VAR has been =CE=BB-lifted and = takes additional arguments ARGs. + (VAR . nil): VAR is accessed normally. This is the same as VAR + being absent from ENV, but an explicit nil entry is useful + for shadowing VAR for a specific scope. EXTEND is a list of variables which might need to be accessed even from pl= aces where they are shadowed, because some part of ENV causes them to be used at places where they originally did not directly appear." @@ -360,10 +369,8 @@ cconv-convert (not (memq fv funargs))) (push `(,fv . (car-safe ,fv)) funcbody-env))) `(function (lambda ,funcvars . - ,(mapcar (lambda (form) - (cconv-convert - form funcbody-env nil)) - funcbody))))) + ,(cconv--convert-funcbody + funargs funcbody funcbody-env value)))= )) =20 ;; Check if it needs to be turned into a "ref-cell". ((member (cons binder form) cconv-captured+mutated) diff --git a/test/lisp/emacs-lisp/cconv-tests.el b/test/lisp/emacs-lisp/cco= nv-tests.el new file mode 100644 index 0000000000..d14847ce45 --- /dev/null +++ b/test/lisp/emacs-lisp/cconv-tests.el @@ -0,0 +1,40 @@ +;;; cconv-tests.el -*- lexical-binding: t -*- + +;; Copyright (C) 2018 Free Software Foundation, Inc. + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +(require 'ert) + +(ert-deftest cconv-convert-lambda-lifted () + "Bug#30872." + (should + (equal (funcall + (byte-compile + '#'(lambda (handle-fun arg) + (let* ((subfun + #'(lambda (params) + (ignore handle-fun) + (funcall #'(lambda () (setq params 42))) + params))) + (funcall subfun arg)))) + nil 99) + 42))) + +(provide 'cconv-tests) +;; cconv-tests.el ends here. --=20 2.11.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 11 11:30:01 2018 Received: (at 30872) by debbugs.gnu.org; 11 Jun 2018 15:30:01 +0000 Received: from localhost ([127.0.0.1]:43585 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fSOld-0001lc-4z for submit@debbugs.gnu.org; Mon, 11 Jun 2018 11:30:01 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:60109) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fSOla-0001lT-KI for 30872@debbugs.gnu.org; Mon, 11 Jun 2018 11:29:59 -0400 Received: from ceviche.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id w5BFTvcW001488; Mon, 11 Jun 2018 11:29:57 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 62092660F3; Mon, 11 Jun 2018 11:29:57 -0400 (EDT) From: Stefan Monnier To: Noam Postavsky Subject: Re: bug#30872: incorrect byte-compile of closure called from local funcalled function Message-ID: References: <877eq6ti53.fsf@gmail.com> <87vab4bvoa.fsf_-_@gmail.com> <87602u2k3n.fsf@gmail.com> <87bmchzeie.fsf@gmail.com> Date: Mon, 11 Jun 2018 11:29:57 -0400 In-Reply-To: <87bmchzeie.fsf@gmail.com> (Noam Postavsky's message of "Mon, 11 Jun 2018 08:36:25 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6305=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6305> : inlines <6688> : streams <1789383> : uri <2656431> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 30872 Cc: Aaron Jensen , 30872@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 (---) >> Also don't forget to add a corresponding testcase. > Right, here it is. Thanks > Should this go to emacs-26? > It looks fairly safe to me, but since I'm new to this code, I don't > want to put too much weight on my assessment. Not sure how much testing the Emacs-26.2 release will go through, so unless there's some urgency I would recommend to keep it on master, just to be on the safe side. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 16 18:37:36 2018 Received: (at 30872) by debbugs.gnu.org; 16 Jun 2018 22:37:36 +0000 Received: from localhost ([127.0.0.1]:52247 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fUJp9-0001fd-T6 for submit@debbugs.gnu.org; Sat, 16 Jun 2018 18:37:36 -0400 Received: from mail-io0-f177.google.com ([209.85.223.177]:33984) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fUJp8-0001fI-1C; Sat, 16 Jun 2018 18:37:34 -0400 Received: by mail-io0-f177.google.com with SMTP id e15-v6so13780210iog.1; Sat, 16 Jun 2018 15:37:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:user-agent:date :message-id:mime-version; bh=jyan6QxAhqzCG5WtS8+FPXfnQo7Zo8Gs4j/tqgn3VOg=; b=uuolCqx4Fy6aa9N45KL5ygZroRmT06UpZgJ2BBXs9xfQTwygzjaV2+zZN2b6aBHHoW PwEaEhGuiYBB+5bVkqpRyjTpy0qslwNM4C3p1ZHml7I+yuNoy9RDqo4yZG+bfDbnE53b xHjLlKj1iVJsCWenl6XCkYBPQ4t2qV2lWWYRCD3LNIGsSiFs/CFmzrMNvm1Zwux2lBQk bYCsd11LtbQwUA7suwtsoV/82pRJT+sO1aD3Wpb0Z47D2iVP8r8voJ0dijrDsnNbKPbH N/OyIuwVbuW6e2JEixqax86qeFowDwHE6m1z+36lH574XbI/stUXg6vlZGdRTJzmbbxJ wmNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references :user-agent:date:message-id:mime-version; bh=jyan6QxAhqzCG5WtS8+FPXfnQo7Zo8Gs4j/tqgn3VOg=; b=hydfSqiWTwgeN+/WfGiR64Tk/a8Ss5i1aVRTYAUVx2IdhnnQBMENvk4Ddc07/yUA8y NaONPCDvcCuYdR0boEsClVjuTLWdRAMXKqNbrV/EpVUnfUCN2STiO2SuUIZL9dGoGan3 wWla7WT/qGrh9ZOmmoXP6lEQg4S4vhhAY79qOXx6fB3HkELIFoAvQASYVdo7pV90CMFZ DJh/SVLuZARXSEYLryT6avU3xbhV97b0DhncXj04BtO79Uf/9VoMIik8RTbxG/wXtqCO fjQSkaTeUp+AKuROG4HGxhqhZ32YIN6KJhKplJu/wyFgbNUcZoyufBtWuk/B3WGJAMX5 RmQA== X-Gm-Message-State: APt69E1PJBjdykmmZyfyOhXN0OScdCjx5STgl50JeDn6/KaQlu94Mxt2 60+TMxvHk2XqDHf6MsTGkYQrii6K X-Google-Smtp-Source: ADUXVKKavMi04MbLSuxN7ssFOzWxK2GKFHWvxaiMCnHNeCPhksxuvE8wMGP6jJV9R1kjkdqRVJ+3Fw== X-Received: by 2002:a6b:150:: with SMTP id 77-v6mr5344786iob.138.1529188648420; Sat, 16 Jun 2018 15:37:28 -0700 (PDT) Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id 200-v6sm2621711itw.4.2018.06.16.15.37.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 16 Jun 2018 15:37:27 -0700 (PDT) From: Noam Postavsky To: Stefan Monnier Subject: Re: bug#30872: incorrect byte-compile of closure called from local funcalled function In-Reply-To: (Stefan Monnier's message of "Mon, 11 Jun 2018 11:29:57 -0400") References: <877eq6ti53.fsf@gmail.com> <87vab4bvoa.fsf_-_@gmail.com> <87602u2k3n.fsf@gmail.com> <87bmchzeie.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Date: Sat, 16 Jun 2018 18:37:25 -0400 Message-ID: <87sh5mtl22.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 30872 Cc: Aaron Jensen , 30872@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: -1.0 (-) tags 30872 fixed close 30872 27.1 quit Stefan Monnier writes: > Not sure how much testing the Emacs-26.2 release will go through, so > unless there's some urgency I would recommend to keep it on master, just > to be on the safe side. Pushed to master. [1: 6021e1db92]: 2018-06-16 18:34:19 -0400 Don't forget to analyze args of lambda lifted functions (Bug#30872) https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=6021e1db92e355fbf5c66765fb0bc4658a80180a From unknown Wed Jun 18 00:16:30 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 16 Jul 2018 11:24:11 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator