tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: vi vs. nvi

hi, all.

> 1. keep it as is

i prefer this and Makefile knob.

and just FYI, if small-size binary is the most important thing,
i think use Traditional-vi instead.
it is only up to 184K (stripped 160k) in i386 :)

merit is:
  * smaller than not only nvi-1.81.6 also nvi-1.79 too.
  * not clone, original bill joy's one. how retrospective!
  * alreadly i18n'ed.
  * use multibyte-regex, not non-standard wregex

demerit is:
  * lack nvi's extensional feature(gtag mode, iconv support etc).
  * included multibyte-capable regex library is under LGPL
    (but we can easily compile with libc's regex).
  * i18n'ed part is bad coding, only work under UTF-8 locale.
    we have to fix them.

> 2. hack it to use regex with UTF8

why UTF8 only? i want eucJP too :)

AFAIK, nvi-1.81.6 holds all characters in text as CHAR_T = wchar_t.
so that i'm afraid that rewriting wregex -> multibyte-regex
causes performance problem of searching, replacing words.

> 3. move wregex to libc

wregex is not standard API, i think libc is not the place at this point.

> 4. compile without wide chars.

yes, we can still available wchar_t enabled nvi with

and more FYI, nvi-1.81.6's wregex have 24bit wchar_t restriction.
so currently doesn't work under some locale that uses fully 32bit wchar_t.

one of them is zh_CN.GB18030, Chinese National Standard.
all software products sold in the China, officialy required for suports.

# i'm going to fix this problem, but i haven't enough time at this time...

very truly yours.
Takehiko NOZAKI<>

Home | Main Index | Thread Index | Old Index