Periodically get error “Encountered an invalid keyword ‘val’ at this object: main” in a ruby glimmer program. The only way i have found to fix this once starts is to rename the code file.
In this case changing name from test1.rb to testxxx.rb fixed the problem. It could reappear at any time as very sporadic. For this post I have reduced program to a single line of code.
Windows 11 and ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt]
Only things have done is refresh glimmer gem, start stop vs code, reboot system: no change.
# frozen_string_literal: true
require 'glimmer-dsl-libui'
include Glimmer
Window{}.show
# Stripped code down to this to eliminate where problem lies still have problem
# Fixed problem by renaming file form Test1.rb to Testxxx.rb
# Several times before have fixed problem same way
# drove me nuts one time as i just happened to have a varable val
Debug Window
E, [2024-08-11T14:41:24.025082 #76008] ERROR -- : Encountered an invalid keyword 'val' at this object: main
E, [2024-08-11T14:41:24.025288 #76008] ERROR -- : C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer/dsl/expression_handler.rb:58:in `handle': Glimmer keyword val with args [] cannot be handled! Check the validity of the code. (Glimmer::InvalidKeywordError)
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer/dsl/expression_handler.rb:52:in `handle'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer/dsl/expression_handler.rb:52:in `handle'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer/dsl/expression_handler.rb:52:in `handle'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer/dsl/expression_handler.rb:52:in `handle'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer/dsl/expression_handler.rb:52:in `handle'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer/dsl/expression_handler.rb:52:in `handle'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer/dsl/expression_handler.rb:52:in `handle'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer/dsl/expression_handler.rb:52:in `handle'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer/dsl/engine.rb:210:in `interpret'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/glimmer-2.7.7/lib/glimmer.rb:78:in `method_missing'
from (DEBUG CONSOLE):1:in `<main>'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/server_dap.rb:792:in `eval'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/server_dap.rb:792:in `block in dap_eval'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/thread_client.rb:388:in `block in tp_allow_reentry'
from <internal:trace_point>:200:in `allow_reentry'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/thread_client.rb:387:in `tp_allow_reentry'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/server_dap.rb:791:in `dap_eval'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/server_dap.rb:937:in `process_dap'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/thread_client.rb:1233:in `wait_next_action_'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/thread_client.rb:875:in `block in wait_next_action'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/thread_client.rb:866:in `block in fiber_blocking'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/thread_client.rb:866:in `blocking'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/thread_client.rb:866:in `fiber_blocking'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/thread_client.rb:875:in `wait_next_action'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/thread_client.rb:320:in `suspend'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/thread_client.rb:251:in `on_breakpoint'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/breakpoint.rb:69:in `suspend'
from C:/Users/donno/.local/share/gem/ruby/3.2.0/gems/debug-1.9.2/lib/debug/breakpoint.rb:170:in `block in setup'
from D:/Code/Ruby/_Projects/_Code_Examples/Glimmer_ex/Glimmer/test.rb:5:in `<main>'