This series adds enhanced editing features to the U-Boot command line, including multi-level undo/redo, yank/paste, word navigation, and multiline editing support for the expo textedit widget. Key features: - Multi-level undo (Ctrl+Z) and redo (Ctrl+Shift+Z) with configurable depth via CONFIG_CMDLINE_UNDO_COUNT - Yank/paste killed text with Ctrl+Y - Word navigation with Ctrl+Left/Right arrows - Home/End key support in sandbox SDL console - Multiline editing mode where Ctrl+K kills to end of line (not buffer) and Home/End navigate within the current line The series also includes test infrastructure improvements, fixes a memory leak in expo text object destruction, and fixes a buildman bug with merge_config.sh path resolution when using work directories. Simon Glass (19): buildman: Fix merge_config.sh path when using work directories buildman: Add option to build then show summary test: Add ut_check_video() helper function test: Add video_compress_fb_() with message parameter test: Display message at top right during video test delay expo: Free gen.lines alist when destroying text objects expo: Read all available input to keep up with key repeat input: Add Ctrl+arrow key support for sandbox SDL console input: Add Home and End key support for sandbox SDL console input: Add Ctrl+Shift+Z support for redo cli: Add a Kconfig for enhanced editing cmd: editenv: Add -e flag for expo-based editing test: Add editenv test for init/poll/uninit functions expo: Convert BKEY_UP/DOWN to control characters for text input cli: Add Ctrl+Left/Right arrow support for word navigation expo: Add SCENEOF_MULTILINE flag for textedit cli: Make Ctrl+K clear to end of line in multiline mode cli: Add Ctrl+Y to yank killed text cli: Add multi-level undo/redo support arch/sandbox/dts/cros-ec-keyboard.dtsi | 4 + boot/Kconfig | 9 + boot/Makefile | 1 + boot/editenv.c | 193 +++++++++++++++++++ boot/expo.c | 6 +- boot/scene.c | 2 + boot/scene_txtin.c | 73 ++++++- cmd/Kconfig | 47 ++++- cmd/nvedit.c | 50 ++++- common/Makefile | 1 + common/cli_getch.c | 40 ++++ common/cli_readline.c | 239 +++++++++++++++++++++-- common/cli_undo.c | 251 ++++++++++++++++++++++++ doc/develop/expo.rst | 21 ++ doc/usage/cmdline.rst | 68 +++++++ drivers/input/input.c | 54 ++++++ include/cli.h | 230 +++++++++++++++++++++- include/expo.h | 66 +++++++ include/test/test.h | 5 + include/test/video.h | 12 ++ test/boot/Makefile | 1 + test/boot/editenv.c | 253 +++++++++++++++++++++++++ test/boot/expo.c | 63 +++++- test/dm/video.c | 139 +++++++++++++- test/test-main.c | 2 + tools/buildman/buildman.rst | 5 +- tools/buildman/cfgutil.py | 21 +- tools/buildman/cmdline.py | 2 + tools/buildman/control.py | 4 + tools/buildman/test.py | 110 +++++++++++ tools/buildman/test_cfgutil.py | 48 +++++ 31 files changed, 1954 insertions(+), 66 deletions(-) create mode 100644 boot/editenv.c create mode 100644 common/cli_undo.c create mode 100644 test/boot/editenv.c -- 2.43.0 base-commit: a7d65f7fcee089ed97b46765e574279cad40d75f branch: exph