Date: Wed, 17 Aug 2011 03:21:48 -0500 From: Zhihao Yuan <lichray@gmail.com> To: Test Rat <ttsestt@gmail.com> Cc: freebsd-hackers@freebsd.org Subject: Re: [nvi-iconv]Call for test Message-ID: <CAGsORuDiq%2BgsGyV1Da0mUKj0JBnam584S2z5VFVcKyKM1qsVdw@mail.gmail.com> In-Reply-To: <868vqt0xuc.fsf@gmail.com> References: <CAGsORuCWioKEF_n-2UK1BkRLCDkk-qbkhqYUZzLm16Em=NHEDg@mail.gmail.com> <CAGsORuBr=b-cJEAJO7cJ=j5dn04kJfR%2BHzz58Rjc29uTDZv4Xg@mail.gmail.com> <CAGsORuCsz_XzWntZ_y40SuAS%2B7saT7GzMUoTzpGgdCN5aTYuNg@mail.gmail.com> <868vqt0xuc.fsf@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I totally hate gmail's reply -- I enabled "Reply to all" by default but I still got things wrong. Anyway, for short, the problem is caused by the lack of a widechar enabled regex. I ported the one used by nvi-devel-1.8x. A new patch is uploaded, https://github.com/downloads/lichray/nvi2/nvi2-freebsd-2011-08-17.diff.gz and I tested it with make buildworld. Note that this version sets WARNS=1 in vi's Makefile, since it's warning free with clang and gcc. And there is change to `rescue`'s compilation: now it links to libcursesw if WITH_ICONV is on. On Tue, Aug 16, 2011 at 5:56 PM, Test Rat <ttsestt@gmail.com> wrote: > Zhihao Yuan <lichray@gmail.com> writes: > >> On Sun, Aug 14, 2011 at 10:39 AM, Zhihao Yuan <lichray@gmail.com> wrote: >>> Hi, hackers: >>> >>> My GSoC2011 project, "Multibyte Encoding Support in Nvi" is ready for >>> testing. The proposal of the project is here: >>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/zy/1 > [...] >> Let me try to ``quickly'' explain how to involve into the testing. >> >> First, download the patch from >> https://github.com/downloads/lichray/nvi2/nvi2-freebsd-2011-08-14.diff.gz > > It breaks buildworld for me, e.g. > > $ make all -C share/termcap > gzip -cn /usr/src/share/termcap/termcap.5 > termcap.5.gz > TERM=dumb TERMCAP=dumb: ex - /usr/src/share/termcap/termcap.src < /usr/src/share/termcap/reorder > Error: stderr: Inappropriate ioctl for device > script, 3: Destination line is inside move range > *** Error code 1 > > and crashes when no WITH_ICONV is defined. Can you confirm? > > Starting program: /usr/bin/ex - /usr/src/share/termcap/termcap.src < /usr/src/share/termcap/reorder > > Program received signal SIGSEGV, Segmentation fault. > 0x0000000800be7760 in ?? () > (gdb) bt > #0 0x0000000800be7760 in ?? () > #1 0x000000000044092b in ex_writefp (sp=0x801106800, name=0x801103148 "termcap", fp=0x800e51d90, fm=0x801007ca8, tm=0x801007cb8, > nlno=0x7fffffffc808, nch=0x7fffffffc800, silent=0) at /usr/src/usr.bin/vi/../../contrib/nvi2/ex/ex_write.c:321 > #2 0x000000000040bfb2 in file_write (sp=0x801106800, fm=0x801007ca8, tm=0x801007cb8, name=0x801103148 "termcap", flags=21) > at /usr/src/usr.bin/vi/../../contrib/nvi2/common/exf.c:924 > #3 0x0000000000440739 in exwr (sp=0x801106800, cmdp=0x801007be8, cmd=WRITE) > at /usr/src/usr.bin/vi/../../contrib/nvi2/ex/ex_write.c:264 > #4 0x00000000004400d2 in ex_write (sp=0x801106800, cmdp=0x801007be8) at /usr/src/usr.bin/vi/../../contrib/nvi2/ex/ex_write.c:91 > #5 0x0000000000422b78 in ex_cmd (sp=0x801106800) at /usr/src/usr.bin/vi/../../contrib/nvi2/ex/ex.c:1375 > #6 0x000000000041f788 in ex (spp=0x7fffffffd040) at /usr/src/usr.bin/vi/../../contrib/nvi2/ex/ex.c:133 > #7 0x0000000000412377 in editor (gp=0x801007b00, argc=1, argv=0x7fffffffd268) > at /usr/src/usr.bin/vi/../../contrib/nvi2/common/main.c:424 > #8 0x000000000040513f in main (argc=3, argv=0x7fffffffd258) at /usr/src/usr.bin/vi/../../contrib/nvi2/cl/cl_main.c:123 > (gdb) bt f > #0 0x0000000800be7760 in ?? () > No symbol table info available. > #1 0x000000000044092b in ex_writefp (sp=0x801106800, name=0x801103148 "termcap", fp=0x800e51d90, fm=0x801007ca8, tm=0x801007cb8, > nlno=0x7fffffffc808, nch=0x7fffffffc800, silent=0) at /usr/src/usr.bin/vi/../../contrib/nvi2/ex/ex_write.c:321 > sb = { > st_dev = 4294955600, > st_ino = 32767, > st_mode = 0, > st_nlink = 0, > st_uid = 0, > st_gid = 1944, > st_rdev = 0, > st_atim = { > tv_sec = 3, > tv_nsec = 34377892735 > }, > st_mtim = { > tv_sec = 6798080, > tv_nsec = 4096 > }, > st_ctim = { > tv_sec = 0, > tv_nsec = 34366769152 > }, > st_size = 4, > st_blocks = 140737488343672, > st_blksize = 3, > st_flags = 0, > st_gen = 4294954160, > st_lspare = 32767, > st_birthtim = { > tv_sec = 34366543277, > tv_nsec = 582 > } > } > gp = (GS *) 0x801007b00 > ccnt = 0 > fline = 1 > tline = 4666 > lcnt = 0 > len = 140737488340496 > rval = -11656 > msg = 0x46f540 "253|Writing..." > p = (CHAR_T *) 0xb <Error reading address 0xb: Bad address> > f = 0x800c0981f "H\211A^]\017\037\204" > flen = 140737488340168 > isutf16 = 0 > #2 0x000000000040bfb2 in file_write (sp=0x801106800, fm=0x801007ca8, tm=0x801007cb8, name=0x801103148 "termcap", flags=21) > at /usr/src/usr.bin/vi/../../contrib/nvi2/common/exf.c:924 > mtype = OLDFILE > sb = { > st_dev = 745804815, > st_ino = 70073, > st_mode = 33188, > st_nlink = 1, > st_uid = 1001, > st_gid = 1001, > st_rdev = 4294967295, > st_atim = { > tv_sec = 1313534959, > tv_nsec = 905174484 > }, > st_mtim = { > tv_sec = 1313535150, > tv_nsec = 420174354 > }, > st_ctim = { > tv_sec = 1313535150, > tv_nsec = 420174354 > }, > st_size = 0, > st_blocks = 1, > st_blksize = 131072, > st_flags = 0, > st_gen = 0, > st_lspare = 0, > st_birthtim = { > tv_sec = 1313535150, > tv_nsec = 420174354 > } > } > ep = (EXF *) 0x801031180 > fp = (FILE *) 0x800e51d90 > frp = (FREF *) 0x80112f040 > from = { > lno = 4294953320, > cno = 140737488341984 > } > to = { > lno = 17842464, > cno = 140737488341096 > } > len = 1 > nlno = 0 > nch = 0 > fd = 11 > nf = 18607849 > noname = 0 > oflags = 1537 > rval = 0 > p = 0x800b87f54 "»\001" > s = 0x7fffffffc830 "" > t = 0x80118b240 "" > buf = "\000»g\000\000\000\000\000q000\b\000\000\000«\002\000\000\000\000\000\000\001\b\000\000\000\000\000\000\004\000\000\000\000\000\000\000h»g\000\000\000\000\000\033\001\000\000\000\000\000`\004\000\000\000\000\000\000»g\000\000\000\000\000\001\000\000\000\000\000\000\000\000°*\001\b\000\000\000\000»g\000\000\000\000\000\000`\004\000\000\000\000\000\000(\000\000\000\000\000\000\020ÿÿ\177\000\000\227000\b\000\000\000h»g", '\0' <repeats 13 times>, "\020ÿÿ\177\000\000[\214À\000\b\000\000\000\000 !\001\b\000\000\000( !\001\b\000\000\000\000\017\023\001\b\000\000\000 !\001\b\000\000\000@ÿÿ\177\000\000\036wÀ"... > msgstr = 0x2 <Error reading address 0x2: Bad address> > #3 0x0000000000440739 in exwr (sp=0x801106800, cmdp=0x801007be8, cmd=WRITE) > at /usr/src/usr.bin/vi/../../contrib/nvi2/ex/ex_write.c:264 > rm = { > lno = 17846452, > cno = 4 > } > flags = 21 > name = 0x801103148 "termcap" > p = (CHAR_T *) 0x801103088 "termcap" > nlen = 8 > n = 0x801103140 "termcap" > rc = 4260867 > #4 0x00000000004400d2 in ex_write (sp=0x801106800, cmdp=0x801007be8) at /usr/src/usr.bin/vi/../../contrib/nvi2/ex/ex_write.c:91 > No locals. > #5 0x0000000000422b78 in ex_cmd (sp=0x801106800) at /usr/src/usr.bin/vi/../../contrib/nvi2/ex/ex.c:1375 > nret = 17852416 > exp = (EX_PRIVATE *) 0x8010f3600 > ecp = (EXCMD *) 0x801007be8 > gp = (GS *) 0x801007b00 > cur = { > lno = 185, > cno = 0 > } > lno = 1 > arg1_len = 0 > discard = 0 > len = 140737488342608 > flags = 0 > ltmp = 1 > at_found = 0 > gv_found = 24 > cnt = 8 > delim = 16808704 > isaddr = 1 > namelen = 1 > newscreen = 0 > notempty = 0 > tmp = 0 > vi_address = 1 > arg1 = (CHAR_T *) 0x0 > s = (CHAR_T *) 0x801153143 "termcap" > p = (CHAR_T *) 0x80115314b "-m'a" > t = (CHAR_T *) 0x7fffffffd250 "\003" > ch = 112 'p' > n = (CHAR_T *) 0x7 <Error reading address 0x7: Bad address> > np = 0x46a8b9 "s" > #6 0x000000000041f788 in ex (spp=0x7fffffffd040) at /usr/src/usr.bin/vi/../../contrib/nvi2/ex/ex.c:133 > exp = (EX_PRIVATE *) 0x8010f3600 > gp = (GS *) 0x801007b00 > mp = (MSGS *) 0x0 > sp = (SCR *) 0x801106800 > tp = (TEXT *) 0x801151080 > flags = 2592 > space = 32 ' ' > #7 0x0000000000412377 in editor (gp=0x801007b00, argc=1, argv=0x7fffffffd268) > at /usr/src/usr.bin/vi/../../contrib/nvi2/common/main.c:424 > p = 0x7fffffff037f "" > ev = { > q = { > tqe_next = 0x40150c, > tqe_prev = 0x7fffffffd008 > }, > e_event = 98, > _u_event = { > _e_ch = { > c = 58 ':', > value = K_NOTUSED, > flags = 58 ':' > }, > _e_mark = { > lno1 = 4201018, > cno1 = 4201018, > lno2 = 226154414, > cno2 = 34366783664 > }, > _e_str = { > asp = 0x401a3a "sigaction", > csp = 0x401a3a "sigaction", > len = 226154414 > } > } > } > frp = (FREF *) 0x80112f040 > sp = (SCR *) 0x801106800 > len = 0 > flags = 1 > ch = -1 > flagchk = 0 > lflag = 0 > secure = 0 > startup = 1 > readonly = 0 > rval = 6813300 > silent = 1 > tag_f = 0x0 > wsizearg = 0x0 > path = "xÿÿ\177\000\000\003\000\000\000\000\000\000\000Pÿÿ\177\000\000\000\b\000\000\000\000»g\000\000\000\000\000\000P\004\001\b\000\000\000\000\020\000\000\000\000\000\000\000\020\000\000\000\000\000\000\001\000\000\000\000\000\000\0000ÿÿ\177\00---Type <return> to continue, or q <return> to quit--- > 0\000\0005000\b\000\000\000204\002\001\b", '\0' <repeats 11 times>, "\006\002\000\000\000\000\000\000\000»g\000\000\000\000\000\000@k\000\b\000\000\000222À\000\b\000\000\000\017W@\000\000\000\000\000°ºg\000\000\000\000\000@\000\000\000\000\000H\205\002\001\b\000\000\000\000P\004\001\034\000\000\000@", '\0' <repeats 25 times>, "\b\000\000\000\220ÿÿ\177\000\000"... > w = (CHAR_T *) 0x7fffffffcff8 "g" > wlen = 34366767104 > #8 0x000000000040513f in main (argc=3, argv=0x7fffffffd258) at /usr/src/usr.bin/vi/../../contrib/nvi2/cl/cl_main.c:123 > clp = (CL_PRIVATE *) 0x801028300 > gp = (GS *) 0x801007b00 > rows = 24 > cols = 132 > rval = 32767 > p_av = (char **) 0x7fffffffd270 > t_av = (char **) 0x7fffffffd270 > ttype = 0x7fffffffd6ab "screen-256color" > reenter = 1 > -- Zhihao Yuan, nickname lichray The best way to predict the future is to invent it. ___________________________________________________ 4BSD -- http://4bsd.biz/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGsORuDiq%2BgsGyV1Da0mUKj0JBnam584S2z5VFVcKyKM1qsVdw>
