[qt/qt-creator/qt-creator]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/qt-creator/qt-creator Pushed by mirror-service into branch 'master'. Changed from b7c938bfb357ff7fe2ec4e9a60e45400ba874284 to 47d584cbf1f14d9135b9f736ba14730fb59d76cb Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit 8aeb5d2ee5c9aea1fd9ec3b9c49d0bc54652a7a7 by Eike Ziller on 28/07/2026 at 06:34.. PluginManager: Fix -block -client calls during startup The Core plugin had a workaround for delaying the processing of -client arguments until after plugin initialization is fully done (including delayedInitialize) but that didn't work with the -block argument. I.e. triggering a start of Qt Creator and directly calling `qtcreator -client -block foo.txt` would open foo.txt in the first Qt Creator but the call with -block didn't actually block. Blocking works by delaying the deletion of the local socket until the corresponding document has closed. Keep that behavior by directly delaying the remote argument handling until initialization is fully done in the plugin manager itself, where we still can keep a handle on that socket. Task-number: QTCREATORBUG-34761 Change-Id: I8391f29de92f504cf31229a5d22496ffb6d5c315 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/8aeb5d2ee5c9aea1fd9ec3b9c49d0bc54652a7a7 Git commit fffd9fdf6904a4ae5a95424e5cf58b1e49cc4631 by Jarek Kobus on 28/07/2026 at 07:12.. GdbEngine: Drop redundant capability checks hasCapability() unconditionally returns true for MemoryAddressCapability and AdditionalQmlStackCapability in its first check, so repeating them in the AttachToCore-gated check below was dead code - that branch is unreachable for those two bits. LldbEngine/CdbEngine don't have the same duplication. Change-Id: I04471b82238ee719350fa35257228db70a89d23e Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/fffd9fdf6904a4ae5a95424e5cf58b1e49cc4631 Git commit 9a443414a59291e5aa04e141ac592ad77033f72c by Jarek Kobus on 28/07/2026 at 07:13.. Debugger: Remove unused MemoryAddressCapability It had no real consumer anywhere in the codebase - GdbEngine, LldbEngine, and CdbEngine all declared it, but nothing ever read it. ShowMemoryCapability is the proper equivalent, already checked by real UI consumers. Renumbered the bitmask to close the resulting gap at bit 24. Change-Id: I6420bb5122b00a7f83fe2677883e4167b140d5d3 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/9a443414a59291e5aa04e141ac592ad77033f72c Git commit 2215feecb30a267bf2befbebac7a4712e578f314 by Jarek Kobus on 28/07/2026 at 07:13.. Debugger: Remove unused CatchCapability Declared by GdbEngine and LldbEngine but never read anywhere - no UI code, no other engine, not even a test checks it. The most dead of the capability flags found so far: unlike the other recently-pruned ones, it wasn't even exercised by a test. Renumbered the bitmask to close the resulting gap at bit 21. Change-Id: I88c7de4d710984ebdf612f48cf35b549bc01c241 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/2215feecb30a267bf2befbebac7a4712e578f314 Git commit 1df8143bfbcc79b6c5b12a4f8a52f9ab5ad2b2fb by Eike Ziller on 28/07/2026 at 08:12.. Merge remote-tracking branch 'origin/20.0' Conflicts: src/plugins/cmakeprojectmanager/cmakeprojectconstants.h Change-Id: Ic4137436a4dbb383545ed5075caa7a9f0d7d61b6 https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/1df8143bfbcc79b6c5b12a4f8a52f9ab5ad2b2fb Git commit 741a97a0731e1c5f23e5c3abe3541328e9aa887f by Christian Stenger on 28/07/2026 at 08:28.. Utils: Fix wiring up terminal connections Fixes the tst_terminalinterface on Windows. Change-Id: Iace090392226584596ec1b3f94646653f72222af Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/741a97a0731e1c5f23e5c3abe3541328e9aa887f Git commit c2673b5eae9ff03a1fbc7e020a3763075eab0247 by The Qt Project on 28/07/2026 at 08:42.. Merge "Merge remote-tracking branch 'origin/20.0'" https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/c2673b5eae9ff03a1fbc7e020a3763075eab0247 Git commit 6a66e46d45d5a375e358be03e8df93fd23a3a4e2 by Eike Ziller on 28/07/2026 at 09:00.. File System view: Inform the VCS about renames Add API to tell the underlying file system model about renamed files/ directories without actually performing the rename and use the utility function for renaming the file/directory that takes care of the details. Fixes: QTCREATORBUG-34605 Change-Id: I30dea7555ea8e9fd8331b323a3b0fa828e01e6d5 Reviewed-by: André Hartmann <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/6a66e46d45d5a375e358be03e8df93fd23a3a4e2 Git commit 8411a54de7ae378b623f4cc2b2228f96da8e8acd by hjk on 28/07/2026 at 09:27.. Remote: Build a CMake project on the Windows device Make the remote Windows kit produce a working build over SSH. - WindowsProcessInterface now applies the process environment on the device. A process carrying an explicit environment (e.g. a build with the kit's build environment: MSVC vcvars INCLUDE/LIB plus the Windows SDK bin on PATH) needs it on the device, the way SshProcessInterface prefixes "KEY=value cmd" on Unix. The environment is too large to inline on the remote command line (Windows caps it near 32 KB), so a PowerShell script is staged in the device temp dir and run with -File, mirroring the MSVC vcvars capture. The streaming CmdBridge process (binary protocol over stdin/stdout) is excluded. - toolSearchPaths() is made virtual; the Windows device adds C:\Qt\Tools\<tool>[\bin] so the ninja and cmake bundled with Qt are found by the device tool detection (they are not on PATH). - The integration test grows a build phase: configure and build a trivial CMake project with the Ninja generator over the device and assert hello.exe is produced. Qt attachment is intermittently flaky (the asynchronous device qmake query sometimes does not finish in time) and is warned, not asserted, for now; tracked as a follow-up. Assisted-by: Claude Code Change-Id: Ib8eff3756294d71308dd05af4a23422cc5fa5423 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/8411a54de7ae378b623f4cc2b2228f96da8e8acd Git commit 61d9239d57d3686c8a87d29dc0e77e8059e429d0 by David Schulz on 28/07/2026 at 09:41.. Utils: set tar dir via -C instead of setting a working dir The tar processes may run on a remote device, and not every remote process interface honors the requested working directory reliably; "-C" makes tar itself change into the directory (supported by GNU tar and bsdtar alike). Change-Id: I039657155e3528fb89c29ced261bb092c5716ade Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/61d9239d57d3686c8a87d29dc0e77e8059e429d0 Git commit d03a99e7dc13dc56bd003bac9228a25c9a4b5c6a by hjk on 28/07/2026 at 10:00.. FakeVim: Refuse :q on a modified document's last split :q in a split removed the split (RemoveCurrentSplit) without checking for unsaved changes, unlike the no-splitter path which prompts. Like vim, refuse to drop the last view of a modified document unless forced (:q!), so its changes are not silently left behind. Assisted-by: Claude Code Fixes: QTCREATORBUG-32757 Change-Id: Ie42cf736a7cc22fb564fa72b3cdce01e65c0fa55 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/d03a99e7dc13dc56bd003bac9228a25c9a4b5c6a Git commit 6e4771726ce80e2c0ccacdab69a435bc63c10f90 by hjk on 28/07/2026 at 10:04.. FakeVim: Make operator search motions work with the search dialog With the "Use search dialog" option, / and ? opened the core find pane, which cannot carry out a pending operator, so d/, c/, y/ and friends did not delete/change/yank to the match. Use the built-in search whenever an operator is pending, so the motion completes. Assisted-by: Claude Code Fixes: QTCREATORBUG-24172 Change-Id: I901d23a1f6c676db1677ff813fb8ec342dad577f Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/6e4771726ce80e2c0ccacdab69a435bc63c10f90 Git commit acc0d9e86d51180c21ac444af3ab70699f77b94f by hjk on 28/07/2026 at 10:04.. FakeVim: Add option to match brackets like Vim % used the editor's syntax-aware bracket matcher, which skips brackets in strings and comments and can land differently than Vim. Add an option (off by default) to match brackets purely textually like Vim, so % counts every bracket regardless of syntax. Assisted-by: Claude Code Change-Id: I440496420815e103368ad599c55d800f714457a1 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/acc0d9e86d51180c21ac444af3ab70699f77b94f Git commit 8aa66279155a7f891dfcd6662035aee88ea27d4f by hjk on 28/07/2026 at 10:06.. FakeVim: Map K to context help Vim's K looks up the keyword under the cursor via keywordprg. Map it to Qt Creator's context help, the natural equivalent. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: Ibd538bd6b8b1efcecd58f54344901457450c4618 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/8aa66279155a7f891dfcd6662035aee88ea27d4f Git commit b6ca9a108ab8349a9fb06055129f0f5c8d4930e6 by hjk on 28/07/2026 at 10:09.. FakeVim: Implement normal-mode CTRL-G Show the current file name, cursor line/column, position percentage and modified state, like Vim's CTRL-G / :file. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I87aafcacb7158ce3853cf0807b063155e9c0c27d Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/b6ca9a108ab8349a9fb06055129f0f5c8d4930e6 Git commit ba6bc634457d4943efc8eae5af5e7acab20de669 by hjk on 28/07/2026 at 10:09.. FakeVim: Implement normal-mode CTRL-^ Switch to the alternate file, like Vim's CTRL-^. The plugin remembers the editor left when the current one changed and activates it again, so repeated presses toggle between the two files. The key is matched by Qt::Key_AsciiCircum, which identifies the caret regardless of keyboard layout, so no assumption about the Shift state needed to type "^" is made. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I6032e2ca2f3101e8dd326b5c07ffec2209184a1c Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/ba6bc634457d4943efc8eae5af5e7acab20de669 Git commit a7dc6eed7f2aace6efc5fba9f94fa706a57a80b4 by hjk on 28/07/2026 at 10:09.. FakeVim: Add "it"/"at" tag text objects Support the inner-tag and a-tag text objects for XML/HTML, so operators like dit, dat, cit and visual vit work on the innermost tag pair around the cursor. A count selects further-out enclosing pairs. Self-closing tags open no scope, and attribute values may contain ">". Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: Ic0fc5002478e5968140546491681fc35d0568f8d Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/a7dc6eed7f2aace6efc5fba9f94fa706a57a80b4 Git commit 33d7eb2ba9b92541fa92950cf3c2e294213c9949 by hjk on 28/07/2026 at 10:13.. FakeVim: Evaluate expressions in :echo Add a small recursive-descent evaluator for a subset of Vimscript expressions (VimValue plus VimExpr) and use it for :echo/:echomsg, which so far printed their argument verbatim. Supported: number, float and string literals, $ENV, parentheses, unary ! - +, * / %, + - and . concatenation, comparisons and && || ?: with Vim's coercion rules. This is the first step of expression support; variables, options, registers and builtin functions follow. As "||" is the logical-or operator, parseExCommand must no longer treat it as a command separator; a single "|" still splits commands. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I3400541c69872f548b53f30faf834d37fe0cbaf5 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/33d7eb2ba9b92541fa92950cf3c2e294213c9949 Git commit 9e7058f0c896f024bf8ce446fcfa7a18da8e4fe2 by hjk on 28/07/2026 at 10:13.. FakeVim: Add variables and :let/:unlet Store Vimscript variables per handler and resolve them in expressions. Support ":let {var} = {expr}" with the compound forms += -= *= /= %= .=, and ":unlet[!]". Scopes g:, b:, w:, t:, s:, l:, a: are accepted; "g:" is the same as an unscoped name, matching Vim. The read-only constants v:true, v:false and v:null are recognized. Options (&opt), registers (@r) and environment variables ($ENV) in :let are still pending and follow in the next step. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: Idf67bfebb2c2b5d26360fd4f82009e90b3fe10d2 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/9e7058f0c896f024bf8ce446fcfa7a18da8e4fe2 Git commit fe38cf4d06f38eddf95b8805a638ed99c1adb95e by hjk on 28/07/2026 at 10:13.. FakeVim: Support &option, @register and $env in expressions Read "&opt" (with optional &g:/&l: scope) and "@r" in expressions, and extend :let to assign to options, registers and environment variables, including the compound forms. Option access reuses the :set aspect lookup, so long and short names both work and values keep their type. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I9ebfe433bb476f80502f1c4c6f121e08ded0fd75 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/fe38cf4d06f38eddf95b8805a638ed99c1adb95e Git commit e7270803bb201e0fcbf54a936bdb2fb3a172fa88 by hjk on 28/07/2026 at 10:13.. FakeVim: Add builtin functions and :call Support function calls in expressions and a ":call" command that evaluates one for its side effects. The first builtins are strlen, len, toupper, tolower, str2nr, abs, empty, string, has, exists, line, col, getline and setline. has() reports no feature as present for now, and more builtins (printf, substitute, split, ...) follow. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: Ib8054df601206a77dd8afcbcf5c266c34cf64e48 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e7270803bb201e0fcbf54a936bdb2fb3a172fa88 Git commit e4327f2d196dfef2e61c5c9f2230ffba69f7df5b by hjk on 28/07/2026 at 10:13.. FakeVim: Implement :map <expr> An <expr> mapping stores its right-hand side as an expression instead of a key sequence and evaluates it each time the mapping is triggered, using the string result as the typed keys. Previously <expr> was rejected with notImplementedYet(). Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I7a79ad354e2e53140b2a1cb896ba7e9e80b061b9 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e4327f2d196dfef2e61c5c9f2230ffba69f7df5b Git commit 3d5b58ad656f72061cae85ada07fab2ac0982565 by hjk on 28/07/2026 at 10:24.. FakeVim: Add :execute :execute evaluates its expression arguments, joins the results with a space and runs the resulting string as an ex command line. A shared exprText() helper restores a leading "!" that parseExCommand strips as a bang but which is really the unary-not operator; :echo now uses it too. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I32065e7a1cd7fa7592d7ddc5e8ccc2f427d51804 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/3d5b58ad656f72061cae85ada07fab2ac0982565 Git commit 8c1410b152d58a9c0f32fceb79789c997e4666b1 by hjk on 28/07/2026 at 10:24.. FakeVim: Add :if/:elseif/:else/:endif Introduce a small interpreter that runs a sequence of ex-commands honoring conditional blocks, and route both the interactive command line and :source through it. Blocks may be written inline with "|" separators or span several lines in a sourced script; conditions of skipped branches are not evaluated. :while and :for follow next. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: Ia9dc5fccda844081011773f031050ab0b1682a10 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/8c1410b152d58a9c0f32fceb79789c997e4666b1 Git commit 50b6de8a3851610a4b0f065d006528ecab65a353 by hjk on 28/07/2026 at 10:24.. FakeVim: Add :while/:endwhile with :break and :continue Extend the ex-command interpreter with :while loops, plus :break and :continue. A runaway loop is stopped after a large iteration limit to avoid freezing the editor. :for is left for when a List type exists. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: Iea912e1a474028021182efb9218219b4c4b7e182 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/50b6de8a3851610a4b0f065d006528ecab65a353 Git commit 535dd81382a9945d6e78153a719418748dde29fd by hjk on 28/07/2026 at 10:24.. FakeVim: Add a List value type VimValue can now hold a List, held by a shared pointer so copies share one list as in Vim. Support list literals [a, b, ...], indexing with "[i]" (negative indices count from the end) on lists and strings, and the builtins add, get, range plus list handling in len, empty and string. Dictionaries and :for follow. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: Id965b865bd73bdcc65f130f1823763104ec8caf7 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/535dd81382a9945d6e78153a719418748dde29fd Git commit 3007b2998965174db0e10869d9e7a901ac1823c5 by hjk on 28/07/2026 at 10:25.. FakeVim: Add :for/:endfor over lists :for binds a variable to each element of a list and runs the body, honoring :break and :continue like :while. The list is iterated over a copy, so mutating it in the body is well-defined. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I5b828b721142dfcd35f8873af258d53ccf3f8241 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/3007b2998965174db0e10869d9e7a901ac1823c5 Git commit 2676088dbcbf8bcb00690de109bb32788d92512d by hjk on 28/07/2026 at 10:25.. FakeVim: Add a Dictionary value type VimValue can now hold a Dictionary, held by a shared pointer like lists. Support dictionary literals {'k': v, ...}, indexing with d['key'], and the builtins has_key, keys, values, items, remove plus dictionary handling in len, empty, get and string. Keys print sorted, matching Vim's string(). Indexed :let assignment (let d['k'] = v) follows. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: Ide6fa7f1da7a3dfa6c08d074b7922895bb8b7ac5 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/2676088dbcbf8bcb00690de109bb32788d92512d Git commit 9c291d4feeeab4a878b3b08162e57a909cd5e3d0 by hjk on 28/07/2026 at 10:25.. FakeVim: Support indexed :let assignment :let can now assign into a list or dictionary element, as in "let l[1] = x", "let d['k'] = x" and nested "let d['k'][0] = x", with the compound operators too. The container is located by evaluating the part before the last subscript, so the shared list or dictionary is updated in place. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I063b7eec311293d4f0e118ace87c5892514f7921 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/9c291d4feeeab4a878b3b08162e57a909cd5e3d0 Git commit 0f23f5885c2b5983abd1465dfe1e0d58c85ff86e by hjk on 28/07/2026 at 10:39.. FakeVim: Add user functions Support :function/:endfunction, calling user functions from expressions and :call, :return, and the a: (arguments) and l: (locals) scopes with a per-call scope stack, so locals stay local and recursion works. :source no longer skips function definitions. Argument scope is read via a:name; an unscoped or l: name inside a function is function-local, while g: and top-level names stay global. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I1827e9f38cb8a842fe7e06e118296d50b79e2eef Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/0f23f5885c2b5983abd1465dfe1e0d58c85ff86e Git commit 0599b993486ee816c80ef743551f8d57404d776e by hjk on 28/07/2026 at 10:39.. Terminal: Sync File System view with the terminal directory When shell integration reports the terminal's current directory, keep an auto-synchronizing File System view in sync with it, the same way that view already follows the current editor. The terminal requests a sync on focus and whenever its directory changes while focused; FolderNavigationWidgetFactory forwards the request to each File System view that has "Synchronize with Editor" enabled. Fixes: QTCREATORBUG-28936 Assisted-by: Claude Code Change-Id: I260d70234ec12b860406548eeffd9e6c9a3d868b Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/0599b993486ee816c80ef743551f8d57404d776e Git commit c04207998765827b6f3d5c799e131ed34a70b3e9 by hjk on 28/07/2026 at 11:00.. FakeVim: Add string builtins Add split, join, stridx, strpart, substitute and printf. substitute uses the same Vim-to-Qt pattern translation as search and :s, so "\(...\)" groups and "\1"/"&" replacements work; printf supports the d/i/x/X/o/c/f/s conversions with the "-" and "0" flags, a width and a precision. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I0baa77e16d0e07e1bd45e1ed2ab136a4e0a7a740 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/c04207998765827b6f3d5c799e131ed34a70b3e9 Git commit d7dadac7f21625711e0db91e6153f76e2424f9e4 by hjk on 28/07/2026 at 11:00.. FakeVim: Add collection builtins Add sort, reverse, copy, type, max and min. sort and reverse mutate the list in place and return it; copy makes an independent (shallow) copy so the original is left unchanged; type returns Vim's type numbers. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I87b1c0ba94eac8c7f6b2c2d2c140ea7c4d3823d2 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/d7dadac7f21625711e0db91e6153f76e2424f9e4 Git commit ad587e35998851faa9c65bf5223833c9c04b1c5e by hjk on 28/07/2026 at 11:00.. FakeVim: Add map() and filter() Both evaluate their expression argument for each element with v:val (the value) and v:key (index or key) set, mutating the list or dictionary in place and returning it. map() replaces each element; filter() keeps the ones the expression is true for. v:val/v:key are restored afterwards. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I77e7d9c1d9ac36296c5bd8d8accf1179f9be7fbc Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/ad587e35998851faa9c65bf5223833c9c04b1c5e Git commit 3d3ca6755d331bc16aec456dcdaf0a4433c304f4 by hjk on 28/07/2026 at 11:00.. FakeVim: Add :try/:catch/:finally and :throw Extend the interpreter with exception handling. :throw raises a value, :catch [/pattern/] handles a matching one and exposes it as v:exception, :finally always runs, and an uncaught exception is reported. Exceptions propagate out of loops and user functions to an enclosing :try, and a pending :return or :break still runs :finally before continuing. Assisted-by: Claude Code Task-number: QTCREATORBUG-34817 Change-Id: I4c903e86e150e7d4b410e5c7a056a6eadf58cf85 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/3d3ca6755d331bc16aec456dcdaf0a4433c304f4 Git commit eb0afecb640ee9ea2cbde12d723b985150bae72f by hjk on 28/07/2026 at 11:04.. Debugger: Bound the disassembly view to a window around the PC A disassembly accidentally requested for a frame without symbols can span a whole module (millions of lines). Rendering that as a single plain-text string plus a text document used gigabytes of memory. Show only a bounded window of lines around the current instruction, bracketed by truncation markers, instead of the full dump. Fixes: QTCREATORBUG-9786 Assisted-by: Claude Code Change-Id: Ic306943a97a8df4c0fbeb080e58853ddac3e9b9f Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/eb0afecb640ee9ea2cbde12d723b985150bae72f Git commit 38ea4c96483eea89d3ed7d10d50c918df8334e22 by Christian Kandeler on 28/07/2026 at 11:43.. Utils: Move PathChooser::Kind out of the class So it can be forward-declared. Change-Id: I5393f89ab62a278b41c29f4874770a78b14a7147 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/38ea4c96483eea89d3ed7d10d50c918df8334e22 Git commit f92681c4494b2ce90b5e976efba8c8c1f314e75c by Jarek Kobus on 28/07/2026 at 11:46.. Debugger: Don't interrupt before InferiorRunOk is confirmed Some engines' interrupt path is a raw signal that can kill an inferior before it's actually attached, instead of pausing it. Also affects GdbEngine::resetInferior() (Restart): it now skips the interrupt outside InferiorRunOk instead of forcing it regardless of state - Restart itself still proceeds either way. Change-Id: I463568cad34059f98cc181e8e9585a1fbd5e11f2 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/f92681c4494b2ce90b5e976efba8c8c1f314e75c Git commit 66df2fb6b4803f39eecbee3922a2a06849961d75 by hjk on 28/07/2026 at 11:47.. QmlJS: Parse .mjs files as ECMAScript modules A ".mjs" file is always an ES module, but Document::parse() always used script mode, so top-level import/export were reported as syntax errors ("Unexpected token 'export'"). Route .mjs documents to module parsing. The T_FEED_JS_MODULE branch in parse_helper() also called parser.parseProgram() (i.e. script mode); make it call parser.parseModule() so the module start token actually parses a module. Fixes: QTCREATORBUG-27738 Assisted-by: Claude Code Change-Id: Ia3e1875645e008a1b8529b0de1ba6986f1d13b82 Reviewed-by: Sami Shalayel <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/66df2fb6b4803f39eecbee3922a2a06849961d75 Git commit 47d584cbf1f14d9135b9f736ba14730fb59d76cb by hjk on 28/07/2026 at 11:53.. Debugger: Retry the QML engine query instead of asserting on empty LIST_ENGINES can legitimately come back empty right after the debug connection opens, before the QQmlEngine has registered (OBJECT_CREATED for the initial scene even arrives earlier, see newObject()). Treating that as a soft-assert failure was wrong and only left the object tree to appear on some later incidental reload. Drop the assertion and keep retrying the query while the debug connection is up (reloadEngines() stops on its own once it drops), since the engine may only be created much later. Assisted-by: Claude Code Change-Id: I9974a8813f9f53aa390ad54dbdc00112b8693725 Reviewed-by: Sami Shalayel <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/47d584cbf1f14d9135b9f736ba14730fb59d76cb