people always say "this needs a rewrite/refactor" like a rewrite/refactor will solve everything (and yeah, we know about spaces, variable names, etc.; Granny is perfectly capable of sucking eggs). The history of computing is that refactors and rewrites end up introducing nearly as many bugs as they fix.
i know that rewriting existing code will inevitably lead to loads of edge cases and similar bugs, but shallow clean ups (ie variable names, whitespace, and comments) shouldn't break things, or atleast not as badly, though would still help a lot with readability.
What attracted me personally to xa in the first place is that it compiles on nearly everything and "just works" (FTR, there have been Visual Studio solution files and mingw support since at least 2007, so I don't know when you were trying to work on it -- if they don't work then I'll gladly accept updates).
oops nvm i'm dumb, i just tried it again and was able to fully compile it on Windows with MSYS2 and the included make file.
specifically i had to do it from within the MSYS2 terminal instead of the Windows one.
I've also taken a very conservative approach to regressions which is why there is a large test suite and we keep adding to it, and try not to break syntactical oddities people may have been depending on, at least between point releases. Refactors screw that up too.
yea ok that's a pretty good argument.
We're already introducing some breaking but IMHO necessary syntactic changes in 2.4, mostly in those edge cases, and adding a rewrite just adds more regression risk. Andre and I are xa's most important users but I suspect the other people using xa also do so because updates have been so conservative. It will still build on your old little NetBSD machine, for example, and it should still generate the same bitwise output from your hairy preprocessor macros.
As we get more complete coverage from test cases, we can try to clean up the technical debt.
yea, full rewrites make more sense for really big updates where you likely have some breakage anyways.
I concede this post was pretty harsh too and I'll wear that, but you kind of asked for it.
nah it was fine, tbh a lot of that was just frustration because i really wanted a native modern macro assembler on the 65816.
though that job is likely better suited for something specifically written for it. C or not.