Er yes I meant libedit, sorry :-).

On Thu, Jul 07, 2011 at 09:50:42AM +0100, Nicholas Marriott wrote:
> Let's turn 'em on.
> 
> Not much supports them but we might as well have them.
> 
> ok?
> 
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/src/lib/libedit/Makefile,v
> retrieving revision 1.10
> diff -u -p -r1.10 Makefile
> --- Makefile  30 Jun 2010 00:05:35 -0000      1.10
> +++ Makefile  7 Jul 2011 08:49:16 -0000
> @@ -6,6 +6,8 @@ LIB=  edit
>  WANTLINT=
>  USE_SHLIBDIR=        yes
>  
> +WIDECHAR=    yes
> +
>  OSRCS=       chared.c common.c el.c emacs.c fcns.c filecomplete.c help.c \
>       hist.c key.c map.c chartype.c \
>       parse.c prompt.c read.c refresh.c search.c sig.c term.c tty.c vi.c
> Index: chartype.h
> ===================================================================
> RCS file: /cvs/src/lib/libedit/chartype.h,v
> retrieving revision 1.3
> diff -u -p -r1.3 chartype.h
> --- chartype.h        7 Jul 2011 05:40:42 -0000       1.3
> +++ chartype.h        7 Jul 2011 08:49:16 -0000
> @@ -45,7 +45,7 @@
>   * supports non-BMP code points without requiring UTF-16, but nothing
>   * seems to actually advertise this properly, despite Unicode 3.1 having
>   * been around since 2001... */
> -#ifndef __NetBSD__
> +#if !defined(__NetBSD__) && !defined(__OpenBSD__)
>  #ifndef __STDC_ISO_10646__
>  /* In many places it is assumed that the first 127 code points are ASCII
>   * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
> Index: editline.3
> ===================================================================
> RCS file: /cvs/src/lib/libedit/editline.3,v
> retrieving revision 1.31
> diff -u -p -r1.31 editline.3
> --- editline.3        2 Mar 2011 07:46:15 -0000       1.31
> +++ editline.3        7 Jul 2011 08:49:17 -0000
> @@ -36,24 +36,41 @@
>  .Nm el_end ,
>  .Nm el_reset ,
>  .Nm el_gets ,
> +.Nm el_wgets ,
>  .Nm el_getc ,
> +.Nm el_wgetc ,
>  .Nm el_push ,
> +.Nm el_wpush ,
>  .Nm el_parse ,
> +.Nm el_wparse ,
>  .Nm el_set ,
> +.Nm el_wset ,
>  .Nm el_get ,
> +.Nm el_wget ,
>  .Nm el_source ,
>  .Nm el_resize ,
>  .Nm el_line ,
> +.Nm el_wline ,
>  .Nm el_insertstr ,
> +.Nm el_winsertstr ,
>  .Nm el_deletestr ,
> +.Nm el_wdeletestr ,
>  .Nm history_init ,
> +.Nm history_winit ,
>  .Nm history_end ,
> +.Nm history_wend ,
>  .Nm history ,
> +.Nm history_w ,
>  .Nm tok_init ,
> +.Nm tok_winit ,
>  .Nm tok_end ,
> +.Nm tok_wend ,
>  .Nm tok_reset ,
> +.Nm tok_wreset ,
>  .Nm tok_line ,
> +.Nm tok_wline ,
>  .Nm tok_str
> +.Nm tok_wstr
>  .Nd line editor, history and tokenization functions
>  .Sh SYNOPSIS
>  .Fd #include <histedit.h>
> @@ -65,17 +82,29 @@
>  .Fn el_reset "EditLine *e"
>  .Ft const char *
>  .Fn el_gets "EditLine *e" "int *count"
> +.Ft const wchar_t *
> +.Fn el_wgets "EditLine *e" "int *count"
>  .Ft int
>  .Fn el_getc "EditLine *e" "char *ch"
> +.Ft int
> +.Fn el_wgetc "EditLine *e" "wchar_t *ch"
>  .Ft void
>  .Fn el_push "EditLine *e" "const char *str"
> +.Ft void
> +.Fn el_wpush "EditLine *e" "const wchar_t *str"
>  .Ft int
>  .Fn el_parse "EditLine *e" "int argc" "const char *argv[]"
>  .Ft int
> +.Fn el_wparse "EditLine *e" "int argc" "const wchar_t *argv[]"
> +.Ft int
>  .Fn el_set "EditLine *e" "int op" "..."
>  .Ft int
> +.Fn el_wset "EditLine *e" "int op" "..."
> +.Ft int
>  .Fn el_get "EditLine *e" "int op" "..."
>  .Ft int
> +.Fn el_wget "EditLine *e" "int op" "..."
> +.Ft int
>  .Fn el_source "EditLine *e" "const char *file"
>  .Ft void
>  .Fn el_resize "EditLine *e"
> @@ -83,24 +112,44 @@
>  .Fn el_line "EditLine *e"
>  .Ft int
>  .Fn el_insertstr "EditLine *e" "const char *str"
> +.Ft int
> +.Fn el_winsertstr "EditLine *e" "const wchar_t *str"
>  .Ft void
>  .Fn el_deletestr "EditLine *e" "int count"
> +.Ft void
> +.Fn el_wdeletestr "EditLine *e" "int count"
>  .Ft History *
>  .Fn history_init
> +.Ft HistoryW *
> +.Fn history_winit
>  .Ft void
>  .Fn history_end "History *h"
> +.Ft void
> +.Fn history_wend "HistoryW *h"
>  .Ft int
>  .Fn history "History *h" "HistEvent *ev" "int op" "..."
> +.Ft int
> +.Fn history_w "HistoryW *h" "HistEventW *ev" "int op" "..."
>  .Ft Tokenizer *
>  .Fn tok_init "const char *IFS"
> +.Ft TokenizerW *
> +.Fn tok_winit "const wchar_t *IFS"
>  .Ft void
>  .Fn tok_end "Tokenizer *t"
>  .Ft void
> +.Fn tok_wend "TokenizerW *t"
> +.Ft void
>  .Fn tok_reset "Tokenizer *t"
> +.Ft void
> +.Fn tok_wreset "TokenizerW *t"
>  .Ft int
>  .Fn tok_line "Tokenizer *t" "const LineInfo *li" "int *argc" "const char 
> **argv[]" "int *cursorc" "int *cursoro"
>  .Ft int
> +.Fn tok_wline "TokenizerW *t" "const LineInfoW *li" "int *argc" "const 
> wchar_t **argv[]" "int *cursorc" "int *cursoro"
> +.Ft int
>  .Fn tok_str "Tokenizer *t" "const char *str" "int *argc" "const char 
> **argv[]"
> +.Ft int
> +.Fn tok_wstr "TokenizerW *t" "const wchar_t *str" "int *argc" "const wchar_t 
> **argv[]"
>  .Sh DESCRIPTION
>  The
>  .Nm
> @@ -122,6 +171,9 @@ which is created by
>  .Fn el_init
>  and freed by
>  .Fn el_end .
> +.Pp
> +The wide-character functions behave the same way as their narrow
> +counterparts.
>  .Pp
>  The following functions are available:
>  .Bl -tag -width 4n

Reply via email to