From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Omar =?UTF-8?Q?Antol=C3=ADn?= Camarena Newsgroups: gmane.emacs.bugs Subject: bug#41424: 26.1; default-directory in *Completions* buffer Date: Wed, 20 May 2020 12:49:23 -0500 Message-ID: <87pnay7azg.fsf@penguin> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="23046"; mail-complaints-to="usenet@ciao.gmane.io" To: 41424@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed May 20 19:51:02 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jbSru-0005sX-Ax for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 20 May 2020 19:51:02 +0200 Original-Received: from localhost ([::1]:42170 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbSrt-0005yG-DK for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 20 May 2020 13:51:01 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55838) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbSqw-000535-S5 for bug-gnu-emacs@gnu.org; Wed, 20 May 2020 13:50:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:42661) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbSqw-00082E-I0 for bug-gnu-emacs@gnu.org; Wed, 20 May 2020 13:50:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jbSqw-00041q-FB for bug-gnu-emacs@gnu.org; Wed, 20 May 2020 13:50:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Omar =?UTF-8?Q?Antol=C3=ADn?= Camarena Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 May 2020 17:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 41424 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.158999698515455 (code B ref -1); Wed, 20 May 2020 17:50:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 20 May 2020 17:49:45 +0000 Original-Received: from localhost ([127.0.0.1]:54207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jbSqe-00041C-Qe for submit@debbugs.gnu.org; Wed, 20 May 2020 13:49:45 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:38496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jbSqc-000414-Gj for submit@debbugs.gnu.org; Wed, 20 May 2020 13:49:43 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55798) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbSqc-0004i6-86 for bug-gnu-emacs@gnu.org; Wed, 20 May 2020 13:49:42 -0400 Original-Received: from gauss.matem.unam.mx ([132.248.17.1]:54955) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jbSqY-0007zY-4M for bug-gnu-emacs@gnu.org; Wed, 20 May 2020 13:49:41 -0400 Original-Received: from penguin (unknown [187.170.142.99]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: omar) by gauss.matem.unam.mx (Postfix) with ESMTP id 526C954221 for ; Wed, 20 May 2020 12:49:33 -0500 (CDT) Received-SPF: pass client-ip=132.248.17.1; envelope-from=omar@matem.unam.mx; helo=gauss.matem.unam.mx X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/20 13:49:33 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:180679 Archived-At: There is a bit of logic in `complete-setup-function' (from simple.el) to set the default directory in the *Completions* buffer: ;; FIXME: This is a bad hack. We try to set the default-directory ;; in the *Completions* buffer so that the relative file names ;; displayed there can be treated as valid file names, independently ;; from the completion context. But this suffers from many problems: ;; - It's not clear when the completions are file names. With some ;; completion tables (e.g. bzr revision specs), the listed ;; completions can mix file names and other things. ;; - It doesn't pay attention to possible quoting. ;; - With fancy completion styles, the code below will not always ;; find the right base directory. (if minibuffer-completing-file-name (file-name-as-directory (expand-file-name (buffer-substring (minibuffer-prompt-end) (- (point) (or completion-base-size 0)))))) As the comment says, this is brittle, but better than nothing. I believe, however, that the `file-name-as-directory' is a typo and probably `file-name-directory' was intended instead. Say you have a directory ~/foo with files baz and bar. If you are completing file names and have type ~/foo/b the completions are bar and baz. The most useful value for default-directory in the *Completions* buffer would be ~/foo/, but the current code sets it to the non-existent ~/foo/b/ instead. If `complete-setup-function' were changed to use `file-name-directory' instead, then the default-directory would be set to ~/foo/. Of course, there is no correct default-directory in general. As the comment mentions, sometimes only some of the completions are file names, and even those completions that are file names need not all be in the same directory. But I think this change would make the default-directory useful in many more cases than it currently is: now it basically is only a good guess when what you've type so far is a directory name. With my suggested fix it's still easy to get useless default-directories. For example with directories: ~/foo: bar baz ~/fez: bing boom the partial-completion completion style will produce the following completions for ~/f/b: fez/bing fez/boom foo/bar foo/baz The most useful default-directory for the *Completions* buffer would be ~/, of course. The current code would give ~/f/b/ and my proposed "fix" would produce ~/f/ To my mind a good compromise would be to ignore all the possible fancy completion tables and focus on behavior that is correct for read-file-name under the partial-completion completion style. (In principle the most reasonable default-directory could be computed from just the contents of the *Completions* buffer, but it might be convenient to "cheat" and use the minibuffer contents, as the current `completion-setup-function' does --and if Emacs does "cheat", it would be good for the cheat to work with partial-completion of paths.) But the above "good compromise" would take some work that I haven't carefully thought out. I think simply changing `file-name-directory' to `file-name-as-directory' would be a clear improvement with no reason not to do it. In GNU Emacs 26.1 (build 1, x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2019-09-22, modified by Debian built on x86-grnet-01 Windowing system distributor 'The X.Org Foundation', version 11.0.12001000 Recent messages: Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)... Loading debian-ispell... Loading /var/cache/dictionaries-common/emacsen-ispell-default.el (source)...done Loading debian-ispell...done Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...done Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...done Loading mb-depth...done Loading minibuf-eldef...done For information about GNU Emacs and the GNU system, type C-h C-a. Making completion list... [16 times] Configured using: 'configure --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --with-x=yes --with-x-toolkit=lucid --with-toolkit-scroll-bars --without-gsettings 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/emacs-StqULU/emacs-26.1+1=. -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro' Configured features: XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11 THREADS LIBSYSTEMD LCMS2 Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: diff-auto-refine-mode: t goto-address-prog-mode: t show-paren-mode: t electric-pair-mode: t beginend-global-mode: t beginend-prog-mode: t global-dot-mode: t dot-mode: t global-gobble-whitespace-mode: t live-completions-mode: t restricto-mode: t minibuffer-electric-default-mode: t minibuffer-depth-indicate-mode: t override-global-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox hides /usr/share/emacs/26.1/lisp/org/ox /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-texinfo hides /usr/share/emacs/26.1/lisp/org/ox-texinfo /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-publish hides /usr/share/emacs/26.1/lisp/org/ox-publish /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-org hides /usr/share/emacs/26.1/lisp/org/ox-org /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-odt hides /usr/share/emacs/26.1/lisp/org/ox-odt /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-md hides /usr/share/emacs/26.1/lisp/org/ox-md /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-man hides /usr/share/emacs/26.1/lisp/org/ox-man /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-latex hides /usr/share/emacs/26.1/lisp/org/ox-latex /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-icalendar hides /usr/share/emacs/26.1/lisp/org/ox-icalendar /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-html hides /usr/share/emacs/26.1/lisp/org/ox-html /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-beamer hides /usr/share/emacs/26.1/lisp/org/ox-beamer /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ox-ascii hides /usr/share/emacs/26.1/lisp/org/ox-ascii /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org hides /usr/share/emacs/26.1/lisp/org/org /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-timer hides /usr/share/emacs/26.1/lisp/org/org-timer /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-table hides /usr/share/emacs/26.1/lisp/org/org-table /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-src hides /usr/share/emacs/26.1/lisp/org/org-src /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-protocol hides /usr/share/emacs/26.1/lisp/org/org-protocol /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-plot hides /usr/share/emacs/26.1/lisp/org/org-plot /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-pcomplete hides /usr/share/emacs/26.1/lisp/org/org-pcomplete /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-mouse hides /usr/share/emacs/26.1/lisp/org/org-mouse /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-mobile hides /usr/share/emacs/26.1/lisp/org/org-mobile /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-macs hides /usr/share/emacs/26.1/lisp/org/org-macs /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-macro hides /usr/share/emacs/26.1/lisp/org/org-macro /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-list hides /usr/share/emacs/26.1/lisp/org/org-list /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-lint hides /usr/share/emacs/26.1/lisp/org/org-lint /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-inlinetask hides /usr/share/emacs/26.1/lisp/org/org-inlinetask /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-indent hides /usr/share/emacs/26.1/lisp/org/org-indent /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-id hides /usr/share/emacs/26.1/lisp/org/org-id /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-habit hides /usr/share/emacs/26.1/lisp/org/org-habit /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-footnote hides /usr/share/emacs/26.1/lisp/org/org-footnote /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-feed hides /usr/share/emacs/26.1/lisp/org/org-feed /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-faces hides /usr/share/emacs/26.1/lisp/org/org-faces /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-entities hides /usr/share/emacs/26.1/lisp/org/org-entities /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-element hides /usr/share/emacs/26.1/lisp/org/org-element /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-duration hides /usr/share/emacs/26.1/lisp/org/org-duration /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-datetree hides /usr/share/emacs/26.1/lisp/org/org-datetree /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-ctags hides /usr/share/emacs/26.1/lisp/org/org-ctags /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-crypt hides /usr/share/emacs/26.1/lisp/org/org-crypt /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-compat hides /usr/share/emacs/26.1/lisp/org/org-compat /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-colview hides /usr/share/emacs/26.1/lisp/org/org-colview /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-clock hides /usr/share/emacs/26.1/lisp/org/org-clock /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-capture hides /usr/share/emacs/26.1/lisp/org/org-capture /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-attach hides /usr/share/emacs/26.1/lisp/org/org-attach /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-archive hides /usr/share/emacs/26.1/lisp/org/org-archive /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-agenda hides /usr/share/emacs/26.1/lisp/org/org-agenda /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob hides /usr/share/emacs/26.1/lisp/org/ob /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-vala hides /usr/share/emacs/26.1/lisp/org/ob-vala /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-tangle hides /usr/share/emacs/26.1/lisp/org/ob-tangle /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-table hides /usr/share/emacs/26.1/lisp/org/ob-table /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-stan hides /usr/share/emacs/26.1/lisp/org/ob-stan /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-sqlite hides /usr/share/emacs/26.1/lisp/org/ob-sqlite /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-sql hides /usr/share/emacs/26.1/lisp/org/ob-sql /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-shen hides /usr/share/emacs/26.1/lisp/org/ob-shen /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-shell hides /usr/share/emacs/26.1/lisp/org/ob-shell /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-sed hides /usr/share/emacs/26.1/lisp/org/ob-sed /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-screen hides /usr/share/emacs/26.1/lisp/org/ob-screen /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-scheme hides /usr/share/emacs/26.1/lisp/org/ob-scheme /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-sass hides /usr/share/emacs/26.1/lisp/org/ob-sass /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-ruby hides /usr/share/emacs/26.1/lisp/org/ob-ruby /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-ref hides /usr/share/emacs/26.1/lisp/org/ob-ref /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-python hides /usr/share/emacs/26.1/lisp/org/ob-python /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-processing hides /usr/share/emacs/26.1/lisp/org/ob-processing /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-plantuml hides /usr/share/emacs/26.1/lisp/org/ob-plantuml /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-picolisp hides /usr/share/emacs/26.1/lisp/org/ob-picolisp /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-perl hides /usr/share/emacs/26.1/lisp/org/ob-perl /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-org hides /usr/share/emacs/26.1/lisp/org/ob-org /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-octave hides /usr/share/emacs/26.1/lisp/org/ob-octave /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-ocaml hides /usr/share/emacs/26.1/lisp/org/ob-ocaml /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-mscgen hides /usr/share/emacs/26.1/lisp/org/ob-mscgen /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-maxima hides /usr/share/emacs/26.1/lisp/org/ob-maxima /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-matlab hides /usr/share/emacs/26.1/lisp/org/ob-matlab /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-makefile hides /usr/share/emacs/26.1/lisp/org/ob-makefile /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-lua hides /usr/share/emacs/26.1/lisp/org/ob-lua /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-lob hides /usr/share/emacs/26.1/lisp/org/ob-lob /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-lisp hides /usr/share/emacs/26.1/lisp/org/ob-lisp /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-lilypond hides /usr/share/emacs/26.1/lisp/org/ob-lilypond /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-ledger hides /usr/share/emacs/26.1/lisp/org/ob-ledger /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-latex hides /usr/share/emacs/26.1/lisp/org/ob-latex /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-js hides /usr/share/emacs/26.1/lisp/org/ob-js /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-java hides /usr/share/emacs/26.1/lisp/org/ob-java /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-io hides /usr/share/emacs/26.1/lisp/org/ob-io /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-hledger hides /usr/share/emacs/26.1/lisp/org/ob-hledger /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-haskell hides /usr/share/emacs/26.1/lisp/org/ob-haskell /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-groovy hides /usr/share/emacs/26.1/lisp/org/ob-groovy /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-gnuplot hides /usr/share/emacs/26.1/lisp/org/ob-gnuplot /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-fortran hides /usr/share/emacs/26.1/lisp/org/ob-fortran /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-forth hides /usr/share/emacs/26.1/lisp/org/ob-forth /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-exp hides /usr/share/emacs/26.1/lisp/org/ob-exp /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-eval hides /usr/share/emacs/26.1/lisp/org/ob-eval /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-emacs-lisp hides /usr/share/emacs/26.1/lisp/org/ob-emacs-lisp /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-ebnf hides /usr/share/emacs/26.1/lisp/org/ob-ebnf /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-dot hides /usr/share/emacs/26.1/lisp/org/ob-dot /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-ditaa hides /usr/share/emacs/26.1/lisp/org/ob-ditaa /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-css hides /usr/share/emacs/26.1/lisp/org/ob-css /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-core hides /usr/share/emacs/26.1/lisp/org/ob-core /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-coq hides /usr/share/emacs/26.1/lisp/org/ob-coq /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-comint hides /usr/share/emacs/26.1/lisp/org/ob-comint /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-clojure hides /usr/share/emacs/26.1/lisp/org/ob-clojure /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-calc hides /usr/share/emacs/26.1/lisp/org/ob-calc /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-awk hides /usr/share/emacs/26.1/lisp/org/ob-awk /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-asymptote hides /usr/share/emacs/26.1/lisp/org/ob-asymptote /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-abc hides /usr/share/emacs/26.1/lisp/org/ob-abc /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-R hides /usr/share/emacs/26.1/lisp/org/ob-R /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-J hides /usr/share/emacs/26.1/lisp/org/ob-J /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/ob-C hides /usr/share/emacs/26.1/lisp/org/ob-C /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-version hides /usr/share/emacs/26.1/lisp/org/org-version /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-loaddefs hides /usr/share/emacs/26.1/lisp/org/org-loaddefs /home/omarantolin/.emacs.d/elpa/org-plus-contrib-20200518/org-install hides /usr/share/emacs/26.1/lisp/org/org-install Features: (shadow sort bbdb-message mailalias bbdb-mua bbdb-com crm bbdb bbdb-site timezone mail-extr misc emacsbug message rmc puny dired dired-loaddefs format-spec rfc822 mml mml-sec epa derived epg gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils vc-git diff-mode misc-text find-func goto-addr thingatpt email-config pdf-loader paren elec-pair ace-link avy ring beginend dot-mode eval-region-advice gobble-whitespace live-completions regexpect restricto minibuf-eldef mb-depth completing-history block-undo modus-vivendi-theme modus-operandi-theme cus-edit cus-start cus-load wid-edit mm-util mail-prsvr diminish cl-extra help-mode use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core finder-inf tex-site slime-autoloads info package easymenu epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv edmacro kmacro cl-loaddefs cl-lib time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode 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 dbusbind inotify lcms2 dynamic-setting font-render-setting x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 353481 17018) (symbols 48 33822 1) (miscs 40 341 103) (strings 32 98435 4175) (string-bytes 1 2527759) (vectors 16 27936) (vector-slots 8 678970 15708) (floats 8 142 262) (intervals 56 325 0) (buffers 992 13))