summaryrefslogtreecommitdiffstats
path: root/contrib/nvi/ex/ex_tcl.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2013-08-11 20:03:12 +0000
committerpeter <peter@FreeBSD.org>2013-08-11 20:03:12 +0000
commit5f2a1d653696ec5457bfd044f0ebcd873bfc3c80 (patch)
tree7c1ae67d07b93aea05bfea51c590c1112b65042b /contrib/nvi/ex/ex_tcl.c
parent324febaf01918418f99998aa5537126ac98c9df0 (diff)
downloadFreeBSD-src-5f2a1d653696ec5457bfd044f0ebcd873bfc3c80.zip
FreeBSD-src-5f2a1d653696ec5457bfd044f0ebcd873bfc3c80.tar.gz
Update nvi-1.79 to 2.1.1-4334a8297f
This is the gsoc-2011 project to clean up and backport multibyte support from other nvi forks in a form we can use. USE_WIDECHAR is on unless building for the rescue crunchgen. This should allow editing in the native locale encoding. USE_ICONV depends on make.conf having 'WITH_ICONV=YES' for now. This adds the ability to do things like edit a KOI8-R file while having $LANG set to (say) en_US.UTF-8. iconv is used to transcode the characters for display. Other points: * It uses gencat and catopen/etc instead of homegrown msg catalog stuff. * A lot of stuff has been trimmed out, eg: the perl and tcl bindings which we could never use in base anyway. * It uses ncursesw when in widechar mode. This could be interesting. GSoC info: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/zy/1 Repo at: https://github.com/lichray/nvi2 Obtained from: Zhihao Yuan <lichray@gmail.com>
Diffstat (limited to 'contrib/nvi/ex/ex_tcl.c')
-rw-r--r--contrib/nvi/ex/ex_tcl.c80
1 files changed, 0 insertions, 80 deletions
diff --git a/contrib/nvi/ex/ex_tcl.c b/contrib/nvi/ex/ex_tcl.c
deleted file mode 100644
index 06736a7..0000000
--- a/contrib/nvi/ex/ex_tcl.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993, 1994
- * The Regents of the University of California. All rights reserved.
- * Copyright (c) 1992, 1993, 1994, 1995, 1996
- * Keith Bostic. All rights reserved.
- * Copyright (c) 1995
- * George V. Neville-Neil. All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "@(#)ex_tcl.c 8.10 (Berkeley) 9/15/96";
-#endif /* not lint */
-
-#include <sys/types.h>
-#include <sys/queue.h>
-
-#include <bitstring.h>
-#include <limits.h>
-#include <stdio.h>
-#include <string.h>
-#include <termios.h>
-#include <unistd.h>
-
-#include "../common/common.h"
-
-#ifdef HAVE_TCL_INTERP
-#include <tcl.h>
-#endif
-
-/*
- * ex_tcl -- :[line [,line]] tcl [command]
- * Run a command through the tcl interpreter.
- *
- * PUBLIC: int ex_tcl __P((SCR*, EXCMD *));
- */
-int
-ex_tcl(sp, cmdp)
- SCR *sp;
- EXCMD *cmdp;
-{
-#ifdef HAVE_TCL_INTERP
- CHAR_T *p;
- GS *gp;
- size_t len;
- char buf[128];
-
- /* Initialize the interpreter. */
- gp = sp->gp;
- if (gp->tcl_interp == NULL && tcl_init(gp))
- return (1);
-
- /* Skip leading white space. */
- if (cmdp->argc != 0)
- for (p = cmdp->argv[0]->bp,
- len = cmdp->argv[0]->len; len > 0; --len, ++p)
- if (!isblank(*p))
- break;
- if (cmdp->argc == 0 || len == 0) {
- ex_emsg(sp, cmdp->cmd->usage, EXM_USAGE);
- return (1);
- }
-
- (void)snprintf(buf, sizeof(buf),
- "set viScreenId %d\nset viStartLine %lu\nset viStopLine %lu",
- sp->id, cmdp->addr1.lno, cmdp->addr2.lno);
- if (Tcl_Eval(gp->tcl_interp, buf) == TCL_OK &&
- Tcl_Eval(gp->tcl_interp, cmdp->argv[0]->bp) == TCL_OK)
- return (0);
-
- msgq(sp, M_ERR, "Tcl: %s", ((Tcl_Interp *)gp->tcl_interp)->result);
- return (1);
-#else
- msgq(sp, M_ERR, "302|Vi was not loaded with a Tcl interpreter");
- return (1);
-#endif /* HAVE_TCL_INTERP */
-}
OpenPOWER on IntegriCloud