Skip to content

Commit c13512e

Browse files
committed
Revert "Merge pull request #2279 from xzyfer/bracked-lists"
This reverts commit 46f5244, reversing changes made to f5c8d35.
1 parent b02e7c4 commit c13512e

File tree

11 files changed

+22
-97
lines changed

11 files changed

+22
-97
lines changed

include/sass/values.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,6 @@ enum Sass_Separator {
3535
SASS_HASH
3636
};
3737

38-
// Tags for denoting Sass list delimiters
39-
enum Sass_List_Delimiter {
40-
SASS_NO_DELIMITER,
41-
SASS_PARENTHESIS,
42-
SASS_BRACKETS
43-
};
44-
4538
// Value Operators
4639
enum Sass_OP {
4740
AND, OR, // logical connectives

src/ast.hpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,25 +1061,21 @@ namespace Sass {
10611061
private:
10621062
ADD_PROPERTY(enum Sass_Separator, separator)
10631063
ADD_PROPERTY(bool, is_arglist)
1064-
ADD_PROPERTY(enum Sass_List_Delimiter, delimiter)
10651064
ADD_PROPERTY(bool, from_selector)
10661065
public:
10671066
List(ParserState pstate,
1068-
size_t size = 0, enum Sass_Separator sep = SASS_SPACE, bool argl = false,
1069-
enum Sass_List_Delimiter delimiter = SASS_NO_DELIMITER)
1067+
size_t size = 0, enum Sass_Separator sep = SASS_SPACE, bool argl = false)
10701068
: Value(pstate),
10711069
Vectorized<Expression_Obj>(size),
10721070
separator_(sep),
10731071
is_arglist_(argl),
1074-
delimiter_(delimiter),
10751072
from_selector_(false)
10761073
{ concrete_type(LIST); }
10771074
List(const List* ptr)
10781075
: Value(ptr),
10791076
Vectorized<Expression_Obj>(*ptr),
10801077
separator_(ptr->separator_),
10811078
is_arglist_(ptr->is_arglist_),
1082-
delimiter_(ptr->delimiter_),
10831079
from_selector_(ptr->from_selector_)
10841080
{ concrete_type(LIST); }
10851081
std::string type() const { return is_arglist_ ? "arglist" : "list"; }
@@ -1088,8 +1084,7 @@ namespace Sass {
10881084
return separator() == SASS_SPACE ?
10891085
" " : (compressed ? "," : ", ");
10901086
}
1091-
bool is_bracketed() const { return delimiter() == SASS_BRACKETS; }
1092-
bool is_invisible() const { return empty() && !is_bracketed(); }
1087+
bool is_invisible() const { return empty(); }
10931088
Expression_Obj value_at_index(size_t i);
10941089

10951090
virtual size_t size() const;

src/context.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,6 @@ namespace Sass {
811811
register_function(ctx, append_sig, append, env);
812812
register_function(ctx, zip_sig, zip, env);
813813
register_function(ctx, list_separator_sig, list_separator, env);
814-
register_function(ctx, is_bracketed_sig, is_bracketed, env);
815814
// Map Functions
816815
register_function(ctx, map_get_sig, map_get, env);
817816
register_function(ctx, map_merge_sig, map_merge, env);

src/debugger.hpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -584,13 +584,11 @@ inline void debug_ast(AST_Node_Ptr node, std::string ind, Env* env)
584584
std::cerr << ind << "List " << expression;
585585
std::cerr << " (" << pstate_source_position(node) << ")";
586586
std::cerr << " (" << expression->length() << ") " <<
587-
(expression->separator() == SASS_COMMA ? "Comma " : expression->separator() == SASS_HASH ? "Map " : "Space ") <<
588-
(expression->delimiter() == SASS_PARENTHESIS ? "Parenthesis " : expression->delimiter() == SASS_BRACKETS ? "Bracket " : "None ") <<
587+
(expression->separator() == SASS_COMMA ? "Comma " : expression->separator() == SASS_HASH ? "Map" : "Space ") <<
589588
" [delayed: " << expression->is_delayed() << "] " <<
590589
" [interpolant: " << expression->is_interpolant() << "] " <<
591590
" [listized: " << expression->from_selector() << "] " <<
592591
" [arglist: " << expression->is_arglist() << "] " <<
593-
" [expanded: " << expression->is_expanded() << "] " <<
594592
" [hash: " << expression->hash() << "] " <<
595593
std::endl;
596594
for(const auto& i : expression->elements()) { debug_ast(i, ind + " ", env); }

src/eval.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -496,8 +496,7 @@ namespace Sass {
496496
l->pstate(),
497497
l->length(),
498498
l->separator(),
499-
l->is_arglist(),
500-
l->delimiter());
499+
l->is_arglist());
501500
for (size_t i = 0, L = l->length(); i < L; ++i) {
502501
ll->append((*l)[i]->perform(this));
503502
}

src/functions.cpp

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1309,7 +1309,7 @@ namespace Sass {
13091309
if (l->empty()) error("argument `$list` of `" + std::string(sig) + "` must not be empty", pstate);
13101310
double index = std::floor(n->value() < 0 ? l->length() + n->value() : n->value() - 1);
13111311
if (index < 0 || index > l->length() - 1) error("index out of bounds for `" + std::string(sig) + "`", pstate);
1312-
List_Ptr result = SASS_MEMORY_NEW(List, pstate, l->length(), l->separator(), false, l->delimiter());
1312+
List_Ptr result = SASS_MEMORY_NEW(List, pstate, l->length(), l->separator());
13131313
for (size_t i = 0, L = l->length(); i < L; ++i) {
13141314
result->append(((i == index) ? v : (*l)[i]));
13151315
}
@@ -1335,7 +1335,7 @@ namespace Sass {
13351335
return SASS_MEMORY_NEW(Null, pstate);
13361336
}
13371337

1338-
Signature join_sig = "join($list1, $list2, $separator: auto, $bracketed: auto)";
1338+
Signature join_sig = "join($list1, $list2, $separator: auto)";
13391339
BUILT_IN(join)
13401340
{
13411341
Map_Obj m1 = Cast<Map>(env["$list1"]);
@@ -1344,13 +1344,10 @@ namespace Sass {
13441344
List_Obj l2 = Cast<List>(env["$list2"]);
13451345
String_Constant_Obj sep = ARG("$separator", String_Constant);
13461346
enum Sass_Separator sep_val = (l1 ? l1->separator() : SASS_SPACE);
1347-
Value* bracketed = ARG("$bracketed", Value);
1348-
enum Sass_List_Delimiter delimiter = (l1 ? l1->delimiter() : SASS_NO_DELIMITER);
13491347
if (!l1) {
13501348
l1 = SASS_MEMORY_NEW(List, pstate, 1);
13511349
l1->append(ARG("$list1", Expression));
13521350
sep_val = (l2 ? l2->separator() : SASS_SPACE);
1353-
delimiter = (l2 ? l2->delimiter() : SASS_NO_DELIMITER);
13541351
}
13551352
if (!l2) {
13561353
l2 = SASS_MEMORY_NEW(List, pstate, 1);
@@ -1368,12 +1365,7 @@ namespace Sass {
13681365
if (sep_str == "space") sep_val = SASS_SPACE;
13691366
else if (sep_str == "comma") sep_val = SASS_COMMA;
13701367
else if (sep_str != "auto") error("argument `$separator` of `" + std::string(sig) + "` must be `space`, `comma`, or `auto`", pstate);
1371-
String_Constant_Obj bracketed_as_str = Cast<String_Constant>(bracketed);
1372-
bool bracketed_is_auto = bracketed_as_str && unquote(bracketed_as_str->value()) == "auto";
1373-
if (!bracketed_is_auto) {
1374-
delimiter = bracketed->is_false() ? SASS_NO_DELIMITER : SASS_BRACKETS;
1375-
}
1376-
List_Obj result = SASS_MEMORY_NEW(List, pstate, len, sep_val, false, delimiter);
1368+
List_Obj result = SASS_MEMORY_NEW(List, pstate, len, sep_val);
13771369
result->concat(l1);
13781370
result->concat(l2);
13791371
return result.detach();
@@ -1993,12 +1985,15 @@ namespace Sass {
19931985
return SASS_MEMORY_NEW(String_Quoted, pstate, ss.str());
19941986
}
19951987

1988+
<<<<<<< HEAD
19961989
Signature is_bracketed_sig = "is-bracketed($list)";
19971990
BUILT_IN(is_bracketed)
19981991
{
19991992
Value_Obj value = ARG("$list", Value);
20001993
List_Obj list = Cast<List>(value);
20011994
return SASS_MEMORY_NEW(Boolean, pstate, list && list->is_bracketed());
20021995
}
1996+
=======
1997+
>>>>>>> parent of 46f5244... Merge pull request #2279 from xzyfer/bracked-lists
20031998
}
20041999
}

src/functions.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ namespace Sass {
105105
extern Signature is_superselector_sig;
106106
extern Signature simple_selectors_sig;
107107
extern Signature selector_parse_sig;
108-
extern Signature is_bracketed_sig;
109108

110109
BUILT_IN(rgb);
111110
BUILT_IN(rgba_4);
@@ -187,7 +186,6 @@ namespace Sass {
187186
BUILT_IN(is_superselector);
188187
BUILT_IN(simple_selectors);
189188
BUILT_IN(selector_parse);
190-
BUILT_IN(is_bracketed);
191189
}
192190
}
193191

src/inspect.cpp

Lines changed: 8 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -362,19 +362,10 @@ namespace Sass {
362362
append_string(")");
363363
}
364364

365-
std::string Inspect::lbracket(List_Ptr list) {
366-
return list->is_bracketed() ? "[" : "(";
367-
}
368-
369-
std::string Inspect::rbracket(List_Ptr list) {
370-
return list->is_bracketed() ? "]" : ")";
371-
}
372-
373365
void Inspect::operator()(List_Ptr list)
374366
{
375-
if (list->empty() && (output_style() == TO_SASS || list->is_bracketed())) {
376-
append_string(lbracket(list));
377-
append_string(rbracket(list));
367+
if (output_style() == TO_SASS && list->empty()) {
368+
append_string("()");
378369
return;
379370
}
380371
std::string sep(list->separator() == SASS_SPACE ? " " : ",");
@@ -385,24 +376,20 @@ namespace Sass {
385376

386377
bool was_space_array = in_space_array;
387378
bool was_comma_array = in_comma_array;
388-
// if the list is bracketed, always include the left bracket
389-
if (list->is_bracketed()) {
390-
append_string(lbracket(list));
391-
}
392379
// probably ruby sass eqivalent of element_needs_parens
393-
else if (output_style() == TO_SASS &&
380+
if (output_style() == TO_SASS &&
394381
list->length() == 1 &&
395382
!list->from_selector() &&
396383
!Cast<List>(list->at(0)) &&
397384
!Cast<Selector_List>(list->at(0))
398385
) {
399-
append_string(lbracket(list));
386+
append_string("(");
400387
}
401388
else if (!in_declaration && (list->separator() == SASS_HASH ||
402389
(list->separator() == SASS_SPACE && in_space_array) ||
403390
(list->separator() == SASS_COMMA && in_comma_array)
404391
)) {
405-
append_string(lbracket(list));
392+
append_string("(");
406393
}
407394

408395
if (list->separator() == SASS_SPACE) in_space_array = true;
@@ -431,29 +418,20 @@ namespace Sass {
431418

432419
in_comma_array = was_comma_array;
433420
in_space_array = was_space_array;
434-
435-
// if the list is bracketed, always include the right bracket
436-
if (list->is_bracketed()) {
437-
if (list->separator() == SASS_COMMA && list->size() == 1) {
438-
append_string(",");
439-
}
440-
append_string(rbracket(list));
441-
}
442421
// probably ruby sass eqivalent of element_needs_parens
443-
else if (output_style() == TO_SASS &&
422+
if (output_style() == TO_SASS &&
444423
list->length() == 1 &&
445424
!list->from_selector() &&
446425
!Cast<List>(list->at(0)) &&
447426
!Cast<Selector_List>(list->at(0))
448427
) {
449-
append_string(",");
450-
append_string(rbracket(list));
428+
append_string(",)");
451429
}
452430
else if (!in_declaration && (list->separator() == SASS_HASH ||
453431
(list->separator() == SASS_SPACE && in_space_array) ||
454432
(list->separator() == SASS_COMMA && in_comma_array)
455433
)) {
456-
append_string(rbracket(list));
434+
append_string(")");
457435
}
458436

459437
}

src/inspect.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,6 @@ namespace Sass {
9191
virtual void operator()(Complex_Selector_Ptr);
9292
virtual void operator()(Selector_List_Ptr);
9393

94-
virtual std::string lbracket(List_Ptr);
95-
virtual std::string rbracket(List_Ptr);
96-
9794
// template <typename U>
9895
// void fallback(U x) { fallback_impl(reinterpret_cast<AST_Node_Ptr>(x)); }
9996
};

src/output.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ namespace Sass {
155155
Expression_Ptr item = list->at(list_i);
156156
if (!item->is_invisible()) all_invisible = false;
157157
}
158-
if (all_invisible && !list->is_bracketed()) bPrintExpression = false;
158+
if (all_invisible) bPrintExpression = false;
159159
}
160160
}
161161
// Print if OK

0 commit comments

Comments
 (0)