Subject: bug#16381: 24.3.50; align issue

From: [email-masked]
Date: Tue, 07 Jan 2014 12:51:13 +0200

When trying this with a simple c-program, it seems the `align' function
has changed behavior since 24.3; it no longer (by default at least)
gives at least one space, and in some cases actually breaks the code by
concatenating the type and variable name. E.g. write some like this
(after emacs -Q test.c)

int foo (int bar)
{
  char flub;
 
}

now mark the 'char flub' line, M-x align and we get:

int foo (int bar)
{
  charflub;
 
}

which gcc doesn't really appreciate. In general it seems that align does
not insert at least one space between type and variable in c-mode.

In GNU Emacs 24.3.50.5 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.6)
 of 2014-01-07 on borealis
Windowing system distributor `Fedora Project', version 11.0.11404000
System Description:	Fedora release 20 (Heisenbug)

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LC_MONETARY: en_DK.utf8
  value of $LC_NUMERIC: en_DK.utf8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: C/l

Minor modes in effect:
  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
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
<down-mouse-1> <mouse-1> i n t SPC f o o SPC ( i n 
t a <backspace> SPC b a r ) <return> { <return> <return> 
{ <backspace> } <up> <up> <return> i n t SPC c u u 
x ; <return> c h a r SPC f l u b ; <return> <backspace> 
<up> <up> C-SPC <down> <down> M-x <up> <up> a l i g 
n <return> <help-echo> <down-mouse-1> <mouse-movement> 
<mouse-movement> <drag-mouse-1> <down-mouse-1> <mouse-1> 
<down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> 
<down-mouse-1> <mouse-1> <down-mouse-1> <mouse-1> SPC 
<down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> 
M-w <down-mouse-1> <mouse-movement> <mouse-movement> 
<drag-mouse-1> M-x <up> <return> <down-mouse-1> <drag-mouse-1> 
<down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> 
<down-mouse-1> <mouse-1> <down-mouse-1> <mouse-movement> 
<mouse-movement> <drag-mouse-1> M-w <down-mouse-1> 
<mouse-1> C-/ <up> <up> <right> C-k C-k <right> <right> 
<right> <right> <right> <right> <up> <right> C-SPC 
<down> <left> M-x <up> <return> <down-mouse-1> <mouse-1> 
C-/ <left> <left> <left> <left> <left> M-x <up> <return> 
<help-echo> <help-echo> <down-mouse-1> <mouse-movement> 
<drag-mouse-1> <up> <up> <up> <right> C-SPC <down> 
<left> <left> <left> <right> <down> M-x <up> <return> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <menu-bar> <help-menu> <send-emacs-bug
-report>

Recent messages:
Mark set
user-error: Beginning of history; no preceding item [2 times]
Auto-saving...done
Auto-saving...done
<left-fringe> <drag-mouse-1> is undefined
Undo!
Mark set
Undo!
Mark set [2 times]
Auto-saving...done

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message cl-macs gv format-spec
rfc822 mml mml-sec 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 align vc-git cc-langs cl
cl-loaddefs cl-lib cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs 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)