aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | | | ci: run tests in paralleldundargoc2023-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will run the three test suites (unit, functional and old) in parallel, meaning that neovim is built for each test and run separately. This has a slight increase in total CI usage, but it allows rerunning only the specific test suite that failed for flaky tests, which will save some time. Ideally we'd remove any drawbacks by building neovim once and reusing it for each test suite, but that is not currently possible due to poor upload/download speeds of the upload-artifact and download-artifact actions. This has been addressed in https://github.com/actions/toolkit/pull/1488, but will only be made available in upload-artifact@v4 and download-artifact@v4.
| * | | | | ci: install perl provider on macdundargoc2023-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perl provider installation was previously disabled on mac due to a version conflict in 79bf5074499ae06788762ec49d12af6175b01d15. It is no longer present, so we enable it.
| * | | | | Merge pull request #25741 from famiu/fix/options/modifiedbfredl2023-10-21
| |\ \ \ \ \ | | | | | | | | | | | | | | fix(options): `'modified'` showing incorrect value for scratch buffers
| | * | | | | fix(options): `'modified'` showing incorrect value for scratch buffersFamiu Haque2023-10-22
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: #25716 removed the logic for getting the correct value of the `'modified'` option when using `nvim_buf_get_option()`. So the function now returns an incorrect value of `'modified'` for scratch buffers. Solution: Re-add the logic for getting the correct value of `'modified'`. Also make it so that the logic only exists in one place instead of being duplicated across multiple places in the code.
| * | | | | Merge pull request #25624 from glepnir/fix_25598bfredl2023-10-21
| |\ \ \ \ \ | | | | | | | | | | | | | | feat(complete): support f flag for complete buffer name part
| | * | | | | feat(complete): support f flag for complete buffer partglepnir2023-10-21
| | | | | | |
| * | | | | | build(deps): bump luajit to HEAD - e826d0c10Christian Clason2023-10-21
| |/ / / / /
| * | | | | refactor(lsp): deprecate completion util methodsMathias Fussenegger2023-10-21
| | | | | | | | | | | | | | | | | | | | | | | | Relates to https://github.com/neovim/neovim/issues/25272
| * | | | | refactor(lsp): move completion logic into _completion moduleMathias Fussenegger2023-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To reduce cross-chatter between modules and for https://github.com/neovim/neovim/issues/25272 Also preparing for https://github.com/neovim/neovim/issues/25714
| * | | | | vim-patch:9.0.2059: outstanding exceptions may be skipped (#25736)zeertzjq2023-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: outstanding exceptions may be skipped Solution: When restoring exception state, process remaining outstanding exceptions closes: vim/vim#13386 https://github.com/vim/vim/commit/0ab500dede4edd8d5aee7ddc63444537be527871 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | | | | vim-patch:9.0.2058: tests: avoid error when no swap files exist (#25735)zeertzjq2023-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: tests: avoid error when no swap files exist Solution: use unlet! so that no error message is reported in case the variable does not exists When s:GetSwapFileList() does not find any swapfiles, it will return an empty list []. This means, that the variable 'name' will not be declared, cause the following unlet command to fail and causing a 1 sec delay on running the tests. So let's instead use the :unlet! command which simply skips reporting an error when the variable given as parameter does not exists. closes: vim/vim#13396 https://github.com/vim/vim/commit/a36acb7ac444a789440dc30e0f04d5427069face
| * | | | | vim-patch:d3e277f279ed (#25734)zeertzjq2023-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | matchparen: do not use hard-coded match id (vim/vim#13393) * matchparen: do not use hard-coded match id Instead of using the hard-coded match id 3, which may also be used by other plugins, let the matchparen plugin use whatever ids are automatically returned when calling matchaddpos(). For backwards-compatibility, keep the `:3match` call, which will still use the hard-coded id 3 (as mentioned in :h :3match). closes: vim/vim#13381 https://github.com/vim/vim/commit/d3e277f279ed628809eb6857ea3ebcfca566ca2a Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | | | | feat(lsp): add snippet API (#25301)Maria José Solano2023-10-21
| | | | | |
| * | | | | fix(lsp): log unknown diagnostic tags instead of showing a warning (#25705)Jorge Mederos2023-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To be more in line with the specification: > To support the evolution of enumerations the using side of an enumeration shouldn’t fail on an enumeration value it doesn’t know. It should simply ignore it as a value it can use and try to do its best to preserve the value on round trips
| * | | | | ci(cirrus): don't run lua/help_spec (#25498)zeertzjq2023-10-21
| | | | | |
| * | | | | fix(event-loop): flush UI when no input is available (#25728)zeertzjq2023-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: With lots of events, UI flush may be delayed for too long. Solution: Flush UI when no input is available. This still flushes less frequently than before #25629, when a flush also happens when typeahead buffer is empty but input is available.
| * | | | | refactor(options): `get_option_value_strict()` and `SREQ_*`Famiu Haque2023-10-20
| | | | | | | | | | | | | | | | | | | | | | | | `SREQ_*` values are now actual typedef'd enums. `get_option_value_strict()` has also been refactored and split into two functions, `get_option_attrs()` for getting the option attributes, and `get_option_value_strict()` for getting the actual value. Moreover, it now returns an `OptVal`. Other miscellaneous refactors have also been made.
| * | | | | vim-patch:9.0.2056: no digraph for quadruple primeChristian Clason2023-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: no digraph for quadruple prime Solution: add quadruple prime digraph using 4' closes: vim/vim#13380 https://github.com/vim/vim/commit/47416d1a7441f8c815438903e78ba0a2d877699e Co-authored-by: Jonathan Wright <quaggy@gmail.com>
| * | | | | vim-patch:d5dc58aeed1b (#25720)Gregory Anders2023-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(json5): Add new ftplugin (vim/vim#13385) https://github.com/vim/vim/commit/d5dc58aeed1b3e76527685d04906afd634d45949 Co-authored-by: dkearns <dougkearns@gmail.com>
| * | | | | Merge pull request #25717 from gpanders/vim-e08bfef88bd0Gregory Anders2023-10-19
| |\ \ \ \ \ | | | | | | | | | | | | | | vim-patch:e08bfef88bd0, vim-patch:9.0.2053
| | * | | | | vim-patch:9.0.2053: zig filetype detection test wrongGregory Anders2023-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: zig filetype detection test wrong Solution: Remove .zir pattern, add new test for .zon pattern closes: vim/vim#13389 https://github.com/vim/vim/commit/a8c664a042707e293d887d5b90f944f6fd5c99aa Co-authored-by: Gregory Anders <greg@gpanders.com>
| | * | | | | vim-patch:e08bfef88bd0Gregory Anders2023-10-19
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(zig): Update Zig runtime files (vim/vim#13388) Update runtime files from upstream (https://github.com/zig/zig.vim) at commit 54c216e5306a5c3878a60596aacb94dca8652ab9. https://github.com/vim/vim/commit/e08bfef88bd05a9d27ee16c57cd10173e280f600 Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
| * | | | | fix(treesitter): set cursor position when opening inspectorMaria José Solano2023-10-19
| | | | | |
| * | | | | vim-patch:9.0.2050: Vim9: crash with deferred function call and exception ↵zeertzjq2023-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#25715) Problem: Vim9: crash with deferred function call and exception Solution: Save and restore exception state Crash when a deferred function is called after an exception and another exception is thrown closes: vim/vim#13376 closes: vim/vim#13377 https://github.com/vim/vim/commit/c59c1e0d88651a71ece7366e418f1253abbe2a28 The change in check_due_timer() is N/A as Nvim calls timer callbacks on the main loop. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | | | | fix(docs): fix TSNode incorrect signaturesPham Huy Hoang2023-10-19
| | | | | |
| * | | | | build(deps): include Find moduleJames McCoy2023-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that all the Find<Foo>.cmake modules are using our custom find_path2, the bundled deps build needs to include the Find module so it has access to find_path2. The missing include was causing the PPA build to fail: ``` cd .deps && \ cmake -G 'Unix Makefiles' \ -DUSE_EXISTING_SRC_DIR=ON -DUSE_BUNDLED_LUAROCKS=OFF -DUSE_BUNDLED_LUAJIT=OFF -DUSE_BUNDLED_GPERF=OFF -DUSE_BUNDLED_LUA=OFF /<<PKGBUILDDIR>>//cmake.deps -- The C compiler identification is GNU 7.5.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Found GNU Make at /usr/bin/make -- CMAKE_BUILD_TYPE not specified, default is 'Debug' -- Performing Test HAS_OG_FLAG -- Performing Test HAS_OG_FLAG - Success -- Found Git: /usr/bin/git (found version "2.17.1") CMake Error at /<<PKGBUILDDIR>>/cmake/FindLuajit.cmake:1 (find_path2): Unknown CMake command "find_path2". Call Stack (most recent call first): cmake/BuildLuv.cmake:13 (find_package) CMakeLists.txt:127 (include) -- Configuring incomplete, errors occurred! ```
| * | | | | Merge pull request #25703 from zeertzjq/vim-9.0.2044zeertzjq2023-10-18
| |\ \ \ \ \ | | | | | | | | | | | | | | vim-patch:9.0.{2044,2045}
| | * | | | | vim-patch:9.0.2045: tests: checking for swap files takes timezeertzjq2023-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: tests: checking for swap files takes time Solution: don't check for swap files when test has been skipped Check for swap files takes a considerable about of time, so don't do that for skipped tests to avoid wasting time. closes: vim/vim#13371 https://github.com/vim/vim/commit/a0e1f06f04da3444e278ddf47e2ea3d5857a7dec
| | * | | | | vim-patch:9.0.2044: Vim9: exceptions confuse defered functionszeertzjq2023-10-18
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Vim9: exceptions confuse defered functions Solution: save and restore exception state when calling defered functions closes: vim/vim#13364 closes: vim/vim#13372 https://github.com/vim/vim/commit/0672595fd50e9ae668676a40e28ebf66d7f52392 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | | | | build: add sub-targets to the doc targetdundargoc2023-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's easier to debug and to customize scripting if there are sub-targets that build up each target.
| * | | | | vim-patch:5a33ce2a661fChristian Clason2023-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(json5): include syntax script for json5 (vim/vim#13356) Merging syntax file from gutenye/json5.vim, modified to include proper vim header. See: https://github.com/vim/vim/issues/8499 https://github.com/vim/vim/commit/5a33ce2a661fb836d4c5c489f2a850172a23e0b0 Co-authored-by: Rolf Vidar Mazunki Hoksaas <32819373+mazunki@users.noreply.github.com> Co-authored-by: Guten Ye <ywzhaifei@gmail.com>
| * | | | | fix(move): check the correct buffer (#25698)zeertzjq2023-10-18
| | | | | |
| * | | | | test(autocmd/termxx_spec): fix flakiness (#25694)zeertzjq2023-10-18
| | | | | |
| * | | | | vim-patch:8.2.4497: wrong color for half of wide character next to pum ↵zeertzjq2023-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scrollbar (#25693) Problem: Wrong color for half of wide character next to pum scrollbar. Solution: Redraw the screen cell with the right color. (closes vim/vim#9874) https://github.com/vim/vim/commit/35d8c2010ea6ee5c9bcfa6a8285648172b92ed83 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | | | vim-patch:9.0.2041: trim(): hard to use default mask (#25692)zeertzjq2023-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: trim(): hard to use default mask (partly revert v9.0.2040) Solution: use default mask when it is empty The default 'mask' value is pretty complex, as it includes many characters. Yet, if one needs to specify the trimming direction, the third argument, 'trim()' currently requires the 'mask' value to be provided explicitly. Currently, an empty 'mask' will make 'trim()' call return 'text' value that is passed in unmodified. It is unlikely that someone is using it, so the chances of scripts being broken by this change are low. Also, this reverts commit 9.0.2040 (which uses v:none for the default and requires to use an empty string instead). closes: vim/vim#13358 https://github.com/vim/vim/commit/8079917447e7436dccc2e4cd4a4a56ae0a4712f2 vim-patch:9.0.2040: trim(): hard to use default mask Problem: trim(): hard to use default mask Solution: Use default 'mask' when it is v:none The default 'mask' value is pretty complex, as it includes many characters. Yet, if one needs to specify the trimming direction, the third argument, 'trim()' currently requires the 'mask' value to be provided explicitly. 'v:none' is already used to mean "use the default argument value" in user defined functions. See |none-function_argument| in help. closes: vim/vim#13363 https://github.com/vim/vim/commit/6e6386716f9494ae86027c6d34f657fd03dfec42 Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
| * | | | | fix(treesitter): check that buf is loaded in autocommands (#25679)Maria José Solano2023-10-17
| | | | | |
| * | | | | vim-patch:9.0.2035: [security] use-after-free with wildmenu (#25687)zeertzjq2023-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security] use-after-free with wildmenu Solution: properly clean up the wildmenu when exiting Fix wildchar/wildmenu/pum memory corruption with special wildchar's Currently, using `wildchar=<Esc>` or `wildchar=<C-\>` can lead to a memory corruption if using wildmenu+pum, or wrong states if only using wildmenu. This is due to the code only using one single place inside the cmdline process loop to perform wild menu clean up (by checking `end_wildmenu`) but there are other odd situations where the loop could have exited and we need a post-loop clean up just to be sure. If the clean up was not done you would have a stale popup menu referring to invalid memory, or if not using popup menu, incorrect status line (if `laststatus=0`). For example, if you hit `<Esc>` two times when it's wildchar, there's a hard-coded behavior to exit command-line as a failsafe for user, and if you hit `<C-\><C-\><C-N>` it will also exit command-line, but the clean up code would not have hit because of specialized `<C-\>` handling. Fix Ctrl-E / Ctrl-Y to not cancel/accept wildmenu if they are also used for 'wildchar'/'wildcharm'. Currently they don't behave properly, and also have potentially memory unsafe behavior as the logic is currently not accounting for this situation and try to do both. (Previous patch that addressed this: vim/vim#11677) Also, correctly document Escape key behavior (double-hit it to escape) in wildchar docs as it's previously undocumented. In addition, block known invalid chars to be set in `wildchar` option, such as Ctrl-C and `<CR>`. This is just to make it clear to the user they shouldn't be set, and is not required for this bug fix. closes: vim/vim#13361 https://github.com/vim/vim/commit/8f4fb007e4d472b09ff6bed9ffa485e0c3093699 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
| * | | | | vim-patch:9.0.2037: A few remaining cmdline completion issues with C-E/Y ↵zeertzjq2023-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#25686) Problem: A few remaining cmdline completion issues with C-E/Y Solution: Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not used at the end Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not used at the end A few places in the cmdline completion code only works properly when the user hits Tab (or 'wildchar') at the end of the cmdline, even though it's supposed to work even in the middle of the line. For fuzzy search, `:e ++ff`, and `:set hl=`, fix completion code to make sure to use `xp_pattern_len` instead of assuming the entire `xp_pattern` is the search pattern (since it contains texts after the cursor). Fix Ctrl-E / Ctrl-Y to not jump to the end when canceling/accepting a wildmenu completion. Also, make them work even when not using `set wildoptions+=pum` as there is no drawback to doing so. (Related issue where this was brought up: vim/vim#13331) closes: vim/vim#13362 https://github.com/vim/vim/commit/209ec90b9b9bd948d76511c9cd2b17f47a97afe6 Cherry-pick ex_getln.c changes from patch 9.0.2035. Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
| * | | | | vim-patch:9.0.2039: completion shows current word after completion restart ↵zeertzjq2023-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#25682) Problem: completion shows current word after completion restart Solution: remove the word being completed after completion restart The word being completed is shown in a completion list after completion restart, because it isn't removed from the current buffer before searching for matches. Also adjust `Test_complete_add_onechar` to match the new behavior. closes: vim/vim#13349 https://github.com/vim/vim/commit/2e3cd52fa02b1a208c97992b1bca3b04f7be66d4 Co-authored-by: nwounkn <nwounkn@gmail.com>
| * | | | | fix(diagnostics): if buffer not loaded, skip handlers that set extmark (#25628)Jaehwang Jung2023-10-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When enabling diagnostics, there can be diagnostics for unloaded buffer, but some handlers nevertheless attempt to set extmarks in such buffers. Solution: * Exit underline/virtual_text handler if buffer is not loaded. * Don't require is_loaded as precondition for show(), because handlers don't necessarily depend on it.
| * | | | | Merge pull request #25394 from famiu/refactor/options/set_optionbfredl2023-10-16
| |\ \ \ \ \ | | | | | | | | | | | | | | refactor(options)!: unify interfaces for setting options
| | * | | | | refactor(options): make `did_set_shada` a normal option callbackFamiu Haque2023-10-17
| | | | | | |
| | * | | | | refactor(options): make `os_oldval` and `os_newval` use `OptValData`Famiu Haque2023-10-17
| | | | | | |
| | * | | | | refactor(options): rename `empty_option` to `empty_string_option`Famiu Haque2023-10-17
| | | | | | |
| | * | | | | refactor(options): deduplicate the `do_set_option` codepathFamiu Haque2023-10-17
| | | | | | |
| | * | | | | refactor(options): deduplicate `do_set_option_string`Famiu Haque2023-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduce code duplication between `do_set_option_string` and `set_string_option` by making the former call the latter within itself.
| | * | | | | refactor(options): remove `os_op`Famiu Haque2023-10-17
| | | | | | |
| | * | | | | refactor(options)!: make OptionSet `v:` values use typvalFamiu Haque2023-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | BREAKING CHANGE: This breaks the OptionSet autocommand, as the `v:` values associated with it (`v:option_new`, `v:option_old`, `v:option_oldlocal` and `v:option_oldglobal`) are now the same type as the option, instead of all option values being converted to strings.
| | * | | | | refactor(options): unify set_num_option and set_bool_optionFamiu Haque2023-10-17
| | | | | | |
| * | | | | | build: adjust how find order is prioritizeddundargoc2023-10-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure bundled libraries and include directories are always searched first before any others. This will provide a more consistent experience as the search order of the builtin find_ functions can vary depending on system. This should make the build process faster when building with bundled deps as we limit the search to only the .deps directory. Separating the search between .deps and everything makes debugging find_-related problems simpler if you need to check how dependencies are found. For libraries, we divide the search process into the following order: 1. Only search in .deps directory and only search for static libraries. 2. Only search in .deps directory and search for all libraries. 3. Search everywhere and search for all libraries. Make an exception for FindLibintl.cmake as changing the search order seems to break some tests on macos.