Mercurial > vim
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; |