vi loop when resizing window
Bob Willcox
bob at immure.com
Sun Mar 16 13:43:52 UTC 2014
Are there plans to merge these changes into 10.0-stable? It would be really
nice to have the xterm resize problem resolved w/o having to resort to a patch
if possible.
Thanks,
Bob
On Mon, Mar 10, 2014 at 12:23:32AM -0400, Zhihao Yuan wrote:
> On Sun, Mar 9, 2014 at 11:14 PM, Bob Willcox <bob at immure.com> wrote:
> > ------------------------------------------------------------------------
> > r259073 | peter | 2013-12-07 12:23:29 -0600 (Sat, 07 Dec 2013) | 13 lines
> >
> > Hoist all the mergeinfo up to the root in preparation for enforcing merges
> > to the root only. All MFC's were rerecorded to the root.
>
> r259073 < r259088, I would suggest to try whether the
> attached patch helps. I just tried `make buildworld` on
> HEAD, and did not repro your problem.
>
> --
> Zhihao Yuan, ID lichray
> The best way to predict the future is to invent it.
> ___________________________________________________
> 4BSD -- http://4bsd.biz/
> Index: common/key.c
> ===================================================================
> --- common/key.c (revision 259087)
> +++ common/key.c (revision 259088)
> @@ -10,7 +10,7 @@
> #include "config.h"
>
> #ifndef lint
> -static const char sccsid[] = "$Id: key.c,v 10.53 2013/03/11 01:20:53 yamt Exp $";
> +static const char sccsid[] = "$Id: key.c,v 10.54 2013/11/13 12:15:27 zy Exp $";
> #endif /* not lint */
>
> #include <sys/types.h>
> @@ -272,7 +272,7 @@
> * The code prints non-printable wide characters in 4 or 5 digits
> * Unicode escape sequences, so only supports plane 0 to 15.
> */
> - if (ISPRINT(ach))
> + if (CAN_PRINT(sp, ach))
> goto done;
> nopr: if (iscntrl(ch) && (ch < 0x20 || ch == 0x7f)) {
> sp->cname[0] = '^';
> Index: common/key.h
> ===================================================================
> --- common/key.h (revision 259087)
> +++ common/key.h (revision 259088)
> @@ -6,7 +6,7 @@
> *
> * See the LICENSE file for redistribution information.
> *
> - * $Id: key.h,v 10.55 2012/10/07 01:31:17 zy Exp $
> + * $Id: key.h,v 10.56 2013/11/13 12:15:27 zy Exp $
> */
>
> #include "multibyte.h"
> @@ -23,8 +23,9 @@
> #define INPUT2INT5(sp,cw,n,nlen,w,wlen) \
> sp->conv.input2int(sp, n, nlen, &(cw), &wlen, &w)
> #define CONST
> +#define INTISWIDE(c) (wctob(c) == EOF)
> #define CHAR_WIDTH(sp, ch) wcwidth(ch)
> -#define INTISWIDE(c) (wctob(c) == EOF)
> +#define CAN_PRINT(sp, ch) (CHAR_WIDTH(sp, ch) > 0)
> #else
> #define FILE2INT5(sp,buf,n,nlen,w,wlen) \
> (w = n, wlen = nlen, 0)
> @@ -36,9 +37,10 @@
> (n = w, nlen = wlen, 0)
> #define INPUT2INT5(sp,buf,n,nlen,w,wlen) \
> (w = n, wlen = nlen, 0)
> -#define CONST const
> -#define INTISWIDE(c) 0
> +#define CONST const
> +#define INTISWIDE(c) 0
> #define CHAR_WIDTH(sp, ch) 1
> +#define CAN_PRINT(sp, ch) isprint(ch)
> #endif
> #define FILE2INT(sp,n,nlen,w,wlen) \
> FILE2INT5(sp,sp->cw,n,nlen,w,wlen)
> Index: cl/cl_term.c
> ===================================================================
> --- cl/cl_term.c (revision 259087)
> +++ cl/cl_term.c (revision 259088)
> @@ -10,7 +10,7 @@
> #include "config.h"
>
> #ifndef lint
> -static const char sccsid[] = "$Id: cl_term.c,v 10.33 2012/04/21 23:51:46 zy Exp $";
> +static const char sccsid[] = "$Id: cl_term.c,v 10.34 2013/12/07 16:21:14 wjenkner Exp $";
> #endif /* not lint */
>
> #include <sys/types.h>
> @@ -187,14 +187,18 @@
> int
> cl_term_end(GS *gp)
> {
> - SEQ *qp, *nqp;
> + SEQ *qp, *nqp, *pre_qp = NULL;
>
> /* Delete screen specific mappings. */
> SLIST_FOREACH_SAFE(qp, gp->seqq, q, nqp)
> if (F_ISSET(qp, SEQ_SCREEN)) {
> - SLIST_REMOVE_HEAD(gp->seqq, q);
> + if (qp == SLIST_FIRST(gp->seqq))
> + SLIST_REMOVE_HEAD(gp->seqq, q);
> + else
> + SLIST_REMOVE_AFTER(pre_qp, q);
> (void)seq_free(qp);
> - }
> + } else
> + pre_qp = qp;
> return (0);
> }
>
> Index: .
> ===================================================================
> --- . (revision 259087)
> +++ . (revision 259088)
>
> Property changes on: .
> ___________________________________________________________________
> Modified: svn:mergeinfo
> Merged /vendor/nvi/dist:r259086
--
Bob Willcox | (1) If it's green or it wiggles, it's biology.
bob at immure.com | (2) If it stinks, it's chemistry.
Austin, TX | (3) If it doesn't work, it's physics.
More information about the freebsd-stable
mailing list