Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 1.99 KB

File metadata and controls

56 lines (41 loc) · 1.99 KB

[2041] 切换语言改为即时生效(无需重启)

1 相关文档

2 任务相关的代码文件

  • TeXmacs/progs/texmacs/menus/preferences-menu.scmset-language-and-notify 简化为直接 set-preference,不再弹确认重启
  • TeXmacs/tests/2041.scm — language 即时切换 GUI 集成测试

3 如何测试

3.1 确定性测试(单元测试)

MOGAN_TEST_GUI=1 xmake r 2041   # language 即时切换(GUI 集成测试)

3.2 非确定性测试(文档验证)

xmake b stem
# 打开 首选项 -> Language,切换语言:
#   即时生效(菜单/界面文案跟随),不弹「需重启」确认框

4 如何提交

提交前执行以下最少步骤:

gf fmt --changed-since=main

5 What

将首选项里切换语言(language)从「弹确认重启框、确认后才落定」改为即时生效: set-language-and-notify 直接 set-preferencenotify-language 实时调 set-output-language,语言切换无需重启软件。

6 Why

set-language-and-notify 切语言时弹 user-confirm(基于 restart-required-message), 要求用户确认重启。但 language 实际并非需重启字段——notify-language 已经实时 set-output-language,重启是多此一举。去掉后:

  • 切语言即时生效,体验更顺
  • 移除不必要的重启确认弹窗

7 How

7.1 scm(preferences-menu.scm

  • set-language-and-notify lan:去掉 user-confirm / restart-required-message 分支,简化为 (set-preference "language" lan)define-preferences 注册的 notify-language 会在值变化时实时 set-output-language,故无需重启。

7.2 测试(TeXmacs/tests/2041.scm

  • GUI 集成测试:set-language-and-notify "english" / "chinese" 后断言 get-output-language 实时跟随;末尾恢复原语言。
  • exec-delayed-at 延迟退出(GUI 模式不自动 quit),让 check 输出 flush 后关窗。