comparison src/if_tcl.c @ 274:8fa8d7964cf1 v7.0073

updated for version 7.0073
author vimboss
date Thu, 19 May 2005 21:08:39 +0000
parents b5fc81a825a1
children 52e76e2b5b65
comparison
equal deleted inserted replaced
273:2463194c8cdd 274:8fa8d7964cf1
850 err = TCL_ERROR; 850 err = TCL_ERROR;
851 } 851 }
852 else 852 else
853 { 853 {
854 char rbuf[64]; 854 char rbuf[64];
855 sprintf(rbuf, _("row %d column %d"), (int)row2tcl(pos->lnum), (int)col2tcl(pos->col)); 855
856 sprintf(rbuf, _("row %d column %d"),
857 (int)row2tcl(pos->lnum), (int)col2tcl(pos->col));
856 Tcl_SetResult(interp, rbuf, TCL_VOLATILE); 858 Tcl_SetResult(interp, rbuf, TCL_VOLATILE);
857 } 859 }
858 break; 860 break;
859 861
860 case BUF_INSERT: 862 case BUF_INSERT:
872 break; 874 break;
873 if (opt) 875 if (opt)
874 --val1; 876 --val1;
875 if (u_save((linenr_T)val1, (linenr_T)(val1+1)) != OK) 877 if (u_save((linenr_T)val1, (linenr_T)(val1+1)) != OK)
876 { 878 {
877 Tcl_SetResult(interp, _("cannot save undo information"), TCL_STATIC); 879 Tcl_SetResult(interp, _("cannot save undo information"),
880 TCL_STATIC);
878 err = TCL_ERROR; 881 err = TCL_ERROR;
879 break; 882 break;
880 } 883 }
881 884
882 line = Tcl_GetStringFromObj(objv[3], NULL); 885 line = Tcl_GetStringFromObj(objv[3], NULL);
883 if (ml_append((linenr_T)val1, (char_u *)line, 0, FALSE) != OK) 886 if (ml_append((linenr_T)val1, (char_u *)line, 0, FALSE) != OK)
884 { 887 {
885 Tcl_SetResult(interp, _("cannot insert/append line"), TCL_STATIC); 888 Tcl_SetResult(interp, _("cannot insert/append line"),
889 TCL_STATIC);
886 err = TCL_ERROR; 890 err = TCL_ERROR;
887 break; 891 break;
888 } 892 }
889 appended_lines_mark((linenr_T)val1, 1L); 893 appended_lines_mark((linenr_T)val1, 1L);
890 flags |= FL_UPDATE_SCREEN; 894 flags |= FL_UPDATE_SCREEN;
1065 break; 1069 break;
1066 } 1070 }
1067 if (objc == 2) 1071 if (objc == 2)
1068 { 1072 {
1069 char buf[64]; 1073 char buf[64];
1074
1070 sprintf(buf, _("row %d column %d"), (int)row2tcl(win->w_cursor.lnum), (int)col2tcl(win->w_cursor.col)); 1075 sprintf(buf, _("row %d column %d"), (int)row2tcl(win->w_cursor.lnum), (int)col2tcl(win->w_cursor.col));
1071 Tcl_SetResult(interp, buf, TCL_VOLATILE); 1076 Tcl_SetResult(interp, buf, TCL_VOLATILE);
1072 break; 1077 break;
1073 } 1078 }
1074 else if (objc == 3) 1079 else if (objc == 3)
1484 unused = ref; 1489 unused = ref;
1485 ref = ref->next; 1490 ref = ref->next;
1486 } 1491 }
1487 1492
1488 if (ref) 1493 if (ref)
1489 sprintf(name, "::vim::%s", Tcl_GetCommandName(interp, ref->cmd)); 1494 vim_snprintf(name, sizeof(name), "::vim::%s",
1495 Tcl_GetCommandName(interp, ref->cmd));
1490 else 1496 else
1491 { 1497 {
1492 if (unused) 1498 if (unused)
1493 ref = unused; 1499 ref = unused;
1494 else 1500 else
1505 ref->next = (struct ref *)(*refstartP); 1511 ref->next = (struct ref *)(*refstartP);
1506 (*refstartP) = (void *)ref; 1512 (*refstartP) = (void *)ref;
1507 } 1513 }
1508 1514
1509 /* This might break on some exotic systems... */ 1515 /* This might break on some exotic systems... */
1510 sprintf(name, "::vim::%s_%lx", prefix, (unsigned long)vimobj); 1516 vim_snprintf(name, sizeof(name), "::vim::%s_%lx",
1517 prefix, (unsigned long)vimobj);
1511 cmd = Tcl_CreateObjCommand(interp, name, proc, 1518 cmd = Tcl_CreateObjCommand(interp, name, proc,
1512 (ClientData)ref, (Tcl_CmdDeleteProc *)delref); 1519 (ClientData)ref, (Tcl_CmdDeleteProc *)delref);
1513 if (!cmd) 1520 if (!cmd)
1514 return NULL; 1521 return NULL;
1515 1522
1879 int newerr = OK; 1886 int newerr = OK;
1880 1887
1881 if (error == TCL_EXIT ) 1888 if (error == TCL_EXIT )
1882 { 1889 {
1883 int retval; 1890 int retval;
1884 char buf[32]; 1891 char buf[50];
1885 Tcl_Obj *robj; 1892 Tcl_Obj *robj;
1886 1893
1887 robj = Tcl_GetObjResult(tclinfo.interp); 1894 robj = Tcl_GetObjResult(tclinfo.interp);
1888 if( Tcl_GetIntFromObj(tclinfo.interp, robj, &retval) != TCL_OK ) 1895 if( Tcl_GetIntFromObj(tclinfo.interp, robj, &retval) != TCL_OK )
1889 { 1896 {
1890 EMSG(_("E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org")); 1897 EMSG(_("E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"));
1891 newerr = FAIL; 1898 newerr = FAIL;
1892 } 1899 }
1893 else 1900 else
1894 { 1901 {
1895 sprintf(buf, "E572: exit code %d", retval); 1902 sprintf(buf, _("E572: exit code %d"), retval);
1896 tclerrmsg(buf); 1903 tclerrmsg(buf);
1897 if (retval == 0 ) 1904 if (retval == 0 )
1898 { 1905 {
1899 did_emsg = 0; 1906 did_emsg = 0;
1900 newerr = OK; 1907 newerr = OK;