Emacs hangs on the creation of a newline with evil-ret when in a cperl buffer with some POD documentation after the __END__. This doesn't appear to be a bug in evil, but instead a bug in cperl or syntax-propertize, but I can't tell for sure. I can reproduce it with emacs -Q and the following configuration: ;; evil-error-reproduce.el: (defalias 'perl-mode 'cperl-mode) (add-to-list 'load-path "") (require 'evil) (evil-mode 1) ;; end evil-error-reproduce.el Once this config is evaluated, open a .pl file which has POD after __END__ like the following: # hangs.pl: print "hello world"; __END__ =head1 NAME # end hangs.pl and open a newline after the print statement with evil-ret (bound to RET when in insert mode by default). I haven't been able to get further than this in debugging this problem. In GNU Emacs 24.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.10) of 2012-07-17 on jcp-lenovo Windowing system distributor `The X.Org Foundation', version 11.0.11202000 Configured using: `configure '--prefix=/usr' '--build=x86_64-pc-linux-gnu' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--libdir=/usr/lib64' '--disable-dependency-tracking' '--program-suffix=-emacs-24' '--infodir=/usr/share/info/emacs-24' '--enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp' '--with-crt-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64' '--with-gameuser=games' '--without-compress-info' '--disable-maintainer-mode' '--without-hesiod' '--without-kerberos' '--without-kerberos5' '--with-gpm' '--with-dbus' '--with-gnutls' '--without-xml2' '--without-selinux' '--without-wide-int' '--with-sound' '--with-x' '--without-ns' '--without-gconf' '--without-gsettings' '--without-toolkit-scroll-bars' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm' '--without-imagemagick' '--with-xft' '--without-libotf' '--without-m17n-flt' '--with-x-toolkit=gtk' 'GENTOO_PACKAGE=app-editors/emacs-24.1' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu' 'CFLAGS=-O2 -march=native -pipe' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed -Wl,-O1' 'CPPFLAGS='' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: en_US.UTF-8 value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: CPerl Minor modes in effect: evil-mode: t evil-local-mode: t tooltip-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 line-number-mode: t transient-mark-mode: t Recent input: r r e m r e j j j j j j j j j j j j j j j j j j j j j j j j j j j k o ESC j j j j V G d g g j j k k V j j j j d j j j j j j j j j j j j j j j j j j j j j j j j j k k i ESC u u j j j j j j j j j j j j j j j j j j j j j j j j i ESC u u u u u u k k k g g j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j k k k k g g V j j j j j k d j j j j j j j j j j j j j j j j j j j j j j j j i C-g ESC u j j j j j V G d k k k k k i i C-g ESC u C-x b C-g C-x C-b C-g C-x b s c C-g C-x C-f C-g C-x b s c r C-x 1 j j o ESC M-j M-j p k A C-x C-e ESC C-x C-b r e m C-g C-x C-g C-x b M-1 C-x 1 i C-g ESC k d d M-x r e p o r Recent messages: Quit [2 times] Undo! Quit [4 times] byte-code: End of buffer [2 times] t End of line Quit Making completion list... Quit [2 times] Making completion list... Load-path shadows: /usr/share/emacs/site-lisp/cedet/speedbar/speedbar hides /usr/share/emacs/24.1/lisp/speedbar /usr/share/emacs/site-lisp/cedet/common/ezimage hides /usr/share/emacs/24.1/lisp/ezimage /usr/share/emacs/site-lisp/cedet/speedbar/dframe hides /usr/share/emacs/24.1/lisp/dframe /usr/share/emacs/site-lisp/cedet/speedbar/sb-image hides /usr/share/emacs/24.1/lisp/sb-image /usr/share/emacs/site-lisp/ruby-mode/ruby-mode hides /usr/share/emacs/24.1/lisp/progmodes/ruby-mode /usr/share/emacs/site-lisp/org-mode/org-archive hides /usr/share/emacs/24.1/lisp/org/org-archive /usr/share/emacs/site-lisp/org-mode/ob-clojure hides /usr/share/emacs/24.1/lisp/org/ob-clojure /usr/share/emacs/site-lisp/org-mode/ob-keys hides /usr/share/emacs/24.1/lisp/org/ob-keys /usr/share/emacs/site-lisp/org-mode/org-macs hides /usr/share/emacs/24.1/lisp/org/org-macs /usr/share/emacs/site-lisp/org-mode/org-agenda hides /usr/share/emacs/24.1/lisp/org/org-agenda /usr/share/emacs/site-lisp/org-mode/org-mks hides /usr/share/emacs/24.1/lisp/org/org-mks /usr/share/emacs/site-lisp/org-mode/org-capture hides /usr/share/emacs/24.1/lisp/org/org-capture /usr/share/emacs/site-lisp/org-mode/ob-plantuml hides /usr/share/emacs/24.1/lisp/org/ob-plantuml /usr/share/emacs/site-lisp/org-mode/org-indent hides /usr/share/emacs/24.1/lisp/org/org-indent /usr/share/emacs/site-lisp/org-mode/ob-table hides /usr/share/emacs/24.1/lisp/org/ob-table /usr/share/emacs/site-lisp/org-mode/org-src hides /usr/share/emacs/24.1/lisp/org/org-src /usr/share/emacs/site-lisp/org-mode/ob-asymptote hides /usr/share/emacs/24.1/lisp/org/ob-asymptote /usr/share/emacs/site-lisp/org-mode/org-bbdb hides /usr/share/emacs/24.1/lisp/org/org-bbdb /usr/share/emacs/site-lisp/org-mode/org-datetree hides /usr/share/emacs/24.1/lisp/org/org-datetree /usr/share/emacs/site-lisp/org-mode/org-attach hides /usr/share/emacs/24.1/lisp/org/org-attach /usr/share/emacs/site-lisp/org-mode/org-clock hides /usr/share/emacs/24.1/lisp/org/org-clock /usr/share/emacs/site-lisp/org-mode/org-list hides /usr/share/emacs/24.1/lisp/org/org-list /usr/share/emacs/site-lisp/org-mode/ob-sql hides /usr/share/emacs/24.1/lisp/org/ob-sql /usr/share/emacs/site-lisp/org-mode/ob-sqlite hides /usr/share/emacs/24.1/lisp/org/ob-sqlite /usr/share/emacs/site-lisp/org-mode/ob-org hides /usr/share/emacs/24.1/lisp/org/ob-org /usr/share/emacs/site-lisp/org-mode/org-crypt hides /usr/share/emacs/24.1/lisp/org/org-crypt /usr/share/emacs/site-lisp/org-mode/ob-R hides /usr/share/emacs/24.1/lisp/org/ob-R /usr/share/emacs/site-lisp/org-mode/ob-python hides /usr/share/emacs/24.1/lisp/org/ob-python /usr/share/emacs/site-lisp/org-mode/ob-sh hides /usr/share/emacs/24.1/lisp/org/ob-sh /usr/share/emacs/site-lisp/org-mode/ob-dot hides /usr/share/emacs/24.1/lisp/org/ob-dot /usr/share/emacs/site-lisp/org-mode/ob-ruby hides /usr/share/emacs/24.1/lisp/org/ob-ruby /usr/share/emacs/site-lisp/org-mode/org-publish hides /usr/share/emacs/24.1/lisp/org/org-publish /usr/share/emacs/site-lisp/org-mode/org-beamer hides /usr/share/emacs/24.1/lisp/org/org-beamer /usr/share/emacs/site-lisp/org-mode/org-mac-message hides /usr/share/emacs/24.1/lisp/org/org-mac-message /usr/share/emacs/site-lisp/org-mode/org-faces hides /usr/share/emacs/24.1/lisp/org/org-faces /usr/share/emacs/site-lisp/org-mode/ob-exp hides /usr/share/emacs/24.1/lisp/org/ob-exp /usr/share/emacs/site-lisp/org-mode/org-entities hides /usr/share/emacs/24.1/lisp/org/org-entities /usr/share/emacs/site-lisp/org-mode/ob-awk hides /usr/share/emacs/24.1/lisp/org/ob-awk /usr/share/emacs/site-lisp/org-mode/org-html hides /usr/share/emacs/24.1/lisp/org/org-html /usr/share/emacs/site-lisp/org-mode/ob-ref hides /usr/share/emacs/24.1/lisp/org/ob-ref /usr/share/emacs/site-lisp/org-mode/org-inlinetask hides /usr/share/emacs/24.1/lisp/org/org-inlinetask /usr/share/emacs/site-lisp/org-mode/org-freemind hides /usr/share/emacs/24.1/lisp/org/org-freemind /usr/share/emacs/site-lisp/org-mode/org-feed hides /usr/share/emacs/24.1/lisp/org/org-feed /usr/share/emacs/site-lisp/org-mode/ob-calc hides /usr/share/emacs/24.1/lisp/org/ob-calc /usr/share/emacs/site-lisp/org-mode/ob-js hides /usr/share/emacs/24.1/lisp/org/ob-js /usr/share/emacs/site-lisp/org-mode/ob-sass hides /usr/share/emacs/24.1/lisp/org/ob-sass /usr/share/emacs/site-lisp/org-mode/org-footnote hides /usr/share/emacs/24.1/lisp/org/org-footnote /usr/share/emacs/site-lisp/org-mode/ob-emacs-lisp hides /usr/share/emacs/24.1/lisp/org/ob-emacs-lisp /usr/share/emacs/site-lisp/org-mode/org-remember hides /usr/share/emacs/24.1/lisp/org/org-remember /usr/share/emacs/site-lisp/org-mode/ob-eval hides /usr/share/emacs/24.1/lisp/org/ob-eval /usr/share/emacs/site-lisp/org-mode/org-id hides /usr/share/emacs/24.1/lisp/org/org-id /usr/share/emacs/site-lisp/org-mode/org-icalendar hides /usr/share/emacs/24.1/lisp/org/org-icalendar /usr/share/emacs/site-lisp/org-mode/org-plot hides /usr/share/emacs/24.1/lisp/org/org-plot /usr/share/emacs/site-lisp/org-mode/ob-css hides /usr/share/emacs/24.1/lisp/org/ob-css /usr/share/emacs/site-lisp/org-mode/org-jsinfo hides /usr/share/emacs/24.1/lisp/org/org-jsinfo /usr/share/emacs/site-lisp/org-mode/org-vm hides /usr/share/emacs/24.1/lisp/org/org-vm /usr/share/emacs/site-lisp/org-mode/org-mobile hides /usr/share/emacs/24.1/lisp/org/org-mobile /usr/share/emacs/site-lisp/org-mode/org-mhe hides /usr/share/emacs/24.1/lisp/org/org-mhe /usr/share/emacs/site-lisp/org-mode/org-taskjuggler hides /usr/share/emacs/24.1/lisp/org/org-taskjuggler /usr/share/emacs/site-lisp/org-mode/org-table hides /usr/share/emacs/24.1/lisp/org/org-table /usr/share/emacs/site-lisp/org-mode/org-bibtex hides /usr/share/emacs/24.1/lisp/org/org-bibtex /usr/share/emacs/site-lisp/org-mode/org-exp hides /usr/share/emacs/24.1/lisp/org/org-exp /usr/share/emacs/site-lisp/org-mode/ob-tangle hides /usr/share/emacs/24.1/lisp/org/ob-tangle /usr/share/emacs/site-lisp/org-mode/ob-perl hides /usr/share/emacs/24.1/lisp/org/ob-perl /usr/share/emacs/site-lisp/org-mode/ob-scheme hides /usr/share/emacs/24.1/lisp/org/ob-scheme /usr/share/emacs/site-lisp/org-mode/ob-gnuplot hides /usr/share/emacs/24.1/lisp/org/ob-gnuplot /usr/share/emacs/site-lisp/org-mode/org-mouse hides /usr/share/emacs/24.1/lisp/org/org-mouse /usr/share/emacs/site-lisp/org-mode/ob-lisp hides /usr/share/emacs/24.1/lisp/org/ob-lisp /usr/share/emacs/site-lisp/org-mode/ob-C hides /usr/share/emacs/24.1/lisp/org/ob-C /usr/share/emacs/site-lisp/org-mode/ob-haskell hides /usr/share/emacs/24.1/lisp/org/ob-haskell /usr/share/emacs/site-lisp/org-mode/org-ascii hides /usr/share/emacs/24.1/lisp/org/org-ascii /usr/share/emacs/site-lisp/org-mode/ob-java hides /usr/share/emacs/24.1/lisp/org/ob-java /usr/share/emacs/site-lisp/org-mode/org-habit hides /usr/share/emacs/24.1/lisp/org/org-habit /usr/share/emacs/site-lisp/org-mode/ob-lob hides /usr/share/emacs/24.1/lisp/org/ob-lob /usr/share/emacs/site-lisp/org-mode/org-xoxo hides /usr/share/emacs/24.1/lisp/org/org-xoxo /usr/share/emacs/site-lisp/org-mode/org-info hides /usr/share/emacs/24.1/lisp/org/org-info /usr/share/emacs/site-lisp/org-mode/org-latex hides /usr/share/emacs/24.1/lisp/org/org-latex /usr/share/emacs/site-lisp/org-mode/ob-ledger hides /usr/share/emacs/24.1/lisp/org/ob-ledger /usr/share/emacs/site-lisp/org-mode/org-irc hides /usr/share/emacs/24.1/lisp/org/org-irc /usr/share/emacs/site-lisp/org-mode/org-w3m hides /usr/share/emacs/24.1/lisp/org/org-w3m /usr/share/emacs/site-lisp/org-mode/ob hides /usr/share/emacs/24.1/lisp/org/ob /usr/share/emacs/site-lisp/org-mode/ob-matlab hides /usr/share/emacs/24.1/lisp/org/ob-matlab /usr/share/emacs/site-lisp/org-mode/ob-ditaa hides /usr/share/emacs/24.1/lisp/org/ob-ditaa /usr/share/emacs/site-lisp/org-mode/org-docview hides /usr/share/emacs/24.1/lisp/org/org-docview /usr/share/emacs/site-lisp/org-mode/ob-latex hides /usr/share/emacs/24.1/lisp/org/ob-latex /usr/share/emacs/site-lisp/org-mode/org hides /usr/share/emacs/24.1/lisp/org/org /usr/share/emacs/site-lisp/org-mode/org-timer hides /usr/share/emacs/24.1/lisp/org/org-timer /usr/share/emacs/site-lisp/org-mode/org-exp-blocks hides /usr/share/emacs/24.1/lisp/org/org-exp-blocks /usr/share/emacs/site-lisp/org-mode/ob-lilypond hides /usr/share/emacs/24.1/lisp/org/ob-lilypond /usr/share/emacs/site-lisp/org-mode/org-special-blocks hides /usr/share/emacs/24.1/lisp/org/org-special-blocks /usr/share/emacs/site-lisp/org-mode/ob-mscgen hides /usr/share/emacs/24.1/lisp/org/ob-mscgen /usr/share/emacs/site-lisp/org-mode/ob-comint hides /usr/share/emacs/24.1/lisp/org/ob-comint /usr/share/emacs/site-lisp/org-mode/org-gnus hides /usr/share/emacs/24.1/lisp/org/org-gnus /usr/share/emacs/site-lisp/org-mode/org-install hides /usr/share/emacs/24.1/lisp/org/org-install /usr/share/emacs/site-lisp/org-mode/org-compat hides /usr/share/emacs/24.1/lisp/org/org-compat /usr/share/emacs/site-lisp/org-mode/org-mew hides /usr/share/emacs/24.1/lisp/org/org-mew /usr/share/emacs/site-lisp/org-mode/org-rmail hides /usr/share/emacs/24.1/lisp/org/org-rmail /usr/share/emacs/site-lisp/org-mode/ob-screen hides /usr/share/emacs/24.1/lisp/org/ob-screen /usr/share/emacs/site-lisp/org-mode/ob-octave hides /usr/share/emacs/24.1/lisp/org/ob-octave /usr/share/emacs/site-lisp/org-mode/org-wl hides /usr/share/emacs/24.1/lisp/org/org-wl /usr/share/emacs/site-lisp/org-mode/ob-ocaml hides /usr/share/emacs/24.1/lisp/org/ob-ocaml /usr/share/emacs/site-lisp/org-mode/org-protocol hides /usr/share/emacs/24.1/lisp/org/org-protocol /usr/share/emacs/site-lisp/org-mode/org-pcomplete hides /usr/share/emacs/24.1/lisp/org/org-pcomplete /usr/share/emacs/site-lisp/org-mode/org-colview hides /usr/share/emacs/24.1/lisp/org/org-colview /usr/share/emacs/site-lisp/org-mode/org-ctags hides /usr/share/emacs/24.1/lisp/org/org-ctags /usr/share/emacs/site-lisp/org-mode/org-docbook hides /usr/share/emacs/24.1/lisp/org/org-docbook /usr/share/emacs/site-lisp/cedet/eieio/eieio-speedbar hides /usr/share/emacs/24.1/lisp/emacs-lisp/eieio-speedbar /usr/share/emacs/site-lisp/cedet/eieio/eieio hides /usr/share/emacs/24.1/lisp/emacs-lisp/eieio /usr/share/emacs/site-lisp/cedet/eieio/eieio-opt hides /usr/share/emacs/24.1/lisp/emacs-lisp/eieio-opt /usr/share/emacs/site-lisp/cedet/eieio/chart hides /usr/share/emacs/24.1/lisp/emacs-lisp/chart /usr/share/emacs/site-lisp/cedet/eieio/eieio-datadebug hides /usr/share/emacs/24.1/lisp/emacs-lisp/eieio-datadebug /usr/share/emacs/site-lisp/cedet/eieio/eieio-base hides /usr/share/emacs/24.1/lisp/emacs-lisp/eieio-base /usr/share/emacs/site-lisp/cedet/eieio/eieio-custom hides /usr/share/emacs/24.1/lisp/emacs-lisp/eieio-custom /usr/share/emacs/site-lisp/cedet/common/inversion hides /usr/share/emacs/24.1/lisp/cedet/inversion /usr/share/emacs/site-lisp/cedet/common/cedet-cscope hides /usr/share/emacs/24.1/lisp/cedet/cedet-cscope /usr/share/emacs/site-lisp/cedet/common/cedet hides /usr/share/emacs/24.1/lisp/cedet/cedet /usr/share/emacs/site-lisp/cedet/common/mode-local hides /usr/share/emacs/24.1/lisp/cedet/mode-local /usr/share/emacs/site-lisp/cedet/ede/ede hides /usr/share/emacs/24.1/lisp/cedet/ede /usr/share/emacs/site-lisp/cedet/common/cedet-global hides /usr/share/emacs/24.1/lisp/cedet/cedet-global /usr/share/emacs/site-lisp/cedet/semantic/semantic hides /usr/share/emacs/24.1/lisp/cedet/semantic /usr/share/emacs/site-lisp/cedet/srecode/srecode hides /usr/share/emacs/24.1/lisp/cedet/srecode /usr/share/emacs/site-lisp/cedet/common/cedet-idutils hides /usr/share/emacs/24.1/lisp/cedet/cedet-idutils /usr/share/emacs/site-lisp/cedet/common/pulse hides /usr/share/emacs/24.1/lisp/cedet/pulse /usr/share/emacs/site-lisp/cedet/common/data-debug hides /usr/share/emacs/24.1/lisp/cedet/data-debug /usr/share/emacs/site-lisp/cedet/common/cedet-files hides /usr/share/emacs/24.1/lisp/cedet/cedet-files Features: (shadow sort gnus-util mail-extr emacsbug message idna format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail regexp-opt rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils newcomment vc-git cperl-mode help-mode easymenu view evil evil-integration evil-maps evil-commands evil-cjk evil-types evil-digraphs evil-search evil-ex evil-macros evil-repeat evil-states evil-core advice help-fns advice-preload evil-common windmove rect evil-vars ring edmacro kmacro time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe lisp-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 loaddefs button faces cus-face files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)