Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch argx_rejig Excluding Merge-Ins
This is equivalent to a diff from 66558c7141 to fa3ffd1781
2024-04-02
| ||
21:39 | Backport argx_rejig branch. This should fix "P... check-in: 2e975ec0e2 user: jan.nijtmans tags: core-8-6-branch | |
2022-01-29
| ||
00:29 | merge merge [argx_rejig] check-in: acfaacfb73 user: bch tags: trunk, main | |
00:16 | merge [argx_rejig] Closed-Leaf check-in: f834558929 user: bch tags: mistake | |
00:13 | take advantage of what we know re: argv guarantees [https://www.iso-9899.info/n1570.html#5.1.2.2.1|a... Closed-Leaf check-in: fa3ffd1781 user: bch tags: argx_rejig | |
2022-01-28
| ||
10:46 | be more strict about using argv[0] check-in: 0e1d2702ab user: bch tags: argx_rejig | |
08:29 | rejig argv/argc Tcl_MainEx() handling, prompted by outside discussion re: current [https://arstechni... check-in: 4712f32196 user: bch tags: argx_rejig | |
2022-01-25
| ||
09:38 | Show reason for TIP #615. Consisancy in return values meaning 'nothing found' check-in: 7aecdb70cb user: jan.nijtmans tags: tip-615-bis | |
2022-01-24
| ||
20:54 | More work in progress check-in: e2382fa2c9 user: jan.nijtmans tags: tip-616 | |
15:41 | Merge 8.7 check-in: 66558c7141 user: jan.nijtmans tags: trunk, main | |
15:40 | Merge 8.6 check-in: 56efe65709 user: jan.nijtmans tags: core-8-branch | |
11:16 | merge-mark check-in: c37df5046c user: jan.nijtmans tags: trunk, main | |
Changes to generic/tclMain.c.
︙ | ︙ | |||
284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | TCHAR **argv, /* Array of argument strings. */ Tcl_AppInitProc *appInitProc, /* Application-specific initialization * function to call after most initialization * but before starting to execute commands. */ Tcl_Interp *interp) { Tcl_Obj *path, *resultPtr, *argvPtr, *appName; const char *encodingName = NULL; int code, exitCode = 0; Tcl_MainLoopProc *mainLoopProc; Tcl_Channel chan; InteractiveState is; TclpSetInitialEncodings(); | > > > > > | > > | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | TCHAR **argv, /* Array of argument strings. */ Tcl_AppInitProc *appInitProc, /* Application-specific initialization * function to call after most initialization * but before starting to execute commands. */ Tcl_Interp *interp) { int i=0; /* argv[i] index */ Tcl_Obj *path, *resultPtr, *argvPtr, *appName; const char *encodingName = NULL; int code, exitCode = 0; Tcl_MainLoopProc *mainLoopProc; Tcl_Channel chan; InteractiveState is; TclpSetInitialEncodings(); if (0 < argc) { --argc; /* consume argv[0] */ ++i; } TclpFindExecutable ((const char *)argv [0]); /* nb: this could be NULL * w/ (eg) an empty argv * supplied to execve() */ Tcl_InitMemory(interp); is.interp = interp; is.prompt = PROMPT_START; TclNewObj(is.commandPtr); |
︙ | ︙ | |||
314 315 316 317 318 319 320 | /* * Check whether first 3 args (argv[1] - argv[3]) look like * -encoding ENCODING FILENAME * or like * FILENAME */ | > | | | | < < | | 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | /* * Check whether first 3 args (argv[1] - argv[3]) look like * -encoding ENCODING FILENAME * or like * FILENAME */ /* mind argc is being adjusted as we proceed */ if ((argc >= 3) && (0 == _tcscmp(TEXT("-encoding"), argv[1])) && ('-' != argv[3][0])) { Tcl_Obj *value = NewNativeObj(argv[2]); Tcl_SetStartupScript(NewNativeObj(argv[3]), TclGetString(value)); Tcl_DecrRefCount(value); argc -= 3; i += 3; } else if ((argc >= 1) && ('-' != argv[1][0])) { Tcl_SetStartupScript(NewNativeObj(argv[1]), NULL); argc--; i++; } } path = Tcl_GetStartupScript(&encodingName); if (path == NULL) { appName = NewNativeObj(argv[0]); } else { appName = path; } Tcl_SetVar2Ex(interp, "argv0", NULL, appName, TCL_GLOBAL_ONLY); Tcl_SetVar2Ex(interp, "argc", NULL, Tcl_NewWideIntObj(argc), TCL_GLOBAL_ONLY); argvPtr = Tcl_NewListObj(0, NULL); while (argc--) { Tcl_ListObjAppendElement(NULL, argvPtr, NewNativeObj(argv[i++])); } Tcl_SetVar2Ex(interp, "argv", NULL, argvPtr, TCL_GLOBAL_ONLY); /* * Set the "tcl_interactive" variable. */ |
︙ | ︙ |