| \ command line edit and history support 16oct94py |
\ command line edit and history support 16oct94py |
| |
|
| \ Copyright (C) 1995,2000,2003 Free Software Foundation, Inc. |
\ Copyright (C) 1995,2000,2003,2004 Free Software Foundation, Inc. |
| |
|
| \ This file is part of Gforth. |
\ This file is part of Gforth. |
| |
|
| REPEAT |
REPEAT |
| drop r> ; |
drop r> ; |
| |
|
| |
: prefix-off ( -- ) 0 0 prefix-found 2! ; |
| |
|
| : prefix-string ( addr len nfa -- addr' len' ) |
: prefix-string ( addr len nfa -- addr' len' ) |
| dup prefix-found ! ?dup |
dup prefix-found ! ?dup |
| IF |
IF |
| name>string rot /string rot drop |
name>string rot /string rot drop |
| dup 1+ prefix-found cell+ ! |
dup 1+ prefix-found cell+ ! |
| ELSE |
ELSE |
| 2drop s" " prefix-found cell+ off |
2drop s" " prefix-off |
| THEN ; |
THEN ; |
| |
|
| : search-prefix ( addr1 len1 -- addr2 len2 ) |
: search-prefix ( addr1 len1 -- addr2 len2 ) |
| prefix-found @ IF bl (ins) THEN 0 ; |
prefix-found @ IF bl (ins) THEN 0 ; |
| |
|
| : kill-prefix ( key -- key ) |
: kill-prefix ( key -- key ) |
| dup #tab <> IF 0 0 prefix-found 2! THEN ; |
dup #tab <> IF prefix-off THEN ; |
| |
|
| |
[IFUNDEF] everyline defer everyline [THEN] |
| |
|
| : 8-bit-io ( -- ) |
: 8-bit-io ( -- ) |
| ['] forw ctrl F bindkey |
['] forw ctrl F bindkey |
| |
|
| \ UTF-8 support |
\ UTF-8 support |
| |
|
| include utf-8.fs |
require utf-8.fs |
| |
|
| : utf-8-cold ( -- ) |
: utf-8-cold ( -- ) |
| s" LANG" getenv s" .UTF-8" search nip nip |
s" LANG" getenv s" .UTF-8" search nip nip |