<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi, Max</p>
    <p><br>
    </p>
    <p>thanks for review! see my comments<br>
    </p>
    <div class="moz-cite-prefix">On 10/12/23 13:43, Maxim Kokryashkin
      via Tarantool-patches wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1697107429.603761776@f747.i.mail.ru">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>Hi, Sergey!</div>
      <div>Please consider my comments below.</div>
      <div> </div>
      <blockquote
style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">Среда,
        11 октября 2023, 19:54 +03:00 от Sergey Bronnikov via
        Tarantool-patches <a class="moz-txt-link-rfc2396E" href="mailto:tarantool-patches@dev.tarantool.org"><tarantool-patches@dev.tarantool.org></a>:<br>
         
        <div id="">
          <div class="js-helper js-readmsg-msg">
            <div>
              <div id="style_16970432820756837715_BODY">From: Sergey
                Bronnikov <<a
                  href="/compose?To=sergeyb@tarantool.org"
                  moz-do-not-send="true">sergeyb@tarantool.org</a>><br>
                <br>
                The patch introduces a new CMake target:
                "LuaJIT-codespell", that<br>
                spellchecks files specified in a whitelist by codespell
                [1].</div>
            </div>
          </div>
        </div>
      </blockquote>
      <div>Typo: s/a whitelist/the whitelist/</div>
    </blockquote>
    <p>Fixed.</p>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:1697107429.603761776@f747.i.mail.ru">
      <blockquote
style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        <div>
          <div class="js-helper js-readmsg-msg">
            <div>
              <div><br>
                1. <a
                  href="https://github.com/codespell-project/codespell"
                  target="_blank" moz-do-not-send="true"
                  class="moz-txt-link-freetext">https://github.com/codespell-project/codespell</a><br>
                ---<br>
                 CMakeLists.txt | 1 +<br>
                 cmake/CodeSpell.cmake | 36
                ++++++++++++++++++++++++++++++++<br>
                 test/CMakeLists.txt | 1 +<br>
                 tools/codespell-ignore-words.txt | 3 +++<br>
                 4 files changed, 41 insertions(+)<br>
                 create mode 100644 cmake/CodeSpell.cmake<br>
                 create mode 100644 tools/codespell-ignore-words.txt<br>
                <br>
                diff --git a/CMakeLists.txt b/CMakeLists.txt<br>
                index eebf3d6f..7ef10f2f 100644<br>
                --- a/CMakeLists.txt<br>
                +++ b/CMakeLists.txt<br>
                @@ -32,6 +32,7 @@ set(CMAKE_MODULE_PATH
                "${CMAKE_CURRENT_SOURCE_DIR}/cmake")<br>
                 include(LuaJITUtils)<br>
                 include(SetBuildParallelLevel)<br>
                 include(SetVersion)<br>
                +include(CodeSpell)<br>
                 <br>
                 # --- Variables to be exported to child scopes
                ---------------------------------<br>
                 <br>
                diff --git a/cmake/CodeSpell.cmake
                b/cmake/CodeSpell.cmake<br>
                new file mode 100644<br>
                index 00000000..c4d3555d<br>
                --- /dev/null<br>
                +++ b/cmake/CodeSpell.cmake<br>
                @@ -0,0 +1,36 @@<br>
                +find_program(CODESPELL codespell)<br>
                +<br>
                +list(APPEND CODESPELL_WHITELIST
                ${PROJECT_SOURCE_DIR}/src/lj_mapi.c)<br>
                +list(APPEND CODESPELL_WHITELIST
                ${PROJECT_SOURCE_DIR}/src/lj_sysprof.c)<br>
                +list(APPEND CODESPELL_WHITELIST
                ${PROJECT_SOURCE_DIR}/src/lj_utils_leb128.c)<br>
                +list(APPEND CODESPELL_WHITELIST
                ${PROJECT_SOURCE_DIR}/src/lj_wbuf.c)<br>
                +list(APPEND CODESPELL_WHITELIST
                ${PROJECT_SOURCE_DIR}/src/luajit-gdb.py)<br>
                +list(APPEND CODESPELL_WHITELIST
                ${PROJECT_SOURCE_DIR}/src/luajit_lldb.py)<br>
                +list(APPEND CODESPELL_WHITELIST
                ${PROJECT_SOURCE_DIR}/test/CMakeLists.txt)<br>
                +list(APPEND CODESPELL_WHITELIST
                ${PROJECT_SOURCE_DIR}/test/tarantool-c-tests)<br>
                +list(APPEND CODESPELL_WHITELIST
                ${PROJECT_SOURCE_DIR}/test/tarantool-tests)<br>
                +list(APPEND CODESPELL_WHITELIST
                ${PROJECT_SOURCE_DIR}/tools)</div>
            </div>
          </div>
        </div>
      </blockquote>
      <div>CMake’s list is variadic, you can add all entries in one go.</div>
    </blockquote>
    <p>Sure, I know. This way it looks better and changes in patches
      will be more readable.</p>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:1697107429.603761776@f747.i.mail.ru">
      <blockquote
style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        <div>
          <div class="js-helper js-readmsg-msg">
            <div>
              <div>+<br>
                +set(IGNORE_WORDS
                ${PROJECT_SOURCE_DIR}/tools/codespell-ignore-words.txt)<br>
                +<br>
                +add_custom_target(${PROJECT_NAME}-codespell)<br>
                +if (CODESPELL)<br>
                + add_custom_command(TARGET ${PROJECT_NAME}-codespell<br>
                + COMMENT "Running codespell"<br>
                + COMMAND<br>
                + ${CODESPELL}<br>
                + --ignore-words ${IGNORE_WORDS}<br>
                + --skip ${IGNORE_WORDS}<br>
                + --ignore-words-list fpr<br>
                + --check-filenames<br>
                + ${CODESPELL_WHITELIST}<br>
                + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}<br>
                + )<br>
                +else ()<br>
                + set(WARN_MSG "`codespell' is not found, "<br>
                + "so ${PROJECT_NAME}-codespell target is dummy")<br>
                + add_custom_command(TARGET ${PROJECT_NAME}-codespell<br>
                + COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --red
                ${MSG}<br>
                + COMMENT ${MSG}</div>
            </div>
          </div>
        </div>
      </blockquote>
      <div>Why a `message` call with level set to WARNING is not enough?</div>
    </blockquote>
    <p>it is a CMake target, you cannot use `message` command there.<br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:1697107429.603761776@f747.i.mail.ru">
      <div>Is there a concern</div>
      <div>about coloring?</div>
    </blockquote>
    <p>for me warning highlighted by red color will be more notable than
      without it.</p>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:1697107429.603761776@f747.i.mail.ru">
      <div>If so, I believe it’s inconsistent to use approach with
        cmake_echo_color.</div>
      <div>In case of `prove` absence on the machine, the more important
        message about</div>
      <div>skipped regression tests will be less noticeable in
        comparison with codespell, which is</div>
      <div>by far less important.</div>
    </blockquote>
    <br>
    <blockquote type="cite"
      cite="mid:1697107429.603761776@f747.i.mail.ru">
      <blockquote
style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        <div>
          <div class="js-helper js-readmsg-msg">
            <div>
              <div>+ )<br>
                +endif (CODESPELL)<br>
                diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt<br>
                index 58cba5ba..8afc42df 100644<br>
                --- a/test/CMakeLists.txt<br>
                +++ b/test/CMakeLists.txt<br>
                @@ -68,6 +68,7 @@ endif()<br>
                 add_custom_target(${PROJECT_NAME}-lint DEPENDS<br>
                   ${PROJECT_NAME}-luacheck<br>
                   ${PROJECT_NAME}-flake8<br>
                + ${PROJECT_NAME}-codespell<br>
                 )<br>
                 <br>
                 set(LUAJIT_TEST_COMMAND "${LUAJIT_TEST_BINARY} -e
                dofile[[${LUAJIT_TEST_INIT}]]")<br>
                diff --git a/tools/codespell-ignore-words.txt
                b/tools/codespell-ignore-words.txt<br>
                new file mode 100644<br>
                index 00000000..ceeed47c<br>
                --- /dev/null<br>
                +++ b/tools/codespell-ignore-words.txt<br>
                @@ -0,0 +1,3 @@<br>
                +mmaped<br>
                +isnt<br>
                +FPR<br>
                --<br>
                2.34.1</div>
            </div>
          </div>
        </div>
      </blockquote>
      <div>
        <div> 
          <div>
            <div>--<br>
              Best regards,</div>
            <div>Maxim Kokryashkin</div>
          </div>
        </div>
      </div>
      <div> </div>
    </blockquote>
  </body>
</html>