Module talk:BaseConvert/Archive 1

convert with 'Module:No globals' error?
I have used the code as documented (2 lines, see below). It looks like that, by adding, an error is triggered.

Reproduce: see Module:User:DePiep/BCdemo:
 * |testBC:
 * |testBCnoglobals:

Something I can do? I want to use the Module:No globals in top (not in functions), i.e. for the whole module. DePiep (talk) 18:27, 11 April 2022 (UTC)


 * @DePiep: I think you just need to precede the first two function declarations with  (so  . User:GKFXtalk 19:14, 11 April 2022 (UTC)
 * Done, see Module:User:DePiep/BCdemo. Not solved; note that I needed public function p.xxx. BTW, you are fee to edit in there (it's a dedicated test-demo). -DePiep (talk) 19:26, 11 April 2022 (UTC)

Got it. In Module:BaseConvert/sandbox, I have made  three functions: diff. To consider: should  be public i.e., be   (not  )? Depends on the frame/args handling in  if I'm right.


 * Testing Module:BaseConvert/sandbox i.c.w. Module:No globals


 * |testBCsbox:
 * |testBCsboxnoglobals:

Anyway, how to arrive at an edit proposal? -DePiep (talk) 19:46, 11 April 2022 (UTC)


 * Re. _convert, it has too many positional arguments to be a nice API. I would stick with convert as the public function since it takes a table which emulates named arguments. User:GKFXtalk 19:56, 11 April 2022 (UTC)

Preparing Edit Request, tech review please
I propose to change all code in Module:BaseConvert with code from Module:BaseConvert/sandbox.

The issue: when Module:No globals is used per documentation, Module:BaseConvert throws an error for r/w a global variable (like "Tried to write global normalizeFullWidthChars"). This is solved by declaring all internal functions explicitly. There are three, see the diff; the sandbox was tested with 'No globals' too.

If no (tech) issues or questions arise, I'll make this a formal Edit Request. (32k transclusions). -DePiep (talk) 20:18, 11 April 2022 (UTC)
 * There are still some globals in the sandbox. I'll fix it soon (a couple of hours from now). Johnuniq (talk) 05:34, 12 April 2022 (UTC)
 * I cleaned the whitespace in both the sandbox and main modules (no trailing spaces, use tabs for indents). I also fixed the remaining globals in the sandbox and made a couple of minor tweaks. The diff with the main module is very minor and I don't think an edit request is needed. I'll watch this for a while and if you want, I'll update the main module if there are no other suggestions. Johnuniq (talk) 07:27, 12 April 2022 (UTC)
 * OK, thx. Pls proceed as you think best. -DePiep (talk) 11:18, 12 April 2022 (UTC)
 * OK, I updated the main module so it now has no globals. Johnuniq (talk) 04:59, 13 April 2022 (UTC)