Replies: 6 comments 5 replies
-
I agree the refactoring is important for long term code viability. Why can't a PR be made with a large number of atomic commits that can be inspected? A single diff view from before and after is likely to be impossible to understand, as you say, but I didn't think PRs were too problematic as long as all of the commits within the PR are well structured and titled/described. Out of curiosity, what is wrong with |
Beta Was this translation helpful? Give feedback.
-
There is a difference: short arguments are |
Beta Was this translation helpful? Give feedback.
-
No issue there although in the end that will still have to have a big PR to master. |
Beta Was this translation helpful? Give feedback.
-
As has been noted before, standard globs are Windows ones: Windows is the most popular desktop OS in the world. Moreover, there's never been a need to go beyond what |
Beta Was this translation helpful? Give feedback.
-
Indeed but that does mean |
Beta Was this translation helpful? Give feedback.
-
I'm still confused here: |
Beta Was this translation helpful? Give feedback.
-
Refactoring is necessary to make stronger code.
This week I have spent a very big amount of time in refactoring the code.
It ends up in either dozens of small PRs or just one big PR that is absolutely intractable because diff cannot relate it to the original code.
None is reasonable.
The midway is to use a small amount of PR's, each one being dedicated to one kind of refactoring.
@josephwright It would be efficient to have a refactor branch where PR's can be merged after a review but before a full latex2e test.
Then once in a while, this branch can be merged to master if appropriate.
Things to do
build_require
byrequire
(and explicit the "build.lua is first" ambiguity)_
variables (new "util" module)require
statements, complete thelocal print = print
safeguard list,abspath
andgsub
return 2 values)Forthcoming changes:
Readonly tables
Readonly tables add runtime checks to prevent errors.
Arguments
select
and no long vs short split--no-<flag>
supportdeclare_option
function.Globs
glob_to_pattern
by aglob_matcher
: local accept = glob_matcher(<glob>); if accept(<file name>) then ... end`Walk
For path management
build.lua
(andconfig
)filelist
)builddir
: use a proxy to returnbuilddir
when defined or a default value (computed properties)Global variables
In code, use computed properties instead of global variables.
Lua unit testing
There are 3 absolutely different levels
l3buid
itselfl3build
clients (including package authors)luatex
documentsBeta Was this translation helpful? Give feedback.
All reactions