I experience the following problem with the outline-minor-mode in python source files: When I hide the body of a method, everything until the next "def ..." line is hidden, including decorators which might belong to that next def line. See the following example: class A: def foo: pass @foo def bar: pass When I do `hide-subtree' on the "def foo:" line, the result is: class A: def foo:... def bar: pass I would have expected that also the "@foo" line should still be visible, and at most be hidden when hiding bar's subtree. My system: In GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.16.4) of 2015-06-28 on trouble, modified by Debian Windowing system distributor `The X.Org Foundation', version 11.0.11702000 System Description: Debian GNU/Linux testing (stretch) Configured using: `configure --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes --enable- locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.5/site- lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.5/site- lisp:/usr/share/emacs/site-lisp --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes --enable- locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.5/site- lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.5/site- lisp:/usr/share/emacs/site-lisp --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall' CPPFLAGS=-D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-z,relro' Important settings: value of $LC_MONETARY: de_DE.UTF-8 value of $LC_TIME: de_DE.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Py Minor modes in effect: diff-auto-refine-mode: t outline-minor-mode: t show-paren-mode: t savehist-mode: t shell-dirtrack-mode: t tooltip-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-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: FOLDED CHILDREN SUBTREE FOLDED CHILDREN SUBTREE FOLDED CHILDREN Mark set [3 times] line-move-visual: Beginning of buffer Load-path shadows: /home/daniel/.emacs.d/elpa/python-mode-20150820.558/python-mode hides /usr/share/emacs24/site-lisp/python-mode/python-mode /home/daniel/.emacs.d/elpa/pylint-20150123.1600/pylint hides /usr/share/emacs24/site-lisp/pylint/pylint ~/.emacs.d/site-lisp/graphviz-dot-mode hides /usr/share/emacs24/site- lisp/emacs-goodies-el/graphviz-dot-mode /usr/share/org-mode/lisp/htmlize hides /usr/share/emacs24/site-lisp/emacs- goodies-el/htmlize /usr/share/emacs/24.5/site-lisp/debian-startup hides /usr/share/emacs/site- lisp/debian-startup /usr/share/emacs24/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.5/lisp/textmodes/rst /usr/share/emacs24/site-lisp/org-mode/org-mhe hides /usr/share/emacs/24.5/lisp/org/org-mhe /usr/share/emacs24/site-lisp/org-mode/ob-js hides /usr/share/emacs/24.5/lisp/org/ob-js /usr/share/emacs24/site-lisp/org-mode/ob-haskell hides /usr/share/emacs/24.5/lisp/org/ob-haskell /usr/share/emacs24/site-lisp/org-mode/ox-ascii hides /usr/share/emacs/24.5/lisp/org/ox-ascii /usr/share/emacs24/site-lisp/org-mode/ob-org hides /usr/share/emacs/24.5/lisp/org/ob-org /usr/share/emacs24/site-lisp/org-mode/org-irc hides /usr/share/emacs/24.5/lisp/org/org-irc /usr/share/emacs24/site-lisp/org-mode/ob-ocaml hides /usr/share/emacs/24.5/lisp/org/ob-ocaml /usr/share/emacs24/site-lisp/org-mode/org-docview hides /usr/share/emacs/24.5/lisp/org/org-docview /usr/share/emacs24/site-lisp/org-mode/ob-table hides /usr/share/emacs/24.5/lisp/org/ob-table /usr/share/emacs24/site-lisp/org-mode/ob-plantuml hides /usr/share/emacs/24.5/lisp/org/ob-plantuml /usr/share/emacs24/site-lisp/org-mode/ob-clojure hides /usr/share/emacs/24.5/lisp/org/ob-clojure /usr/share/emacs24/site-lisp/org-mode/ob-dot hides /usr/share/emacs/24.5/lisp/org/ob-dot /usr/share/emacs24/site-lisp/org-mode/org-capture hides /usr/share/emacs/24.5/lisp/org/org-capture /usr/share/emacs24/site-lisp/org-mode/ox-md hides /usr/share/emacs/24.5/lisp/org/ox-md /usr/share/emacs24/site-lisp/org-mode/ox-html hides /usr/share/emacs/24.5/lisp/org/ox-html /usr/share/emacs24/site-lisp/org-mode/org-eshell hides /usr/share/emacs/24.5/lisp/org/org-eshell /usr/share/emacs24/site-lisp/org-mode/org-plot hides /usr/share/emacs/24.5/lisp/org/org-plot /usr/share/emacs24/site-lisp/org-mode/ob-shen hides /usr/share/emacs/24.5/lisp/org/ob-shen /usr/share/emacs24/site-lisp/org-mode/org-entities hides /usr/share/emacs/24.5/lisp/org/org-entities /usr/share/emacs24/site-lisp/org-mode/ob-emacs-lisp hides /usr/share/emacs/24.5/lisp/org/ob-emacs-lisp /usr/share/emacs24/site-lisp/org-mode/ob-asymptote hides /usr/share/emacs/24.5/lisp/org/ob-asymptote /usr/share/emacs24/site-lisp/org-mode/ob-octave hides /usr/share/emacs/24.5/lisp/org/ob-octave /usr/share/emacs24/site-lisp/org-mode/org-pcomplete hides /usr/share/emacs/24.5/lisp/org/org-pcomplete /usr/share/emacs24/site-lisp/org-mode/org-mobile hides /usr/share/emacs/24.5/lisp/org/org-mobile /usr/share/emacs24/site-lisp/org-mode/org-attach hides /usr/share/emacs/24.5/lisp/org/org-attach /usr/share/emacs24/site-lisp/org-mode/ob-keys hides /usr/share/emacs/24.5/lisp/org/ob-keys /usr/share/emacs24/site-lisp/org-mode/org-colview hides /usr/share/emacs/24.5/lisp/org/org-colview /usr/share/emacs24/site-lisp/org-mode/ob-C hides /usr/share/emacs/24.5/lisp/org/ob-C /usr/share/emacs24/site-lisp/org-mode/ox-publish hides /usr/share/emacs/24.5/lisp/org/ox-publish /usr/share/emacs24/site-lisp/org-mode/org-loaddefs hides /usr/share/emacs/24.5/lisp/org/org-loaddefs /usr/share/emacs24/site-lisp/org-mode/ob-lilypond hides /usr/share/emacs/24.5/lisp/org/ob-lilypond /usr/share/emacs24/site-lisp/org-mode/ob-ledger hides /usr/share/emacs/24.5/lisp/org/ob-ledger /usr/share/emacs24/site-lisp/org-mode/org-habit hides /usr/share/emacs/24.5/lisp/org/org-habit /usr/share/emacs24/site-lisp/org-mode/ob-lob hides /usr/share/emacs/24.5/lisp/org/ob-lob /usr/share/emacs24/site-lisp/org-mode/ob-matlab hides /usr/share/emacs/24.5/lisp/org/ob-matlab /usr/share/emacs24/site-lisp/org-mode/org-indent hides /usr/share/emacs/24.5/lisp/org/org-indent /usr/share/emacs24/site-lisp/org-mode/ox-icalendar hides /usr/share/emacs/24.5/lisp/org/ox-icalendar /usr/share/emacs24/site-lisp/org-mode/ob-comint hides /usr/share/emacs/24.5/lisp/org/ob-comint /usr/share/emacs24/site-lisp/org-mode/ob-eval hides /usr/share/emacs/24.5/lisp/org/ob-eval /usr/share/emacs24/site-lisp/org-mode/org-bbdb hides /usr/share/emacs/24.5/lisp/org/org-bbdb /usr/share/emacs24/site-lisp/org-mode/ob-scheme hides /usr/share/emacs/24.5/lisp/org/ob-scheme /usr/share/emacs24/site-lisp/org-mode/org-mouse hides /usr/share/emacs/24.5/lisp/org/org-mouse /usr/share/emacs24/site-lisp/org-mode/ob-css hides /usr/share/emacs/24.5/lisp/org/ob-css /usr/share/emacs24/site-lisp/org-mode/ob-fortran hides /usr/share/emacs/24.5/lisp/org/ob-fortran /usr/share/emacs24/site-lisp/org-mode/ob-scala hides /usr/share/emacs/24.5/lisp/org/ob-scala /usr/share/emacs24/site-lisp/org-mode/ob-io hides /usr/share/emacs/24.5/lisp/org/ob-io /usr/share/emacs24/site-lisp/org-mode/ob-R hides /usr/share/emacs/24.5/lisp/org/ob-R /usr/share/emacs24/site-lisp/org-mode/org-compat hides /usr/share/emacs/24.5/lisp/org/org-compat /usr/share/emacs24/site-lisp/org-mode/ox-odt hides /usr/share/emacs/24.5/lisp/org/ox-odt /usr/share/emacs24/site-lisp/org-mode/org-install hides /usr/share/emacs/24.5/lisp/org/org-install /usr/share/emacs24/site-lisp/org-mode/ob-tangle hides /usr/share/emacs/24.5/lisp/org/ob-tangle /usr/share/emacs24/site-lisp/org-mode/org-timer hides /usr/share/emacs/24.5/lisp/org/org-timer /usr/share/emacs24/site-lisp/org-mode/org-id hides /usr/share/emacs/24.5/lisp/org/org-id /usr/share/emacs24/site-lisp/org-mode/ox-man hides /usr/share/emacs/24.5/lisp/org/ox-man /usr/share/emacs24/site-lisp/org-mode/ob-lisp hides /usr/share/emacs/24.5/lisp/org/ob-lisp /usr/share/emacs24/site-lisp/org-mode/ob-ref hides /usr/share/emacs/24.5/lisp/org/ob-ref /usr/share/emacs24/site-lisp/org-mode/ob-perl hides /usr/share/emacs/24.5/lisp/org/ob-perl /usr/share/emacs24/site-lisp/org-mode/ob-mscgen hides /usr/share/emacs/24.5/lisp/org/ob-mscgen /usr/share/emacs24/site-lisp/org-mode/ox-beamer hides /usr/share/emacs/24.5/lisp/org/ox-beamer /usr/share/emacs24/site-lisp/org-mode/org-gnus hides /usr/share/emacs/24.5/lisp/org/org-gnus /usr/share/emacs24/site-lisp/org-mode/org-rmail hides /usr/share/emacs/24.5/lisp/org/org-rmail /usr/share/emacs24/site-lisp/org-mode/ox-latex hides /usr/share/emacs/24.5/lisp/org/ox-latex /usr/share/emacs24/site-lisp/org-mode/org-macs hides /usr/share/emacs/24.5/lisp/org/org-macs /usr/share/emacs24/site-lisp/org-mode/org-info hides /usr/share/emacs/24.5/lisp/org/org-info /usr/share/emacs24/site-lisp/org-mode/org-inlinetask hides /usr/share/emacs/24.5/lisp/org/org-inlinetask /usr/share/emacs24/site-lisp/org-mode/ob-python hides /usr/share/emacs/24.5/lisp/org/ob-python /usr/share/emacs24/site-lisp/org-mode/ob-core hides /usr/share/emacs/24.5/lisp/org/ob-core /usr/share/emacs24/site-lisp/org-mode/ob-latex hides /usr/share/emacs/24.5/lisp/org/ob-latex /usr/share/emacs24/site-lisp/org-mode/ox-org hides /usr/share/emacs/24.5/lisp/org/ox-org /usr/share/emacs24/site-lisp/org-mode/org-footnote hides /usr/share/emacs/24.5/lisp/org/org-footnote /usr/share/emacs24/site-lisp/org-mode/org-protocol hides /usr/share/emacs/24.5/lisp/org/org-protocol /usr/share/emacs24/site-lisp/org-mode/ox-texinfo hides /usr/share/emacs/24.5/lisp/org/ox-texinfo /usr/share/emacs24/site-lisp/org-mode/org-crypt hides /usr/share/emacs/24.5/lisp/org/org-crypt /usr/share/emacs24/site-lisp/org-mode/ob hides /usr/share/emacs/24.5/lisp/org/ob /usr/share/emacs24/site-lisp/org-mode/ox hides /usr/share/emacs/24.5/lisp/org/ox /usr/share/emacs24/site-lisp/org-mode/ob-sql hides /usr/share/emacs/24.5/lisp/org/ob-sql /usr/share/emacs24/site-lisp/org-mode/org-clock hides /usr/share/emacs/24.5/lisp/org/org-clock /usr/share/emacs24/site-lisp/org-mode/org-faces hides /usr/share/emacs/24.5/lisp/org/org-faces /usr/share/emacs24/site-lisp/org-mode/ob-picolisp hides /usr/share/emacs/24.5/lisp/org/ob-picolisp /usr/share/emacs24/site-lisp/org-mode/org-agenda hides /usr/share/emacs/24.5/lisp/org/org-agenda /usr/share/emacs24/site-lisp/org-mode/ob-calc hides /usr/share/emacs/24.5/lisp/org/ob-calc /usr/share/emacs24/site-lisp/org-mode/ob-ditaa hides /usr/share/emacs/24.5/lisp/org/ob-ditaa /usr/share/emacs24/site-lisp/org-mode/org-bibtex hides /usr/share/emacs/24.5/lisp/org/org-bibtex /usr/share/emacs24/site-lisp/org-mode/org-version hides /usr/share/emacs/24.5/lisp/org/org-version /usr/share/emacs24/site-lisp/org-mode/ob-ruby hides /usr/share/emacs/24.5/lisp/org/ob-ruby /usr/share/emacs24/site-lisp/org-mode/ob-sass hides /usr/share/emacs/24.5/lisp/org/ob-sass /usr/share/emacs24/site-lisp/org-mode/org-feed hides /usr/share/emacs/24.5/lisp/org/org-feed /usr/share/emacs24/site-lisp/org-mode/org-element hides /usr/share/emacs/24.5/lisp/org/org-element /usr/share/emacs24/site-lisp/org-mode/ob-exp hides /usr/share/emacs/24.5/lisp/org/ob-exp /usr/share/emacs24/site-lisp/org-mode/org-ctags hides /usr/share/emacs/24.5/lisp/org/org-ctags /usr/share/emacs24/site-lisp/org-mode/org-macro hides /usr/share/emacs/24.5/lisp/org/org-macro /usr/share/emacs24/site-lisp/org-mode/ob-sqlite hides /usr/share/emacs/24.5/lisp/org/ob-sqlite /usr/share/emacs24/site-lisp/org-mode/org-archive hides /usr/share/emacs/24.5/lisp/org/org-archive /usr/share/emacs24/site-lisp/org-mode/org-list hides /usr/share/emacs/24.5/lisp/org/org-list /usr/share/emacs24/site-lisp/org-mode/ob-gnuplot hides /usr/share/emacs/24.5/lisp/org/ob-gnuplot /usr/share/emacs24/site-lisp/org-mode/org hides /usr/share/emacs/24.5/lisp/org/org /usr/share/emacs24/site-lisp/org-mode/org-src hides /usr/share/emacs/24.5/lisp/org/org-src /usr/share/emacs24/site-lisp/org-mode/org-datetree hides /usr/share/emacs/24.5/lisp/org/org-datetree /usr/share/emacs24/site-lisp/org-mode/org-table hides /usr/share/emacs/24.5/lisp/org/org-table /usr/share/emacs24/site-lisp/org-mode/org-w3m hides /usr/share/emacs/24.5/lisp/org/org-w3m /usr/share/emacs24/site-lisp/org-mode/ob-screen hides /usr/share/emacs/24.5/lisp/org/ob-screen /usr/share/emacs24/site-lisp/org-mode/ob-awk hides /usr/share/emacs/24.5/lisp/org/ob-awk /usr/share/emacs24/site-lisp/org-mode/ob-makefile hides /usr/share/emacs/24.5/lisp/org/ob-makefile /usr/share/emacs24/site-lisp/org-mode/ob-maxima hides /usr/share/emacs/24.5/lisp/org/ob-maxima /usr/share/emacs24/site-lisp/org-mode/ob-java hides /usr/share/emacs/24.5/lisp/org/ob-java /usr/share/emacs24/site-lisp/latex-cjk-thai/thai-word hides /usr/share/emacs/24.5/lisp/language/thai-word /usr/share/emacs24/site-lisp/auctex/bib-cite hides /usr/share/emacs/site- lisp/auctex/bib-cite /usr/share/emacs24/site-lisp/auctex/context-en hides /usr/share/emacs/site- lisp/auctex/context-en /usr/share/emacs24/site-lisp/auctex/tex-bar hides /usr/share/emacs/site- lisp/auctex/tex-bar /usr/share/emacs24/site-lisp/auctex/tex-jp hides /usr/share/emacs/site- lisp/auctex/tex-jp /usr/share/emacs24/site-lisp/auctex/texmathp hides /usr/share/emacs/site- lisp/auctex/texmathp /usr/share/emacs24/site-lisp/auctex/font-latex hides /usr/share/emacs/site- lisp/auctex/font-latex /usr/share/emacs24/site-lisp/auctex/context hides /usr/share/emacs/site- lisp/auctex/context /usr/share/emacs24/site-lisp/auctex/latex hides /usr/share/emacs/site- lisp/auctex/latex /usr/share/emacs24/site-lisp/auctex/plain-tex hides /usr/share/emacs/site- lisp/auctex/plain-tex /usr/share/emacs24/site-lisp/auctex/prv-emacs hides /usr/share/emacs/site- lisp/auctex/prv-emacs /usr/share/emacs24/site-lisp/auctex/tex-info hides /usr/share/emacs/site- lisp/auctex/tex-info /usr/share/emacs24/site-lisp/auctex/tex-style hides /usr/share/emacs/site- lisp/auctex/tex-style /usr/share/emacs24/site-lisp/auctex/tex hides /usr/share/emacs/site- lisp/auctex/tex /usr/share/emacs24/site-lisp/auctex/preview hides /usr/share/emacs/site- lisp/auctex/preview /usr/share/emacs24/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site- lisp/auctex/multi-prompt /usr/share/emacs24/site-lisp/auctex/tex-mik hides /usr/share/emacs/site- lisp/auctex/tex-mik /usr/share/emacs24/site-lisp/auctex/tex-fold hides /usr/share/emacs/site- lisp/auctex/tex-fold /usr/share/emacs24/site-lisp/auctex/tex-font hides /usr/share/emacs/site- lisp/auctex/tex-font /usr/share/emacs24/site-lisp/auctex/tex-buf hides /usr/share/emacs/site- lisp/auctex/tex-buf /usr/share/emacs24/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site- lisp/auctex/toolbar-x /usr/share/emacs24/site-lisp/auctex/context-nl hides /usr/share/emacs/site- lisp/auctex/context-nl Features: (shadow sort mail-extr emacsbug magit-blame view magit-bisect magit-key-mode magit diff-mode log-edit pcvs-util add-log sendmail outline-magic dired warnings ert ewoc debug flycheck subr-x dash pcase jka-compr let-alist tar-mode json epl flymake-easy autoload lisp-mnt mule-util mm-archive message rfc822 mml mml-sec mailabbrev gmm-utils mailheader mm-decode mm-bodies mm-encode mail-utils network-stream starttls url-http tls mail-parse rfc2231 rfc2047 rfc2045 ietf-drums url-gw url-cache url-auth url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse url-vars epg pp apropos cus-edit wid-edit misearch multi-isearch dabbrev eieio-opt speedbar sb-image ezimage dframe help-mode vc-git pylint tramp tramp-compat auth-source eieio byte-opt bytecomp byte-compile cl-extra cconv eieio-core gnus-util mm-util mail-prsvr password-cache tramp-loaddefs trampver python-mode info-look info which-func imenu hippie-exp flymake cc-cmds cc-engine rx finder-inf package epg-config ob-dot org org-macro org-footnote org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs edmacro kmacro 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 sgml-mode taskjuggler-mode skeleton textile-mode derived graphviz-dot-mode cl-macs server paren savehist cus-start cus-load org-install mmm-auto mmm-vars mmm-compat cl gv cl-loaddefs cl-lib 50magit ido ess-toolbar ess-mouse mouseme thingatpt browse-url ess-menu ess-swv ess-noweb ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a shell pcomplete ess-sta-d ess-sta-l cc-vars cc-defs make-regexp ess-sp6-d ess-sp3-d ess-julia ess-r-d ess-r-completion compile ess-tracebug format-spec ess-roxy advice hideshow ess-help ess-developer eldoc help-fns ess-s-l ess ess-inf comint ansi-color ring ess-mode ess-noweb-mode ess-utils ess-custom executable easymenu ess-compat ess-site emacs-goodies-el emacs-goodies-custom emacs-goodies-loaddefs easy-mmode preview-latex tex-site auto-loads time-date tooltip 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 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 979683 177579) (symbols 48 49089 0) (miscs 40 10057 7903) (strings 32 137178 52914) (string-bytes 1 3955987) (vectors 16 50031) (vector-slots 8 1492512 137469) (floats 8 263 1141) (intervals 56 92666 1609) (buffers 960 48) (heap 1024 91432 3965)) -- Max-Planck-Institute for Dynamics and Self-Organization Research Group Biomedical Physics Am Fassberg 17 D-37077 Goettingen (+49) 551 5176 373 You can obtain my public key 0xF197B128 from all keyservers, e.g. pgp.mit.edu Fingerprint: 9698 BDD4 71CC 1274 B7E2 2049 1EDD 012D F197 B128