From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: immerrr again Newsgroups: gmane.emacs.bugs Subject: bug#19595: 25.0.50; python-mode no longer indents docstrings Date: Wed, 14 Jan 2015 16:06:07 +0400 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1421237244 23051 80.91.229.3 (14 Jan 2015 12:07:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 14 Jan 2015 12:07:24 +0000 (UTC) To: 19595@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jan 14 13:07:16 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YBMjC-0007DI-TM for geb-bug-gnu-emacs@m.gmane.org; Wed, 14 Jan 2015 13:07:15 +0100 Original-Received: from localhost ([::1]:45760 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBMjC-0002pY-4e for geb-bug-gnu-emacs@m.gmane.org; Wed, 14 Jan 2015 07:07:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46434) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBMj4-0002pR-Gr for bug-gnu-emacs@gnu.org; Wed, 14 Jan 2015 07:07:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YBMj0-0002tt-Tw for bug-gnu-emacs@gnu.org; Wed, 14 Jan 2015 07:07:06 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:47633) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBMj0-0002tn-Q7 for bug-gnu-emacs@gnu.org; Wed, 14 Jan 2015 07:07:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YBMj0-0001dK-DH for bug-gnu-emacs@gnu.org; Wed, 14 Jan 2015 07:07:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: immerrr again Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Jan 2015 12:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 19595 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.14212371906234 (code B ref -1); Wed, 14 Jan 2015 12:07:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 14 Jan 2015 12:06:30 +0000 Original-Received: from localhost ([127.0.0.1]:56494 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YBMiS-0001cR-KE for submit@debbugs.gnu.org; Wed, 14 Jan 2015 07:06:30 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:44511) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YBMiO-0001c8-3K for submit@debbugs.gnu.org; Wed, 14 Jan 2015 07:06:26 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YBMiF-0002ia-G4 for submit@debbugs.gnu.org; Wed, 14 Jan 2015 07:06:18 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:52804) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBMiF-0002iT-Bv for submit@debbugs.gnu.org; Wed, 14 Jan 2015 07:06:15 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46226) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBMiB-0002mN-Uq for bug-gnu-emacs@gnu.org; Wed, 14 Jan 2015 07:06:15 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YBMi8-0002i2-GE for bug-gnu-emacs@gnu.org; Wed, 14 Jan 2015 07:06:11 -0500 Original-Received: from mail-qc0-x232.google.com ([2607:f8b0:400d:c01::232]:51245) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBMi8-0002hr-94 for bug-gnu-emacs@gnu.org; Wed, 14 Jan 2015 07:06:08 -0500 Original-Received: by mail-qc0-f178.google.com with SMTP id p6so6743909qcv.9 for ; Wed, 14 Jan 2015 04:06:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=QPxhm8AK2tDNEav82owc2Xx4+YbShqKOPbc1cjt8OkE=; b=SNeZCcigq7gib6dJMy1uV5kLkJ2QGuHzt9HK5g+/BHoJ3KID4rqwuKK43EPb+JWC3U TUTT5wubF1qeO3G9dPpk2GELriIMRBveM3TRGZXfz5zQeHnjIhM6awq+9aaXyQuUchuG 8vJp22qGKRQ/d0eJJWhaCuKooPLghEn1fLbci7QLdcXjWL8H6htloJXj3h4YJ8Xlq89Y cttc8mEhvdbCsMkWTEx9Pxm4qIYxljAQvCtEgoUmP9wWLztp4sTR25gGtcoQ1sPwFTmO Mw9zaio2V2I1HlkjPhf7IkaU7JX2Hj9RIsGS5vjPWEwA93UrKdJnGvkwS9K4AejLLvkj xfqw== X-Received: by 10.140.23.84 with SMTP id 78mr5328146qgo.93.1421237167540; Wed, 14 Jan 2015 04:06:07 -0800 (PST) Original-Received: by 10.140.91.105 with HTTP; Wed, 14 Jan 2015 04:06:07 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:98344 Archived-At: I migrated from Emacs 24 to bleeding edge few days ago (New Year -- new Emacs) and it seems that I've run into a "regression" when editing Python code. python-mode has always indented docstrings, but according to the commit message log there has been some progress in leaving strings alone when doing indentation. At the moment of writing, the master branch top commit only indents open-quotes leaving the rest of the docstring as-is. To reproduce that in "emacs -Q" session: - open a buffer in python-mode - insert the following text into it - and try indenting the docstring either with TAB or indent-region. def foobar(): ''' hello, world. ''' It seems perfectly reasonable to leave leading whitespace in user strings, I did that myself in lua-mode. But as it was once pointed out to me [1], there are legitimate situations when one does not care about string indentation and in such cases it seems easier on the eye to align string contents. One of such cases is Python docstrings. According to PEP 257 [2], absolute indentation of docstrings is insignificant and only relative indentation of the second and the following lines is preserved. In my some three years of editing other people's code I cannot come up with a name of a project where docstrings would not be indented. 1. https://github.com/immerrr/lua-mode/issues/6 2. https://www.python.org/dev/peps/pep-0257/#id18 I've fixed this for myself with the following patch: lisp/ChangeLog | 6 ++++++ lisp/progmodes/python.el | 14 ++++---------- test/automated/python-tests.el | 16 ++++++++++++++-- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4b413fb..ab75061 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2015-01-13 immerrr + + * progmodes/python.el (python-indent-context) + (python-indent-calculate-indentation, python-indent-region): + Indent docstring lines to their respective open-quote. + 2015-01-01 Eli Zaretskii * tool-bar.el (tool-bar-local-item) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 1e8623d..edb53ca 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -787,7 +787,7 @@ START is the buffer position where the sexp starts." 'after-comment))) ;; Inside string ((setq start (python-syntax-context 'string ppss)) - 'inside-string) + (if (python-docstring-at-p start) 'inside-docstring 'inside-string)) ;; Inside a paren ((setq start (python-syntax-context 'paren ppss)) 'inside-paren) @@ -882,6 +882,9 @@ such as in strings." ;; indentation. XXX: perhaps it would be a good idea to ;; invoke standard text indentation here (`inside-string 'noindent) + (`inside-docstring + (goto-char context-start) + (current-indentation)) ;; After backslash we have several possibilities. (`after-backslash (cond @@ -1129,15 +1132,6 @@ Called from a program, START and END specify the region to indent." ;; Unless this line is a comment too. (not line-is-comment-p)) (python-info-current-line-empty-p))))) - ;; Don't mess with strings, unless it's the - ;; enclosing set of quotes. - (or (not (python-syntax-context 'string)) - (eq - (syntax-after - (+ (1- (point)) - (current-indentation) - (python-syntax-count-quotes (char-after) (point)))) - (string-to-syntax "|"))) ;; Skip if current line is a block start, a ;; dedenter or block ender. (save-excursion diff --git a/test/automated/python-tests.el b/test/automated/python-tests.el index e989ccb..eda4228 100644 --- a/test/automated/python-tests.el +++ b/test/automated/python-tests.el @@ -860,14 +860,26 @@ def f(): ''' this is a multiline +docstring +''' +x = \\ +''' +this is an arbitrarily + indented multiline string ''' ") (expected " def f(): ''' -this is -a multiline + this is + a multiline + docstring + ''' + x = \\ + ''' +this is an arbitrarily + indented multiline string ''' ")) -- 1.7.9.5 In GNU Emacs 25.0.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.4.2) of 2015-01-14 on mmrdell Repository revision: 24bff4727418b21869d7c140d0b8b22bd5c0d422 Windowing system distributor `The X.Org Foundation', version 11.0.11103000 System Description: Ubuntu 12.04.5 LTS Configured using: `configure --prefix=/home/immerrr/.local' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB Important settings: value of $LC_TIME: en_GB.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Info Minor modes in effect: recentf-mode: t ido-vertical-mode: t ido-ubiquitous-mode: t guide-key-mode: t global-undo-tree-mode: t undo-tree-mode: t global-page-break-lines-mode: t projectile-global-mode: t projectile-mode: t global-flycheck-mode: t global-auto-complete-mode: t global-linum-mode: t linum-mode: t yas-global-mode: t yas-minor-mode: t show-paren-mode: t auto-compile-on-save-mode: t tooltip-mode: t global-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 buffer-read-only: t size-indication-mode: t column-number-mode: t line-number-mode: t Recent messages: [yas] Loading compiled snippets from /home/immerrr/.emacs.d/el-get/yasnippet/snippets/prog-mode Loading /home/immerrr/.emacs.d/el-get/yasnippet/snippets/prog-mode/.yas-setup.el (source)...done E303 too many blank lines (3) Mark set Saving file /home/immerrr/test.py... Wrote /home/immerrr/test.py Composing main Info directory...done / is undefined Found `report an Emacs bug, how to' in Concept Index. (Only match) scroll-down-command: Beginning of buffer [2 times] scroll-up-command: End of buffer Load-path shadows: /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-loaddefs hides /home/immerrr/.emacs.d/el-get/org-mode/contrib/lisp/org-loaddefs /home/immerrr/.emacs.d/el-get/ido-mode-el/ido hides /home/immerrr/.local/share/emacs/25.0.50/lisp/ido /home/immerrr/.emacs.d/el-get/cperl-mode/cperl-mode hides /home/immerrr/.local/share/emacs/25.0.50/lisp/progmodes/cperl-mode /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-gnuplot hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-gnuplot /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-lisp hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-lisp /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-ctags hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-ctags /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-ruby hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-ruby /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-emacs-lisp hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-emacs-lisp /home/immerrr/.emacs.d/el-get/org-mode/lisp/org hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-ocaml hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-ocaml /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-lilypond hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-lilypond /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-macs hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-macs /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-python hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-python /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-mouse hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-mouse /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-html hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-html /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-crypt hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-crypt /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-awk hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-awk /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-haskell hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-haskell /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-dot hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-dot /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-attach hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-attach /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-texinfo hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-texinfo /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-eshell hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-eshell /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-timer hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-timer /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-w3m hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-w3m /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-feed hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-feed /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-archive hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-archive /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-agenda hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-agenda /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-css hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-css /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-pcomplete hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-pcomplete /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-shen hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-shen /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-mhe hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-mhe /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-asymptote hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-asymptote /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-calc hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-calc /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-core hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-core /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-gnus hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-gnus /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-clock hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-clock /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-rmail hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-rmail /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-lob hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-lob /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-ditaa hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-ditaa /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-latex hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-latex /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-indent hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-indent /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-screen hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-screen /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-md hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-md /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-compat hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-compat /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-eval hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-eval /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-inlinetask hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-inlinetask /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-bibtex hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-bibtex /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-keys hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-keys /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-perl hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-perl /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-publish hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-publish /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-exp hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-exp /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-org hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-org /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-maxima hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-maxima /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-fortran hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-fortran /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-ref hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-ref /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-octave hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-octave /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-capture hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-capture /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-mscgen hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-mscgen /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-js hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-js /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-tangle hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-tangle /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-ascii hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-ascii /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-sql hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-sql /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-id hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-id /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-man hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-man /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-colview hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-colview /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-bbdb hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-bbdb /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-picolisp hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-picolisp /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-plot hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-plot /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-version hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-version /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-src hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-src /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-comint hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-comint /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-mobile hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-mobile /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-ledger hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-ledger /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-scheme hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-scheme /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-R hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-R /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-scala hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-scala /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-io hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-io /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-loaddefs hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-loaddefs /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-icalendar hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-icalendar /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-faces hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-faces /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-macro hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-macro /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-table hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-table /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-odt hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-odt /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-element hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-element /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-sass hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-sass /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-docview hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-docview /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-C hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-C /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-protocol hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-protocol /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-clojure hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-clojure /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-matlab hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-matlab /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-irc hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-irc /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-datetree hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-datetree /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-makefile hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-makefile /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-latex hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-latex /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-entities hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-entities /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-org hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-org /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-sqlite hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-sqlite /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-install hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-install /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-java hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-java /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-table hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-table /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-list hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-list /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox /home/immerrr/.emacs.d/el-get/org-mode/lisp/ob-plantuml hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ob-plantuml /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-info hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-info /home/immerrr/.emacs.d/el-get/org-mode/lisp/ox-beamer hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/ox-beamer /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-habit hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-habit /home/immerrr/.emacs.d/el-get/org-mode/lisp/org-footnote hides /home/immerrr/.local/share/emacs/25.0.50/lisp/org/org-footnote Features: (shadow sort mail-extr emacsbug message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils browse-url info network-stream nsm auth-source gnus-util mm-util mail-prsvr password-cache starttls tls jedi-direx direx eieio eieio-core jedi python-environment epc ctable concurrent deferred cap-words superword subword hideshow disp-table whitespace flymake async-autoloads highlight-autoloads iedit-autoloads noflet-autoloads recentf tree-widget dired-x ert ewoc debug mmr-site-local mmr-smartrep highlight-symbol smartrep mmr-python-settings mmr-cc-settings cc-styles cc-align cc-engine cc-vars cc-defs mmr-el-get ido-vertical-mode ido-ubiquitous warnings cython-mode python json region-bindings-mode guide-key face-remap popwin undo-tree diff diminish ein ein-loaddefs smex ido filladapt goto-chg page-break-lines wgrep redshank-loader projectile ibuf-ext ibuffer pkg-info epl grep s ucs-normalize thingatpt flycheck derived find-func rx subr-x pcase jka-compr sh-script smie executable compile comint ansi-color ring auto-complete-config auto-complete popup solarized-dark-theme solarized dash color-theme wid-edit linum-ex mmr-org-settings edmacro kmacro org-loaddefs yasnippet .loaddefs el-get el-get-autoloads el-get-list-packages el-get-dependencies el-get-build el-get-status pp el-get-methods el-get-fossil el-get-svn el-get-pacman el-get-github-zip el-get-github-tar el-get-http-zip el-get-http-tar el-get-hg el-get-go el-get-git-svn el-get-fink el-get-emacswiki el-get-http el-get-notify help-mode easymenu el-get-emacsmirror el-get-github el-get-git el-get-elpa package epg-config el-get-darcs el-get-cvs el-get-bzr el-get-brew el-get-builtin el-get-apt-get el-get-recipes el-get-byte-compile el-get-custom el-get-core autoload lisp-mnt cl dired saveplace paren avoid cus-start cus-load mmr-minimal mmr-ediff windmove auto-compile byte-opt easy-mmode packed cl-macs gv bytecomp byte-compile cl-extra cconv cl-loaddefs cl-lib bar-cursor advice help-fns time-date tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer 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 make-network-process dbusbind gfilenotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) Memory information: ((conses 16 694600 18285) (symbols 48 40763 24) (miscs 40 453 435) (strings 32 104476 19834) (string-bytes 1 2809954) (vectors 16 55789) (vector-slots 8 1245262 25730) (floats 8 529 716) (intervals 56 31121 438) (buffers 976 17) (heap 1024 72727 2418))