Thanks for testing Jaakko.

Can you re-test with the attached patch?

I cleaned things up a bit while addressing the problem that a later call to 
f_double was un-doing the previous installation of the ASCII charset.

This new patch should work (and I re-tested, having had ample sleep this time).
-- 
Thanks in advance,
Devin

_____________
The information contained in this message is proprietary and/or confidential. 
If you are not the intended recipient, please: (i) delete the message and all 
copies; (ii) do not disclose, distribute or use the message in any manner; and 
(iii) notify the sender immediately. In addition, please be aware that any 
message addressed to our domain is subject to archiving and review by persons 
other than the intended recipient. Thank you.
Index: support.4th
===================================================================
--- support.4th (revision 242835)
+++ support.4th (working copy)
@@ -201,6 +201,42 @@ create last_module_option sizeof module.next allot
 
 : getenv?  getenv -1 = if false else drop true then ;
 
+\ determine if a word appears in a string, case-insensitive
+: contains? ( addr1 len1 addr2 len2 -- 0 | -1 )
+       2 pick 0= if 2drop 2drop true exit then
+       dup 0= if 2drop 2drop false exit then
+       begin
+               begin
+                       swap dup c@ dup 32 = over 9 = or
+                       over 10 = or over 13 = or swap drop
+               while 1+ swap 1- repeat
+               swap 2 pick 1- over <
+       while
+               2over 2over drop over compare-insensitive 0= if
+                       2 pick over = if 2drop 2drop true exit then
+                       2 pick tuck - -rot + swap over c@ dup 32 =
+                       over 9 = or over 10 = or over 13 = or
+                       swap drop if 2drop 2drop true exit then
+               then begin
+                       swap dup c@
+                       dup 32 = over 9 = or over 10 = or over 13 = or
+                       swap drop if false else true then 2 pick 0> and
+               while 1+ swap 1- repeat
+               swap
+       repeat
+       2drop 2drop false
+;
+
+: boot_serial? ( -- 0 | -1 )
+       s" console" getenv dup -1 <> if
+               s" comconsole" 2swap contains?
+       else drop false then
+       s" boot_serial" getenv dup -1 <> if
+               s" YES" compare-insensitive 0=
+       else drop false then
+       or ( true if either console contains comconsole or boot_serial=YES )
+;
+
 \ Private definitions
 
 vocabulary support-functions
Index: frames.4th
===================================================================
--- frames.4th  (revision 242835)
+++ frames.4th  (working copy)
@@ -12,6 +12,11 @@ variable rt_el
 variable rb_el
 variable fill
 
+\ ASCII frames (used when serial console is detected)
+ 45 constant ascii_dash
+124 constant ascii_pipe
+ 43 constant ascii_plus
+
 s" arch-pc98" environment? [if]
        \ Single frames
        149 constant sh_el
@@ -63,7 +68,17 @@ s" arch-pc98" environment? [if]
        loop
 ;
 
+: f_ascii ( -- )       ( -- )  \ set frames to ascii
+       ascii_dash h_el !
+       ascii_pipe v_el !
+       ascii_plus lt_el !
+       ascii_plus lb_el !
+       ascii_plus rt_el !
+       ascii_plus rb_el !
+;
+
 : f_single     ( -- )  \ set frames to single
+       boot_serial? if f_ascii exit then
        sh_el h_el !
        sv_el v_el !
        slt_el lt_el !
@@ -73,6 +88,7 @@ s" arch-pc98" environment? [if]
 ;
 
 : f_double     ( -- )  \ set frames to double
+       boot_serial? if f_ascii exit then
        dh_el h_el !
        dv_el v_el !
        dlt_el lt_el !


On Dec 7, 2012, at 2:28 AM, Jaakko Heinonen wrote:

> On 2012-12-07, Devin Teske wrote:
>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=121064
>>> 
>> 
>> I've made some improvements to the supplied patch. Said improvements should 
>> address the previous issues that were preventing this from going in.
>> 
>> Can someone test the newly-attached patch.txt and get back to me?
> 
> I tried the latest patch in the PR and it didn't work for me. I have the
> following line in my /boot/loader.conf:
> 
> console="comconsole"
> 
> Attached is a screenshot from the menu. It's still using non-ASCII
> characters.
> 
> -- 
> Jaakko
> <menu.png>

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to