GNU bug report logs - #19751
25.0.50; scss-mode: interpolated variable filling

Previous Next

Package: emacs;

Reported by: Simen Heggestøyl <simenheg <at> gmail.com>

Date: Mon, 2 Feb 2015 23:00:02 UTC

Severity: normal

Found in version 25.0.50

Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19751 in the body.
You can then email your comments to 19751 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#19751; Package emacs. (Mon, 02 Feb 2015 23:00:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simen Heggestøyl <simenheg <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 02 Feb 2015 23:00:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Simen Heggestøyl <simenheg <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.0.50; scss-mode: interpolated variable filling
Date: Mon, 02 Feb 2015 23:59:15 +0100
[Message part 1 (text/plain, inline)]
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))
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19751; Package emacs. (Mon, 02 Feb 2015 23:11:02 GMT) Full text and rfc822 format available.

Message #8 received at 19751 <at> debbugs.gnu.org (full text, mbox):

From: Simen Heggestøyl <simenheg <at> gmail.com>
To: 19751 <at> debbugs.gnu.org
Subject: bug#19751: 25.0.50; scss-mode: interpolated variable filling
Date: Tue, 03 Feb 2015 00:09:50 +0100
[Message part 1 (text/plain, inline)]
I'm not entirely sure what's going on here, but something along the
following lines seems to fix it:

diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el
index c171bd5..7d364d4 100644
--- a/lisp/textmodes/css-mode.el
+++ b/lisp/textmodes/css-mode.el
@@ -401,11 +401,16 @@
              (cond
               ;; This is a false positive inside a string or comment.
               ((nth 8 (syntax-ppss)) nil)
+               ;; This is a false positive when encountering an
+               ;; interpolated variable.
+               ((eq (char-before (- (point) 1)) ?#) nil)
               ((eq (char-before) ?\})
                (save-excursion
                  (forward-char -1)
                  (skip-chars-backward " \t")
-                  (unless (bolp) (newline))))
+                  (when (and (not (bolp))
+                             (scss-smie--not-interpolation-p))
+                    (newline))))
               (t
                (while
                    (progn
[Message part 2 (text/html, inline)]

Reply sent to Stefan Monnier <monnier <at> IRO.UMontreal.CA>:
You have taken responsibility. (Thu, 05 Feb 2015 20:33:02 GMT) Full text and rfc822 format available.

Notification sent to Simen Heggestøyl <simenheg <at> gmail.com>:
bug acknowledged by developer. (Thu, 05 Feb 2015 20:33:03 GMT) Full text and rfc822 format available.

Message #13 received at 19751-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Simen Heggestøyl <simenheg <at> gmail.com>
Cc: 19751-done <at> debbugs.gnu.org
Subject: Re: bug#19751: 25.0.50; scss-mode: interpolated variable filling
Date: Thu, 05 Feb 2015 15:32:40 -0500
> I'm not entirely sure what's going on here, but something along the
> following lines seems to fix it:

Thanks, looks good, installed,


        Stefan

PS: You're little by little getting to the point where we won't be able
to accept your patches without copyright paperwork.  In preparation for
that, I suggest you start the process right away.  If that's OK with
you, then please fill the form below and email it as instructed to the
FSF so they can send you the relevant paperwork.



Please email the following information to assign <at> gnu.org, and we
will send you the assignment form for your past and future changes.

Please use your full legal name (in ASCII characters) as the subject
line of the message.
----------------------------------------------------------------------
REQUEST: SEND FORM FOR PAST AND FUTURE CHANGES

[What is the name of the program or package you're contributing to?]
Emacs

[Did you copy any files or text written by someone else in these changes?
Even if that material is free software, we need to know about it.]


[Do you have an employer who might have a basis to claim to own
your changes?  Do you attend a school which might make such a claim?]


[For the copyright registration, what country are you a citizen of?]


[What year were you born?]


[Please write your email address here.]


[Please write your postal address here.]





[Which files have you changed so far, and which new files have you written
so far?]




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 06 Mar 2015 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 10 years and 106 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.