diff --git a/PSReadLine/Cmdlets.cs b/PSReadLine/Cmdlets.cs index 39213bce..0010fa5f 100644 --- a/PSReadLine/Cmdlets.cs +++ b/PSReadLine/Cmdlets.cs @@ -159,7 +159,6 @@ public PSConsoleReadLineOptions(string hostName) ExtraPromptLineCount = DefaultExtraPromptLineCount; AddToHistoryHandler = DefaultAddToHistoryHandler; HistoryNoDuplicates = DefaultHistoryNoDuplicates; - MaximumHistoryCount = DefaultMaximumHistoryCount; MaximumKillRingCount = DefaultMaximumKillRingCount; HistorySearchCursorMovesToEnd = DefaultHistorySearchCursorMovesToEnd; ShowToolTips = DefaultShowToolTips; @@ -172,6 +171,7 @@ public PSConsoleReadLineOptions(string hostName) HistorySaveStyle = DefaultHistorySaveStyle; AnsiEscapeTimeout = DefaultAnsiEscapeTimeout; PredictionSource = DefaultPredictionSource; + MaximumHistoryCount = 0; var historyFileName = hostName + "_history.txt"; if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) diff --git a/PSReadLine/ReadLine.cs b/PSReadLine/ReadLine.cs index b1fbbbea..25203956 100644 --- a/PSReadLine/ReadLine.cs +++ b/PSReadLine/ReadLine.cs @@ -757,10 +757,13 @@ private void DelayedOneTimeInitialize() // specifies a custom history save file, we don't want to try reading // from the default one. - var historyCountVar = _engineIntrinsics?.SessionState.PSVariable.Get("MaximumHistoryCount"); - if (historyCountVar?.Value is int historyCountValue) + if (_options.MaximumHistoryCount == 0) { - _options.MaximumHistoryCount = historyCountValue; + // Initialize 'MaximumHistoryCount' if it's not defined in user's profile. + var historyCountVar = _engineIntrinsics?.SessionState.PSVariable.Get("MaximumHistoryCount"); + _options.MaximumHistoryCount = (historyCountVar?.Value is int historyCountValue) + ? historyCountValue + : PSConsoleReadLineOptions.DefaultMaximumHistoryCount; } if (_options.PromptText == null &&