Conversation
0c2e155 to
04d3de7
Compare
|
I'm not opposed to the idea, but have some questions/concerns about the details. First, to be a backport the original change would need to have been accepted upstream. The diff in your PR westes/flex#704 looks good to me, but it's not been merged into Flex yet, so it's more of a Debian-style ad-hoc patch. Second, I'm hesitant to apply patches that change the output of Flex. If a user configures their build with Third, I don't understand the relationship between your patch and reproducibility. The Some non-Bazel build systems use absolute paths so they have to use |
|
Also, in case you do need to completely remove |
|
@jmillikin thanks for your comments, lots of good insights! Let me reply bottom-up, I think it will explain the PR better (I should have added more info and context from the beginning, sorry about that!):
But the problem is in Flex itself, without the patch, the You can check, just removing the patch I added will break the test I wrote in the PR (which has the
Agreed, I moved too fast and thought it was going to be accepted 😅. Luckily, it has just been merged upstream! 🎉
Yeah, I'm 100% with you on this. The only reason I proposed the PR was because it's a very clear bug, there were reports about this bug from many years ago and similar patches were previously accepted in upstream Flex.
My exact case :) I'm building a non-Bazel project (Posgres uses Meson build) with Hopefully this clarifies the PR, let me know what you think and/or if you want any changes! |
|
Quick note, sorry -- I've not forgotten about this but haven't had time this week due to other matters. My rough plan is to add a The resulting commit will be somewhat different than what's in this PR, but I plan to preserve the authorship metadata (i.e. set you as the |
|
No worries! I'm now away from a computer until next week :) Yeah, I did the patching with the idea of having a way to eventually move the changes in e.g. _hardcode_int_max_log10() into patches, I thought it could probably make it easier / clearer if those were in patches instead of in code. I'll be back to civilization with Internet and a computer on Tuesday, if you want to do it earlier no worries but I'm also happy to change the patch and do your approach. Whatever works! |
044ad82 to
592186a
Compare
When using the --noline flag or the %option noline, flex was failing to suppress the %top line directives. There was an if-guard missing in the code that adds the line directives to the top_buf. I've fixed it in [flex PR #704]. This commit adds patching capabilities to ease maintaining fixes / backports like the noline fix. [flex PR #704]: westes/flex#704
592186a to
fe597ce
Compare
|
@jmillikin I've made the changes we discussed. I think this version is better, as you said, it allows people to override the behavior setting |
|
@jmillikin ping? :) |
|
Sorry, this is in my inbox but non-computer life has been busy and I haven't had time for GitHub things. The current diff looks good to me; if you need this in a downstream build then feel free to use the current diff as a patch against |
|
@jmillikin cool, no worries! All I wanted to know is if the PR needed more changes :) Thanks!! |
When using the --noline flag or the %option noline, flex was failing to suppress the %top line directives.
There was an if-guard missing in the code that adds the line directives to the top_buf. I've fixed it in westes/flex#704.
This commit adds patching capabilities to ease maintaining fixes / backports like the noline fix.
P.S. As @Smattr mentioned in #268 this fix is important for reproducibility, in Debian and many other projects, like e.g. in a project I'm working on (making a reproducible Postgres, amongst other things... that's how I found out about the bug :) )