gopher: fix bug where empty lines weren't printed properly in menus.
parent
9858753c43
commit
b68174511c
|
@ -67,9 +67,7 @@ TUPLE: gopher-link type name selector host port ;
|
||||||
M: gopher-link summary >url present ;
|
M: gopher-link summary >url present ;
|
||||||
|
|
||||||
: <gopher-link> ( item -- gopher-link )
|
: <gopher-link> ( item -- gopher-link )
|
||||||
[ "" ] [
|
unclip swap "\t" split first4 gopher-link boa ;
|
||||||
unclip swap "\t" split first4 gopher-link boa
|
|
||||||
] if-empty ;
|
|
||||||
|
|
||||||
M: gopher-link >url
|
M: gopher-link >url
|
||||||
dup type>> CHAR: h = [
|
dup type>> CHAR: h = [
|
||||||
|
@ -93,19 +91,24 @@ M: gopher-link >url
|
||||||
: gopher-text ( object -- lines )
|
: gopher-text ( object -- lines )
|
||||||
utf8 decode string-lines { "." } split1 drop ;
|
utf8 decode string-lines { "." } split1 drop ;
|
||||||
|
|
||||||
: gopher-gif ( object -- image )
|
: gopher-text. ( object -- )
|
||||||
"gif" (image-class) load-image* ;
|
gopher-text [ print ] each ;
|
||||||
|
|
||||||
: gopher-menu ( object -- links )
|
: gopher-gif. ( object -- )
|
||||||
gopher-text [ <gopher-link> ] map ;
|
"gif" (image-class) load-image* image. ;
|
||||||
|
|
||||||
|
: gopher-menu. ( object -- )
|
||||||
|
gopher-text [
|
||||||
|
[ nl ] [ <gopher-link> gopher-link. ] if-empty
|
||||||
|
] each ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
: gopher. ( url -- )
|
: gopher. ( url -- )
|
||||||
gopher swap {
|
gopher swap {
|
||||||
{ A_TEXT [ gopher-text [ print ] each ] }
|
{ A_TEXT [ gopher-text. ] }
|
||||||
{ A_MENU [ gopher-menu [ gopher-link. ] each ] }
|
{ A_MENU [ gopher-menu. ] }
|
||||||
{ A_INDEX [ gopher-menu [ gopher-link. ] each ] }
|
{ A_INDEX [ gopher-menu. ] }
|
||||||
{ A_GIF [ gopher-gif image. ] }
|
{ A_GIF [ gopher-gif. ] }
|
||||||
[ drop . ]
|
[ drop . ]
|
||||||
} case ;
|
} case ;
|
||||||
|
|
Loading…
Reference in New Issue