Author: kevans
Date: Wed Feb 21 14:37:49 2018
New Revision: 329716
URL: https://svnweb.freebsd.org/changeset/base/329716

Log:
  lualoader: Use the key that interrupts autoboot as a menu choice
  
  This matches forth behavior. Hitting "6" when autobooting at the welcome
  menu will now take you directly to the "Boot Options" menu.
  
  We likely have some slight optimizations we should make, like not checking
  autoboot every time we open a new menu and things of this nature. Further
  work will go towards this end.

Modified:
  head/stand/lua/menu.lua

Modified: head/stand/lua/menu.lua
==============================================================================
--- head/stand/lua/menu.lua     Wed Feb 21 14:33:00 2018        (r329715)
+++ head/stand/lua/menu.lua     Wed Feb 21 14:37:49 2018        (r329716)
@@ -291,11 +291,13 @@ function menu.run(m)
        screen.defcursor()
        local alias_table = drawer.drawscreen(m)
 
-       menu.autoboot()
+       -- Might return nil, that's ok
+       local autoboot_key = menu.autoboot()
 
        cont = true
        while cont do
-               local key = io.getchar()
+               local key = autoboot_key or io.getchar()
+               autoboot_key = nil
 
                -- Special key behaviors
                if (key == core.KEY_BACKSPACE or key == core.KEY_DELETE) and
@@ -360,13 +362,13 @@ end
 
 function menu.autoboot()
        if menu.already_autoboot then
-               return
+               return nil
        end
        menu.already_autoboot = true
 
        local ab = loader.getenv("autoboot_delay")
        if ab ~= nil and ab:lower() == "no" then
-               return
+               return nil
        elseif tonumber(ab) == -1 then
                core.boot()
        end
@@ -395,7 +397,7 @@ function menu.autoboot()
                                print("                                        "
                                    .. "                                        
")
                                screen.defcursor()
-                               return
+                               return ch
                        end
                end
 
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to