unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#28475: 25.3; python double-indents multi-line function argument blocks
@ 2017-09-16 18:42 Ross Donaldson
  2017-09-24 12:26 ` Noam Postavsky
  0 siblings, 1 reply; 12+ messages in thread
From: Ross Donaldson @ 2017-09-16 18:42 UTC (permalink / raw)
  To: 28475

python-mode double-indents the arguments to function definitions.

To reproduce:
1. emacs -Q
2. Enter the following:

# This is fine:
def foo(arg):
print('hello')

# This is indented double:
def foo(
bar,
baz
):
print('hello')


# It should be:
def foo(
bar,
baz
):
print('hello')

# Only seems to be true for `def`s so far, eg:
baz = list(
'good'
)

This is caused by the function `python-indent--calculate-indentation`, line ~1023 of `python.el`. Frustratingly, the behavior is hardcoded, and apparently intentional, as we see at the end of the function:

```
(`(,(or :inside-paren-newline-start-from-block) . ,start)
;; Add two indentation levels to make the suite stand out.
(goto-char start)
(+ (current-indentation) (* python-indent-offset 2)))
```

This is problematic. Python's holy grail of style, PEP-8, does not specify how this indentation should be done. However, many companies which write python -- like my employer -- create internal style guides to fill in gaps left by PEP-8. So far, in my career, they *all* indicate a single indent to be appropriate in this context.

I'd like to propose two solutions; I don't know which will suit best:

1. Stop doubling indentation
2. Make the indent scaling integer a variable, so that this behavior can be changed.

A final complication for me is that, at least on `master` of the Github emacs-mirror (https://github.com/emacs-mirror/emacs), this function still uses `prog-widen` and `prog-first-column`, which have been removed from emacs. I'm not sure how to correctly patch this function to remove them.

So! With a little guidance on `prog-widen`/`prog-first-column`, I'm happy to create and submit a patch, or I can leave this in y'all's capable hands.

Thanks very much!





In GNU Emacs 25.3.1 (x86_64-apple-darwin16.7.0, Carbon Version 157 AppKit 1504.83)
of 2017-09-16 built on concordance.local
Windowing system distributor 'Apple Inc.', version 10.12.6
Configured using:
'configure --enable-locallisppath=/usr/local/share/emacs/site-lisp
--infodir=/usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/info/emacs
--prefix=/usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7 --with-mac
--enable-mac-app=/usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7'

Configured features:
NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS

Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix

Major mode: Python

Minor modes in effect:
semantic-minor-modes-format: ((:eval (if (or semantic-highlight-edits-mode semantic-show-unmatched-syntax-mode)  S)))
magit-auto-revert-mode: t
global-git-commit-mode: t
global-ethan-wspace-mode: t
ethan-wspace-clean-many-nls-eof-mode: t
ethan-wspace-clean-no-nl-eof-mode: t
ethan-wspace-clean-eol-mode: t
ethan-wspace-clean-tabs-mode: t
highlight-indentation-mode: t
elpy-mode: t
pyvenv-mode: t
flymake-mode: t
TeX-PDF-mode: t
subword-mode: t
hl-line-mode: t
jabber-activity-mode: t
erc-truncate-mode: t
erc-spelling-mode: t
erc-list-mode: t
erc-menu-mode: t
erc-autojoin-mode: t
erc-ring-mode: t
erc-networks-mode: t
erc-pcomplete-mode: t
erc-track-mode: t
erc-match-mode: t
erc-button-mode: t
erc-fill-mode: t
erc-stamp-mode: t
erc-netsplit-mode: t
erc-irccontrols-mode: t
erc-noncommands-mode: t
erc-move-to-prompt-mode: t
erc-readonly-mode: t
show-smartparens-global-mode: t
show-smartparens-mode: t
smartparens-global-mode: t
smartparens-mode: t
persp-mode: t
helm-mode: t
async-bytecomp-package-mode: t
projectile-mode: t
helm-descbinds-mode: t
global-company-mode: t
company-mode: t
ggtags-mode: t
orary/programming-mode: t
global-auto-revert-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
flyspell-mode: t
yas-global-mode: t
yas-minor-mode: t
global-flycheck-mode: t
flycheck-mode: t
global-diff-hl-mode: t
diff-hl-mode: t
diff-auto-refine-mode: t
delete-selection-mode: t
beacon-mode: t
shell-dirtrack-mode: t
diredp-highlight-autofiles-mode: t
auto-image-file-mode: t
recentf-mode: t
save-place-mode: t
override-global-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mac-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
column-number-mode: t
line-number-mode: t
transient-mark-mode: t

Recent messages:
Saving file /Users/gastove/.Mail/gastove@gmail.com/[Gmail].Drafts/cur/1505586077.ea990019f27375ff.concordance:2,DS...
Wrote /Users/gastove/.emacs.d/savefile/undo-tree/.!Users!gastove!.Mail!gastove@gmail.com![Gmail].Drafts!cur!1505586077.ea990019f27375ff.concordance:2,DS.~undo-tree~
Wrote /Users/gastove/.Mail/gastove@gmail.com/[Gmail].Drafts/cur/1505586077.ea990019f27375ff.concordance:2,DS
[mu4e] Saved (559 lines)
Sending...
Mark set [2 times]
Sending via mail...
Sending...done
[mu4e] Message sent
[mu4e] Are you sure you want to quit? (y or n) y

Load-path shadows:
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox hides /Users/gastove/.emacs.d/elpa/org-20170911/ox
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-texinfo hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-texinfo
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-publish hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-publish
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-org hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-org
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-odt hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-odt
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-md hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-md
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-man hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-man
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-latex hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-latex
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-icalendar hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-icalendar
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-html hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-html
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-beamer hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-beamer
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-ascii hides /Users/gastove/.emacs.d/elpa/org-20170911/ox-ascii
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org hides /Users/gastove/.emacs.d/elpa/org-20170911/org
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-w3m hides /Users/gastove/.emacs.d/elpa/org-20170911/org-w3m
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-version hides /Users/gastove/.emacs.d/elpa/org-20170911/org-version
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-timer hides /Users/gastove/.emacs.d/elpa/org-20170911/org-timer
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-table hides /Users/gastove/.emacs.d/elpa/org-20170911/org-table
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-src hides /Users/gastove/.emacs.d/elpa/org-20170911/org-src
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-rmail hides /Users/gastove/.emacs.d/elpa/org-20170911/org-rmail
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-protocol hides /Users/gastove/.emacs.d/elpa/org-20170911/org-protocol
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-plot hides /Users/gastove/.emacs.d/elpa/org-20170911/org-plot
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-pcomplete hides /Users/gastove/.emacs.d/elpa/org-20170911/org-pcomplete
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-mouse hides /Users/gastove/.emacs.d/elpa/org-20170911/org-mouse
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-mobile hides /Users/gastove/.emacs.d/elpa/org-20170911/org-mobile
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-mhe hides /Users/gastove/.emacs.d/elpa/org-20170911/org-mhe
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-macs hides /Users/gastove/.emacs.d/elpa/org-20170911/org-macs
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-macro hides /Users/gastove/.emacs.d/elpa/org-20170911/org-macro
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-loaddefs hides /Users/gastove/.emacs.d/elpa/org-20170911/org-loaddefs
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-list hides /Users/gastove/.emacs.d/elpa/org-20170911/org-list
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-lint hides /Users/gastove/.emacs.d/elpa/org-20170911/org-lint
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-irc hides /Users/gastove/.emacs.d/elpa/org-20170911/org-irc
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-install hides /Users/gastove/.emacs.d/elpa/org-20170911/org-install
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-inlinetask hides /Users/gastove/.emacs.d/elpa/org-20170911/org-inlinetask
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-info hides /Users/gastove/.emacs.d/elpa/org-20170911/org-info
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-indent hides /Users/gastove/.emacs.d/elpa/org-20170911/org-indent
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-id hides /Users/gastove/.emacs.d/elpa/org-20170911/org-id
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-habit hides /Users/gastove/.emacs.d/elpa/org-20170911/org-habit
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-gnus hides /Users/gastove/.emacs.d/elpa/org-20170911/org-gnus
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-footnote hides /Users/gastove/.emacs.d/elpa/org-20170911/org-footnote
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-feed hides /Users/gastove/.emacs.d/elpa/org-20170911/org-feed
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-faces hides /Users/gastove/.emacs.d/elpa/org-20170911/org-faces
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-eww hides /Users/gastove/.emacs.d/elpa/org-20170911/org-eww
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-eshell hides /Users/gastove/.emacs.d/elpa/org-20170911/org-eshell
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-entities hides /Users/gastove/.emacs.d/elpa/org-20170911/org-entities
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-element hides /Users/gastove/.emacs.d/elpa/org-20170911/org-element
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-duration hides /Users/gastove/.emacs.d/elpa/org-20170911/org-duration
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-docview hides /Users/gastove/.emacs.d/elpa/org-20170911/org-docview
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-datetree hides /Users/gastove/.emacs.d/elpa/org-20170911/org-datetree
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-ctags hides /Users/gastove/.emacs.d/elpa/org-20170911/org-ctags
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-crypt hides /Users/gastove/.emacs.d/elpa/org-20170911/org-crypt
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-compat hides /Users/gastove/.emacs.d/elpa/org-20170911/org-compat
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-colview hides /Users/gastove/.emacs.d/elpa/org-20170911/org-colview
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-clock hides /Users/gastove/.emacs.d/elpa/org-20170911/org-clock
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-capture hides /Users/gastove/.emacs.d/elpa/org-20170911/org-capture
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-bibtex hides /Users/gastove/.emacs.d/elpa/org-20170911/org-bibtex
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-bbdb hides /Users/gastove/.emacs.d/elpa/org-20170911/org-bbdb
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-attach hides /Users/gastove/.emacs.d/elpa/org-20170911/org-attach
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-archive hides /Users/gastove/.emacs.d/elpa/org-20170911/org-archive
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-agenda hides /Users/gastove/.emacs.d/elpa/org-20170911/org-agenda
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob hides /Users/gastove/.emacs.d/elpa/org-20170911/ob
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-vala hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-vala
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-tangle hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-tangle
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-table hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-table
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-stan hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-stan
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-sqlite hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-sqlite
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-sql hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-sql
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-shen hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-shen
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-shell hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-shell
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-sed hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-sed
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-screen hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-screen
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-scheme hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-scheme
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-sass hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-sass
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ruby hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-ruby
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ref hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-ref
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-R hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-R
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-python hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-python
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-processing hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-processing
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-plantuml hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-plantuml
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-picolisp hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-picolisp
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-perl hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-perl
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-org hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-org
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-octave hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-octave
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ocaml hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-ocaml
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-mscgen hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-mscgen
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-maxima hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-maxima
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-matlab hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-matlab
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-makefile hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-makefile
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-lua hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-lua
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-lob hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-lob
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-lisp hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-lisp
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-lilypond hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-lilypond
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ledger hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-ledger
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-latex hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-latex
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-keys hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-keys
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-js hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-js
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-java hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-java
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-J hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-J
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-io hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-io
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-hledger hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-hledger
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-haskell hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-haskell
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-groovy hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-groovy
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-gnuplot hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-gnuplot
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-fortran hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-fortran
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-forth hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-forth
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-exp hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-exp
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-eval hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-eval
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-emacs-lisp hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-emacs-lisp
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ebnf hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-ebnf
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-dot hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-dot
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ditaa hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-ditaa
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-css hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-css
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-core hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-core
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-coq hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-coq
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-comint hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-comint
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-clojure hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-clojure
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-calc hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-calc
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-C hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-C
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-awk hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-awk
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-asymptote hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-asymptote
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-abc hides /Users/gastove/.emacs.d/elpa/org-20170911/ob-abc
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-texinfo hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-texinfo
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-publish hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-publish
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-org hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-org
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-odt hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-odt
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-md hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-md
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-man hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-man
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-latex hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-latex
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-icalendar hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-icalendar
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-html hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-html
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-beamer hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-beamer
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ox-ascii hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ox-ascii
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-w3m hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-w3m
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-version hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-version
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-timer hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-timer
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-table hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-table
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-src hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-src
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-rmail hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-rmail
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-protocol hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-protocol
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-plot hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-plot
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-pcomplete hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-pcomplete
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-mouse hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-mouse
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-mobile hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-mobile
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-mhe hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-mhe
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-macs hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-macs
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-macro hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-macro
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-loaddefs hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-loaddefs
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-list hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-list
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-irc hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-irc
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-install hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-install
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-inlinetask hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-inlinetask
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-info hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-info
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-indent hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-indent
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-id hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-id
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-habit hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-habit
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-gnus hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-gnus
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-footnote hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-footnote
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-feed hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-feed
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-faces hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-faces
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-eshell hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-eshell
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-entities hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-entities
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-element hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-element
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-docview hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-docview
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-datetree hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-datetree
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-ctags hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-ctags
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-crypt hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-crypt
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-compat hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-compat
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-colview hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-colview
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-clock hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-clock
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-capture hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-capture
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-bibtex hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-bibtex
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-bbdb hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-bbdb
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-attach hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-attach
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-archive hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-archive
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/org-agenda hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/org-agenda
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-tangle hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-tangle
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-table hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-table
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-sqlite hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-sqlite
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-sql hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-sql
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-shen hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-shen
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-screen hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-screen
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-scheme hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-scheme
/Users/gastove/.emacs.d/elpa/scala-mode-20170802.432/ob-scala hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-scala
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-sass hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-sass
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ruby hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-ruby
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ref hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-ref
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-R hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-R
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-python hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-python
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-plantuml hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-plantuml
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-picolisp hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-picolisp
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-perl hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-perl
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-org hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-org
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-octave hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-octave
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ocaml hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-ocaml
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-mscgen hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-mscgen
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-maxima hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-maxima
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-matlab hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-matlab
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-makefile hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-makefile
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-lob hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-lob
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-lisp hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-lisp
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-lilypond hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-lilypond
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ledger hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-ledger
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-latex hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-latex
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-keys hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-keys
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-js hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-js
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-java hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-java
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-io hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-io
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-haskell hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-haskell
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-gnuplot hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-gnuplot
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-fortran hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-fortran
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-exp hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-exp
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-eval hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-eval
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-emacs-lisp hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-emacs-lisp
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-dot hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-dot
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-ditaa hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-ditaa
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-css hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-css
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-core hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-core
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-comint hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-comint
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-clojure hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-clojure
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-calc hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-calc
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-C hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-C
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-awk hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-awk
/Users/gastove/.emacs.d/elpa/org-plus-contrib-20170911/ob-asymptote hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/org/ob-asymptote
/Users/gastove/.emacs.d/elpa/seq-2.20/seq hides /usr/local/Cellar/emacs-mac/emacs-25.3-mac-6.7/share/emacs/25.3/lisp/emacs-lisp/seq

Features:
(mailalias mail-extr sort helm-x-files shadow whitespace face-remap
emacsbug semantic/find helm-semantic helm-imenu semantic/util-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local
cedet eieio-opt vc-bzr vc-src vc-sccs vc-cvs vc-rcs diff-hl-dired vc-git
helm-for-files helm-bookmark helm-adaptive magit-bookmark magit-obsolete
magit-blame magit-stash magit-bisect magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-branch 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 magit-git magit-section
magit-popup git-commit magit-utils log-edit pcvs-util with-editor
helm-command helm-elisp helm-eval edebug helm-info ethan-wspace
smartparens-markdown markdown-mode winner helm-external helm-net init
server orary-work orary-rss orary-misc php-mode add-log coffee-mode
smartparens-rust rust-mode dockerfile-mode sh-script smie
smartparens-haskell haskell-mode haskell-cabal haskell-utils
haskell-font-lock haskell-indentation haskell-string
haskell-sort-imports haskell-lexeme haskell-align-imports haskell-compat
haskell-complete-module haskell-ghc-support haskell-customize orary-web
company-restclient know-your-http-well http-status-codes http-relations
http-methods http-headers orary-stats ess-toolbar ess-mouse mouseme
ess-swv ess-noweb ess-noweb-font-lock-mode ess-bugs-l ess-sas-d
ess-sas-l ess-sas-a ess-stata-mode ess-stata-lang make-regexp essd-els
ess-sp6-d ess-dde ess-sp3-d ess-julia julia-mode ess-r-mode
ess-r-package ess-r-syntax ess-r-completion ess-roxy essddr ess-rd
ess-s-lang ess-help ess-site smartparens-ess ess ess-mode ess-noweb-mode
ess-inf ess-tracebug ess-generics ess-utils ess-custom executable
ess-compat orary-scala orary-python ein jedi jedi-core
python-environment epc ctable concurrent deferred auto-complete
highlight-indentation elpy pyvenv elpy-profile elpy-django elpy-refactor
smartparens-python python files-x cus-edit cus-start cus-load
orary-purescript orary-org ob-python ob-sql ob-shell ob-scheme geiser
ob-scala ensime ensime-mode ensime-sbt sbt-mode sbt-mode-rgrep
sbt-mode-comint sbt-mode-buffer sbt-mode-project sbt-mode-vars
ensime-http ensime-ui ensime-semantic-highlight ensime-doc ensime-search
ensime-helm ensime-undo ensime-startup ensime-refactor ensime-popup
ensime-goto-testfile ensime-eldoc ensime-notes ensime-company
ensime-editor ensime-ivy ensime-model ivy ivy-overlay popup ensime-debug
gdb-mi bindat gud ensime-stacktrace ensime-inf ensime-overlay
ensime-completion-util ensime-config ensime-util ensime-client
ensime-vars smartparens-scala scala-mode scala-mode-prettify-symbols
scala-mode-imenu scala-mode-map scala-mode-fontlock scala-mode-indent
scala-mode-paragraph scala-mode-syntax scala-mode-lib flymake
ensime-macros ob-R ob-java ox-confluence ob-async ob-clojure
ob-restclient restclient ox-pandoc ox-org ox-rst ox-gfm ox-md ox-odt
ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox org-bullets
orary-javascript tide tide-lv typescript-mode orary-go company-go
go-mode find-file ffap orary-formats thrift mm-archive network-stream
nsm url-cache url-handlers 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 nxml-util nxml-glyph nxml-enc xmltok hideshow
company-auctex smartparens-latex latex tex-ispell tex-style tex crm
orary-fsharp dabbrev orary-emacs-lisp orary-clojure clj-refactor
pkg-info lisp-mnt epl cap-words superword subword hydra lv inflections
edn peg cider cider-repl-history pulse tramp-sh cider-debug
cider-browse-ns cider-inspector cider-mode cider-interaction arc-mode
archive-mode cider-repl cider-resolve cider-test cider-overlays
cider-stacktrace cider-doc org-table cider-grimoire cider-popup
cider-eldoc cider-client cider-common cider-util nrepl-client queue
nrepl-dict cider-compat spinner multiple-cursors-core rect paredit
clj-refactor-compat seq-25 smartparens-clojure clojure-mode align
orary-lisp orary-floobits floobits orary-twitter orary-notify
sauron-notifications sauron-twittering twittering-mode sauron-org appt
diary-lib diary-loaddefs sauron-erc sauron-jabber sauron alert log4e
gntp orary-mu4e org-mu4e mu4e-contrib mu4e desktop frameset
mu4e-speedbar speedbar sb-image ezimage dframe mu4e-main mu4e-context
mu4e-view epa mu4e-headers mu4e-compose mu4e-draft mu4e-actions rfc2368
smtpmail sendmail mu4e-mark mu4e-message html2text mu4e-proc mu4e-utils
doc-view jka-compr image-mode mu4e-lists mu4e-vars hl-line mu4e-meta
orary-jabber jabber jabber-notifications notifications jabber-libnotify
dbus jabber-awesome jabber-osd jabber-wmii jabber-xmessage
jabber-festival jabber-sawfish jabber-ratpoison jabber-tmux
jabber-screen jabber-socks5 jabber-ft-server jabber-si-server
jabber-ft-client jabber-ft-common jabber-si-client jabber-si-common
jabber-feature-neg jabber-truncate jabber-time jabber-autoaway
jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard
jabber-avatar jabber-activity jabber-watch jabber-modeline
jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion
jabber-muc-nick-completion hippie-exp jabber-browse jabber-search
jabber-register jabber-roster jabber-presence jabber-muc
jabber-bookmarks jabber-private jabber-muc-nick-coloring hexrgb
jabber-widget jabber-disco jabber-chat jabber-history jabber-chatbuffer
jabber-alert jabber-iq jabber-core jabber-console jabber-keymap
jabber-sasl sasl sasl-anonymous sasl-login sasl-plain fsm jabber-logon
jabber-conn srv dns starttls jabber-xml jabber-menu jabber-util
emoji-cheat-sheet-plus orary-irc erc-truncate erc-autoaway erc-spelling
erc-notify erc-log erc-list erc-menu erc-join erc-ring erc-networks
erc-pcomplete erc-track erc-match erc-button erc-fill erc-stamp
erc-netsplit erc-goodies erc erc-backend erc-compat orary-smartparens
smartparens-config smartparens-javascript smartparens-html smartparens
orary-projectile ag vc-svn find-dired persp-projectile perspective
orary-emote orary-helm helm-mode helm-config helm-easymenu
async-bytecomp helm-projectile helm-files helm-tags helm-buffers
helm-locate helm-types projectile ibuf-ext ibuffer helm-ag helm-grep
helm-regexp helm-utils helm-help helm-descbinds helm helm-source
helm-multi-match helm-lib async orary-company company-tern
dash-functional tern company-oddmuse company-keywords company-etags
company-gtags company-dabbrev-code company-dabbrev company-files
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-css company-nxml company-bbdb
company orary-magit orary-text orary-programming ggtags
rainbow-delimiters orary-keymap orary-editor autorevert filenotify
undo-tree diff rainbow-mode flyspell ispell wgrep-ag wgrep-helm wgrep
grep compile yasnippet re-builder gist gh-gist gh-oauth gh-api logito
gh-cache gh-auth gh-url url-http tls gnutls url-auth url-gw timezone
flycheck editorconfig ediff-merg ediff-wind ediff-diff ediff-mult
ediff-help ediff-init ediff-util ediff easy-kill js2-mode etags xref
project js sgml-mode cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs elfeed-link elfeed-show
elfeed-search message rfc822 mml mml-sec epg mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev
gmm-utils mailheader shr dom subr-x elfeed-csv elfeed elfeed-curl
elfeed-log elfeed-db elfeed-lib url-queue browse-url xml-query xml
org-element avl-tree org org-macro org-footnote org-pcomplete org-list
org-faces org-entities noutline outline 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 find-func cal-menu
calendar cal-loaddefs diff-hl vc-dir ewoc vc vc-dispatcher diff-mode
delsel orary-functions request mail-utils url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
mailcap orary-ui beacon smart-mode-line rich-minority ucs-utils
persistent-soft list-utils pcache eieio-base font-utils unicode-fonts
which-func imenu rhombus-theme color orary-core midnight zop-to-char
windmove ace-window avy crux ido tramp tramp-compat tramp-loaddefs
trampver ucs-normalize shell pcomplete comint ansi-color ring thingatpt
dired+ image-dired format-spec image-file highlight dired-aux bookmark+
bookmark+-key advice derived dired-x dired bookmark+-1 bookmark+-bmu
bookmark+-lit bookmark pp time savehist recentf tree-widget wid-edit
saveplace orary-osx exec-path-from-shell f use-package diminish bind-key
easy-mmode finder-inf tex-site gh-common gh-profile url-parse
auth-source gnus-util mm-util help-fns mail-prsvr password-cache
url-vars s marshal eieio-compat ht json map dash eieio eieio-core rx
edmacro kmacro cl-seq cl-macs cl info package epg-config seq byte-opt gv
bytecomp byte-compile cl-extra help-mode easymenu cconv cl-loaddefs
pcase cl-lib mule-util time-date tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel mac-win term/common-win
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 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 charscript
case-table epa-hook jka-cmpr-hook help simple abbrev 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 mac multi-tty
make-network-process emacs)

Memory information:
((conses 16 1387771 125337)
(symbols 48 109814 640)
(miscs 40 1796 2542)
(strings 32 580903 41329)
(string-bytes 1 15890923)
(vectors 16 147216)
(vector-slots 8 4305852 85685)
(floats 8 2555 1154)
(intervals 56 9975 2564)
(buffers 976 66))

--
Ross Donaldson
Data Engineer, Disqus
Technologist, Reed College Software Design Studio
http://csv.rodeo





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2017-09-16 18:42 bug#28475: 25.3; python double-indents multi-line function argument blocks Ross Donaldson
@ 2017-09-24 12:26 ` Noam Postavsky
  2017-09-24 16:25   ` Ross Donaldson
  0 siblings, 1 reply; 12+ messages in thread
From: Noam Postavsky @ 2017-09-24 12:26 UTC (permalink / raw)
  To: Ross Donaldson; +Cc: 28475

Ross Donaldson <gastove@gmail.com> writes:

> python-mode double-indents the arguments to function definitions.
>
> To reproduce:
> 1. emacs -Q
> 2. Enter the following:

It seems your email client dropped the whitespace, but I guess you meant

# This is fine:
def foo(arg):
    print('hello')

# This is indented double:
def foo(
        bar,
        baz
):
    print('hello')

# It should be:
def foo(
    bar,
    baz
):
    print('hello')

# Only seems to be true for `def`s so far, eg:
baz = list(
    'good'
)


> This is caused by the function `python-indent--calculate-indentation`,
> line ~1023 of `python.el`. Frustratingly, the behavior is hardcoded,
> and apparently intentional, as we see at the end of the function:
>
> ```
> (`(,(or :inside-paren-newline-start-from-block) . ,start)
> ;; Add two indentation levels to make the suite stand out.
> (goto-char start)
> (+ (current-indentation) (* python-indent-offset 2)))
> ```
>
> This is problematic. Python's holy grail of style, PEP-8, does not
> specify how this indentation should be done. However, many companies
> which write python -- like my employer -- create internal style guides
> to fill in gaps left by PEP-8. So far, in my career, they *all*
> indicate a single indent to be appropriate in this context.
>
> I'd like to propose two solutions; I don't know which will suit best:
>
> 1. Stop doubling indentation
> 2. Make the indent scaling integer a variable, so that this behavior can be changed.

I think the latter will be best, in case some people want the current
indentation still.

> A final complication for me is that, at least on `master` of the
> Github emacs-mirror (https://github.com/emacs-mirror/emacs), this
> function still uses `prog-widen` and `prog-first-column`, which have
> been removed from emacs. I'm not sure how to correctly patch this
> function to remove them.

I think it's rather that `prog-widen' and `prog-first-column' have been
*added* to Emacs.

> So! With a little guidance on `prog-widen`/`prog-first-column`, I'm
> happy to create and submit a patch, or I can leave this in y'all's
> capable hands.

If you can build from the git checkout write your patch against the
emacs-26 branch then you should be able to use the prog-FOO functions.
Otherwise, just write it against 25.3, it should be easy enough to
update the patch afterwards, if needed.

Have you assigned copyright to Emacs?  If the patch ends up more than
about 15 lines we won't be able to accept it until you do.  I guess just
adding and using the new custom variable should fit within that limit
though.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2017-09-24 12:26 ` Noam Postavsky
@ 2017-09-24 16:25   ` Ross Donaldson
  2017-09-24 16:42     ` Noam Postavsky
  0 siblings, 1 reply; 12+ messages in thread
From: Ross Donaldson @ 2017-09-24 16:25 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 28475

[-- Attachment #1: Type: text/plain, Size: 3530 bytes --]

First: apologies for the whitespace cleanup, but yes, you correctly figured
out what the bug report was intended to be. Thanks!

I was thrown off by the `prog-FOO` commands because of this message in the
ChangeLog:

```
2016-03-27  Dmitry Gutov  <dgutov@yandex.ru>

Remove prog-indentation-context

* lisp/progmodes/prog-mode.el: (prog-indentation-context)
(prog-first-column, prog-widen): Remove, as discussed in
http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01425.html.
```

But I see you are correct, and only `prog-indentation-context` was removed.

I haven't assigned copyright to Emacs yet; I'd be happy to, and also, I
suspect this patch will be quite short. I'll send it over soon.

On Sun, Sep 24, 2017 at 5:26 AM Noam Postavsky <
npostavs@users.sourceforge.net> wrote:

> Ross Donaldson <gastove@gmail.com> writes:
>
> > python-mode double-indents the arguments to function definitions.
> >
> > To reproduce:
> > 1. emacs -Q
> > 2. Enter the following:
>
> It seems your email client dropped the whitespace, but I guess you meant
>
> # This is fine:
> def foo(arg):
>     print('hello')
>
> # This is indented double:
> def foo(
>         bar,
>         baz
> ):
>     print('hello')
>
> # It should be:
> def foo(
>     bar,
>     baz
> ):
>     print('hello')
>
> # Only seems to be true for `def`s so far, eg:
> baz = list(
>     'good'
> )
>
>
> > This is caused by the function `python-indent--calculate-indentation`,
> > line ~1023 of `python.el`. Frustratingly, the behavior is hardcoded,
> > and apparently intentional, as we see at the end of the function:
> >
> > ```
> > (`(,(or :inside-paren-newline-start-from-block) . ,start)
> > ;; Add two indentation levels to make the suite stand out.
> > (goto-char start)
> > (+ (current-indentation) (* python-indent-offset 2)))
> > ```
> >
> > This is problematic. Python's holy grail of style, PEP-8, does not
> > specify how this indentation should be done. However, many companies
> > which write python -- like my employer -- create internal style guides
> > to fill in gaps left by PEP-8. So far, in my career, they *all*
> > indicate a single indent to be appropriate in this context.
> >
> > I'd like to propose two solutions; I don't know which will suit best:
> >
> > 1. Stop doubling indentation
> > 2. Make the indent scaling integer a variable, so that this behavior can
> be changed.
>
> I think the latter will be best, in case some people want the current
> indentation still.
>
> > A final complication for me is that, at least on `master` of the
> > Github emacs-mirror (https://github.com/emacs-mirror/emacs), this
> > function still uses `prog-widen` and `prog-first-column`, which have
> > been removed from emacs. I'm not sure how to correctly patch this
> > function to remove them.
>
> I think it's rather that `prog-widen' and `prog-first-column' have been
> *added* to Emacs.
>
> > So! With a little guidance on `prog-widen`/`prog-first-column`, I'm
> > happy to create and submit a patch, or I can leave this in y'all's
> > capable hands.
>
> If you can build from the git checkout write your patch against the
> emacs-26 branch then you should be able to use the prog-FOO functions.
> Otherwise, just write it against 25.3, it should be easy enough to
> update the patch afterwards, if needed.
>
> Have you assigned copyright to Emacs?  If the patch ends up more than
> about 15 lines we won't be able to accept it until you do.  I guess just
> adding and using the new custom variable should fit within that limit
> though.
>

[-- Attachment #2: Type: text/html, Size: 4869 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2017-09-24 16:25   ` Ross Donaldson
@ 2017-09-24 16:42     ` Noam Postavsky
  2017-09-24 17:02       ` Ross Donaldson
  2017-09-26  0:50       ` Dmitry Gutov
  0 siblings, 2 replies; 12+ messages in thread
From: Noam Postavsky @ 2017-09-24 16:42 UTC (permalink / raw)
  To: Ross Donaldson; +Cc: 28475

Ross Donaldson <gastove@gmail.com> writes:

> I was thrown off by the `prog-FOO` commands because of this message
> in the ChangeLog:
>
> ```
> 2016-03-27  Dmitry Gutov  <dgutov@yandex.ru>
>
> Remove prog-indentation-context
>
> * lisp/progmodes/prog-mode.el: (prog-indentation-context)
> (prog-first-column, prog-widen): Remove, as discussed in
> http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01425.html.
> ```

Oh, that is a bit confusing, but now I see what happened: it was indeed
removed for Emacs-25, but is still present in Emacs-26 and later.  If
you look to the end of that message you will see

	Do not merge to master.

Which gives the hint.


> I haven't assigned copyright to Emacs yet; I'd be happy to, and also,
> I suspect this patch will be quite short. I'll send it over soon.

Thanks!





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2017-09-24 16:42     ` Noam Postavsky
@ 2017-09-24 17:02       ` Ross Donaldson
  2017-09-24 17:42         ` Noam Postavsky
  2017-09-26  0:50       ` Dmitry Gutov
  1 sibling, 1 reply; 12+ messages in thread
From: Ross Donaldson @ 2017-09-24 17:02 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 28475


[-- Attachment #1.1: Type: text/plain, Size: 1049 bytes --]

Ahhh, I see. Well! This patch didn't need to touch either function, so!

Here we are.

On Sun, Sep 24, 2017 at 9:42 AM Noam Postavsky <
npostavs@users.sourceforge.net> wrote:

> Ross Donaldson <gastove@gmail.com> writes:
>
> > I was thrown off by the `prog-FOO` commands because of this message
> > in the ChangeLog:
> >
> > ```
> > 2016-03-27  Dmitry Gutov  <dgutov@yandex.ru>
> >
> > Remove prog-indentation-context
> >
> > * lisp/progmodes/prog-mode.el: (prog-indentation-context)
> > (prog-first-column, prog-widen): Remove, as discussed in
> > http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01425.html.
> > ```
>
> Oh, that is a bit confusing, but now I see what happened: it was indeed
> removed for Emacs-25, but is still present in Emacs-26 and later.  If
> you look to the end of that message you will see
>
>         Do not merge to master.
>
> Which gives the hint.
>
>
> > I haven't assigned copyright to Emacs yet; I'd be happy to, and also,
> > I suspect this patch will be quite short. I'll send it over soon.
>
> Thanks!
>

[-- Attachment #1.2: Type: text/html, Size: 1718 bytes --]

[-- Attachment #2: scale-by-const.patch --]
[-- Type: application/octet-stream, Size: 1975 bytes --]

From 83a622ec32a64ae30e68de18a84cc32fc6a811d9 Mon Sep 17 00:00:00 2001
From: Ross Donaldson <gastove@gmail.com>
Date: Sun, 24 Sep 2017 09:42:23 -0700
Subject: [PATCH] Rather than scaling certain python blocks by a constant,
 scale by a defcustom

This provides customization of the number of indent levels in
multi-line `def` blocks in python; it also corrects a nearby (but
unrelated) incorrect symbol quote.
---
 lisp/progmodes/python.el | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index f3513ced4b..3181353d20 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -738,7 +738,7 @@ It makes underscores and dots word constituent chars.")
   :version "25.1"
   :type 'boolean
   :group 'python
-  :safe' booleanp)
+  :safe 'booleanp)
 
 (defcustom python-indent-trigger-commands
   '(indent-for-tab-command yas-expand yas/expand)
@@ -746,6 +746,12 @@ It makes underscores and dots word constituent chars.")
   :type '(repeat symbol)
   :group 'python)
 
+(defcustom python-indent-def-block-scale 2
+  "Multiplier applied to indentation inside multi-line def blocks."
+  :version "26.0"
+  :type 'integer
+  :safe (lambda (i) (and (integerp i) (< 0 i))))
+
 (define-obsolete-variable-alias
   'python-indent 'python-indent-offset "24.3")
 
@@ -1075,9 +1081,8 @@ possibilities can be narrowed to specific indentation points."
                          (current-indentation)))
                      opening-block-start-points))))
         (`(,(or :inside-paren-newline-start-from-block) . ,start)
-         ;; Add two indentation levels to make the suite stand out.
          (goto-char start)
-         (+ (current-indentation) (* python-indent-offset 2)))))))
+         (+ (current-indentation) (* python-indent-offset python-indent-def-block-scale)))))))
 
 (defun python-indent--calculate-levels (indentation)
   "Calculate levels list given INDENTATION.
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2017-09-24 17:02       ` Ross Donaldson
@ 2017-09-24 17:42         ` Noam Postavsky
  2017-10-12 21:11           ` Ross Donaldson
  0 siblings, 1 reply; 12+ messages in thread
From: Noam Postavsky @ 2017-09-24 17:42 UTC (permalink / raw)
  To: Ross Donaldson; +Cc: 28475

Ross Donaldson <gastove@gmail.com> writes:

> From 83a622ec32a64ae30e68de18a84cc32fc6a811d9 Mon Sep 17 00:00:00 2001
> From: Ross Donaldson <gastove@gmail.com>
> Date: Sun, 24 Sep 2017 09:42:23 -0700
> Subject: [PATCH] Rather than scaling certain python blocks by a
> constant, scale by a defcustom
>
> This provides customization of the number of indent levels in
> multi-line `def` blocks in python; it also corrects a nearby (but
> unrelated) incorrect symbol quote.

You're missing the ChangeLog style entry here, see CONTRIBUTE under
"Commit messages" for details.  Also, an imperative style usually reads
more concisely ("Provide customization..." rather than "This
provides...").

I think a NEWS entry would be appropriate as well.

> -  :safe' booleanp)
> +  :safe 'booleanp)

It's better not to mix up your change with unrelated whitespace fixes.

>  (defcustom python-indent-trigger-commands
>    '(indent-for-tab-command yas-expand yas/expand)
> @@ -746,6 +746,12 @@ It makes underscores and dots word constituent chars.")
>    :type '(repeat symbol)
>    :group 'python)
>  
> +(defcustom python-indent-def-block-scale 2
> +  "Multiplier applied to indentation inside multi-line def blocks."
> +  :version "26.0"

This should rather be "26.1", as released Emacs versions always end in ".1".

> +  :type 'integer
> +  :safe (lambda (i) (and (integerp i) (< 0 i))))

I would probably go with 'natnump here.  This does also allow 0 which is
probably not generally wanted, but still "safe", I think.

>          (`(,(or :inside-paren-newline-start-from-block) . ,start)
> -         ;; Add two indentation levels to make the suite stand out.
>           (goto-char start)
> -         (+ (current-indentation) (* python-indent-offset 2)))))))
> +         (+ (current-indentation) (* python-indent-offset python-indent-def-block-scale)))))))

A line break here would keep the line to within a reasonable width
(generally we try to stay in 80 columns).

Thanks for working on this.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2017-09-24 16:42     ` Noam Postavsky
  2017-09-24 17:02       ` Ross Donaldson
@ 2017-09-26  0:50       ` Dmitry Gutov
  1 sibling, 0 replies; 12+ messages in thread
From: Dmitry Gutov @ 2017-09-26  0:50 UTC (permalink / raw)
  To: Noam Postavsky, Ross Donaldson; +Cc: 28475

On 9/24/17 7:42 PM, Noam Postavsky wrote:

> Oh, that is a bit confusing, but now I see what happened: it was indeed
> removed for Emacs-25, but is still present in Emacs-26 and later.

Ouch. Thanks for the reminder.

I better do something about that for Emacs 26 while there is still some 
time.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2017-09-24 17:42         ` Noam Postavsky
@ 2017-10-12 21:11           ` Ross Donaldson
  2017-11-07  1:10             ` Noam Postavsky
  0 siblings, 1 reply; 12+ messages in thread
From: Ross Donaldson @ 2017-10-12 21:11 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: Ross Donaldson, 28475

ARG -- apologies! I somehow missed this as it came in. Thank you very much for the feedback; I'll make those changes and submit a new patch soon.

Noam Postavsky writes:

> Ross Donaldson <gastove@gmail.com> writes:
>
>> From 83a622ec32a64ae30e68de18a84cc32fc6a811d9 Mon Sep 17 00:00:00 2001
>> From: Ross Donaldson <gastove@gmail.com>
>> Date: Sun, 24 Sep 2017 09:42:23 -0700
>> Subject: [PATCH] Rather than scaling certain python blocks by a
>> constant, scale by a defcustom
>>
>> This provides customization of the number of indent levels in
>> multi-line `def` blocks in python; it also corrects a nearby (but
>> unrelated) incorrect symbol quote.
>
> You're missing the ChangeLog style entry here, see CONTRIBUTE under
> "Commit messages" for details.  Also, an imperative style usually reads
> more concisely ("Provide customization..." rather than "This
> provides...").
>
> I think a NEWS entry would be appropriate as well.
>
>> -  :safe' booleanp)
>> +  :safe 'booleanp)
>
> It's better not to mix up your change with unrelated whitespace fixes.
>
>>  (defcustom python-indent-trigger-commands
>>    '(indent-for-tab-command yas-expand yas/expand)
>> @@ -746,6 +746,12 @@ It makes underscores and dots word constituent chars.")
>>    :type '(repeat symbol)
>>    :group 'python)
>>
>> +(defcustom python-indent-def-block-scale 2
>> +  "Multiplier applied to indentation inside multi-line def blocks."
>> +  :version "26.0"
>
> This should rather be "26.1", as released Emacs versions always end in ".1".
>
>> +  :type 'integer
>> +  :safe (lambda (i) (and (integerp i) (< 0 i))))
>
> I would probably go with 'natnump here.  This does also allow 0 which is
> probably not generally wanted, but still "safe", I think.
>
>>          (`(,(or :inside-paren-newline-start-from-block) . ,start)
>> -         ;; Add two indentation levels to make the suite stand out.
>>           (goto-char start)
>> -         (+ (current-indentation) (* python-indent-offset 2)))))))
>> +         (+ (current-indentation) (* python-indent-offset python-indent-def-block-scale)))))))
>
> A line break here would keep the line to within a reasonable width
> (generally we try to stay in 80 columns).
>
> Thanks for working on this.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2017-10-12 21:11           ` Ross Donaldson
@ 2017-11-07  1:10             ` Noam Postavsky
  2017-12-25 20:54               ` Ross Donaldson
  0 siblings, 1 reply; 12+ messages in thread
From: Noam Postavsky @ 2017-11-07  1:10 UTC (permalink / raw)
  To: Ross Donaldson; +Cc: 28475

Ross Donaldson <gastove@gmail.com> writes:

> ARG -- apologies! I somehow missed this as it came in. Thank you very
> much for the feedback; I'll make those changes and submit a new patch
> soon.

There's no deadline, just checking if maybe this got lost again...





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2017-11-07  1:10             ` Noam Postavsky
@ 2017-12-25 20:54               ` Ross Donaldson
  2018-01-01 16:17                 ` Noam Postavsky
  0 siblings, 1 reply; 12+ messages in thread
From: Ross Donaldson @ 2017-12-25 20:54 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 28475


[-- Attachment #1.1: Type: text/plain, Size: 472 bytes --]

Okay. Let's try this again.

Thanks for the guidance and the patience! Let me know if this is closer ;P


On Mon, Nov 6, 2017 at 5:10 PM Noam Postavsky <
npostavs@users.sourceforge.net> wrote:

> Ross Donaldson <gastove@gmail.com> writes:
>
> > ARG -- apologies! I somehow missed this as it came in. Thank you very
> > much for the feedback; I'll make those changes and submit a new patch
> > soon.
>
> There's no deadline, just checking if maybe this got lost again...
>

[-- Attachment #1.2: Type: text/html, Size: 864 bytes --]

[-- Attachment #2: 0001-Provide-a-new-customization-variable-for-python-mode.patch --]
[-- Type: application/octet-stream, Size: 2159 bytes --]

From c085301d720e43fdbacd3327d5fa995abac00580 Mon Sep 17 00:00:00 2001
From: Ross Donaldson <gastove@gmail.com>
Date: Mon, 25 Dec 2017 12:51:19 -0800
Subject: [PATCH] Provide a new customization variable for python-mode
 indentation

`python-indent-def-block-scale` allows uses to control how many indent
levels are inserted for multi-line function signatures.
---
 etc/NEWS.26              |  7 +++++++
 lisp/progmodes/python.el | 10 ++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/etc/NEWS.26 b/etc/NEWS.26
index 692c28a721..646755bbb1 100644
--- a/etc/NEWS.26
+++ b/etc/NEWS.26
@@ -1037,6 +1037,13 @@ located and whether GnuPG's option '--homedir' is used or not.
 ---
 *** Deleting a package no longer respects 'delete-by-moving-to-trash'.
 
+** Python
+
++++
+*** The new variable 'python-indent-def-block-scale' has been added to
+control the depth of indentation of arguments inside multi-line function
+signatures.
+
 ** Tramp
 
 +++
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index a72a55d2d9..6755ac8e49 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -752,6 +752,12 @@ It makes underscores and dots word constituent chars.")
   :type '(repeat symbol)
   :group 'python)
 
+(defcustom python-indent-def-block-scale 2
+  "Multiplier applied to indentation inside multi-line def blocks."
+  :version "26.1"
+  :type 'integer
+  :safe 'natnump)
+
 (defvar python-indent-current-level 0
   "Deprecated var available for compatibility.")
 
@@ -1071,9 +1077,9 @@ possibilities can be narrowed to specific indentation points."
                          (current-indentation)))
                      opening-block-start-points))))
         (`(,(or :inside-paren-newline-start-from-block) . ,start)
-         ;; Add two indentation levels to make the suite stand out.
          (goto-char start)
-         (+ (current-indentation) (* python-indent-offset 2))))))
+         (+ (current-indentation)
+            (* python-indent-offset python-indent-def-block-scale))))))
 
 (defun python-indent--calculate-levels (indentation)
   "Calculate levels list given INDENTATION.
-- 
2.15.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2017-12-25 20:54               ` Ross Donaldson
@ 2018-01-01 16:17                 ` Noam Postavsky
  2018-01-02 17:55                   ` Ross Donaldson
  0 siblings, 1 reply; 12+ messages in thread
From: Noam Postavsky @ 2018-01-01 16:17 UTC (permalink / raw)
  To: Ross Donaldson; +Cc: 28475

tags 28475 fixed
close 28475 26.1
quit

Ross Donaldson <gastove@gmail.com> writes:

> Okay. Let's try this again.
>
> Thanks for the guidance and the patience! Let me know if this is
> closer ;P

Thanks, pushed to emacs-26.

[1: c59ecb005e]: 2018-01-01 11:16:00 -0500
  New customization variable for python-mode indentation (Bug#28475)
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=c59ecb005e560420d927ad7884c9030ba15319a4





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28475: 25.3; python double-indents multi-line function argument blocks
  2018-01-01 16:17                 ` Noam Postavsky
@ 2018-01-02 17:55                   ` Ross Donaldson
  0 siblings, 0 replies; 12+ messages in thread
From: Ross Donaldson @ 2018-01-02 17:55 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 28475

[-- Attachment #1: Type: text/plain, Size: 572 bytes --]

Thanks very much!

On Mon, Jan 1, 2018 at 8:17 AM Noam Postavsky <
npostavs@users.sourceforge.net> wrote:

> tags 28475 fixed
> close 28475 26.1
> quit
>
> Ross Donaldson <gastove@gmail.com> writes:
>
> > Okay. Let's try this again.
> >
> > Thanks for the guidance and the patience! Let me know if this is
> > closer ;P
>
> Thanks, pushed to emacs-26.
>
> [1: c59ecb005e]: 2018-01-01 11:16:00 -0500
>   New customization variable for python-mode indentation (Bug#28475)
>
> https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=c59ecb005e560420d927ad7884c9030ba15319a4
>

[-- Attachment #2: Type: text/html, Size: 1095 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-01-02 17:55 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-16 18:42 bug#28475: 25.3; python double-indents multi-line function argument blocks Ross Donaldson
2017-09-24 12:26 ` Noam Postavsky
2017-09-24 16:25   ` Ross Donaldson
2017-09-24 16:42     ` Noam Postavsky
2017-09-24 17:02       ` Ross Donaldson
2017-09-24 17:42         ` Noam Postavsky
2017-10-12 21:11           ` Ross Donaldson
2017-11-07  1:10             ` Noam Postavsky
2017-12-25 20:54               ` Ross Donaldson
2018-01-01 16:17                 ` Noam Postavsky
2018-01-02 17:55                   ` Ross Donaldson
2017-09-26  0:50       ` Dmitry Gutov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).