Subject: bug#19751: 25.0.50; scss-mode: interpolated variable filling

From: Simen Heggestøyl <[email-masked]>
Date: Mon, 02 Feb 2015 23:59:15 +0100

The following Sassy CSS block is filled weirdly by SCSS mode when
pressing `M-q' at the beginning of the block:

@media #{$medium} {
    background: #f0f0f0;
}

Is filled to:

@media #{
    $medium
} {
    background: #f0f0f0;
}

As a more complicated example, the following:

@mixin firefox-message($selector) {
    body.firefox #{$selector}:before {
        content: "Hi, Firefox users!";
    }
}

Is filled to:

@mixin firefox-message($selector) {
    body.firefox #{
        $selector
    }:before {
        content: "Hi, Firefox users!";
    }
}

There seems to be an error with how SCSS mode does filling when
interpolated variables are involved, misinterpreting it as an ordinary
block.

In GNU Emacs 25.0.50.9 (x86_64-unknown-linux-gnu, GTK+ Version 3.14.5)
 of 2015-02-02 on x240
Repository revision: c10828bd8520db83cc06a2ad5de6f8a1ad74b83c
Windowing system distributor `The X.Org Foundation', version 
11.0.11602901
System Description:	Debian GNU/Linux 8.0 (jessie)

Configured using:
 `configure --without-makeinfo'

Configured features:
XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS NOTIFY LIBXML2 FREETYPE XFT
ZLIB

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
  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

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message dired format-spec
rfc822 mml easymenu 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 time-date tooltip
eldoc 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 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 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 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 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 75204 8420)
 (symbols 48 17974 0)
 (miscs 40 50 149)
 (strings 32 10960 3858)
 (string-bytes 1 296445)
 (vectors 16 9363)
 (vector-slots 8 386521 15780)
 (floats 8 70 103)
 (intervals 56 176 1)
 (buffers 976 11)
 (heap 1024 32725 968))