unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#19751: 25.0.50; scss-mode: interpolated variable filling
@ 2015-02-02 22:59 Simen Heggestøyl
  2015-02-02 23:09 ` Simen Heggestøyl
  0 siblings, 1 reply; 3+ messages in thread
From: Simen Heggestøyl @ 2015-02-02 22:59 UTC (permalink / raw)
  To: 19751

[-- Attachment #1: Type: text/plain, Size: 3112 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 4627 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#19751: 25.0.50; scss-mode: interpolated variable filling
  2015-02-02 22:59 bug#19751: 25.0.50; scss-mode: interpolated variable filling Simen Heggestøyl
@ 2015-02-02 23:09 ` Simen Heggestøyl
  2015-02-05 20:32   ` Stefan Monnier
  0 siblings, 1 reply; 3+ messages in thread
From: Simen Heggestøyl @ 2015-02-02 23:09 UTC (permalink / raw)
  To: 19751

[-- Attachment #1: Type: text/plain, Size: 1007 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 2021 bytes --]

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#19751: 25.0.50; scss-mode: interpolated variable filling
  2015-02-02 23:09 ` Simen Heggestøyl
@ 2015-02-05 20:32   ` Stefan Monnier
  0 siblings, 0 replies; 3+ messages in thread
From: Stefan Monnier @ 2015-02-05 20:32 UTC (permalink / raw)
  To: Simen Heggestøyl; +Cc: 19751-done

> 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@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?]





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-02-05 20:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-02 22:59 bug#19751: 25.0.50; scss-mode: interpolated variable filling Simen Heggestøyl
2015-02-02 23:09 ` Simen Heggestøyl
2015-02-05 20:32   ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).