Skip to content

Commit

Permalink
Update to the beta 52 sources.
Browse files Browse the repository at this point in the history
  • Loading branch information
mistachkin committed Nov 22, 2022
1 parent fcd784a commit d8041a1
Show file tree
Hide file tree
Showing 128 changed files with 7,009 additions and 2,308 deletions.
10 changes: 5 additions & 5 deletions Build/Components/Private/PatchLevel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,31 +20,31 @@
///////////////////////////////////////////////////////////////////////////////

#if PATCHLEVEL
[assembly: AssemblyVersion("1.0.8251.52012")]
[assembly: AssemblyVersion("1.0.8369.11942")]
#endif

///////////////////////////////////////////////////////////////////////////////

#if ASSEMBLY_DATETIME
[assembly: AssemblyDateTime("2022.11.01T01:00:00.000 +0000")]
[assembly: AssemblyDateTime("2022.11.05T00:00:00.000 +0000")]
#endif

///////////////////////////////////////////////////////////////////////////////

#if ASSEMBLY_RELEASE
[assembly: AssemblyRelease("15th Anniversary Special Edition, Beta 51")]
[assembly: AssemblyRelease("15th Anniversary Special Edition, Beta 52")]
#endif

///////////////////////////////////////////////////////////////////////////////

#if SOURCE_ID
[assembly: AssemblySourceId("a9d911e9e2b184473fd1fe1825d7ce962fc6f5ce")]
[assembly: AssemblySourceId("4dd584fd50ffa2cbccc51cbf3dd1860160c5cce7")]
#endif

///////////////////////////////////////////////////////////////////////////////

#if SOURCE_TIMESTAMP
[assembly: AssemblySourceTimeStamp("2022-11-04 01:43:04 UTC")]
[assembly: AssemblySourceTimeStamp("2022-11-21 16:49:21 UTC")]
#endif

///////////////////////////////////////////////////////////////////////////////
Expand Down
64 changes: 64 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,6 +1,70 @@

************************* Beta 1.0.XXXX.XXXXX RELEASE *************************

BUGFIX: fix and/or address Coverity issues from #283423 to #299487.

BUGFIX: correct argument synchronization in core shell support, including in
what-if mode handling, arguments file handling, and the -reconfigure
command line option handling, et al.

BUGFIX: prevent extended box characters from being used when the encoding being
used for console output does not represent them in a single byte.

BUGFIX: fix typo in CountInterpreters that prevented the DisableCreation method
from working correctly.

BUGFIX: use save/restore semantics for the current directory when cleaning up
temporary files during interpreter disposal.

BUGFIX: properly unhook console Ctrl-C handler(s) when running on the .NET 5
and/or .NET 6 runtimes. also, codify (previously known?) workaround
to unhook console Ctrl-C handler when running on the .NET Framework
2.0.

BUGFIX: stop leaking assembly object reference in [compileViaDotNetCoreCSharp]
core script library procedure.

BUGFIX: add preliminary support for the .NET 7.0 runtime.

BUGFIX: various fixes to version detection for Windows 10 and/or 11.

BUGFIX: also remove extended and/or Unicode characters from content emitted by
the default interpreter host in boxed output mode.

BUGFIX: *BREAKING CHANGE* created child interpreters may not create children
themselves if the parent interpreter has a child limit.

REFACTOR: when an interpreter is in kiosk mode, prevent [object invoke] from
invoking methods that are well-known to exit the process.

REFACTOR: major refactoring of the TraceOps class. simplify handling of trace
format string and index management. centralize and simplfy handling
of all named trace format strings.

REFACTOR: *BREAKING CHANGE* rename Strict file search flag to NullOnNotFound.

REFACTOR: *BREAKING CHANGE* introduce whatIfArgc / whatIfArgv global variables,
which are used (automatically) during core interactive shell argument
processing for script argument synchronization in what-if mode.

FEATURE: add TraceFormat environment variable, which can be used to override
message formatting, both directly or indirectly.

FEATURE: make it possible to skip package indexing for specific files and/or
directories.

FEATURE: add MaybeCreate static method to the StringList and StringPairList
classes.

FEATURE: add RobustNormalizePath, GetFullPlatformName, RobustNormalizePath,
GetPackageRelativeFileName, HashFile, and GetCurrentProcessFileName
methods to the Utility class.

FEATURE: add NoThreadAbort interpreter flag and script data flag. make sure it
is used when creating interpreters for use by Harpy and its SDK.

************************* Beta 1.0.8251.52012 RELEASE *************************

BUGFIX: fix and/or address Coverity issues from #277240 to #282887.

BUGFIX: remove incorrect and superfluous checking for the -options option from
Expand Down
10 changes: 5 additions & 5 deletions Installer/Components/Private/PatchLevel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,31 +20,31 @@
///////////////////////////////////////////////////////////////////////////////

#if PATCHLEVEL
[assembly: AssemblyVersion("1.0.8251.52012")]
[assembly: AssemblyVersion("1.0.8369.11942")]
#endif

///////////////////////////////////////////////////////////////////////////////

#if ASSEMBLY_DATETIME
[assembly: AssemblyDateTime("2022.11.01T01:00:00.000 +0000")]
[assembly: AssemblyDateTime("2022.11.05T00:00:00.000 +0000")]
#endif

///////////////////////////////////////////////////////////////////////////////

#if ASSEMBLY_RELEASE
[assembly: AssemblyRelease("15th Anniversary Special Edition, Beta 51")]
[assembly: AssemblyRelease("15th Anniversary Special Edition, Beta 52")]
#endif

///////////////////////////////////////////////////////////////////////////////

#if SOURCE_ID
[assembly: AssemblySourceId("a9d911e9e2b184473fd1fe1825d7ce962fc6f5ce")]
[assembly: AssemblySourceId("4dd584fd50ffa2cbccc51cbf3dd1860160c5cce7")]
#endif

///////////////////////////////////////////////////////////////////////////////

#if SOURCE_TIMESTAMP
[assembly: AssemblySourceTimeStamp("2022-11-04 01:43:04 UTC")]
[assembly: AssemblySourceTimeStamp("2022-11-21 16:49:21 UTC")]
#endif

///////////////////////////////////////////////////////////////////////////////
Expand Down
4 changes: 2 additions & 2 deletions Library/Commands/Array.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1775,7 +1775,7 @@ ref Result result

int newCapacity = list.Count / 2;

if ((arrayElementLimit != 0) &&
if ((arrayElementLimit != Limits.Unlimited) &&
(newCapacity > arrayElementLimit))
{
goto setLimitExceeded;
Expand All @@ -1797,7 +1797,7 @@ ref Result result
//
int newCount = oldCount + newCapacity;

if ((arrayElementLimit != 0) &&
if ((arrayElementLimit != Limits.Unlimited) &&
(newCount > arrayElementLimit))
{
goto setLimitExceeded;
Expand Down
45 changes: 37 additions & 8 deletions Library/Commands/File.cs
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,7 @@ ref Result result
now = true;

StringList list = null;
ResultList errors = null;

if (argumentIndex != Index.Invalid)
{
Expand All @@ -520,11 +521,25 @@ ref Result result
{
list = new StringList();

/* NO RESULT */
interpreter.CleanupAndMaybeResetPaths(
false, ref list);
code = interpreter.CleanupAndMaybeResetPaths(
false, false, ref list, ref errors);

result = list;
if (code == ReturnCode.Ok)
{
result = list;
}
else
{
if (list != null)
{
if (errors == null)
errors = new ResultList();

errors.Add(list.ToString());
}

result = errors;
}
}
}
}
Expand All @@ -534,11 +549,25 @@ ref Result result
{
list = new StringList();

/* NO RESULT */
interpreter.CleanupAndMaybeResetPaths(
false, ref list);
code = interpreter.CleanupAndMaybeResetPaths(
false, false, ref list, ref errors);

result = list;
if (code == ReturnCode.Ok)
{
result = list;
}
else
{
if (list != null)
{
if (errors == null)
errors = new ResultList();

errors.Add(list.ToString());
}

result = errors;
}
}
}
else
Expand Down
51 changes: 32 additions & 19 deletions Library/Commands/Object.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2531,29 +2531,42 @@ ref Result result

selectMethodInfo = methodInfo[methodIndex];

object returnValue = selectMethodInfo.Invoke(
@object, bindingFlags, interpreter.InternalBinder as Binder, args,
interpreter.InternalCultureInfo);

if (!noByRef && (argumentInfoList != null))
#if SHELL
if (!interpreter.IsKioskLock() ||
!MarshalOps.IsForbiddenForKiosk(selectMethodInfo, @object))
#endif
{
code = MarshalOps.FixupByRefArguments(
interpreter, interpreter.InternalBinder, interpreter.InternalCultureInfo,
argumentInfoList, objectFlags | byRefObjectFlags,
options, objectOptionType, interpName, args,
marshalFlags, byRefArgumentFlags, strictArgs, create,
dispose, alias, aliasReference, toString, arrayAsValue,
arrayAsLink, ref result);
object returnValue = selectMethodInfo.Invoke(
@object, bindingFlags, interpreter.InternalBinder as Binder, args,
interpreter.InternalCultureInfo);

if (!noByRef && (argumentInfoList != null))
{
code = MarshalOps.FixupByRefArguments(
interpreter, interpreter.InternalBinder, interpreter.InternalCultureInfo,
argumentInfoList, objectFlags | byRefObjectFlags,
options, objectOptionType, interpName, args,
marshalFlags, byRefArgumentFlags, strictArgs, create,
dispose, alias, aliasReference, toString, arrayAsValue,
arrayAsLink, ref result);
}

if (code == ReturnCode.Ok)
{
code = MarshalOps.FixupReturnValue(
interpreter, interpreter.InternalBinder, interpreter.InternalCultureInfo,
returnType, objectFlags, options, objectOptionType,
objectName, interpName, returnValue, create, dispose,
alias, aliasReference, toString, ref result);
}
}

if (code == ReturnCode.Ok)
#if SHELL
else
{
code = MarshalOps.FixupReturnValue(
interpreter, interpreter.InternalBinder, interpreter.InternalCultureInfo,
returnType, objectFlags, options, objectOptionType,
objectName, interpName, returnValue, create, dispose,
alias, aliasReference, toString, ref result);
result = "cannot exit when a kiosk";
code = ReturnCode.Error;
}
#endif
}
catch (Exception e)
{
Expand Down
Loading

0 comments on commit d8041a1

Please sign in to comment.