From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Jack Coughlin Newsgroups: gmane.emacs.bugs Subject: bug#36582: 26.2; Feature Suggestion / Request for Implementation Help Date: Wed, 10 Jul 2019 12:25:10 -0700 Message-ID: <48F774E7-F5C0-42F5-87F8-E907FD2B0497@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="22514"; mail-complaints-to="usenet@blaine.gmane.org" To: 36582@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jul 10 21:54:17 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hlIfQ-0005jD-Bs for geb-bug-gnu-emacs@m.gmane.org; Wed, 10 Jul 2019 21:54:16 +0200 Original-Received: from localhost ([::1]:36576 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlIfP-0001eZ-9y for geb-bug-gnu-emacs@m.gmane.org; Wed, 10 Jul 2019 15:54:15 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48326) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlIfG-0001e7-PU for bug-gnu-emacs@gnu.org; Wed, 10 Jul 2019 15:54:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hlIfD-0007Op-6H for bug-gnu-emacs@gnu.org; Wed, 10 Jul 2019 15:54:06 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:56076) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hlIfC-0007N5-Qs for bug-gnu-emacs@gnu.org; Wed, 10 Jul 2019 15:54:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hlIfC-0006Lk-DJ for bug-gnu-emacs@gnu.org; Wed, 10 Jul 2019 15:54:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jack Coughlin Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 10 Jul 2019 19:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 36582 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.156278839224347 (code B ref -1); Wed, 10 Jul 2019 19:54:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 10 Jul 2019 19:53:12 +0000 Original-Received: from localhost ([127.0.0.1]:36664 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hlIeL-0006Kb-Rq for submit@debbugs.gnu.org; Wed, 10 Jul 2019 15:53:12 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:35135) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hlIDi-0005ew-Ua for submit@debbugs.gnu.org; Wed, 10 Jul 2019 15:25:40 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38326) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlIDf-0001S6-9o for bug-gnu-emacs@gnu.org; Wed, 10 Jul 2019 15:25:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hlIDV-0002iM-EG for bug-gnu-emacs@gnu.org; Wed, 10 Jul 2019 15:25:30 -0400 Original-Received: from mail-pg1-x532.google.com ([2607:f8b0:4864:20::532]:38395) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hlIDN-0002UI-Ai for bug-gnu-emacs@gnu.org; Wed, 10 Jul 2019 15:25:18 -0400 Original-Received: by mail-pg1-x532.google.com with SMTP id z75so1699017pgz.5 for ; Wed, 10 Jul 2019 12:25:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:content-transfer-encoding:mime-version:subject:message-id:date :to; bh=DrlGzZ+LkrPSblPJ1mU1qYjkmBFbCzilMdGaGMeQlSQ=; b=Mh6d+7VyHV2dmfHHba4uP6yTVrGpU3l+XdSqrVsUOJCG6MoxWeq5WLXnBoACKHRhe6 bTnqIRAbprSSdh0mVgkMHNUT0Be/odhEJulU0WCR2eewk1FghO0njK8pmC4o07YWOzfk SOtFZTfzvfxbi3Ulqowi/zxLMRL/JxTZrnynCqvFMnUUucpcncFySE7DSpi5JzoGJpwW bX0iR7Lr9cRgyzIHWT+hZlYbC7xAzohYGk4BwKD+PMKL8yGpZCZMU0JHndhkmgxM39NF fi0AArE2gwg2E0/yURufM36AC+vcZzovNJDOraIAcHwY8WoWsQ9qRvq5HthkjUEGJN66 A5Iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:message-id:date:to; bh=DrlGzZ+LkrPSblPJ1mU1qYjkmBFbCzilMdGaGMeQlSQ=; b=nljZfVJTRqGiPDR92Umzn2abl7WzbBRV8jQGE2mW6c/5S3yoEGdbiVBg0SKgQ3s/Fb 5+xHjM/U2cHnnPWkS9gvWYg9rvADwWIT66AN5NqTVDClDBx/6HgwdjTkg43+818m+wir JBCSeWbyuf27fwKzUs/iyEbR/RFOHRbfRZksGlqDxD2PResg0hRN74oADpedLkfA4oAQ rA7ZT6nnX+Jphw5jh4HAPUX1uSLjSM19rWjhXxKSP/l/PL8Uscs1lP0poB8qOpfwujuc tJhuONWXBYxZJK7dMfSSWHINCyMK1IVIgxQZerzgSPeTakFqpiznlrhB5rSrcmCboQFc /xmw== X-Gm-Message-State: APjAAAVQ0jDB81m+eNeRm2JRporJyKS0UGPF+TxS4Fmki4+9ahohpErX KjwrA36YNbc+khodjY2lNS8W/6q0 X-Google-Smtp-Source: APXvYqznGAUVVOthc0X9y4xLnibiGppZsBe1jzDYybGII6qVrTq7nkPDxftEMaW6RRkYXz7dbZky5w== X-Received: by 2002:a17:90a:8c90:: with SMTP id b16mr8676844pjo.133.1562786712029; Wed, 10 Jul 2019 12:25:12 -0700 (PDT) Original-Received: from [172.28.29.173] ([135.84.132.121]) by smtp.gmail.com with ESMTPSA id l6sm3098347pga.72.2019.07.10.12.25.11 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Jul 2019 12:25:11 -0700 (PDT) X-Mailer: Apple Mail (2.3445.104.11) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Mailman-Approved-At: Wed, 10 Jul 2019 15:53:09 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:162658 Archived-At: ---------------- First of all, thank you for an incredible piece of software in calc. I'll describe a feature idea that I am trying to implement myself, and the difficulties I'm having. I hope you can point me in the right direction. What I want is a new built-in variable containing a list of rewrite rules, similar to AlgSimpRules. Call it DispRules. It would contain rewrite rules to be applied to a formula immediately before display. Importantly, these rules would not change the true structure of the formula at all, but would only change the structure that gets passed to the composition phase. The motivation for this is that, while very useful, the composition feature is not powerful enough to achieve all of the display features that one might want. For example, as far as I can see, it's not possible to customize the display of a unit variable. With this DispRules feature, it would be possible to apply a rule like so: quote(degC) :=3D degC() where degC is a user-defined function. Then it would be possible to = apply a user-defined composition to that function, for example in Latex mode. For example, degC() :=3D "\si{\celsius}". Another use case would be mixing different display forms of division. It's kind of ugly to nest "\frac" tags; a nicer format would be, say, "\frac{a / b}{c}". Or, preferring "e^{\pi * k / n}" to "e^{\frac{\pi * k}{n}}". As far as I can see, this sort of sophisticated display behavior is achievable with a combination of rewrite rules and compositions, but not with compositions alone. ------ I've tried hacking this in by copying and modifying defun's. I found ~math-format-stack-value~ and ~calc-prepare-selection~, both of which call ~math-compose-expr~. I believe the change I want is something like (math-compose-expr (math-rewrite expr disp-rules) 0) wherever we're calling (math-compose-expr expr 0). It's also important to set a boolean var so that this rewrite does *not* occur when called from within ~math-rewrite~ (when it's writing trace = info). This seems to work fine inside of ~math-format-stack-value~, for bare items on the stack. However, it is breaking for selections in certain cases. ~calc-select-here~ works properly, and highlights the selected portion. However, any of the more complex selection operations leaves the selection un-highlighted. For example, selecting a term, then placing a number on the stack and pressing ~/~ results in no highlighted selection, and the top stack value unchanged. I had trouble determining the role of calc-prepare-selection, and why the composition that it stores in calc-selection-cache-comp gets used for calc-select-here but not for the other operations. Any code pointers are much appreciated, as well as feedback and thoughts about integrating this as a feature. --------------- In GNU Emacs 26.2 (build 1, x86_64-apple-darwin18.2.0, NS appkit-1671.10 = Version 10.14.1 (Build 18B75)) of 2019-04-20 built on d12frosted.local Windowing system distributor 'Apple', version 10.3.1671 Recent messages: Mark saved where search started [3 times] calc-prepare-selection: (&optional NUM) Mark saved where search started [2 times] Saving file /Users/johnbc/.emacs.d/.cache/recentf... Wrote /Users/johnbc/.emacs.d/.cache/recentf Saving file /Users/johnbc/.emacs.d/.cache/recentf... Wrote /Users/johnbc/.emacs.d/.cache/recentf Clipboard pasted as level 2 subtree TODO state was already MEETING Clock starts at [2019-07-10 Wed 10:29] - showing entire task time. Quit Configured using: 'configure --disable-dependency-tracking --disable-silent-rules --enable-locallisppath=3D/usr/local/share/emacs/site-lisp --infodir=3D/usr/local/Cellar/emacs-plus/26.2/share/info/emacs --prefix=3D/usr/local/Cellar/emacs-plus/26.2 --with-xml2 --without-dbus --with-gnutls --with-imagemagick --with-modules --with-rsvg --with-ns --disable-ns-self-contained' Configured features: JPEG RSVG IMAGEMAGICK GLIB 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: global-magit-file-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t auto-compile-mode: t elisp-slime-nav-mode: t goto-address-prog-mode: t bug-reference-prog-mode: t auto-highlight-symbol-mode: t highlight-numbers-mode: t highlight-parentheses-mode: t rainbow-delimiters-mode: t recentf-mode: t projectile-mode: t hl-todo-mode: t winum-mode: t winner-mode: t volatile-highlights-mode: t global-vi-tilde-fringe-mode: t vi-tilde-fringe-mode: t spaceline-info-mode: t save-place-mode: t savehist-mode: t popwin-mode: t persp-mode: t global-linum-mode: t linum-mode: t Info-breadcrumbs-in-mode-line-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 smartparens-mode: t evil-escape-mode: t global-anzu-mode: t anzu-mode: t eval-sexp-fu-flash-mode: t counsel-mode: t ivy-mode: t clean-aindent-mode: t which-key-mode: t override-global-mode: t global-undo-tree-mode: t undo-tree-mode: t shell-dirtrack-mode: t evil-mode: t evil-local-mode: t spacemacs-leader-override-mode: t global-spacemacs-leader-override-mode: t diff-auto-refine-mode: t global-hl-line-mode: t xterm-mouse-mode: t global-auto-revert-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 hs-minor-mode: t Load-path shadows: /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-stan hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-stan /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-exp hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-exp /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-J hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-J /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-eshell hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-eshell /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-emacs-lisp = hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-emacs-lisp /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-gnus hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-gnus /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-css hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-css /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-lob hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-lob /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-forth hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-forth /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-macs hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-macs /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-version hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-version /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-scheme hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-scheme /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-abc hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-abc /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-C hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-C /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-capture hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-capture /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-ref hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-ref /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-clojure hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-clojure /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-mouse hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-mouse /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-ledger hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-ledger /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-ctags hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-ctags /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-entities hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-entities /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-archive hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-archive /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-screen hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-screen /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-haskell hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-haskell /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-asymptote hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-asymptote /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-mhe hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-mhe /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-table hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-table /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-keys hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-keys /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-org hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-org /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-plot hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-plot /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-awk hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-awk /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-groovy hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-groovy /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-octave hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-octave /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-faces hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-faces /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-colview hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-colview /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-R hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-R /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-timer hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-timer /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-ebnf hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-ebnf /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-mobile hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-mobile /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-fortran hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-fortran /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-shell hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-shell /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-perl hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-perl /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-sqlite hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-sqlite /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-sed hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-sed /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-list hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-list /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-ruby hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-ruby /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-eval hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-eval /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-habit hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-habit /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-clock hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-clock /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-html hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-html /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-src hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-src /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-lisp hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-lisp /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-ditaa hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-ditaa /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-pcomplete = hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-pcomplete /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-lint hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-lint /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-rmail hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-rmail /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-latex hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-latex /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-sass hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-sass /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-io hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-io /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-tangle hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-tangle /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-calc hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-calc /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-java hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-java /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-icalendar hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-icalendar /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-eww hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-eww /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-md hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-md /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-beamer hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-beamer /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-element hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-element /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-protocol hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-protocol /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-mscgen hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-mscgen /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-gnuplot hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-gnuplot /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-latex hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-latex /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-id hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-id /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-vala hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-vala /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-man hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-man /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-feed hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-feed /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-lua hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-lua /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-table hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-table /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-ocaml hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-ocaml /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-coq hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-coq /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-picolisp hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-picolisp /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-indent hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-indent /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-lilypond hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-lilypond /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-matlab hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-matlab /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-datetree hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-datetree /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-python hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-python /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-bbdb hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-bbdb /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-makefile hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-makefile /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-duration hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-duration /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-agenda hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-agenda /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-dot hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-dot /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-js hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-js /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-publish hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-publish /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-inlinetask = hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-inlinetask= /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-org hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-org /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-core hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-core /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-compat hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-compat /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-docview hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-docview /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-odt hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-odt /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-plantuml hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-plantuml /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-ascii hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-ascii /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-loaddefs hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-loaddefs /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-w3m hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-w3m /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-bibtex hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-bibtex /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-info hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-info /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-hledger hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-hledger /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-maxima hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-maxima /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-macro hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-macro /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-sql hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-sql /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-attach hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-attach /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-processing = hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-processing /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ox-texinfo hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ox-texinfo /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-irc hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-irc /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-crypt hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-crypt /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-footnote hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-footnote /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/org-install hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/org-install /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-comint hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-comint /Users/johnbc/.emacs.d/elpa/org-plus-contrib-20190408/ob-shen hides = /usr/local/Cellar/emacs-plus/26.2/share/emacs/26.2/lisp/org/ob-shen Features: (shadow sort mail-extr emacsbug sendmail calc-help calc-stuff calc-yank calc-sel calc-arith calccomp calc-alg calc-ext calc-aent org-archive cal-move two-column iso-transl goto-chg dumb-jump popup evil-matchit evil-matchit-sdk robe inf-ruby rubocop ruby-tools eieio-opt speedbar sb-image ezimage dframe browse-url calc-menu calc-misc calc calc-loaddefs calc-macs misearch multi-isearch magit-bookmark bookmark tabify org-datetree org-capture helm-make org-duration org-clock diary-lib diary-loaddefs cal-iso pp cl-print define-word smex magit-gitflow org-indent org-eldoc evil-org org-bullets org-download toc-org image-file org-drill org-learn org-id hi-lock org-info org-habit org-agenda org-docview doc-view jka-compr smartparens-org orgit org-element avl-tree generator git-rebase evil-magit magit-submodule magit-obsolete magit-popup magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode magit-core magit-autorevert magit-margin magit-transient magit-process magit-mode transient git-commit magit-git magit-section magit-utils crm log-edit pcvs-util add-log with-editor async-bytecomp async org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-latex ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-emacs-lisp ob-core ob-eval org-compat org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs 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 files-x open-junk-file auto-compile packed elisp-slime-nav goto-addr bug-reference auto-highlight-symbol highlight-numbers parent-mode highlight-parentheses hideshow rainbow-delimiters diminish tramp-cache tramp-sh tramp tramp-compat tramp-loaddefs trampver parse-time recentf tree-widget projectile grep ibuf-ext ibuffer ibuffer-loaddefs hl-todo server ws-butler winum winner etags volatile-highlights vi-tilde-fringe spaceline-config spaceline-segments spaceline powerline powerline-separators powerline-themes smartparens-config smartparens-text smartparens-ruby smartparens-html saveplace savehist ruby-test-mode pcre2el rxt re-builder ruby-mode smie popwin persp-mode outline-magic osx-trash linum ivy-hydra info+ image-mode flx-ido flx eyebrowse evil-unimpaired f s evil-surround evil-search-highlight-persist highlight evil-numbers evil-lisp-state smartparens dash evil-indent-plus evil-exchange evil-escape evil-args evil-anzu anzu eval-sexp-fu rx noutline outline counsel xdg xref project swiper ivy delsel colir color ivy-overlay ffap clean-aindent-mode tex-site adaptive-wrap hybrid-mode exec-path-from-shell 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 cus-edit cus-start cus-load evil evil-keybindings evil-integration undo-tree diff evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-types evil-search evil-ex shell pcomplete evil-macros evil-repeat evil-states evil-core evil-common windmove thingatpt rect evil-digraphs evil-vars info bind-map rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap sgml-mode dom nxml-util nxml-enc xmltok compile comint ansi-color ring vc-git diff-mode elec-pair autoload mm-archive message dired dired-loaddefs format-spec rfc822 mml mml-sec epa gnus-util rmail rmail-loaddefs mailabbrev gmm-utils mailheader epg mail-utils network-stream starttls url-http tls gnutls url-gw nsm rmc puny url-cache url-auth url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap 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 spacemacs-dark-theme spacemacs-common finder-inf core-configuration-layer eieio-compat ht cl help-mode warnings package epg-config url-handlers url-parse auth-source cl-seq password-cache url-vars eieio eieio-core eieio-loaddefs ido-vertical-mode ido seq byte-opt bytecomp byte-compile cconv core-spacemacs core-use-package-ext core-transient-state core-micro-state core-toggle core-keybindings core-fonts-support core-spacemacs-buffer core-funcs cl-macs gv core-themes-support core-display-init core-jump core-auto-completion core-release-management core-dotspacemacs core-command-line pcase core-debug edmacro kmacro derived advice profiler easymenu cl-loaddefs cl-lib page-break-lines easy-mmode 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 threads kqueue cocoa ns lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 1555178 1244200) (symbols 48 73503 2) (miscs 40 18032 25655) (strings 32 240557 180919) (string-bytes 1 7720800) (vectors 16 97347) (vector-slots 8 1925441 750026) (floats 8 831 5037) (intervals 56 39981 18695) (buffers 992 144))