From fadf147201fc7dedd838eada63a78cca6170cab2 Mon Sep 17 00:00:00 2001 From: Pankaj Bhojwani Date: Tue, 19 Nov 2024 16:29:19 -0800 Subject: [PATCH 1/3] audit mode --- OpenConsole.sln | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/OpenConsole.sln b/OpenConsole.sln index a92c45a48ac..7698af450db 100644 --- a/OpenConsole.sln +++ b/OpenConsole.sln @@ -2304,10 +2304,14 @@ Global {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Release|x64.Build.0 = Release|x64 {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Release|x86.ActiveCfg = Release|Win32 {6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}.Release|x86.Build.0 = Release|Win32 - {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|Any CPU.ActiveCfg = Debug|Win32 - {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|ARM64.ActiveCfg = Release|ARM64 - {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|x64.ActiveCfg = Release|x64 - {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|x86.ActiveCfg = Release|Win32 + {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|Any CPU.ActiveCfg = AuditMode|x64 + {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|Any CPU.Build.0 = AuditMode|x64 + {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|ARM64.ActiveCfg = AuditMode|ARM64 + {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|ARM64.Build.0 = AuditMode|ARM64 + {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|x64.ActiveCfg = AuditMode|x64 + {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|x64.Build.0 = AuditMode|x64 + {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|x86.ActiveCfg = AuditMode|Win32 + {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.AuditMode|x86.Build.0 = AuditMode|Win32 {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.Debug|Any CPU.ActiveCfg = Debug|x64 {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.Debug|ARM64.ActiveCfg = Debug|ARM64 {7615F03F-E56D-4DB4-B23D-BD4FB80DB36F}.Debug|ARM64.Build.0 = Debug|ARM64 From 5d06bc0898dd1b1c599faf1271f45ac48766dfca Mon Sep 17 00:00:00 2001 From: Pankaj Bhojwani Date: Fri, 22 Nov 2024 13:41:51 -0800 Subject: [PATCH 2/3] fixes --- src/cascadia/UIMarkdown/CodeBlock.h | 2 +- src/cascadia/UIMarkdown/MarkdownToXaml.cpp | 16 ++++++++-------- src/cascadia/UIMarkdown/MarkdownToXaml.h | 6 +++--- src/cascadia/inc/cppwinrt_utils.h | 2 +- src/inc/til/winrt.h | 4 ++-- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/cascadia/UIMarkdown/CodeBlock.h b/src/cascadia/UIMarkdown/CodeBlock.h index e80f45bf47a..81eaf63cb69 100644 --- a/src/cascadia/UIMarkdown/CodeBlock.h +++ b/src/cascadia/UIMarkdown/CodeBlock.h @@ -30,7 +30,7 @@ namespace winrt::Microsoft::Terminal::UI::Markdown::implementation struct RequestRunCommandsArgs : RequestRunCommandsArgsT { - RequestRunCommandsArgs(const winrt::hstring& commandlines) : + RequestRunCommandsArgs(const winrt::hstring& commandlines) noexcept : Commandlines{ commandlines } {}; til::property Commandlines; diff --git a/src/cascadia/UIMarkdown/MarkdownToXaml.cpp b/src/cascadia/UIMarkdown/MarkdownToXaml.cpp index 8933eb6a56f..a172bb9a4bc 100644 --- a/src/cascadia/UIMarkdown/MarkdownToXaml.cpp +++ b/src/cascadia/UIMarkdown/MarkdownToXaml.cpp @@ -92,7 +92,7 @@ WUX::Documents::Paragraph MarkdownToXaml::_CurrentParagraph() { _lastParagraph.TextIndent(-WidthOfBulletPoint); } - _lastParagraph.Margin(WUX::ThicknessHelper::FromLengths(IndentWidth * _indent, 0, 0, 0)); + _lastParagraph.Margin(WUX::ThicknessHelper::FromLengths(gsl::narrow(IndentWidth) * _indent, 0, 0, 0)); } _root.Blocks().Append(_lastParagraph); } @@ -137,16 +137,16 @@ WUX::Documents::Run MarkdownToXaml::_NewRun() } return _lastRun; } -void MarkdownToXaml::_EndRun() +void MarkdownToXaml::_EndRun() noexcept { _lastRun = nullptr; } -void MarkdownToXaml::_EndSpan() +void MarkdownToXaml::_EndSpan() noexcept { _EndRun(); _lastSpan = nullptr; } -void MarkdownToXaml::_EndParagraph() +void MarkdownToXaml::_EndParagraph() noexcept { _EndSpan(); _lastParagraph = nullptr; @@ -162,7 +162,7 @@ WUX::Controls::TextBlock MarkdownToXaml::_makeDefaultTextBlock() void MarkdownToXaml::_RenderNode(cmark_node* node, cmark_event_type ev_type) { - bool entering = (ev_type == CMARK_EVENT_ENTER); + const bool entering = (ev_type == CMARK_EVENT_ENTER); switch (cmark_node_get_type(node)) { @@ -221,7 +221,7 @@ void MarkdownToXaml::_RenderNode(cmark_node* node, cmark_event_type ev_type) if (entering) { _EndParagraph(); - _NewRun().Text(bullets[std::clamp(_indent - _blockQuoteDepth - 1, 0, 2)]); + _NewRun().Text(gsl::at(bullets, std::clamp(_indent - _blockQuoteDepth - 1, 0, 2))); } break; @@ -251,7 +251,7 @@ void MarkdownToXaml::_RenderNode(cmark_node* node, cmark_event_type ev_type) const auto codeHstring{ winrt::to_hstring(cmark_node_get_literal(node)) }; // The literal for a code node always includes the trailing newline. // Trim that off. - std::wstring_view codeView{ codeHstring.c_str(), codeHstring.size() - 1 }; + const std::wstring_view codeView{ codeHstring.c_str(), codeHstring.size() - 1 }; auto codeBlock = winrt::make(winrt::hstring{ codeView }); WUX::Documents::InlineUIContainer codeContainer{}; @@ -282,7 +282,7 @@ void MarkdownToXaml::_RenderNode(cmark_node* node, cmark_event_type ev_type) cmark_node* parent = cmark_node_parent(node); cmark_node* grandparent = cmark_node_parent(parent); - if (grandparent != NULL && cmark_node_get_type(grandparent)) + if (grandparent != nullptr && cmark_node_get_type(grandparent)) { tight = cmark_node_get_list_tight(grandparent); } diff --git a/src/cascadia/UIMarkdown/MarkdownToXaml.h b/src/cascadia/UIMarkdown/MarkdownToXaml.h index d5e3c71dc38..582d54733eb 100644 --- a/src/cascadia/UIMarkdown/MarkdownToXaml.h +++ b/src/cascadia/UIMarkdown/MarkdownToXaml.h @@ -27,9 +27,9 @@ struct MarkdownToXaml winrt::Windows::UI::Xaml::Documents::Run _CurrentRun(); winrt::Windows::UI::Xaml::Documents::Span _CurrentSpan(); winrt::Windows::UI::Xaml::Documents::Run _NewRun(); - void _EndRun(); - void _EndSpan(); - void _EndParagraph(); + void _EndRun() noexcept; + void _EndSpan() noexcept; + void _EndParagraph() noexcept; winrt::Windows::UI::Xaml::Controls::TextBlock _makeDefaultTextBlock(); diff --git a/src/cascadia/inc/cppwinrt_utils.h b/src/cascadia/inc/cppwinrt_utils.h index 8276b7325e6..9840e9532ba 100644 --- a/src/cascadia/inc/cppwinrt_utils.h +++ b/src/cascadia/inc/cppwinrt_utils.h @@ -208,7 +208,7 @@ public: \ protected: \ type _##name{ __VA_ARGS__ }; \ - void _set##name(const type& value) \ + void _set##name(const type& value) noexcept(noexcept(_##name = value)) \ { \ _##name = value; \ }; diff --git a/src/inc/til/winrt.h b/src/inc/til/winrt.h index c5e68bac776..67ce004e37c 100644 --- a/src/inc/til/winrt.h +++ b/src/inc/til/winrt.h @@ -8,12 +8,12 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned" template struct property { - explicit constexpr property(auto&&... args) : + explicit constexpr property(auto&&... args) noexcept : _value{ std::forward(args)... } {} property& operator=(const property& other) = default; - T operator()() const noexcept + T operator()() const noexcept(noexcept(static_cast(_value))) { return _value; } From a945dc56e56ff30515c0fc63c155813d2195ef26 Mon Sep 17 00:00:00 2001 From: Pankaj Bhojwani Date: Mon, 25 Nov 2024 10:29:10 -0800 Subject: [PATCH 3/3] Leonard comments --- src/cascadia/UIMarkdown/MarkdownToXaml.cpp | 2 +- src/inc/til/winrt.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cascadia/UIMarkdown/MarkdownToXaml.cpp b/src/cascadia/UIMarkdown/MarkdownToXaml.cpp index a172bb9a4bc..81e70155f2f 100644 --- a/src/cascadia/UIMarkdown/MarkdownToXaml.cpp +++ b/src/cascadia/UIMarkdown/MarkdownToXaml.cpp @@ -92,7 +92,7 @@ WUX::Documents::Paragraph MarkdownToXaml::_CurrentParagraph() { _lastParagraph.TextIndent(-WidthOfBulletPoint); } - _lastParagraph.Margin(WUX::ThicknessHelper::FromLengths(gsl::narrow(IndentWidth) * _indent, 0, 0, 0)); + _lastParagraph.Margin(WUX::ThicknessHelper::FromLengths(static_cast(IndentWidth) * _indent, 0, 0, 0)); } _root.Blocks().Append(_lastParagraph); } diff --git a/src/inc/til/winrt.h b/src/inc/til/winrt.h index 67ce004e37c..101d558f7f9 100644 --- a/src/inc/til/winrt.h +++ b/src/inc/til/winrt.h @@ -8,12 +8,12 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned" template struct property { - explicit constexpr property(auto&&... args) noexcept : + explicit constexpr property(auto&&... args) noexcept(std::is_nothrow_constructible_v) : _value{ std::forward(args)... } {} property& operator=(const property& other) = default; - T operator()() const noexcept(noexcept(static_cast(_value))) + T operator()() const noexcept(std::is_nothrow_copy_constructible::value) { return _value; }