Subject: electric-indent-mode breaks paragraph-indent-mode

From: David Liu <[email-masked]>
Date: Thu, 5 Jul 2018 11:37:46 -0400

To produce this bug, I start a buffer and do M-x paragraph-indent-text-mode. 
Then, I enter four spaces to indicate the start of a paragraph, followed by a 
short sentence, then press Return. This correctly goes to a newline, but 
incorrectly causes the four spaces at the beginning to be deleted. If I attempt 
to indicate the start of more new paragraphs, this happens again. Hence, 
there's actually no way to start new paragraphs in paragraph-indent-text-mode. 
The only way correct this behavior is to evaluate (electric-indent-mode -1). Then, 
everything works correctly.

In GNU Emacs 25.3.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version 10.9.5 (Build 13F1911))
 of 2017-09-12 built on builder10-9.local
Windowing system distributor 'Apple', version 10.3.1561
Configured using:
 'configure --with-ns '--enable-locallisppath=/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp' --with-modules'

Configured features:
NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES

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

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  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 messages:
Loading /Users/daveliu/quicklisp/slime-helper.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils
slime-fancy slime-trace-dialog slime-fontifying-fu slime-package-fu
slime-references slime-compiler-notes-tree slime-scratch
slime-presentations advice bridge slime-macrostep macrostep
slime-mdot-fu slime-enclosing-context slime-fuzzy slime-fancy-trace
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-repl elp slime-parse slime derived edmacro kmacro lisp-mnt gud
apropos compile etags xref cl-seq project eieio byte-opt bytecomp
byte-compile cl-extra help-mode cconv eieio-core arc-mode archive-mode
noutline outline easy-mmode easymenu pp comint ansi-color ring hyperspec
cl-macs thingatpt browse-url cl gv cl-loaddefs pcase cl-lib
slime-autoloads wheatgrass-theme time-date mule-util tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win
ucs-normalize 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 cocoa ns multi-tty
make-network-process emacs)

Memory information:
((conses 16 303942 17008)
 (symbols 48 26532 0)
 (miscs 40 59 258)
 (strings 32 34958 7574)
 (string-bytes 1 992619)
 (vectors 16 38193)
 (vector-slots 8 723980 4807)
 (floats 8 273 63)
 (intervals 56 229 0)
 (buffers 976 17))