Rebol shift-tab 副作用

Rebol shift-tab side effects

鉴于此: 查看布局[字段[打印“1”]字段[打印“2”]]

当我 shift+tab 从字段 #2 到字段 #1 时,没有触发任何操作。 如何让它们像普通标签一样触发?

这是 Rebol/View 引擎中 field 样式的键处理程序中的错误。这是一个快速补丁,您可以将其包含在代码中以修复它并使 SHIFT+Tab 工作:

use [body f pos][
    ;-- patch `ctx-text/back-field` function to fix the bug
    body: copy/deep second f: get in ctx-text 'back-field
    insert body/2/while [if head? item [item: tail item]]
    ctx-text/back-field: func first :f :body

    ;-- remove test that disables face/action for back-tabs
    body: second get in ctx-text 'edit-text
    body: find body 'word?
    pos: at body/3/7/tab-char/5/6 11
    change/part pos pos/4 4
]

此代码将在 运行 时遍历 View 引擎函数(代码是 Rebol 中的数据)并通过在需要时注入或删除代码来热修补函数体。

如果你恰好是Rebol/SDK用户,我可以直接给你补丁源文件的说明,这样你就可以封装一个固定的View可执行文件。

尽情享受吧。