Subject: bug#22369: 24.5; comment-style 'extra-line' doesn't correctly indent with tabs

From: Alan Mackenzie <[email-masked]>
Date: 15 Jan 2016 12:42:31 -0000

Bug fixed in emacs-25 branch.

Bug report left open, due to a feature request in it.

-- 
Alan Mackenzie (Nuremberg, Germany).

In article <[email-masked]> you wrote:
> (setq c-basic-offset 8
>       tab-width 8
>       indent-tabs-mode t
>       comment-style 'extra-line)
> (c-set-style "linux")

> Using the above settings the comment-dwim (with region active) indent
> the second and last lines with spaces instead of tabs.

>         /*
>          * void main()
>          * {
>          *  int i;
>          *  int b;
>          *  printf("format string");
>          * }
>          */

> For better comprehension check out this
> http://stackoverflow.com/questions/34710840/c-comment-in-emacs-linux-kernel-style-v2

> May I suggest the addition of a new comment-style option that does like this?

>         /* void main()
>          * {
>          *  int i;
>          *  int b;
>          *  printf("format string");
>          * }
>          */

> In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.6)
>  of 2015-09-09 on foutrelis
> Windowing system distributor `The X.Org Foundation', version 11.0.11800000
> System Description:    Arch Linux

> Configured using:
>  `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
>  --localstatedir=/var --with-x-toolkit=gtk3 --with-xft
>  'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
>  --param=ssp-buffer-size=4' CPPFLAGS=-D_FORTIFY_SOURCE=2
>  LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

> Important settings:
>   value of $LC_CTYPE: pt_BR.UTF-8
>   value of $LC_MONETARY: pt_BR.UTF-8
>   value of $LC_NUMERIC: pt_BR.UTF-8
>   value of $LC_TIME: pt_BR.UTF-8
>   value of $LANG: en_US.UTF-8
>   value of $XMODIFIERS: @im=ibus
>   locale-coding-system: utf-8-unix

> Major mode: Emacs-Lisp

> 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

> Recent messages:

> Load-path shadows:
> /home/geyslan/.emacs.d/elpa/helm-20151106.2158/helm-multi-match hides
> /home/geyslan/.emacs.d/elpa/helm-core-20151104.0/helm-multi-match

> 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 rfc2047 rfc2045 ietf-drums
> mm-util mail-prsvr mail-utils jka-compr find-func help-fns sregex
> re-builder debug tabify cc-langs cc-mode cc-fonts cc-guess cc-menus
> cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs help-mode
> go-mode-autoloads info easymenu package epg-config edmacro kmacro
> cl-loaddefs cl-lib 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 132515 7051)
>  (symbols 48 21866 0)
>  (miscs 40 226 747)
>  (strings 32 23818 4361)
>  (string-bytes 1 883190)
>  (vectors 16 12839)
>  (vector-slots 8 428611 6669)
>  (floats 8 75 442)
>  (intervals 56 799 191)
>  (buffers 960 17)
>  (heap 1024 45432 1517))