Subject: bug#15478: cc-mode does not obey electric-indent-mode

From: Stefan Monnier <[email-masked]>
Date: Sat, 28 Sep 2013 14:10:28 -0400

Package: Emacs
Version: 24.3.50

As the subject says, cc-mode should obey electric-indent-mode and only
perform auto-indent after inserting `;' or braces when the user has
requested it by enabling electric-indent-mode.

        Stefan

In GNU Emacs 24.3.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.20)
 of 2013-09-25 on pastel
Bzr revision: [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.11204000
System Description:	Debian GNU/Linux 7.1 (wheezy)

Configured using:
 `configure -C --enable-checking --enable-check-lisp-object-type
 'CFLAGS=-Wall -g3 -O1 -Wno-pointer-sign''

Important settings:
  value of $LANG: fr_CH.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: InactiveMinibuffer

Minor modes in effect:
  shell-dirtrack-mode: t
  electric-pair-mode: t
  electric-indent-mode: t
  url-handler-mode: t
  global-reveal-mode: t
  reveal-mode: t
  auto-insert-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
C-x C-c <switch-frame> <switch-frame> <help-echo> <switch-frame> 
<switch-frame> <help-echo> C-x 1 . <down> <down-mouse-4> 
<mouse-4> <switch-frame> <switch-frame> <switch-frame> 
<left> <M-backspace> 3 <right> M-d o c t o b r e C-e 
<right> <up> <left> <right> <up> <left> <right> <down> 
<left> <right> <down> <left> <right> C-x C-s <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> C-l <down-mouse-4> 
<mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4> 
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> 
<down-mouse-4> <mouse-4> <down-mouse-5> <mouse-5> <double-down-mouse-5> 
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> 
C-s t p SPC # 1 C-a C-SPC <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> < ! - - SPC C-e C-a C-d 
< C-e <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<left> <left> - - > <return> C-x C-s <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <help-echo> 
<help-echo> <switch-frame> <switch-frame> <help-echo> 
<switch-frame> <switch-frame> <switch-frame> <help-echo> 
<help-echo> <help-echo> <switch-frame> n <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<help-echo> <down-mouse-1> <help-echo> <mouse-movement> 
<mouse-movement> <drag-mouse-1> <help-echo> <down-mouse-1> 
<mouse-1> <double-down-mouse-1> <double-mouse-1> <help-echo> 
<help-echo> C-x C-c M-: # x 1 b 0 0 0 0 <return> M-: 
M-p C-e <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> 1 0 0 0 0 <return> C-h v b 
l i n <tab> - m <tab> <tab> p <tab> <return> <switch-frame> 
<switch-frame> C-M-SPC M-w <help-echo> <help-echo> 
<down-mouse-1> <mouse-1> <double-down-mouse-1> <mouse-movement> 
<mouse-movement> <double-drag-mouse-1> <down-mouse-1> 
<mouse-1> <switch-frame> M-x r e p o - e m - b u g 
<tab> <return>

Recent messages:
Saving file /home/monnier/cours/ift-2035/A2013/index.html...
Wrote /home/monnier/cours/ift-2035/A2013/index.html
Mark saved where search started
Mark set
Saving file /home/monnier/cours/ift-2035/A2013/index.html...
Wrote /home/monnier/cours/ift-2035/A2013/index.html
1769472 (#o6600000, #x1b0000, ?����)
65536 (#o200000, #x10000, ?𐀀)
Making completion list...
Type "q" to delete help frame.

Load-path shadows:
/home/monnier/src/emacs/elpa/packages/company/.dir-locals hides /home/monnier/src/emacs/work/lisp/gnus/.dir-locals

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mail-utils org ob-tangle ob-ref
ob-lob ob-table org-footnote org-src ob-comint ob-keys org-pcomplete
org-list org-faces org-entities org-version ob-emacs-lisp ob org-compat
org-macs ob-eval org-loaddefs find-func midnight icalendar cal-x cal-tex
cal-html appt view cal-china lunar solar cal-dst cal-bahai cal-islam
cal-hebrew holidays hol-loaddefs warnings cal-french diary-lib
diary-loaddefs mule-util cal-move cal-menu calendar cal-loaddefs
misearch multi-isearch sgml-mode skeleton cus-edit cus-start cus-load
wid-edit autorevert filenotify doc-view jka-compr image-mode dired
format-spec executable copyright vc-bzr filecache reftex-dcr reftex
reftex-vars tex-mode compile shell pcomplete comint ansi-color ring
latexenc server noutline outline easy-mmode flyspell ispell eldoc
checkdoc thingatpt help-mode advice help-fns electric url-handlers
url-parse auth-source eieio byte-opt bytecomp byte-compile cconv
eieio-core gnus-util mm-util mail-prsvr password-cache url-vars reveal
autoinsert proof-site proof-autoloads cl-macs gv cl cl-loaddefs cl-lib
pg-vars uniquify time-date savehist minibuf-eldef disp-table finder-inf
info easymenu package bbdb-autoloads agda2 vm-autoloads tooltip
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 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)