Ignore:
Timestamp:
Jan 17, 2020, 3:52:27 PM (3 months ago)
Author:
cedric@…
Message:

Mise a jour de la lib ScssPHP (corrige un bug de compilation avec BootStrap? 4.4)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/scssphp/trunk/lib/scssphp/src/Compiler.php

    r119345 r119818  
    875875        $out    = [];
    876876        $wasTag = false;
     877        $pseudo = [];
     878
     879        while (count($other) && strpos(end($other), ':')===0) {
     880            array_unshift($pseudo, array_pop($other));
     881        }
    877882
    878883        foreach ([array_reverse($base), array_reverse($other)] as $single) {
     
    898903            array_unshift($out, $tag[0]);
    899904        }
     905        while (count($pseudo)) {
     906            $out[] = array_shift($pseudo);
     907        }
    900908
    901909        return $out;
     
    26012609
    26022610                $this->pushEnv();
     2611                $storeEnv = $this->storeEnv;
     2612                $this->storeEnv = $this->env;
    26032613
    26042614                foreach ($list[2] as $item) {
     
    26172627                    if ($ret) {
    26182628                        if ($ret[0] !== Type::T_CONTROL) {
     2629                            $store = $this->env->store;
     2630                            $this->storeEnv = $storeEnv;
    26192631                            $this->popEnv();
     2632                            foreach ($store as $key => $value) {
     2633                                if (!in_array($key, $each->vars)) {
     2634                                    $this->set($key, $value, true);
     2635                                }
     2636                            }
    26202637
    26212638                            return $ret;
     
    26272644                    }
    26282645                }
    2629 
     2646                $store = $this->env->store;
     2647                $this->storeEnv = $storeEnv;
    26302648                $this->popEnv();
     2649                foreach ($store as $key => $value) {
     2650                    if (!in_array($key, $each->vars)) {
     2651                        $this->set($key, $value, true);
     2652                    }
     2653                }
     2654
    26312655                break;
    26322656
     
    41704194    {
    41714195        $storeEnv = $env;
     4196        $specialContentKey = static::$namespaces['special'] . 'content';
    41724197
    41734198        $hasNamespace = $name[0] === '^' || $name[0] === '@' || $name[0] === '%';
     
    41794204
    41804205            if (! $hasNamespace && isset($env->marker)) {
    4181                 $env = $storeEnv;
    4182                 break;
     4206                if (! empty($env->store[$specialContentKey])) {
     4207                    $env = $env->store[$specialContentKey]->scope;
     4208                    continue;
     4209                }
     4210
     4211                if (! empty($env->declarationScopeParent)) {
     4212                    $env = $env->declarationScopeParent;
     4213                    continue;
     4214                } else {
     4215                    $env = $storeEnv;
     4216                    break;
     4217                }
    41834218            }
    41844219
Note: See TracChangeset for help on using the changeset viewer.