To: vim-dev@vim.org Subject: Patch 7.2.055 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 7.2.055 Problem: Various compiler warnings with strict checking. Solution: Avoid the warnings by using return values and renaming. Files: src/diff.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/fileio.c, src/fold.c, src/globals.h, src/gui.c, src/gui_at_sb.c, src/gui_gtk_x11.c, src/gui_xmdlg.c, src/gui_xmebw.c, src/main.c, src/mbyte.c, src/message.c, src/netbeans.c, src/option.c, src/os_unix.c, src/spell.c, src/ui.c, src/window.c *** ../vim-7.2.054/src/diff.c Fri Jan 18 17:39:32 2008 --- src/diff.c Fri Nov 28 17:23:35 2008 *************** *** 661,666 **** --- 665,671 ---- char_u *tmp_diff; FILE *fd; int ok; + int io_error = FALSE; /* Delete all diffblocks. */ diff_clear(curtab); *************** *** 697,714 **** { ok = FALSE; fd = mch_fopen((char *)tmp_orig, "w"); ! if (fd != NULL) { ! fwrite("line1\n", (size_t)6, (size_t)1, fd); fclose(fd); fd = mch_fopen((char *)tmp_new, "w"); ! if (fd != NULL) { ! fwrite("line2\n", (size_t)6, (size_t)1, fd); fclose(fd); diff_file(tmp_orig, tmp_new, tmp_diff); fd = mch_fopen((char *)tmp_diff, "r"); ! if (fd != NULL) { char_u linebuf[LBUFLEN]; --- 702,727 ---- { ok = FALSE; fd = mch_fopen((char *)tmp_orig, "w"); ! if (fd == NULL) ! io_error = TRUE; ! else { ! if (fwrite("line1\n", (size_t)6, (size_t)1, fd) != 1) ! io_error = TRUE; fclose(fd); fd = mch_fopen((char *)tmp_new, "w"); ! if (fd == NULL) ! io_error = TRUE; ! else { ! if (fwrite("line2\n", (size_t)6, (size_t)1, fd) != 1) ! io_error = TRUE; fclose(fd); diff_file(tmp_orig, tmp_new, tmp_diff); fd = mch_fopen((char *)tmp_diff, "r"); ! if (fd == NULL) ! io_error = TRUE; ! else { char_u linebuf[LBUFLEN]; *************** *** 761,766 **** --- 774,781 ---- } if (!ok) { + if (io_error) + EMSG(_("E810: Cannot read or write temp files")); EMSG(_("E97: Cannot create diffs")); diff_a_works = MAYBE; #if defined(MSWIN) || defined(MSDOS) *************** *** 925,934 **** { # ifdef TEMPDIRNAMES if (vim_tempdir != NULL) ! mch_chdir((char *)vim_tempdir); else # endif ! mch_chdir("/tmp"); shorten_fnames(TRUE); } #endif --- 940,949 ---- { # ifdef TEMPDIRNAMES if (vim_tempdir != NULL) ! ignored = mch_chdir((char *)vim_tempdir); else # endif ! ignored = mch_chdir("/tmp"); shorten_fnames(TRUE); } #endif *** ../vim-7.2.054/src/eval.c Fri Nov 28 11:15:10 2008 --- src/eval.c Fri Nov 28 12:23:13 2008 *************** *** 10641,10647 **** # ifdef FEAT_WINDOWS win_T *wp; # endif ! int n = 1; if (row >= 0 && col >= 0) { --- 10641,10647 ---- # ifdef FEAT_WINDOWS win_T *wp; # endif ! int winnr = 1; if (row >= 0 && col >= 0) { *************** *** 10651,10659 **** (void)mouse_comp_pos(win, &row, &col, &lnum); # ifdef FEAT_WINDOWS for (wp = firstwin; wp != win; wp = wp->w_next) ! ++n; # endif ! vimvars[VV_MOUSE_WIN].vv_nr = n; vimvars[VV_MOUSE_LNUM].vv_nr = lnum; vimvars[VV_MOUSE_COL].vv_nr = col + 1; } --- 10651,10659 ---- (void)mouse_comp_pos(win, &row, &col, &lnum); # ifdef FEAT_WINDOWS for (wp = firstwin; wp != win; wp = wp->w_next) ! ++winnr; # endif ! vimvars[VV_MOUSE_WIN].vv_nr = winnr; vimvars[VV_MOUSE_LNUM].vv_nr = lnum; vimvars[VV_MOUSE_COL].vv_nr = col + 1; } *** ../vim-7.2.054/src/ex_cmds.c Sat Nov 15 14:10:23 2008 --- src/ex_cmds.c Fri Nov 28 17:24:08 2008 *************** *** 1941,1947 **** * root. */ if (fp_out != NULL) ! (void)fchown(fileno(fp_out), st_old.st_uid, st_old.st_gid); #endif } } --- 1941,1947 ---- * root. */ if (fp_out != NULL) ! ignored = fchown(fileno(fp_out), st_old.st_uid, st_old.st_gid); #endif } } *** ../vim-7.2.054/src/ex_docmd.c Sat Nov 15 14:10:23 2008 --- src/ex_docmd.c Fri Nov 28 17:26:13 2008 *************** *** 8753,8760 **** else if (*dirnow != NUL && (ssop_flags & SSOP_CURDIR) && globaldir != NULL) { ! (void)mch_chdir((char *)globaldir); ! shorten_fnames(TRUE); } failed |= (makeopens(fd, dirnow) == FAIL); --- 8753,8760 ---- else if (*dirnow != NUL && (ssop_flags & SSOP_CURDIR) && globaldir != NULL) { ! if (mch_chdir((char *)globaldir) == OK) ! shorten_fnames(TRUE); } failed |= (makeopens(fd, dirnow) == FAIL); *** ../vim-7.2.054/src/fileio.c Wed Nov 12 16:04:43 2008 --- src/fileio.c Fri Nov 28 17:35:54 2008 *************** *** 2214,2220 **** { /* Use stderr for stdin, makes shell commands work. */ close(0); ! dup(2); } #endif --- 2214,2220 ---- { /* Use stderr for stdin, makes shell commands work. */ close(0); ! ignored = dup(2); } #endif *************** *** 3449,3455 **** { # ifdef UNIX # ifdef HAVE_FCHOWN ! fchown(fd, st_old.st_uid, st_old.st_gid); # endif if (mch_stat((char *)IObuff, &st) < 0 || st.st_uid != st_old.st_uid --- 3449,3455 ---- { # ifdef UNIX # ifdef HAVE_FCHOWN ! ignored = fchown(fd, st_old.st_uid, st_old.st_gid); # endif if (mch_stat((char *)IObuff, &st) < 0 || st.st_uid != st_old.st_uid *************** *** 4365,4371 **** || st.st_uid != st_old.st_uid || st.st_gid != st_old.st_gid) { ! fchown(fd, st_old.st_uid, st_old.st_gid); if (perm >= 0) /* set permission again, may have changed */ (void)mch_setperm(wfname, perm); } --- 4365,4371 ---- || st.st_uid != st_old.st_uid || st.st_gid != st_old.st_gid) { ! ignored = fchown(fd, st_old.st_uid, st_old.st_gid); if (perm >= 0) /* set permission again, may have changed */ (void)mch_setperm(wfname, perm); } *************** *** 6030,6038 **** { tbuf[FGETS_SIZE - 2] = NUL; #ifdef USE_CR ! fgets_cr((char *)tbuf, FGETS_SIZE, fp); #else ! fgets((char *)tbuf, FGETS_SIZE, fp); #endif } while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n'); } --- 6030,6038 ---- { tbuf[FGETS_SIZE - 2] = NUL; #ifdef USE_CR ! ignoredp = fgets_cr((char *)tbuf, FGETS_SIZE, fp); #else ! ignoredp = fgets((char *)tbuf, FGETS_SIZE, fp); #endif } while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n'); } *** ../vim-7.2.054/src/fold.c Wed Aug 6 18:59:40 2008 --- src/fold.c Fri Nov 28 12:24:16 2008 *************** *** 48,54 **** static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp)); static int foldLevelWin __ARGS((win_T *wp, linenr_T lnum)); static void checkupdate __ARGS((win_T *wp)); ! static void setFoldRepeat __ARGS((linenr_T lnum, long count, int open)); static linenr_T setManualFold __ARGS((linenr_T lnum, int opening, int recurse, int *donep)); static linenr_T setManualFoldWin __ARGS((win_T *wp, linenr_T lnum, int opening, int recurse, int *donep)); static void foldOpenNested __ARGS((fold_T *fpr)); --- 48,54 ---- static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp)); static int foldLevelWin __ARGS((win_T *wp, linenr_T lnum)); static void checkupdate __ARGS((win_T *wp)); ! static void setFoldRepeat __ARGS((linenr_T lnum, long count, int do_open)); static linenr_T setManualFold __ARGS((linenr_T lnum, int opening, int recurse, int *donep)); static linenr_T setManualFoldWin __ARGS((win_T *wp, linenr_T lnum, int opening, int recurse, int *donep)); static void foldOpenNested __ARGS((fold_T *fpr)); *************** *** 1241,1250 **** * Repeat "count" times. */ static void ! setFoldRepeat(lnum, count, open) linenr_T lnum; long count; ! int open; { int done; long n; --- 1241,1250 ---- * Repeat "count" times. */ static void ! setFoldRepeat(lnum, count, do_open) linenr_T lnum; long count; ! int do_open; { int done; long n; *************** *** 1252,1258 **** for (n = 0; n < count; ++n) { done = DONE_NOTHING; ! (void)setManualFold(lnum, open, FALSE, &done); if (!(done & DONE_ACTION)) { /* Only give an error message when no fold could be opened. */ --- 1252,1258 ---- for (n = 0; n < count; ++n) { done = DONE_NOTHING; ! (void)setManualFold(lnum, do_open, FALSE, &done); if (!(done & DONE_ACTION)) { /* Only give an error message when no fold could be opened. */ *** ../vim-7.2.054/src/globals.h Thu Sep 18 21:29:07 2008 --- src/globals.h Fri Nov 28 17:35:50 2008 *************** *** 1549,1554 **** --- 1549,1562 ---- EXTERN time_t starttime; /* + * Some compilers warn for not using a return value, but in some situations we + * can't do anything useful with the value. Assign to this variable to avoid + * the warning. + */ + EXTERN int ignored; + EXTERN char *ignoredp; + + /* * Optional Farsi support. Include it here, so EXTERN and INIT are defined. */ #ifdef FEAT_FKMAP *** ../vim-7.2.054/src/gui.c Wed Aug 6 14:37:26 2008 --- src/gui.c Fri Nov 28 18:48:31 2008 *************** *** 139,145 **** /* The read returns when the child closes the pipe (or when * the child dies for some reason). */ close(pipefd[1]); ! (void)read(pipefd[0], &dummy, (size_t)1); close(pipefd[0]); } --- 139,145 ---- /* The read returns when the child closes the pipe (or when * the child dies for some reason). */ close(pipefd[1]); ! ignored = (int)read(pipefd[0], &dummy, (size_t)1); close(pipefd[0]); } *** ../vim-7.2.054/src/gui_at_sb.c Sun Jun 13 21:37:13 2004 --- src/gui_at_sb.c Fri Nov 28 12:19:19 2008 *************** *** 1078,1083 **** --- 1078,1089 ---- Cardinal *num_params; /* unused */ { ScrollbarWidget sbw = (ScrollbarWidget)w; + /* Use a union to avoid a warning for the weird conversion from float to + * XtPointer. Comes from Xaw/Scrollbar.c. */ + union { + XtPointer xtp; + float xtf; + } xtpf; if (LookAhead(w, event)) return; *************** *** 1085,1091 **** /* thumbProc is not pretty, but is necessary for backwards compatibility on those architectures for which it work{s,ed}; the intent is to pass a (truncated) float by value. */ ! XtCallCallbacks(w, XtNthumbProc, *(XtPointer*)&sbw->scrollbar.top); XtCallCallbacks(w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top); } --- 1091,1098 ---- /* thumbProc is not pretty, but is necessary for backwards compatibility on those architectures for which it work{s,ed}; the intent is to pass a (truncated) float by value. */ ! xtpf.xtf = sbw->scrollbar.top; ! XtCallCallbacks(w, XtNthumbProc, xtpf.xtp); XtCallCallbacks(w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top); } *** ../vim-7.2.054/src/gui_gtk_x11.c Tue Jul 8 12:46:08 2008 --- src/gui_gtk_x11.c Fri Nov 28 21:06:38 2008 *************** *** 4070,4083 **** if (mask & (XValue | YValue)) { ! int w, h; ! gui_mch_get_screen_dimensions(&w, &h); ! h += p_ghr + get_menu_tool_height(); ! w += get_menu_tool_width(); if (mask & XNegative) ! x += w - pixel_width; if (mask & YNegative) ! y += h - pixel_height; #ifdef HAVE_GTK2 gtk_window_move(GTK_WINDOW(gui.mainwin), x, y); #else --- 4070,4083 ---- if (mask & (XValue | YValue)) { ! int ww, hh; ! gui_mch_get_screen_dimensions(&ww, &hh); ! hh += p_ghr + get_menu_tool_height(); ! ww += get_menu_tool_width(); if (mask & XNegative) ! x += ww - pixel_width; if (mask & YNegative) ! y += hh - pixel_height; #ifdef HAVE_GTK2 gtk_window_move(GTK_WINDOW(gui.mainwin), x, y); #else *** ../vim-7.2.054/src/gui_xmdlg.c Tue Jun 24 23:39:32 2008 --- src/gui_xmdlg.c Fri Nov 28 21:04:08 2008 *************** *** 369,378 **** char buf[TEMP_BUF_SIZE]; XmString items[MAX_ENTRIES_IN_LIST]; int i; ! int index; ! for (index = (int)ENCODING; index < (int)NONE; ++index) ! count[index] = 0; /* First we insert the wild char into every single list. */ if (fix != ENCODING) --- 369,378 ---- char buf[TEMP_BUF_SIZE]; XmString items[MAX_ENTRIES_IN_LIST]; int i; ! int idx; ! for (idx = (int)ENCODING; idx < (int)NONE; ++idx) ! count[idx] = 0; /* First we insert the wild char into every single list. */ if (fix != ENCODING) *************** *** 503,516 **** /* * Now loop trough the remaining lists and set them up. */ ! for (index = (int)NAME; index < (int)NONE; ++index) { Widget w; ! if (fix == (enum ListSpecifier)index) continue; ! switch ((enum ListSpecifier)index) { case NAME: w = data->list[NAME]; --- 503,516 ---- /* * Now loop trough the remaining lists and set them up. */ ! for (idx = (int)NAME; idx < (int)NONE; ++idx) { Widget w; ! if (fix == (enum ListSpecifier)idx) continue; ! switch ((enum ListSpecifier)idx) { case NAME: w = data->list[NAME]; *************** *** 525,545 **** w = (Widget)0; /* for lint */ } ! for (i = 0; i < count[index]; ++i) { ! items[i] = XmStringCreateLocalized(list[index][i]); ! XtFree(list[index][i]); } XmListDeleteAllItems(w); ! XmListAddItems(w, items, count[index], 1); ! if (data->sel[index]) { XmStringFree(items[0]); ! items[0] = XmStringCreateLocalized(data->sel[index]); XmListSelectItem(w, items[0], False); XmListSetBottomItem(w, items[0]); } ! for (i = 0; i < count[index]; ++i) XmStringFree(items[i]); } } --- 525,545 ---- w = (Widget)0; /* for lint */ } ! for (i = 0; i < count[idx]; ++i) { ! items[i] = XmStringCreateLocalized(list[idx][i]); ! XtFree(list[idx][i]); } XmListDeleteAllItems(w); ! XmListAddItems(w, items, count[idx], 1); ! if (data->sel[idx]) { XmStringFree(items[0]); ! items[0] = XmStringCreateLocalized(data->sel[idx]); XmListSelectItem(w, items[0], False); XmListSetBottomItem(w, items[0]); } ! for (i = 0; i < count[idx]; ++i) XmStringFree(items[i]); } } *************** *** 695,708 **** int n; XmString str; Arg args[4]; ! char *msg = _("no specific match"); n = 0; ! str = XmStringCreateLocalized(msg); XtSetArg(args[n], XmNlabelString, str); ++n; XtSetValues(data->sample, args, n); apply_fontlist(data->sample); ! XmTextSetString(data->name, msg); XmStringFree(str); return False; --- 695,708 ---- int n; XmString str; Arg args[4]; ! char *nomatch_msg = _("no specific match"); n = 0; ! str = XmStringCreateLocalized(nomatch_msg); XtSetArg(args[n], XmNlabelString, str); ++n; XtSetValues(data->sample, args, n); apply_fontlist(data->sample); ! XmTextSetString(data->name, nomatch_msg); XmStringFree(str); return False; *************** *** 886,906 **** { int i; int max; ! int index = 0; int size; ! char str[128]; for (i = 0, max = 0; i < data->num; i++) { ! get_part(fn(data, i), 7, str); ! size = atoi(str); if ((size > max) && (size < MAX_DISPLAY_SIZE)) { ! index = i; max = size; } } ! strcpy(big_font, fn(data, index)); } data->old = XLoadQueryFont(XtDisplay(parent), big_font); data->old_list = gui_motif_create_fontlist(data->old); --- 886,906 ---- { int i; int max; ! int idx = 0; int size; ! char buf[128]; for (i = 0, max = 0; i < data->num; i++) { ! get_part(fn(data, i), 7, buf); ! size = atoi(buf); if ((size > max) && (size < MAX_DISPLAY_SIZE)) { ! idx = i; max = size; } } ! strcpy(big_font, fn(data, idx)); } data->old = XLoadQueryFont(XtDisplay(parent), big_font); data->old_list = gui_motif_create_fontlist(data->old); *************** *** 1217,1244 **** if (i != 0) { ! char name[TEMP_BUF_SIZE]; ! char style[TEMP_BUF_SIZE]; ! char size[TEMP_BUF_SIZE]; ! char encoding[TEMP_BUF_SIZE]; char *found; found = names[0]; ! name_part(found, name); ! style_part(found, style); ! size_part(found, size, data->in_pixels); ! encoding_part(found, encoding); ! ! if (strlen(name) > 0 ! && strlen(style) > 0 ! && strlen(size) > 0 ! && strlen(encoding) > 0) { ! data->sel[NAME] = XtNewString(name); ! data->sel[STYLE] = XtNewString(style); ! data->sel[SIZE] = XtNewString(size); ! data->sel[ENCODING] = XtNewString(encoding); data->font_name = XtNewString(names[0]); display_sample(data); XmTextSetString(data->name, data->font_name); --- 1217,1244 ---- if (i != 0) { ! char namebuf[TEMP_BUF_SIZE]; ! char stylebuf[TEMP_BUF_SIZE]; ! char sizebuf[TEMP_BUF_SIZE]; ! char encodingbuf[TEMP_BUF_SIZE]; char *found; found = names[0]; ! name_part(found, namebuf); ! style_part(found, stylebuf); ! size_part(found, sizebuf, data->in_pixels); ! encoding_part(found, encodingbuf); ! ! if (strlen(namebuf) > 0 ! && strlen(stylebuf) > 0 ! && strlen(sizebuf) > 0 ! && strlen(encodingbuf) > 0) { ! data->sel[NAME] = XtNewString(namebuf); ! data->sel[STYLE] = XtNewString(stylebuf); ! data->sel[SIZE] = XtNewString(sizebuf); ! data->sel[ENCODING] = XtNewString(encodingbuf); data->font_name = XtNewString(names[0]); display_sample(data); XmTextSetString(data->name, data->font_name); *** ../vim-7.2.054/src/gui_xmebw.c Thu Nov 8 20:48:14 2007 --- src/gui_xmebw.c Fri Nov 28 18:58:53 2008 *************** *** 1256,1262 **** } else { ! int adjust = 0; #if !defined(LESSTIF_VERSION) && (XmVersion > 1002) /* --- 1256,1262 ---- } else { ! adjust = 0; #if !defined(LESSTIF_VERSION) && (XmVersion > 1002) /* *************** *** 1268,1279 **** { case XmEXTERNAL_HIGHLIGHT: adjust = (eb->primitive.highlight_thickness - ! (eb->pushbutton.default_button_shadow_thickness ? ! Xm3D_ENHANCE_PIXEL : 0)); break; case XmINTERNAL_HIGHLIGHT: - adjust = 0; break; default: --- 1268,1278 ---- { case XmEXTERNAL_HIGHLIGHT: adjust = (eb->primitive.highlight_thickness - ! (eb->pushbutton.default_button_shadow_thickness ! ? Xm3D_ENHANCE_PIXEL : 0)); break; case XmINTERNAL_HIGHLIGHT: break; default: *** ../vim-7.2.054/src/main.c Thu Nov 20 14:11:47 2008 --- src/main.c Fri Nov 28 18:32:48 2008 *************** *** 2372,2378 **** * Is there any other system that cannot do this? */ close(0); ! dup(2); #endif } --- 2372,2378 ---- * Is there any other system that cannot do this? */ close(0); ! ignored = dup(2); #endif } *** ../vim-7.2.054/src/mbyte.c Thu Nov 20 17:09:09 2008 --- src/mbyte.c Fri Nov 28 18:44:05 2008 *************** *** 717,723 **** * where mblen() returns 0 for invalid character. * Therefore, following condition includes 0. */ ! (void)mblen(NULL, 0); /* First reset the state. */ if (mblen(buf, (size_t)1) <= 0) n = 2; else --- 717,723 ---- * where mblen() returns 0 for invalid character. * Therefore, following condition includes 0. */ ! ignored = mblen(NULL, 0); /* First reset the state. */ if (mblen(buf, (size_t)1) <= 0) n = 2; else *************** *** 5278,5284 **** /*ARGSUSED*/ static void ! preedit_start_cbproc(XIC xic, XPointer client_data, XPointer call_data) { #ifdef XIM_DEBUG xim_log("xim_decide_input_style()\n"); --- 5278,5284 ---- /*ARGSUSED*/ static void ! preedit_start_cbproc(XIC thexic, XPointer client_data, XPointer call_data) { #ifdef XIM_DEBUG xim_log("xim_decide_input_style()\n"); *************** *** 5312,5318 **** /*ARGSUSED*/ static void ! preedit_draw_cbproc(XIC xic, XPointer client_data, XPointer call_data) { XIMPreeditDrawCallbackStruct *draw_data; XIMText *text; --- 5312,5318 ---- /*ARGSUSED*/ static void ! preedit_draw_cbproc(XIC thexic, XPointer client_data, XPointer call_data) { XIMPreeditDrawCallbackStruct *draw_data; XIMText *text; *************** *** 5453,5459 **** /*ARGSUSED*/ static void ! preedit_caret_cbproc(XIC xic, XPointer client_data, XPointer call_data) { #ifdef XIM_DEBUG xim_log("preedit_caret_cbproc()\n"); --- 5453,5459 ---- /*ARGSUSED*/ static void ! preedit_caret_cbproc(XIC thexic, XPointer client_data, XPointer call_data) { #ifdef XIM_DEBUG xim_log("preedit_caret_cbproc()\n"); *************** *** 5462,5468 **** /*ARGSUSED*/ static void ! preedit_done_cbproc(XIC xic, XPointer client_data, XPointer call_data) { #ifdef XIM_DEBUG xim_log("preedit_done_cbproc()\n"); --- 5462,5468 ---- /*ARGSUSED*/ static void ! preedit_done_cbproc(XIC thexic, XPointer client_data, XPointer call_data) { #ifdef XIM_DEBUG xim_log("preedit_done_cbproc()\n"); *** ../vim-7.2.054/src/message.c Sun Jul 13 19:18:44 2008 --- src/message.c Fri Nov 28 12:26:56 2008 *************** *** 4585,4645 **** if (remove_trailing_zeroes) { int i; ! char *p; /* Using %g or %G: remove superfluous zeroes. */ if (fmt_spec == 'f') ! p = tmp + str_arg_l - 1; else { ! p = (char *)vim_strchr((char_u *)tmp, fmt_spec == 'e' ? 'e' : 'E'); ! if (p != NULL) { /* Remove superfluous '+' and leading * zeroes from the exponent. */ ! if (p[1] == '+') { /* Change "1.0e+07" to "1.0e07" */ ! STRMOVE(p + 1, p + 2); --str_arg_l; } ! i = (p[1] == '-') ? 2 : 1; ! while (p[i] == '0') { /* Change "1.0e07" to "1.0e7" */ ! STRMOVE(p + i, p + i + 1); --str_arg_l; } ! --p; } } ! if (p != NULL && !precision_specified) /* Remove trailing zeroes, but keep the one * just after a dot. */ ! while (p > tmp + 2 && *p == '0' && p[-1] != '.') { ! STRMOVE(p, p + 1); ! --p; --str_arg_l; } } else { ! char *p; /* Be consistent: some printf("%e") use 1.0e+12 * and some 1.0e+012. Remove one zero in the last * case. */ ! p = (char *)vim_strchr((char_u *)tmp, fmt_spec == 'e' ? 'e' : 'E'); ! if (p != NULL && (p[1] == '+' || p[1] == '-') ! && p[2] == '0' ! && vim_isdigit(p[3]) ! && vim_isdigit(p[4])) { ! STRMOVE(p + 2, p + 3); --str_arg_l; } } --- 4585,4646 ---- if (remove_trailing_zeroes) { int i; ! char *tp; /* Using %g or %G: remove superfluous zeroes. */ if (fmt_spec == 'f') ! tp = tmp + str_arg_l - 1; else { ! tp = (char *)vim_strchr((char_u *)tmp, fmt_spec == 'e' ? 'e' : 'E'); ! if (tp != NULL) { /* Remove superfluous '+' and leading * zeroes from the exponent. */ ! if (tp[1] == '+') { /* Change "1.0e+07" to "1.0e07" */ ! STRMOVE(tp + 1, tp + 2); --str_arg_l; } ! i = (tp[1] == '-') ? 2 : 1; ! while (tp[i] == '0') { /* Change "1.0e07" to "1.0e7" */ ! STRMOVE(tp + i, tp + i + 1); --str_arg_l; } ! --tp; } } ! if (tp != NULL && !precision_specified) /* Remove trailing zeroes, but keep the one * just after a dot. */ ! while (tp > tmp + 2 && *tp == '0' ! && tp[-1] != '.') { ! STRMOVE(tp, tp + 1); ! --tp; --str_arg_l; } } else { ! char *tp; /* Be consistent: some printf("%e") use 1.0e+12 * and some 1.0e+012. Remove one zero in the last * case. */ ! tp = (char *)vim_strchr((char_u *)tmp, fmt_spec == 'e' ? 'e' : 'E'); ! if (tp != NULL && (tp[1] == '+' || tp[1] == '-') ! && tp[2] == '0' ! && vim_isdigit(tp[3]) ! && vim_isdigit(tp[4])) { ! STRMOVE(tp + 2, tp + 3); --str_arg_l; } } *** ../vim-7.2.054/src/netbeans.c Sat Nov 15 14:10:23 2008 --- src/netbeans.c Fri Nov 28 18:51:43 2008 *************** *** 1043,1049 **** nbdebug(("EVT: %s", buf)); /* nb_send(buf, "netbeans_end"); avoid "write failed" messages */ if (sd >= 0) ! sock_write(sd, buf, (int)STRLEN(buf)); /* ignore errors */ } } --- 1043,1049 ---- nbdebug(("EVT: %s", buf)); /* nb_send(buf, "netbeans_end"); avoid "write failed" messages */ if (sd >= 0) ! ignored = sock_write(sd, buf, (int)STRLEN(buf)); } } *************** *** 2277,2285 **** int serNum; int localTypeNum; int typeNum; - # ifdef NBDEBUG - int len; - # endif pos_T *pos; if (buf == NULL || buf->bufp == NULL) --- 2277,2282 ---- *************** *** 2303,2315 **** pos = get_off_or_lnum(buf->bufp, &args); cp = (char *)args; ! # ifdef NBDEBUG ! len = ! # endif ! strtol(cp, &cp, 10); args = (char_u *)cp; # ifdef NBDEBUG ! if (len != -1) { nbdebug((" partial line annotation -- Not Yet Implemented!\n")); } --- 2300,2309 ---- pos = get_off_or_lnum(buf->bufp, &args); cp = (char *)args; ! ignored = (int)strtol(cp, &cp, 10); args = (char_u *)cp; # ifdef NBDEBUG ! if (ignored != -1) { nbdebug((" partial line annotation -- Not Yet Implemented!\n")); } *** ../vim-7.2.054/src/option.c Sun Nov 9 13:43:25 2008 --- src/option.c Fri Nov 28 12:27:34 2008 *************** *** 8232,8244 **** { if (number == 0 && string != NULL) { ! int index; /* Either we are given a string or we are setting option * to zero. */ ! for (index = 0; string[index] == '0'; ++index) ; ! if (string[index] != NUL || index == 0) { /* There's another character after zeros or the string * is empty. In both cases, we are trying to set a --- 8232,8244 ---- { if (number == 0 && string != NULL) { ! int idx; /* Either we are given a string or we are setting option * to zero. */ ! for (idx = 0; string[idx] == '0'; ++idx) ; ! if (string[idx] != NUL || idx == 0) { /* There's another character after zeros or the string * is empty. In both cases, we are trying to set a *** ../vim-7.2.054/src/os_unix.c Wed Nov 12 14:09:38 2008 --- src/os_unix.c Fri Nov 28 18:39:55 2008 *************** *** 315,326 **** {-1, "Unknown!", FALSE} }; void mch_write(s, len) char_u *s; int len; { ! write(1, (char *)s, len); if (p_wd) /* Unix is too fast, slow down a bit more */ RealWaitForChar(read_cmd_fd, p_wd, NULL); } --- 315,329 ---- {-1, "Unknown!", FALSE} }; + /* + * Write s[len] to the screen. + */ void mch_write(s, len) char_u *s; int len; { ! ignored = (int)write(1, (char *)s, len); if (p_wd) /* Unix is too fast, slow down a bit more */ RealWaitForChar(read_cmd_fd, p_wd, NULL); } *************** *** 3927,3935 **** */ if (fd >= 0) { ! dup(fd); /* To replace stdin (file descriptor 0) */ ! dup(fd); /* To replace stdout (file descriptor 1) */ ! dup(fd); /* To replace stderr (file descriptor 2) */ /* Don't need this now that we've duplicated it */ close(fd); --- 3930,3938 ---- */ if (fd >= 0) { ! ignored = dup(fd); /* To replace stdin (fd 0) */ ! ignored = dup(fd); /* To replace stdout (fd 1) */ ! ignored = dup(fd); /* To replace stderr (fd 2) */ /* Don't need this now that we've duplicated it */ close(fd); *************** *** 3997,4009 **** /* set up stdin/stdout/stderr for the child */ close(0); ! dup(pty_slave_fd); close(1); ! dup(pty_slave_fd); if (gui.in_use) { close(2); ! dup(pty_slave_fd); } close(pty_slave_fd); /* has been dupped, close it now */ --- 4000,4012 ---- /* set up stdin/stdout/stderr for the child */ close(0); ! ignored = dup(pty_slave_fd); close(1); ! ignored = dup(pty_slave_fd); if (gui.in_use) { close(2); ! ignored = dup(pty_slave_fd); } close(pty_slave_fd); /* has been dupped, close it now */ *************** *** 4014,4026 **** /* set up stdin for the child */ close(fd_toshell[1]); close(0); ! dup(fd_toshell[0]); close(fd_toshell[0]); /* set up stdout for the child */ close(fd_fromshell[0]); close(1); ! dup(fd_fromshell[1]); close(fd_fromshell[1]); # ifdef FEAT_GUI --- 4017,4029 ---- /* set up stdin for the child */ close(fd_toshell[1]); close(0); ! ignored = dup(fd_toshell[0]); close(fd_toshell[0]); /* set up stdout for the child */ close(fd_fromshell[0]); close(1); ! ignored = dup(fd_fromshell[1]); close(fd_fromshell[1]); # ifdef FEAT_GUI *************** *** 4028,4034 **** { /* set up stderr for the child */ close(2); ! dup(1); } # endif } --- 4031,4037 ---- { /* set up stderr for the child */ close(2); ! ignored = dup(1); } # endif } *************** *** 4159,4165 **** && (lnum != curbuf->b_ml.ml_line_count || curbuf->b_p_eol))) ! write(toshell_fd, "\n", (size_t)1); ++lnum; if (lnum > curbuf->b_op_end.lnum) { --- 4162,4169 ---- && (lnum != curbuf->b_ml.ml_line_count || curbuf->b_p_eol))) ! ignored = write(toshell_fd, "\n", ! (size_t)1); ++lnum; if (lnum > curbuf->b_op_end.lnum) { *** ../vim-7.2.054/src/spell.c Fri Nov 28 10:08:05 2008 --- src/spell.c Fri Nov 28 12:28:24 2008 *************** *** 4950,4956 **** static void put_sugtime __ARGS((spellinfo_T *spin, FILE *fd)); static int write_vim_spell __ARGS((spellinfo_T *spin, char_u *fname)); static void clear_node __ARGS((wordnode_T *node)); ! static int put_node __ARGS((FILE *fd, wordnode_T *node, int index, int regionmask, int prefixtree)); static void spell_make_sugfile __ARGS((spellinfo_T *spin, char_u *wfname)); static int sug_filltree __ARGS((spellinfo_T *spin, slang_T *slang)); static int sug_maketable __ARGS((spellinfo_T *spin)); --- 4950,4956 ---- static void put_sugtime __ARGS((spellinfo_T *spin, FILE *fd)); static int write_vim_spell __ARGS((spellinfo_T *spin, char_u *fname)); static void clear_node __ARGS((wordnode_T *node)); ! static int put_node __ARGS((FILE *fd, wordnode_T *node, int idx, int regionmask, int prefixtree)); static void spell_make_sugfile __ARGS((spellinfo_T *spin, char_u *wfname)); static int sug_filltree __ARGS((spellinfo_T *spin, slang_T *slang)); static int sug_maketable __ARGS((spellinfo_T *spin)); *** ../vim-7.2.054/src/ui.c Sun Sep 14 15:57:54 2008 --- src/ui.c Fri Nov 28 19:04:36 2008 *************** *** 1820,1826 **** #ifdef HAVE_DUP /* Use stderr for stdin, also works for shell commands. */ close(0); ! dup(2); #else read_cmd_fd = 2; /* read from stderr instead of stdin */ #endif --- 1820,1826 ---- #ifdef HAVE_DUP /* Use stderr for stdin, also works for shell commands. */ close(0); ! ignored = dup(2); #else read_cmd_fd = 2; /* read from stderr instead of stdin */ #endif *** ../vim-7.2.054/src/window.c Sat Nov 15 14:10:23 2008 --- src/window.c Fri Nov 28 18:46:45 2008 *************** *** 4029,4042 **** if (mch_dirname(cwd, MAXPATHL) == OK) globaldir = vim_strsave(cwd); } ! mch_chdir((char *)curwin->w_localdir); ! shorten_fnames(TRUE); } else if (globaldir != NULL) { /* Window doesn't have a local directory and we are not in the global * directory: Change to the global directory. */ ! mch_chdir((char *)globaldir); vim_free(globaldir); globaldir = NULL; shorten_fnames(TRUE); --- 4029,4042 ---- if (mch_dirname(cwd, MAXPATHL) == OK) globaldir = vim_strsave(cwd); } ! if (mch_chdir((char *)curwin->w_localdir) == 0) ! shorten_fnames(TRUE); } else if (globaldir != NULL) { /* Window doesn't have a local directory and we are not in the global * directory: Change to the global directory. */ ! ignored = mch_chdir((char *)globaldir); vim_free(globaldir); globaldir = NULL; shorten_fnames(TRUE); *** ../vim-7.2.054/src/version.c Fri Nov 28 12:05:07 2008 --- src/version.c Fri Nov 28 21:12:42 2008 *************** *** 678,679 **** --- 678,681 ---- { /* Add new patch number below this line */ + /**/ + 55, /**/ -- PRINCE: He's come to rescue me, father. LAUNCELOT: (embarrassed) Well, let's not jump to conclusions ... "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ download, build and distribute -- http://www.A-A-P.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///