<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hi all!</div><div class=""><br class=""></div><div class="">My company, Alert Logic, co-maintains an open-source Erlang project for using AWS APIs, erlcloud: <a href="https://github.com/erlcloud/erlcloud" class="">https://github.com/erlcloud/erlcloud</a></div><div class=""><br class=""></div><div class="">One of the libraries it relies on is eini, for parsing AWS credential files (INI format): <a href="https://github.com/erlcloud/eini" class="">https://github.com/erlcloud/eini</a></div><div class=""><br class=""></div><div class="">Because that project’s maintainer abandoned it, I’ve been looking at it recently with an eye to resolve some issues with it. One thing I noticed is that its unit test pass on OTP R16B03-1 and fail on OTP 17+ (I’ve tried 17.5, 18.3, and 19.0). The failures are caused by an inconsistent behavior in leex (or something it uses) that  causes the line numbers to be stored incorrectly during tokenization. I’ve filed a bug report, ERL-263:</div><div class=""><br class=""></div><a href="https://bugs.erlang.org/browse/ERL-263" class="">https://bugs.erlang.org/browse/ERL-263</a><div class=""><br class=""></div><div class="">I wanted to call this to the members’ attention; in part to see if my read of this issue is correct, and also to see if there is any possible workaround to it.</div><div class=""><br class=""></div><div class="">The problem itself is mostly immaterial to us—it just means that the error output will (rarely) reference the wrong line number. I’m wondering, though, if there is some tweak I could make to the definition that would ameliorate or eliminate this problem.</div><div class=""><br class=""></div><div class="">Thank you for your consideration.</div><div class=""><br class=""></div><div class="">Regards,</div><div class=""><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">—Nicholas Lundgaard</div></div></div>
</div>

<br class=""></div></body></html>