svn commit: r229881 - head/sys/boot/forth

Sergey Kandaurov pluknet at FreeBSD.org
Mon Jan 9 20:25:14 UTC 2012


Author: pluknet
Date: Mon Jan  9 20:25:14 2012
New Revision: 229881
URL: http://svn.freebsd.org/changeset/base/229881

Log:
  Get rid of a spurious warning on the console when booting the kernel
  from the interactive loader(8) prompt and beastie_disable="YES" is set
  in loader.conf(5). In this case menu.rc is not evaluated and consequently
  menu-unset does not have a body yet. This results in the ficl warning
  "menu-unset not found" when try-menu-unset invokes menu-unset.
  
  Check for beastie_disable="YES" explicitly, so that the try-menu-unset
  word will not attempt to invoke menu-unset because the menu will have
  never been configured. [1]
  Use the sfind primitive as a last resort as an additional safer approach
  conjuring a foreign word safely. [2]
  
  PR:		kern/163938
  Submitted by:	Devin Teske [1]
  Reviewed by:	Devin Teske [2]
  Reported and tested by:	dim
  MFC after:	1 week
  X-MFC with:	r228985

Modified:
  head/sys/boot/forth/loader.4th

Modified: head/sys/boot/forth/loader.4th
==============================================================================
--- head/sys/boot/forth/loader.4th	Mon Jan  9 20:16:06 2012	(r229880)
+++ head/sys/boot/forth/loader.4th	Mon Jan  9 20:25:14 2012	(r229881)
@@ -44,9 +44,20 @@ include /boot/support.4th
 only forth also support-functions also builtins definitions
 
 : try-menu-unset
+  \ menu-unset may not be present
+  s" beastie_disable" getenv
+  dup -1 <> if
+    s" YES" compare-insensitive 0= if
+      exit
+    then
+  else
+    drop
+  then
   s" menu-unset"
-  ['] evaluate catch if
-    2drop
+  sfind if
+    execute
+  else
+    drop
   then
 ;
 


More information about the svn-src-head mailing list