diff options
-rw-r--r-- | bugs | 36 |
1 files changed, 34 insertions, 2 deletions
@@ -3656,9 +3656,9 @@ It needs an "interceptor" 'memcmp' function that continues | |||
3656 | reading memory after a difference is found.]], | 3656 | reading memory after a difference is found.]], |
3657 | patch = [[ | 3657 | patch = [[ |
3658 | 2c2 | 3658 | 2c2 |
3659 | < ** $Id: bugs,v 1.150 2016/07/19 17:10:45 roberto Exp roberto $ | 3659 | < ** $Id: bugs,v 1.151 2016/10/19 12:34:27 roberto Exp roberto $ |
3660 | --- | 3660 | --- |
3661 | > ** $Id: bugs,v 1.150 2016/07/19 17:10:45 roberto Exp roberto $ | 3661 | > ** $Id: bugs,v 1.151 2016/10/19 12:34:27 roberto Exp roberto $ |
3662 | 263c263,264 | 3662 | 263c263,264 |
3663 | < for (option = LUA_STRFTIMEOPTIONS; *option != '\0'; option += oplen) { | 3663 | < for (option = LUA_STRFTIMEOPTIONS; *option != '\0'; option += oplen) { |
3664 | --- | 3664 | --- |
@@ -3714,6 +3714,38 @@ patch = [[ | |||
3714 | ]=] | 3714 | ]=] |
3715 | 3715 | ||
3716 | 3716 | ||
3717 | Bug{ | ||
3718 | what = [[Wrong code for a goto followed by a label inside an 'if']], | ||
3719 | report = [[云风, 2017/04/13]], | ||
3720 | since = [[5.2]], | ||
3721 | fix = nil, | ||
3722 | example = [[ | ||
3723 | -- should print 32323232..., but prints only '3' | ||
3724 | if true then | ||
3725 | goto LBL | ||
3726 | ::loop:: | ||
3727 | print(2) | ||
3728 | ::LBL:: | ||
3729 | print(3) | ||
3730 | goto loop | ||
3731 | end | ||
3732 | ]], | ||
3733 | patch = [[ | ||
3734 | --- lparser.c 2017/04/19 17:20:42 2.155.1.1 | ||
3735 | +++ lparser.c 2017/04/29 18:11:40 2.155.1.2 | ||
3736 | @@ -1392,7 +1392,7 @@ | ||
3737 | luaK_goiffalse(ls->fs, &v); /* will jump to label if condition is true */ | ||
3738 | enterblock(fs, &bl, 0); /* must enter block before 'goto' */ | ||
3739 | gotostat(ls, v.t); /* handle goto/break */ | ||
3740 | - skipnoopstat(ls); /* skip other no-op statements */ | ||
3741 | + while (testnext(ls, ';')) {} /* skip colons */ | ||
3742 | if (block_follow(ls, 0)) { /* 'goto' is the entire block? */ | ||
3743 | leaveblock(fs); | ||
3744 | return; /* and that is it */ | ||
3745 | ]] | ||
3746 | } | ||
3747 | |||
3748 | |||
3717 | --[=[ | 3749 | --[=[ |
3718 | Bug{ | 3750 | Bug{ |
3719 | what = [[ ]], | 3751 | what = [[ ]], |