Skip to content

Commit 139ca8d

Browse files
committed
Improve error reporting
1 parent 6d5b6b2 commit 139ca8d

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/parser.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2415,8 +2415,10 @@ namespace Sass {
24152415
{
24162416
int max_len = 14;
24172417
const char* pos = peek < optional_spaces >();
2418+
// backup position to last significant char
2419+
while (!*pos || Prelexer::is_space(*pos)) -- pos;
24182420
bool ellipsis_left = false;
2419-
const char* pos_left(pos - 1);
2421+
const char* pos_left(pos + 1);
24202422
if (pos_left < source) pos_left = source;
24212423
while (*pos_left && pos_left > source) {
24222424
if (pos - pos_left > max_len) {
@@ -2426,23 +2428,21 @@ namespace Sass {
24262428
const char* prev = pos_left - 1;
24272429
if (*prev == '\r') break;
24282430
if (*prev == '\n') break;
2429-
if (*prev == 10) break;
24302431
pos_left = prev;
24312432
}
24322433
bool ellipsis_right = false;
2433-
const char* pos_right(pos);
2434+
const char* pos_right(pos + 1);
24342435
while (*pos_right && pos_right <= end) {
24352436
if (pos_right - pos > max_len) {
24362437
ellipsis_right = true;
24372438
break;
24382439
}
24392440
if (*pos_right == '\r') break;
24402441
if (*pos_right == '\n') break;
2441-
if (*pos_left == 10) break;
24422442
++ pos_right;
24432443
}
2444-
std::string left(pos_left, pos);
2445-
std::string right(pos, pos_right);
2444+
std::string left(pos_left, pos + 1);
2445+
std::string right(pos + 1, pos_right);
24462446
if (ellipsis_left) left = ellipsis + left;
24472447
if (ellipsis_right) right = right + ellipsis;
24482448
// now pass new message to the more generic error function

0 commit comments

Comments
 (0)