+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.005
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.005
-Problem: Multibyte: Inserting a wrapped line corrupts kterm screen.
- Pasting TEXT/COMPOUND_TEXT into Vim does not work.
- On Motif no XIM status line is displayed even though it is
- available.
-Solution: Don't use xterm trick for wrapping lines for multibyte mode.
- Correct a missing "break", added TEXT/COMPOUND_TEXT selection
- request.
- Add XIMStatusArea fallback code.
- (Katsuhito Nagano)
-Files: src/gui_gtk_x11.c, src/multbyte.c, src/screen.c, src/ui.c
-
-
-*** ../vim-5.7.4/src/gui_gtk_x11.c Sat Aug 5 14:26:52 2000
---- src/gui_gtk_x11.c Sat Aug 5 14:22:57 2000
-***************
-*** 1444,1452 ****
- #define VIM_ATOM_NAME "_VIM_TEXT"
- static const GtkTargetEntry primary_targets[] = {
- {VIM_ATOM_NAME, 0, SELECTION_CLIPBOARD},
-! {"STRING", 0, SELECTION_STRING},
- {"TEXT", 0, SELECTION_TEXT},
-! {"COMPOUND_TEXT", 0, SELECTION_COMPOUND_TEXT}
- };
-
- /*
---- 1444,1452 ----
- #define VIM_ATOM_NAME "_VIM_TEXT"
- static const GtkTargetEntry primary_targets[] = {
- {VIM_ATOM_NAME, 0, SELECTION_CLIPBOARD},
-! {"COMPOUND_TEXT", 0, SELECTION_COMPOUND_TEXT},
- {"TEXT", 0, SELECTION_TEXT},
-! {"STRING", 0, SELECTION_STRING}
- };
-
- /*
-***************
-*** 3130,3135 ****
---- 3130,3155 ----
- gtk_main(); /* wait for selection_received_event */
-
- if (received_selection == RS_FAIL)
-+ {
-+ /* Now try to get it out of the usual string selection. */
-+ received_selection = RS_NONE;
-+ (void)gtk_selection_convert(gui.drawarea, GDK_SELECTION_PRIMARY,
-+ gdk_atom_intern("COMPOUND_TEXT", FALSE),
-+ (guint32)GDK_CURRENT_TIME);
-+ while (received_selection == RS_NONE)
-+ gtk_main(); /* wait for selection_received_event */
-+ }
-+ if (received_selection == RS_FAIL)
-+ {
-+ /* Now try to get it out of the usual string selection. */
-+ received_selection = RS_NONE;
-+ (void)gtk_selection_convert(gui.drawarea, GDK_SELECTION_PRIMARY,
-+ gdk_atom_intern("TEXT", FALSE),
-+ (guint32)GDK_CURRENT_TIME);
-+ while (received_selection == RS_NONE)
-+ gtk_main(); /* wait for selection_received_event */
-+ }
-+ if (received_selection == RS_FAIL)
- {
- /* Now try to get it out of the usual string selection. */
- received_selection = RS_NONE;
-*** ../vim-5.7.4/src/multbyte.c Wed Jun 7 12:29:37 2000
---- src/multbyte.c Sat Aug 5 14:22:57 2000
-***************
-*** 520,526 ****
- }
-
- #if defined(USE_GUI_X11) || defined(PROTO)
-! # if defined(XtSpecificationRelease) && XtSpecificationRelease >= 6
- # define USE_X11R6_XIM
- # endif
-
---- 520,526 ----
- }
-
- #if defined(USE_GUI_X11) || defined(PROTO)
-! # if defined(XtSpecificationRelease) && XtSpecificationRelease >= 6 && !defined(sun)
- # define USE_X11R6_XIM
- # endif
-
-***************
-*** 724,737 ****
- found = True;
- break;
- }
-! if ((xim_styles->supported_styles[i] & this_input_style)
-! == (this_input_style & ~XIMStatusArea))
- {
-! this_input_style &= ~XIMStatusArea;
-! found = True;
-! break;
- }
-- }
-
- s = ns;
- }
---- 724,741 ----
- found = True;
- break;
- }
-! }
-! if (!found)
-! for (i = 0; (unsigned short)i < xim_styles->count_styles; i++)
- {
-! if ((xim_styles->supported_styles[i] & this_input_style)
-! == (this_input_style & ~XIMStatusArea))
-! {
-! this_input_style &= ~XIMStatusArea;
-! found = True;
-! break;
-! }
- }
-
- s = ns;
- }
-*** ../vim-5.7.4/src/screen.c Wed Jun 7 14:43:59 2000
---- src/screen.c Sat Aug 5 14:22:57 2000
-***************
-*** 1746,1751 ****
---- 1746,1754 ----
- #ifdef USE_GUI
- && !gui.in_use
- #endif
-+ #ifdef MULTI_BYTE
-+ && !is_dbcs
-+ #endif
- )
- {
- if (screen_cur_col != Columns)
-*** ../vim-5.7.4/src/ui.c Sat Jun 3 11:37:13 2000
---- src/ui.c Sat Aug 5 14:22:57 2000
-***************
-*** 1523,1531 ****
- {
- switch (i)
- {
-! case 0: type = clipboard.xatom;
-! case 1: type = clipboard.xa_compound_text;
-! case 2: type = clipboard.xa_text;
- default: type = XA_STRING;
- }
- XtGetSelectionValue(myShell, XA_PRIMARY, type,
---- 1523,1531 ----
- {
- switch (i)
- {
-! case 0: type = clipboard.xatom; break;
-! case 1: type = clipboard.xa_compound_text; break;
-! case 2: type = clipboard.xa_text; break;
- default: type = XA_STRING;
- }
- XtGetSelectionValue(myShell, XA_PRIMARY, type,
-*** ../vim-5.7.4/src/version.c Sat Aug 5 14:27:00 2000
---- src/version.c Sat Aug 5 14:36:42 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 5,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-125. You begin to wonder how often it REALLY is necessary to get up
- and shower or bathe.
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.006
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.006
-Problem: GUI: redrawing the non-Visual selection is wrong when the window
- is unobscured. (Jean-Pierre Etienne)
-Solution: Redraw the selection properly and don't clear it. Added "len"
- argument to clip_may_redraw_selection().
-Files: src/gui.c, src/ui.c, src/proto/ui.pro
-
-
-*** ../vim-5.7.5/src/gui.c Sun Jun 18 13:56:27 2000
---- src/gui.c Sat Aug 5 15:45:18 2000
-***************
-*** 1542,1550 ****
- /* Draw the text */
- gui_mch_draw_string(gui.row, col, s, len, draw_flags);
-
-! /* May need to invert it when it's part of the selection (assumes len==1) */
- if (flags & GUI_MON_NOCLEAR)
-! clip_may_redraw_selection(gui.row, col);
-
- if (!(flags & (GUI_MON_IS_CURSOR | GUI_MON_TRS_CURSOR)))
- {
---- 1542,1550 ----
- /* Draw the text */
- gui_mch_draw_string(gui.row, col, s, len, draw_flags);
-
-! /* May need to invert it when it's part of the selection. */
- if (flags & GUI_MON_NOCLEAR)
-! clip_may_redraw_selection(gui.row, col, len);
-
- if (!(flags & (GUI_MON_IS_CURSOR | GUI_MON_TRS_CURSOR)))
- {
-***************
-*** 1609,1615 ****
- row2 = Y_2_ROW(y + h - 1);
- col2 = X_2_COL(x + w - 1);
-
-! (void)gui_redraw_block(row1, col1, row2, col2, 0);
-
- /*
- * We may need to redraw the cursor, but don't take it upon us to change
---- 1609,1615 ----
- row2 = Y_2_ROW(y + h - 1);
- col2 = X_2_COL(x + w - 1);
-
-! (void)gui_redraw_block(row1, col1, row2, col2, GUI_MON_NOCLEAR);
-
- /*
- * We may need to redraw the cursor, but don't take it upon us to change
-***************
-*** 1620,1628 ****
- */
- if (gui.row == gui.cursor_row)
- gui_update_cursor(FALSE, TRUE);
--
-- if (clipboard.state != SELECT_CLEARED)
-- clip_redraw_selection(x, y, w, h);
- }
-
- /*
---- 1620,1625 ----
-*** ../vim-5.7.5/src/ui.c Sat Aug 5 15:43:46 2000
---- src/ui.c Sat Aug 5 15:33:18 2000
-***************
-*** 742,761 ****
- }
-
- /*
-! * Redraw the selection if character at "row,col" is inside of it.
- */
- void
-! clip_may_redraw_selection(row, col)
-! int row, col;
- {
- if (clipboard.state != SELECT_CLEARED
-! && ((row == clipboard.start.lnum
-! && col >= (int)clipboard.start.col)
-! || row > clipboard.start.lnum)
-! && ((row == clipboard.end.lnum
-! && col < (int)clipboard.end.col)
-! || row < clipboard.end.lnum))
-! clip_invert_area(row, col, row, col + 1);
- }
-
- /*
---- 742,768 ----
- }
-
- /*
-! * Redraw part of the selection if character at "row,col" is inside of it.
- */
- void
-! clip_may_redraw_selection(row, col, len)
-! int row, col;
-! int len;
- {
-+ int start = col;
-+ int end = col + len;
-+
- if (clipboard.state != SELECT_CLEARED
-! && row >= clipboard.start.lnum
-! && row <= clipboard.end.lnum)
-! {
-! if (row == clipboard.start.lnum && start < (int)clipboard.start.col)
-! start = clipboard.start.col;
-! if (row == clipboard.end.lnum && end > (int)clipboard.end.col)
-! end = clipboard.end.col;
-! if (end > start)
-! clip_invert_area(row, start, row, end);
-! }
- }
-
- /*
-*** ../vim-5.7.5/src/proto/ui.pro Sat Jun 24 11:19:16 2000
---- src/proto/ui.pro Sat Aug 5 15:33:41 2000
-***************
-*** 19,25 ****
- void clip_start_selection __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
- void clip_process_selection __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
- void clip_redraw_selection __ARGS((int x, int y, int w, int h));
-! void clip_may_redraw_selection __ARGS((int row, int col));
- void clip_clear_selection __ARGS((void));
- void clip_may_clear_selection __ARGS((int row1, int row2));
- void clip_scroll_selection __ARGS((int rows));
---- 19,25 ----
- void clip_start_selection __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
- void clip_process_selection __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
- void clip_redraw_selection __ARGS((int x, int y, int w, int h));
-! void clip_may_redraw_selection __ARGS((int row, int col, int len));
- void clip_clear_selection __ARGS((void));
- void clip_may_clear_selection __ARGS((int row1, int row2));
- void clip_scroll_selection __ARGS((int rows));
-*** ../vim-5.7.5/src/version.c Sat Aug 5 15:43:46 2000
---- src/version.c Sat Aug 5 15:42:30 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 6,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-126. You brag to all of your friends about your date Saturday night...but
- you don't tell them it was only in a chat room.
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.007
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.007
-Problem: Python: Crash when using the current buffer twice.
-Solution: Increase the reference count for buffer and window objects.
- (Johannes Zellner)
-Files: src/if_python.c
-
-
-*** ../vim-5.7.6/src/if_python.c Sat Sep 11 20:19:46 1999
---- src/if_python.c Sat Aug 5 16:20:51 2000
-***************
-*** 897,903 ****
---- 897,906 ----
- BufferObject *self;
-
- if (buf->python_ref)
-+ {
- self = buf->python_ref;
-+ Py_INCREF(self);
-+ }
- else
- {
- self = PyObject_NEW(BufferObject, &BufferType);
-***************
-*** 1367,1373 ****
---- 1370,1379 ----
- WindowObject *self;
-
- if (win->python_ref)
-+ {
- self = win->python_ref;
-+ Py_INCREF(self);
-+ }
- else
- {
- self = PyObject_NEW(WindowObject, &WindowType);
-*** ../vim-5.7.6/src/version.c Sat Aug 5 15:47:11 2000
---- src/version.c Sat Aug 5 16:20:45 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 7,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-127. You bring your laptop and cellular phone to church.
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.008
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.008
-Problem: In Ex mode, backspacing over the first TAB doesn't work properly.
- (Wichert Akkerman)
-Solution: Switch the cursor on before printing the newline.
-Files: src/ex_getln.c
-
-
-*** ../vim-5.7.7/src/ex_getln.c Mon Jun 5 12:35:31 2000
---- src/ex_getln.c Sat Aug 5 16:48:39 2000
-***************
-*** 1408,1413 ****
---- 1408,1417 ----
- int vcol = 0;
- #endif
-
-+ /* Switch cursor on now. This avoids that it happens after the "\n", which
-+ * confuses the system function that computes tabstops. */
-+ cursor_on();
-+
- /* always start in column 0; write a newline if necessary */
- compute_cmdrow();
- if (msg_col)
-*** ../vim-5.7.7/src/version.c Sat Aug 5 16:22:38 2000
---- src/version.c Sat Aug 5 16:52:29 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 8,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-128. You can access the Net -- via your portable and cellular phone.
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.009 (extra)
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.009 (extra)
-Problem: Mac: Crash when using a long file.
-Solution: Don't redefine malloc() and free(), because it will break using
- realloc().
-Files: src/os_mac.h
-
-
-*** ../vim-5.7.8/src/os_mac.h Wed Jun 7 12:30:32 2000
---- src/os_mac.h Sun Jul 23 12:45:19 2000
-***************
-*** 31,42 ****
- #include <stat.h>
- #include <unix.h>
-
- /*
- * Use Macintosh subroutine to alloc the memory.
- * (malloc generate Ptr format hard to debug with ZoneRanger)
- */
-! #define malloc(x) NewPtr(x)
-! #define free(x) DisposePtr((char *) x)
-
- /* This will go away when CMD_KEY fully tested */
- #define USE_CMD_KEY
---- 31,44 ----
- #include <stat.h>
- #include <unix.h>
-
-+ #if 0 /* this doesn't work, because realloc() isn't redefined */
- /*
- * Use Macintosh subroutine to alloc the memory.
- * (malloc generate Ptr format hard to debug with ZoneRanger)
- */
-! # define malloc(x) NewPtr(x)
-! # define free(x) DisposePtr((char *) x)
-! #endif
-
- /* This will go away when CMD_KEY fully tested */
- #define USE_CMD_KEY
-*** ../vim-5.7.8/src/version.c Sat Aug 5 16:53:54 2000
---- src/version.c Mon Aug 7 09:52:55 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 9,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-142. You dream about creating the world's greatest web site.
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.010
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.010
-Problem: When using CTRL-A on a very long number Vim can crash. (Michael
- Naumann)
-Solution: Truncate the length of the new number to avoid a buffer overflow.
-Files: src/ops.c
-
-
-*** ../vim-5.7.9/src/ops.c Fri Jun 2 12:28:27 2000
---- src/ops.c Fri Oct 6 17:55:14 2000
-***************
-*** 3940,3945 ****
---- 3940,3949 ----
- --length;
- }
-
-+ /* truncate to max length of a number */
-+ if (length >= NUMBUFLEN - 1)
-+ length = NUMBUFLEN - 2;
-+
- /*
- * Put the number characters in buf2[].
- */
-*** ../vim-5.7.9/src/version.c Mon Aug 7 09:59:44 2000
---- src/version.c Fri Oct 6 18:06:45 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 10,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-196. Your computer costs more than your car.
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.011 (extra)
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.011 (extra)
-Problem: Win32 GUI on NT 5 and Win98: Displaying Hebrew is reversed.
-Solution: Output each character separately, to avoid that Windows reverses
- the text for some fonts. (Ron Aaron)
-Files: src/gui_w32.c
-
-
-*** ../vim-5.7.10/src/gui_w32.c Tue Apr 18 10:36:37 2000
---- src/gui_w32.c Sat Oct 7 13:38:08 2000
-***************
-*** 3401,3406 ****
---- 3401,3456 ----
-
- #define UNIBUFSIZE 2000 /* a big buffer */
-
-+ #ifdef FEAT_RIGHTLEFT
-+ /*
-+ * What is this for? In the case where you are using Win98 or Win2K or later,
-+ * and you are using a Hebrew font (or Arabic!), Windows does you a favor and
-+ * reverses the string sent to the TextOut... family. This sucks, because we
-+ * go to a lot of effort to do the right thing, and there doesn't seem to be a
-+ * way to tell Windblows not to do this!
-+ *
-+ * The short of it is that this 'RevOut' only gets called if you are running
-+ * one of the new, "improved" MS OSes, and only if you are running in
-+ * 'rightleft' mode. It makes display take *slightly* longer, but not
-+ * noticeably so.
-+ */
-+ static void
-+ RevOut( HDC s_hdc,
-+ int col,
-+ int row,
-+ UINT foptions,
-+ CONST RECT *pcliprect,
-+ LPCTSTR text,
-+ UINT len,
-+ CONST INT *padding)
-+ {
-+ int ix;
-+ static int special = -1;
-+
-+ if (special == -1)
-+ {
-+ /* Check windows version: special treatment is needed if it is NT 5 or
-+ * Win98 or higher. */
-+ if ((os_version.dwPlatformId == VER_PLATFORM_WIN32_NT
-+ && os_version.dwMajorVersion >= 5)
-+ || (os_version.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS
-+ && (os_version.dwMajorVersion > 4
-+ || (os_version.dwMajorVersion == 4
-+ && os_version.dwMinorVersion > 0))))
-+ special = 1;
-+ else
-+ special = 0;
-+ }
-+
-+ if (special)
-+ for (ix = 0; ix < len; ++ix)
-+ ExtTextOut(s_hdc, col + TEXT_X(ix), row, foptions,
-+ pcliprect, text + ix, 1, padding);
-+ else
-+ ExtTextOut(s_hdc, col, row, foptions, pcliprect, text, len, padding);
-+ }
-+ #endif
-+
- void
- gui_mch_draw_string(
- int row,
-***************
-*** 3542,3549 ****
- }
- else
- #endif
-! ExtTextOut(s_hdc, TEXT_X(col), TEXT_Y(row),
- foptions, pcliprect, (char *)s, len, padding);
- }
-
- if (flags & DRAW_UNDERL)
---- 3592,3608 ----
- }
- else
- #endif
-! {
-! #ifdef FEAT_RIGHTLEFT
-! /* ron: fixed Hebrew on Win98/Win2000 */
-! if (curwin->w_p_rl)
-! RevOut(s_hdc, TEXT_X(col), TEXT_Y(row),
-! foptions, pcliprect, (char *)s, len, padding);
-! else
-! #endif
-! ExtTextOut(s_hdc, TEXT_X(col), TEXT_Y(row),
- foptions, pcliprect, (char *)s, len, padding);
-+ }
- }
-
- if (flags & DRAW_UNDERL)
-*** ../vim-5.7.10/src/version.c Sat Oct 7 13:42:12 2000
---- src/version.c Sat Oct 7 13:38:27 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 11,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-202. You're amazed to find out Spam is a food.
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.012
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.012
-Problem: When using "-complete=buffer" for ":command" the user command
- fails.
-Solution: In a user command don't replace the buffer name with a count for
- the buffer number.
-Files: src/ex_docmd.c
-
-
-*** ../vim-5.7.11/src/ex_docmd.c Tue Jun 20 11:18:24 2000
---- src/ex_docmd.c Sun Oct 22 16:35:35 2000
-***************
-*** 1350,1358 ****
-
- /*
- * Accept buffer name. Cannot be used at the same time with a buffer
-! * number.
- */
-! if ((ea.argt & BUFNAME) && *ea.arg && ea.addr_count == 0)
- {
- /*
- * :bdelete and :bunload take several arguments, separated by spaces:
---- 1350,1362 ----
-
- /*
- * Accept buffer name. Cannot be used at the same time with a buffer
-! * number. Don't do this for a user command.
- */
-! if ((ea.argt & BUFNAME) && *ea.arg && ea.addr_count == 0
-! #ifdef USER_COMMANDS
-! && ea.cmdidx != CMD_USER
-! #endif
-! )
- {
- /*
- * :bdelete and :bunload take several arguments, separated by spaces:
-*** ../vim-5.7.11/src/version.c Sat Oct 7 13:45:34 2000
---- src/version.c Sun Oct 22 16:38:16 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 12,
- /**/
-
---
-ARTHUR: You fight with the strength of many men, Sir knight.
- I am Arthur, King of the Britons. [pause]
- I seek the finest and the bravest knights in the land to join me
- in my Court of Camelot. [pause]
- You have proved yourself worthy; will you join me? [pause]
- You make me sad. So be it. Come, Patsy.
-BLACK KNIGHT: None shall pass.
- The Quest for the Holy Grail (Monty Python)
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.013
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.013
-Problem: "gD" didn't always find a match in the first line, depending on
- the column the search started at.
-Solution: Reset the column to zero before starting to search.
-Files: src/normal.c
-
-
-*** ../vim-5.7.12/src/normal.c Mon Jun 5 15:22:19 2000
---- src/normal.c Thu Oct 26 21:41:10 2000
-***************
-*** 3172,3177 ****
---- 3172,3178 ----
- while (curwin->w_cursor.lnum > 1 && *skipwhite(ml_get_curline()) != NUL)
- --curwin->w_cursor.lnum;
- }
-+ curwin->w_cursor.col = 0;
-
- /* Search forward for the identifier, ignore comment lines. */
- while ((t = searchit(curbuf, &curwin->w_cursor, FORWARD, pat, 1L, 0,
-*** ../vim-5.7.12/src/version.c Sun Oct 22 16:43:53 2000
---- src/version.c Thu Oct 26 21:41:19 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 13,
- /**/
-
---
-Wi n0t trei a h0liday in Sweden thi yer?
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.014
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.014
-Problem: Rot13 encoding was done on characters with accents, which is
- wrong. (Sven Gottwald)
-Solution: Only do rot13 encoding on ASCII characters.
-Files: src/ops.c
-
-
-*** ../vim-5.7.13/src/ops.c Sat Oct 7 13:42:12 2000
---- src/ops.c Wed Nov 1 09:38:24 2000
-***************
-*** 1793,1798 ****
---- 1793,1801 ----
- if (c & 0xff00) /* No lower/uppercase letter */
- return;
- #endif
-+ /* Only do rot13 encoding for ASCII characters. */
-+ if (c >= 0x80 && op_type == OP_ROT13)
-+ return;
- nc = c;
- if (islower(c))
- {
-*** ../vim-5.7.13/src/version.c Thu Oct 26 21:44:39 2000
---- src/version.c Wed Nov 1 09:41:30 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 14,
- /**/
-
---
-No engineer can take a shower without wondering if some sort of Teflon coating
-would make showering unnecessary.
- (Scott Adams - The Dilbert principle)
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.015
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.015
-Problem: Syntax files for Vim 6.0 can't be used with 5.x.
-Solution: Add the "default" argument to the ":highlight" command: Ignore the
- command if highlighting was already specified.
-Files: src/syntax.c
-
-
-*** ../vim-5.7.14/src/syntax.c Mon May 22 09:42:51 2000
---- src/syntax.c Wed Nov 8 19:33:11 2000
-***************
-*** 78,83 ****
---- 78,84 ----
- static int highlight_list_arg __ARGS((int id, int didh, int type, int iarg, char_u *sarg, char *name));
- static int syn_add_group __ARGS((char_u *name));
- static int syn_list_header __ARGS((int did_header, int outlen, int id));
-+ static int hl_has_settings __ARGS((int idx, int check_link));
- static void highlight_clear __ARGS((int idx));
-
- #ifdef USE_GUI
-***************
-*** 4841,4846 ****
---- 4842,4848 ----
- int attr;
- int id;
- int idx;
-+ int dodefault = FALSE;
- int doclear = FALSE;
- int dolink = FALSE;
- int error = FALSE;
-***************
-*** 4868,4873 ****
---- 4870,4886 ----
- name_end = skiptowhite(line);
- linep = skipwhite(name_end);
-
-+ /*
-+ * Check for "default" argument.
-+ */
-+ if (STRNCMP(line, "default", name_end - line) == 0)
-+ {
-+ dodefault = TRUE;
-+ line = linep;
-+ name_end = skiptowhite(line);
-+ linep = skipwhite(name_end);
-+ }
-+
- if (STRNCMP(line, "clear", name_end - line) == 0)
- doclear = TRUE;
- if (STRNCMP(line, "link", name_end - line) == 0)
-***************
-*** 4927,4940 ****
- * for the group, unless '!' is used
- */
- if (to_id > 0 && !forceit && !init
-! && (HL_TABLE()[from_id - 1].sg_term_attr != 0
-! || HL_TABLE()[from_id - 1].sg_cterm_attr != 0
-! #ifdef USE_GUI
-! || HL_TABLE()[from_id - 1].sg_gui_attr != 0
-! #endif
-! ))
- {
-! if (sourcing_name == NULL)
- EMSG("group has settings, highlight link ignored");
- }
- else
---- 4940,4948 ----
- * for the group, unless '!' is used
- */
- if (to_id > 0 && !forceit && !init
-! && hl_has_settings(from_id - 1, dodefault))
- {
-! if (sourcing_name == NULL && !dodefault)
- EMSG("group has settings, highlight link ignored");
- }
- else
-***************
-*** 4971,4976 ****
---- 4979,4989 ----
- if (id == 0) /* failed (out of memory) */
- return;
- idx = id - 1; /* index is ID minus one */
-+
-+ /* Return if "default" was used and the group already has settings. */
-+ if (dodefault && hl_has_settings(idx, TRUE))
-+ return;
-+
- if (STRCMP(HL_TABLE()[idx].sg_name_u, "NORMAL") == 0)
- is_normal_group = TRUE;
- #ifdef USE_GUI_X11
-***************
-*** 5473,5478 ****
---- 5486,5509 ----
- /* Only call highlight_changed() once, after sourcing a syntax file */
- need_highlight_changed = TRUE;
- }
-+
-+ /*
-+ * Return TRUE if highlight group "idx" has any settings.
-+ * When "check_link" is TRUE also check for an existing link.
-+ */
-+ static int
-+ hl_has_settings(idx, check_link)
-+ int idx;
-+ int check_link;
-+ {
-+ return ( HL_TABLE()[idx].sg_term_attr != 0
-+ || HL_TABLE()[idx].sg_cterm_attr != 0
-+ #ifdef FEAT_GUI
-+ || HL_TABLE()[idx].sg_gui_attr != 0
-+ #endif
-+ || (check_link && (HL_TABLE()[idx].sg_set & SG_LINK)));
-+ }
-+
-
- /*
- * Clear highlighting for one group.
-*** ../vim-5.7.14/src/version.c Wed Nov 1 09:55:17 2000
---- src/version.c Wed Nov 8 19:33:20 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 15,
- /**/
-
---
-Time is money. Especially if you make clocks.
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.016
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.016
-Problem: When hitting 'n' for a ":s///c" command, the ignore-case flag was
- not restored, some matches were skipped. (Daniel Blaustein)
-Solution: Restore the reg_ic variable when 'n' was hit.
-Files: src/ex_cmds.c
-
-
-*** ../vim-5.7.15/src/ex_cmds.c Tue Jun 20 15:55:51 2000
---- src/ex_cmds.c Sun Nov 12 13:07:10 2000
-***************
-*** 2988,2994 ****
- EXARG *eap;
- {
- linenr_t lnum;
-! long i;
- char_u *ptr;
- char_u *old_line;
- vim_regexp *prog;
---- 2988,2994 ----
- EXARG *eap;
- {
- linenr_t lnum;
-! long i = 0;
- char_u *ptr;
- char_u *old_line;
- vim_regexp *prog;
-***************
-*** 3312,3318 ****
- break;
- }
- else if (i == 'n')
-! goto skip;
- else if (i == 'y')
- break;
- else if (i == 'a')
---- 3312,3318 ----
- break;
- }
- else if (i == 'n')
-! break;
- else if (i == 'y')
- break;
- else if (i == 'a')
-***************
-*** 3330,3336 ****
- #ifdef USE_MOUSE
- setmouse();
- #endif
-!
- if (got_quit)
- break;
- }
---- 3330,3337 ----
- #ifdef USE_MOUSE
- setmouse();
- #endif
-! if (i == 'n')
-! goto skip;
- if (got_quit)
- break;
- }
-*** ../vim-5.7.15/src/version.c Wed Nov 8 19:44:44 2000
---- src/version.c Sun Nov 12 13:10:10 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 16,
- /**/
-
---
-From "know your smileys":
-:^[/ mean-smiley-with-cigarette
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.017
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.017
-Problem: When using a Vim script for Vim 6.0 with <SID> before a function
- name, it produces an error message even when inside an "if version
- >= 600". (Charles Campbell)
-Solution: Ignore errors in the function name when the function is not going
- to be defined.
-Files: src/eval.c
-
-
-*** ../vim-5.7.16/src/eval.c Tue Jun 6 12:55:14 2000
---- src/eval.c Thu Nov 16 15:18:27 2000
-***************
-*** 4822,4828 ****
- return;
- }
-
-! if (!isupper(*eap->arg))
- {
- EMSG2("Function name must start with a capital: %s", eap->arg);
- return;
---- 4822,4828 ----
- return;
- }
-
-! if (!isupper(*eap->arg) && !eap->skip)
- {
- EMSG2("Function name must start with a capital: %s", eap->arg);
- return;
-***************
-*** 4858,4864 ****
- name = eap->arg;
- for (p = name; isalpha(*p) || isdigit(*p) || *p == '_'; ++p)
- ;
-! if (p == name)
- {
- EMSG("Function name required");
- return;
---- 4858,4864 ----
- name = eap->arg;
- for (p = name; isalpha(*p) || isdigit(*p) || *p == '_'; ++p)
- ;
-! if (p == name && !eap->skip)
- {
- EMSG("Function name required");
- return;
-***************
-*** 4867,4874 ****
- p = skipwhite(p);
- if (*p != '(')
- {
-! EMSG2("Missing '(': %s", name);
-! return;
- }
- p = skipwhite(p + 1);
-
---- 4867,4878 ----
- p = skipwhite(p);
- if (*p != '(')
- {
-! if (!eap->skip)
-! {
-! EMSG2("Missing '(': %s", name);
-! return;
-! }
-! p = vim_strchr(p, '(');
- }
- p = skipwhite(p + 1);
-
-***************
-*** 4893,4899 ****
- ++p;
- if (arg == p || isdigit(*arg))
- {
-! EMSG2("Illegal argument: %s", arg);
- goto erret;
- }
- if (ga_grow(&newargs, 1) == FAIL)
---- 4897,4904 ----
- ++p;
- if (arg == p || isdigit(*arg))
- {
-! if (!eap->skip)
-! EMSG2("Illegal argument: %s", arg);
- goto erret;
- }
- if (ga_grow(&newargs, 1) == FAIL)
-***************
-*** 4915,4921 ****
- p = skipwhite(p);
- if (mustend && *p != ')')
- {
-! EMSG2(e_invarg2, eap->arg);
- goto erret;
- }
- }
---- 4920,4927 ----
- p = skipwhite(p);
- if (mustend && *p != ')')
- {
-! if (!eap->skip)
-! EMSG2(e_invarg2, eap->arg);
- goto erret;
- }
- }
-***************
-*** 4941,4947 ****
-
- if (*p != NUL && *p != '"' && *p != '\n')
- {
-! EMSG(e_trailing);
- goto erret;
- }
-
---- 4947,4954 ----
-
- if (*p != NUL && *p != '"' && *p != '\n')
- {
-! if (!eap->skip)
-! EMSG(e_trailing);
- goto erret;
- }
-
-*** ../vim-5.7.16/src/version.c Thu Nov 16 15:15:50 2000
---- src/version.c Thu Nov 16 15:15:17 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 17,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-145. You e-mail your boss, informing him you'll be late.
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.018
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.018
-Problem: When running "rvim" or "vim -Z" it was still possible to execute a
- shell command with system() and backtick-expansion. (Antonios A.
- Kavarnos)
-Solution: Disallow executing a shell command in get_cmd_output() and
- mch_expand_wildcards().
-Files: src/misc1.c, src/os_unix.c
-
-
-*** ../vim-5.7.17/src/misc1.c Tue Jun 20 21:30:53 2000
---- src/misc1.c Thu Nov 16 16:45:35 2000
-***************
-*** 5695,5700 ****
---- 5695,5703 ----
- int i = 0;
- FILE *fd;
-
-+ if (check_restricted() || check_secure())
-+ return NULL;
-+
- /* get a name for the temp file */
- if ((tempname = vim_tempname('o')) == NULL)
- {
-*** ../vim-5.7.17/src/os_unix.c Wed Jun 7 17:24:21 2000
---- src/os_unix.c Thu Nov 16 17:02:34 2000
-***************
-*** 3334,3339 ****
---- 3334,3348 ----
- if (!have_wildcard(num_pat, pat))
- return save_patterns(num_pat, pat, num_file, file);
-
-+ /*
-+ * Don't allow the use of backticks in secure and restricted mode.
-+ */
-+ if (secure || restricted)
-+ for (i = 0; i < num_pat; ++i)
-+ if (vim_strchr(pat[i], '`') != NULL
-+ && (check_restricted() || check_secure()))
-+ return FAIL;
-+
- /*
- * get a name for the temp file
- */
-*** ../vim-5.7.17/src/version.c Thu Nov 16 17:06:52 2000
---- src/version.c Thu Nov 16 16:45:44 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 18,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-156. You forget your friend's name but not her e-mail address.
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.019
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.019
-Problem: Multibyte: In a substitute string, a multi-byte character isn't
- skipped properly, can be a problem when the second byte is a
- backslash.
-Solution: Skip an extra byte for a double-byte character. (Muraoka Taro)
-Files: src/ex_cmds.c
-
-
-*** ../vim-5.7.18/src/ex_cmds.c Thu Nov 16 15:15:49 2000
---- src/ex_cmds.c Tue Nov 28 22:27:29 2000
-***************
-*** 3083,3088 ****
---- 3083,3093 ----
- cmd[0] = Ctrl('V');
- ++cmd;
- }
-+ #ifdef MULTI_BYTE
-+ /* skip an extra byte for a double-byte character */
-+ if (is_dbcs && cmd[1] != NUL && IsLeadByte(cmd[0]))
-+ ++cmd;
-+ #endif
- ++cmd;
- }
-
-*** ../vim-5.7.18/src/version.c Tue Nov 28 22:50:07 2000
---- src/version.c Tue Nov 28 22:49:21 2000
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 19,
- /**/
-
---
-Apologies for taking up the bandwidth with the apology. Anything else I
-can apologise for ...... er no can't think of anything, sorry about that.
- Andy Hunt (Member of British Olympic Apology Squad)
-
-/// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
-\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.020
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.020
-Problem: Compilation doesn't work on MacOS-X.
-Solution: Add a couple of #ifdefs. (Jamie Curmi)
-Files: src/regexp.c, src/ctags/general.h
-
-
-*** ../vim-5.7.19/src/regexp.c Fri Aug 4 21:51:08 2000
---- src/regexp.c Tue Jan 2 21:08:01 2001
-***************
-*** 347,353 ****
- * If not: NULL is returned; If so, a function of the sort is* is returned and
- * the name is skipped.
- */
-! #if defined(macintosh) || defined(__BEOS__)
- /* the compiler doesn't understand the other one */
- static int (*
- skip_class_name(char_u **pp))__ARGS((int))
---- 347,354 ----
- * If not: NULL is returned; If so, a function of the sort is* is returned and
- * the name is skipped.
- */
-! #if defined(macintosh) || defined(__BEOS__) || defined(__NeXT__) \
-! || defined(__APPLE_CC__)
- /* the compiler doesn't understand the other one */
- static int (*
- skip_class_name(char_u **pp))__ARGS((int))
-*** ../vim-5.7.19/src/ctags/general.h Thu Jan 6 06:48:13 2000
---- src/ctags/general.h Tue Jan 2 21:10:05 2001
-***************
-*** 39,45 ****
- /* This is a helpful internal feature of later versions (> 2.7) of GCC
- * to prevent warnings about unused variables.
- */
-! #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
- # define __unused__ __attribute__((unused))
- #else
- # define __unused__
---- 39,45 ----
- /* This is a helpful internal feature of later versions (> 2.7) of GCC
- * to prevent warnings about unused variables.
- */
-! #if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) && !defined(__APPLE_CC__)
- # define __unused__ __attribute__((unused))
- #else
- # define __unused__
-*** ../vim-5.7.19/src/version.c Tue Nov 28 22:53:54 2000
---- src/version.c Tue Jan 2 21:10:34 2001
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 20,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-180. You maintain more than six e-mail addresses.
-
- /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\
-((( Creator of Vim - http://www.vim.org -- ftp://ftp.vim.org/pub/vim )))
- \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.021
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.021
-Problem: Vim sometimes produces a beep when started in an xterm. Only
- happens when compiled without mouse support.
-Solution: Requesting the xterm version results in a K_IGNORE. This wasn't
- handled when mouse support is disabled. Accept K_IGNORE always.
-Files: src/normal.c
-
-
-*** ../vim-5.7.20/src/normal.c Thu Oct 26 21:44:39 2000
---- src/normal.c Mon Jan 8 09:37:34 2001
-***************
-*** 1198,1207 ****
- case K_RIGHTRELEASE:
- (void)do_mouse(oap, ca.cmdchar, BACKWARD, ca.count1, 0);
- break;
-
- case K_IGNORE:
- break;
-- #endif
-
- #ifdef USE_GUI
- /*
---- 1198,1207 ----
- case K_RIGHTRELEASE:
- (void)do_mouse(oap, ca.cmdchar, BACKWARD, ca.count1, 0);
- break;
-+ #endif
-
- case K_IGNORE:
- break;
-
- #ifdef USE_GUI
- /*
-*** ../vim-5.7.20/src/version.c Mon Jan 8 09:42:52 2001
---- src/version.c Mon Jan 8 09:42:22 2001
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 21,
- /**/
-
---
-DINGO: Wicked wicked Zoot ... she is a bad person and she must pay the
- penalty. And here in Castle Anthrax, we have but one punishment
- ... you must tie her down on a bed ... and spank her. Come!
-GIRLS: A spanking! A spanking!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\
-((( Creator of Vim - http://www.vim.org -- ftp://ftp.vim.org/pub/vim )))
- \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.022
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.022
-Problem: %v in 'statusline' is not displayed when it's equal to %c.
-Solution: Check if %V or %v is used and handle them differently.
-Files: src/screen.c
-
-
-*** ../vim-5.7.21/src/screen.c Sat Aug 5 15:43:46 2000
---- src/screen.c Mon Jan 8 11:46:10 2001
-***************
-*** 2923,2933 ****
- getvcol(wp, &wp->w_cursor, NULL, &virtcol, NULL);
- wp->w_p_list = TRUE;
- }
-! if (virtcol == (colnr_t)(!(State & INSERT) && empty_line
-! ? 0 : (int)wp->w_cursor.col))
-! {
- break;
-- }
- num = (long)virtcol + 1;
- break;
-
---- 2923,2933 ----
- getvcol(wp, &wp->w_cursor, NULL, &virtcol, NULL);
- wp->w_p_list = TRUE;
- }
-! /* Don't display %V if it's the same as %c. */
-! if (opt == STL_VIRTCOL_ALT
-! && (virtcol == (colnr_t)(!(State & INSERT) && empty_line
-! ? 0 : (int)wp->w_cursor.col)))
- break;
- num = (long)virtcol + 1;
- break;
-
-*** ../vim-5.7.21/src/version.c Mon Jan 8 11:48:40 2001
---- src/version.c Mon Jan 8 11:48:24 2001
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 22,
- /**/
-
---
- ### Hiroshima 45, Chernobyl 86, Windows 95 ###
-
- /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\
-((( Creator of Vim - http://www.vim.org -- ftp://ftp.vim.org/pub/vim )))
- \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.023
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.023
-Problem: Crash when a WinLeave autocommand deletes the buffer in the other
- window.
-Solution: Check that after executing the WinLeave autocommands there still
- is a window to be closed. Also update the test that was supposed
- to check for this problem.
-Files: src/window.c, testdir/test13.in, testdir/test13.ok
-
-
-*** ../vim-5.7.22/src/window.c Tue Jan 25 10:47:16 2000
---- src/window.c Thu Jan 18 13:41:47 2001
-***************
-*** 900,910 ****
- {
- other_buffer = TRUE;
- apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
-! if (!win_valid(win))
- return;
- }
- apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
-! if (!win_valid(win))
- return;
- }
- #endif
---- 900,910 ----
- {
- other_buffer = TRUE;
- apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
-! if (!win_valid(win) || firstwin == lastwin)
- return;
- }
- apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
-! if (!win_valid(win) || firstwin == lastwin)
- return;
- }
- #endif
-***************
-*** 930,936 ****
- */
- close_buffer(win, win->w_buffer, free_buf, FALSE);
- /* autocommands may have closed the window already */
-! if (!win_valid(win))
- return;
-
- win_new_height(wp, wp->w_height + win->w_height + win->w_status_height);
---- 930,936 ----
- */
- close_buffer(win, win->w_buffer, free_buf, FALSE);
- /* autocommands may have closed the window already */
-! if (!win_valid(win) || firstwin == lastwin)
- return;
-
- win_new_height(wp, wp->w_height + win->w_height + win->w_status_height);
-*** ../vim-5.7.22/src/testdir/test13.in Tue Jul 20 13:31:27 1999
---- src/testdir/test13.in Thu Jan 18 12:59:41 2001
-***************
-*** 24,33 ****
- otestje3\e
- :w
- \17\17
-! :au WinLeave testje bdel
- \17\17
- :w! test.out
-! :au WinLeave testje bdel testje3
- :close
- :w >>test.out
- :e Xtestje1
---- 24,33 ----
- otestje3\e
- :w
- \17\17
-! :au WinLeave Xtestje2 bdel
- \17\17
- :w! test.out
-! :au WinLeave Xtestje1 bdel Xtestje3
- :close
- :w >>test.out
- :e Xtestje1
-*** ../vim-5.7.22/src/testdir/test13.ok Tue Jul 20 13:35:40 1999
---- src/testdir/test13.ok Thu Jan 18 13:56:54 2001
-***************
-*** 5,11 ****
- contents
- end of testfile
- start of testfile
-! testje2
- contents
- contents
- contents
---- 5,11 ----
- contents
- end of testfile
- start of testfile
-! testje1
- contents
- contents
- contents
-*** ../vim-5.7.22/src/version.c Mon Jan 8 11:50:35 2001
---- src/version.c Thu Jan 18 13:54:38 2001
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 23,
- /**/
-
---
-ERIC IDLE PLAYED: THE DEAD COLLECTOR, MR BINT (A VILLAGE NE'ER-DO -WELL VERY
- KEEN ON BURNING WITCHES), SIR ROBIN, THE GUARD WHO DOESN'T
- HICOUGH BUT TRIES TO GET THINGS STRAIGHT, CONCORDE (SIR
- LAUNCELOT'S TRUSTY STEED), ROGER THE SHRUBBER (A SHRUBBER),
- BROTHER MAYNARD
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\
-((( Creator of Vim - http://www.vim.org -- ftp://ftp.vim.org/pub/vim )))
- \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
+++ /dev/null
-To: vim-dev@vim.org
-Subject: Patch 5.7.024
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-------------
-
-Patch 5.7.024
-Problem: Evaluating an expression for 'statusline' can have side effects.
-Solution: Evaluate the expression in a sandbox.
-Files: src/edit.c, src/eval.c, src/proto/eval.pro, src/ex_cmds.c,
- src/ex_cmds.h, src/ex_docmd.c, src/globals.h, src/option.c,
- src/screen.c, src/undo.c
-
-
-*** ../vim-5.7.23/src/edit.c Sat Jun 17 21:32:18 2000
---- src/edit.c Mon Jan 29 20:32:55 2001
-***************
-*** 222,227 ****
---- 222,236 ----
- * error message */
- check_for_delay(TRUE);
-
-+ #ifdef HAVE_SANDBOX
-+ /* Don't allow inserting in the sandbox. */
-+ if (sandbox != 0)
-+ {
-+ EMSG(e_sandbox);
-+ return FALSE;
-+ }
-+ #endif
-+
- #ifdef INSERT_EXPAND
- ins_compl_clear(); /* clear stuff for ctrl-x mode */
- #endif
-*** ../vim-5.7.23/src/eval.c Thu Nov 16 17:06:52 2000
---- src/eval.c Mon Jan 29 20:10:22 2001
-***************
-*** 320,325 ****
---- 324,350 ----
-
- return retval;
- }
-+
-+ # if defined(STATUSLINE) || defined(PROTO)
-+ /*
-+ * Call eval_to_string() with "sandbox" set and not using local variables.
-+ */
-+ char_u *
-+ eval_to_string_safe(arg, nextcmd)
-+ char_u *arg;
-+ char_u **nextcmd;
-+ {
-+ char_u *retval;
-+ void *save_funccalp;
-+
-+ save_funccalp = save_funccal();
-+ ++sandbox;
-+ retval = eval_to_string(arg, nextcmd);
-+ --sandbox;
-+ restore_funccal(save_funccalp);
-+ return retval;
-+ }
-+ # endif
-
- /*
- * ":let var = expr" assignment command.
-*** ../vim-5.7.23/src/proto/eval.pro Sat Jun 24 11:18:33 2000
---- src/proto/eval.pro Mon Jan 29 20:31:34 2001
-***************
-*** 2,7 ****
---- 2,8 ----
- void set_internal_string_var __ARGS((char_u *name, char_u *value));
- int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip));
- char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd));
-+ char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd));
- void do_let __ARGS((EXARG *eap));
- void set_context_for_expression __ARGS((char_u *arg, CMDIDX cmdidx));
- void do_call __ARGS((EXARG *eap));
-*** ../vim-5.7.23/src/ex_cmds.c Tue Nov 28 22:53:54 2000
---- src/ex_cmds.c Mon Jan 29 20:32:11 2001
-***************
-*** 2961,2966 ****
---- 2961,2977 ----
- emsg(e_curdir);
- return TRUE;
- }
-+ #ifdef HAVE_SANDBOX
-+ /*
-+ * In the sandbox more things are not allowed, including the things
-+ * disallowed in secure mode.
-+ */
-+ if (sandbox != 0)
-+ {
-+ EMSG(e_sandbox);
-+ return TRUE;
-+ }
-+ #endif
- return FALSE;
- }
-
-*** ../vim-5.7.23/src/ex_cmds.h Mon Jun 14 18:24:51 1999
---- src/ex_cmds.h Mon Jan 29 20:27:12 2001
-***************
-*** 54,59 ****
---- 54,60 ----
- #define NOTADR 0x4000 /* number before command is not an address */
- #define EDITCMD 0x8000 /* has "+command" argument */
- #define BUFNAME 0x10000 /* accepts buffer name */
-+ #define SBOXOK 0x40000 /* allowed in the sandbox */
- #define FILES (XFILE | EXTRA) /* multiple extra files allowed */
- #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */
- #define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */
-***************
-*** 101,107 ****
- EXCMD(CMD_bnext, "bnext", BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EXCMD(CMD_bprevious,"bprevious", BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EXCMD(CMD_brewind, "brewind", BANG|RANGE|TRLBAR),
-! EXCMD(CMD_break, "break", TRLBAR),
- EXCMD(CMD_browse, "browse", NEEDARG|EXTRA|NOTRLCOM),
- EXCMD(CMD_buffers, "buffers", TRLBAR),
- EXCMD(CMD_bunload, "bunload", BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
---- 102,108 ----
- EXCMD(CMD_bnext, "bnext", BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EXCMD(CMD_bprevious,"bprevious", BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EXCMD(CMD_brewind, "brewind", BANG|RANGE|TRLBAR),
-! EXCMD(CMD_break, "break", TRLBAR|SBOXOK),
- EXCMD(CMD_browse, "browse", NEEDARG|EXTRA|NOTRLCOM),
- EXCMD(CMD_buffers, "buffers", TRLBAR),
- EXCMD(CMD_bunload, "bunload", BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
-***************
-*** 109,115 ****
- EXCMD(CMD_cNext, "cNext", RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EXCMD(CMD_cabbrev, "cabbrev", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_cabclear, "cabclear", TRLBAR),
-! EXCMD(CMD_call, "call", RANGE|NEEDARG|EXTRA|NOTRLCOM),
- EXCMD(CMD_cc, "cc", RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EXCMD(CMD_cd, "cd", NAMEDF|TRLBAR),
- EXCMD(CMD_center, "center", TRLBAR|RANGE|EXTRA),
---- 110,116 ----
- EXCMD(CMD_cNext, "cNext", RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EXCMD(CMD_cabbrev, "cabbrev", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_cabclear, "cabclear", TRLBAR),
-! EXCMD(CMD_call, "call", RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK),
- EXCMD(CMD_cc, "cc", RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EXCMD(CMD_cd, "cd", NAMEDF|TRLBAR),
- EXCMD(CMD_center, "center", TRLBAR|RANGE|EXTRA),
-***************
-*** 132,138 ****
- EXCMD(CMD_colder, "colder", RANGE|NOTADR|COUNT|TRLBAR),
- EXCMD(CMD_command, "command", EXTRA|BANG|NOTRLCOM|USECTRLV),
- EXCMD(CMD_comclear, "comclear", TRLBAR),
-! EXCMD(CMD_continue, "continue", TRLBAR),
- EXCMD(CMD_confirm, "confirm", NEEDARG|EXTRA|NOTRLCOM),
- EXCMD(CMD_cprevious,"cprevious", RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EXCMD(CMD_cquit, "cquit", TRLBAR|BANG),
---- 133,139 ----
- EXCMD(CMD_colder, "colder", RANGE|NOTADR|COUNT|TRLBAR),
- EXCMD(CMD_command, "command", EXTRA|BANG|NOTRLCOM|USECTRLV),
- EXCMD(CMD_comclear, "comclear", TRLBAR),
-! EXCMD(CMD_continue, "continue", TRLBAR|SBOXOK),
- EXCMD(CMD_confirm, "confirm", NEEDARG|EXTRA|NOTRLCOM),
- EXCMD(CMD_cprevious,"cprevious", RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EXCMD(CMD_cquit, "cquit", TRLBAR|BANG),
-***************
-*** 154,170 ****
- EXCMD(CMD_dsearch, "dsearch", BANG|RANGE|DFLALL|EXTRA),
- EXCMD(CMD_dsplit, "dsplit", BANG|RANGE|DFLALL|EXTRA),
- EXCMD(CMD_edit, "edit", BANG|FILE1|EDITCMD|TRLBAR),
-! EXCMD(CMD_echo, "echo", EXTRA|NOTRLCOM),
-! EXCMD(CMD_echohl, "echohl", EXTRA|TRLBAR),
-! EXCMD(CMD_echon, "echon", EXTRA|NOTRLCOM),
-! EXCMD(CMD_else, "else", TRLBAR),
-! EXCMD(CMD_elseif, "elseif", EXTRA|NOTRLCOM),
- EXCMD(CMD_exemenu, "emenu", NEEDARG+EXTRA+TRLBAR+NOTRLCOM),
-! EXCMD(CMD_endif, "endif", TRLBAR),
- EXCMD(CMD_endfunction,"endfunction",TRLBAR),
-! EXCMD(CMD_endwhile, "endwhile", TRLBAR),
- EXCMD(CMD_ex, "ex", BANG|FILE1|EDITCMD|TRLBAR),
-! EXCMD(CMD_execute, "execute", EXTRA|NOTRLCOM),
- EXCMD(CMD_exit, "exit", RANGE|BANG|FILE1|DFLALL|TRLBAR),
- EXCMD(CMD_file, "file", BANG|FILE1|TRLBAR),
- EXCMD(CMD_files, "files", TRLBAR),
---- 155,171 ----
- EXCMD(CMD_dsearch, "dsearch", BANG|RANGE|DFLALL|EXTRA),
- EXCMD(CMD_dsplit, "dsplit", BANG|RANGE|DFLALL|EXTRA),
- EXCMD(CMD_edit, "edit", BANG|FILE1|EDITCMD|TRLBAR),
-! EXCMD(CMD_echo, "echo", EXTRA|NOTRLCOM|SBOXOK),
-! EXCMD(CMD_echohl, "echohl", EXTRA|TRLBAR|SBOXOK),
-! EXCMD(CMD_echon, "echon", EXTRA|NOTRLCOM|SBOXOK),
-! EXCMD(CMD_else, "else", TRLBAR|SBOXOK),
-! EXCMD(CMD_elseif, "elseif", EXTRA|NOTRLCOM|SBOXOK),
- EXCMD(CMD_exemenu, "emenu", NEEDARG+EXTRA+TRLBAR+NOTRLCOM),
-! EXCMD(CMD_endif, "endif", TRLBAR|SBOXOK),
- EXCMD(CMD_endfunction,"endfunction",TRLBAR),
-! EXCMD(CMD_endwhile, "endwhile", TRLBAR|SBOXOK),
- EXCMD(CMD_ex, "ex", BANG|FILE1|EDITCMD|TRLBAR),
-! EXCMD(CMD_execute, "execute", EXTRA|NOTRLCOM|SBOXOK),
- EXCMD(CMD_exit, "exit", RANGE|BANG|FILE1|DFLALL|TRLBAR),
- EXCMD(CMD_file, "file", BANG|FILE1|TRLBAR),
- EXCMD(CMD_files, "files", TRLBAR),
-***************
-*** 173,191 ****
- EXCMD(CMD_fixdel, "fixdel", TRLBAR),
- EXCMD(CMD_function, "function", EXTRA|BANG),
- EXCMD(CMD_global, "global", RANGE|BANG|EXTRA|DFLALL),
-! EXCMD(CMD_goto, "goto", RANGE|NOTADR|COUNT|TRLBAR),
- EXCMD(CMD_grep, "grep", NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EXCMD(CMD_gui, "gui", BANG|NAMEDFS|EDITCMD|TRLBAR),
- EXCMD(CMD_gvim, "gvim", BANG|NAMEDFS|EDITCMD|TRLBAR),
- EXCMD(CMD_help, "help", EXTRA|NOTRLCOM),
- EXCMD(CMD_helpfind, "helpfind", EXTRA|NOTRLCOM),
-! EXCMD(CMD_highlight,"highlight", BANG|EXTRA|TRLBAR),
- EXCMD(CMD_hide, "hide", BANG|TRLBAR),
- EXCMD(CMD_history, "history", EXTRA|TRLBAR),
- EXCMD(CMD_insert, "insert", BANG|RANGE|TRLBAR),
- EXCMD(CMD_iabbrev, "iabbrev", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_iabclear, "iabclear", TRLBAR),
-! EXCMD(CMD_if, "if", EXTRA|NOTRLCOM),
- EXCMD(CMD_ijump, "ijump", BANG|RANGE|DFLALL|EXTRA),
- EXCMD(CMD_ilist, "ilist", BANG|RANGE|DFLALL|EXTRA),
- EXCMD(CMD_imap, "imap", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
---- 174,192 ----
- EXCMD(CMD_fixdel, "fixdel", TRLBAR),
- EXCMD(CMD_function, "function", EXTRA|BANG),
- EXCMD(CMD_global, "global", RANGE|BANG|EXTRA|DFLALL),
-! EXCMD(CMD_goto, "goto", RANGE|NOTADR|COUNT|TRLBAR|SBOXOK),
- EXCMD(CMD_grep, "grep", NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EXCMD(CMD_gui, "gui", BANG|NAMEDFS|EDITCMD|TRLBAR),
- EXCMD(CMD_gvim, "gvim", BANG|NAMEDFS|EDITCMD|TRLBAR),
- EXCMD(CMD_help, "help", EXTRA|NOTRLCOM),
- EXCMD(CMD_helpfind, "helpfind", EXTRA|NOTRLCOM),
-! EXCMD(CMD_highlight,"highlight", BANG|EXTRA|TRLBAR|SBOXOK),
- EXCMD(CMD_hide, "hide", BANG|TRLBAR),
- EXCMD(CMD_history, "history", EXTRA|TRLBAR),
- EXCMD(CMD_insert, "insert", BANG|RANGE|TRLBAR),
- EXCMD(CMD_iabbrev, "iabbrev", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_iabclear, "iabclear", TRLBAR),
-! EXCMD(CMD_if, "if", EXTRA|NOTRLCOM|SBOXOK),
- EXCMD(CMD_ijump, "ijump", BANG|RANGE|DFLALL|EXTRA),
- EXCMD(CMD_ilist, "ilist", BANG|RANGE|DFLALL|EXTRA),
- EXCMD(CMD_imap, "imap", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
-***************
-*** 202,215 ****
- EXCMD(CMD_iunmenu, "iunmenu", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_join, "join", BANG|RANGE|COUNT|TRLBAR),
- EXCMD(CMD_jumps, "jumps", TRLBAR),
-! EXCMD(CMD_k, "k", RANGE|WORD1|TRLBAR),
- EXCMD(CMD_list, "list", RANGE|COUNT|TRLBAR),
- EXCMD(CMD_last, "last", EXTRA|BANG|EDITCMD|TRLBAR),
- EXCMD(CMD_left, "left", TRLBAR|RANGE|EXTRA),
-! EXCMD(CMD_let, "let", EXTRA|NOTRLCOM),
- EXCMD(CMD_ls, "ls", TRLBAR),
- EXCMD(CMD_move, "move", RANGE|EXTRA|TRLBAR),
-! EXCMD(CMD_mark, "mark", RANGE|WORD1|TRLBAR),
- EXCMD(CMD_make, "make", EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EXCMD(CMD_map, "map", BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_mapclear, "mapclear", BANG|TRLBAR),
---- 203,216 ----
- EXCMD(CMD_iunmenu, "iunmenu", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_join, "join", BANG|RANGE|COUNT|TRLBAR),
- EXCMD(CMD_jumps, "jumps", TRLBAR),
-! EXCMD(CMD_k, "k", RANGE|WORD1|TRLBAR|SBOXOK),
- EXCMD(CMD_list, "list", RANGE|COUNT|TRLBAR),
- EXCMD(CMD_last, "last", EXTRA|BANG|EDITCMD|TRLBAR),
- EXCMD(CMD_left, "left", TRLBAR|RANGE|EXTRA),
-! EXCMD(CMD_let, "let", EXTRA|NOTRLCOM|SBOXOK),
- EXCMD(CMD_ls, "ls", TRLBAR),
- EXCMD(CMD_move, "move", RANGE|EXTRA|TRLBAR),
-! EXCMD(CMD_mark, "mark", RANGE|WORD1|TRLBAR|SBOXOK),
- EXCMD(CMD_make, "make", EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EXCMD(CMD_map, "map", BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_mapclear, "mapclear", BANG|TRLBAR),
-***************
-*** 229,238 ****
- EXCMD(CMD_nnoremap, "nnoremap", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_nnoremenu,"nnoremenu", RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_noremap, "noremap", BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
-! EXCMD(CMD_nohlsearch,"nohlsearch", TRLBAR),
- EXCMD(CMD_noreabbrev,"noreabbrev", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_noremenu, "noremenu", RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
-! EXCMD(CMD_normal, "normal", RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV),
- EXCMD(CMD_number, "number", RANGE|COUNT|TRLBAR),
- EXCMD(CMD_nunmap, "nunmap", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_nunmenu, "nunmenu", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
---- 230,239 ----
- EXCMD(CMD_nnoremap, "nnoremap", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_nnoremenu,"nnoremenu", RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_noremap, "noremap", BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
-! EXCMD(CMD_nohlsearch,"nohlsearch", TRLBAR|SBOXOK),
- EXCMD(CMD_noreabbrev,"noreabbrev", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_noremenu, "noremenu", RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
-! EXCMD(CMD_normal, "normal", RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK),
- EXCMD(CMD_number, "number", RANGE|COUNT|TRLBAR),
- EXCMD(CMD_nunmap, "nunmap", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_nunmenu, "nunmenu", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
-***************
-*** 248,255 ****
- EXCMD(CMD_ounmenu, "ounmenu", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_print, "print", RANGE|COUNT|TRLBAR),
- EXCMD(CMD_pclose, "pclose", BANG|TRLBAR),
-! EXCMD(CMD_perl, "perl", RANGE|EXTRA|DFLALL|NEEDARG),
-! EXCMD(CMD_perldo, "perldo", RANGE|EXTRA|DFLALL|NEEDARG),
- EXCMD(CMD_pop, "pop", RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
- EXCMD(CMD_ppop, "ppop", RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
- EXCMD(CMD_preserve, "preserve", TRLBAR),
---- 249,256 ----
- EXCMD(CMD_ounmenu, "ounmenu", EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_print, "print", RANGE|COUNT|TRLBAR),
- EXCMD(CMD_pclose, "pclose", BANG|TRLBAR),
-! EXCMD(CMD_perl, "perl", RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK),
-! EXCMD(CMD_perldo, "perldo", RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK),
- EXCMD(CMD_pop, "pop", RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
- EXCMD(CMD_ppop, "ppop", RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
- EXCMD(CMD_preserve, "preserve", TRLBAR),
-***************
-*** 266,273 ****
- EXCMD(CMD_ptselect, "ptselect", BANG|TRLBAR|WORD1),
- EXCMD(CMD_put, "put", RANGE|BANG|REGSTR|TRLBAR|ZEROR),
- EXCMD(CMD_pwd, "pwd", TRLBAR),
-! EXCMD(CMD_python, "python", RANGE|EXTRA|NEEDARG),
-! EXCMD(CMD_pyfile, "pyfile", RANGE|FILE1|NEEDARG),
- EXCMD(CMD_quit, "quit", BANG|TRLBAR),
- EXCMD(CMD_qall, "qall", BANG|TRLBAR),
- EXCMD(CMD_read, "read", BANG|RANGE|NAMEDF|TRLBAR|ZEROR),
---- 267,274 ----
- EXCMD(CMD_ptselect, "ptselect", BANG|TRLBAR|WORD1),
- EXCMD(CMD_put, "put", RANGE|BANG|REGSTR|TRLBAR|ZEROR),
- EXCMD(CMD_pwd, "pwd", TRLBAR),
-! EXCMD(CMD_python, "python", RANGE|EXTRA|NEEDARG|SBOXOK),
-! EXCMD(CMD_pyfile, "pyfile", RANGE|FILE1|NEEDARG|SBOXOK),
- EXCMD(CMD_quit, "quit", BANG|TRLBAR),
- EXCMD(CMD_qall, "qall", BANG|TRLBAR),
- EXCMD(CMD_read, "read", BANG|RANGE|NAMEDF|TRLBAR|ZEROR),
-***************
-*** 277,283 ****
- EXCMD(CMD_registers,"registers", EXTRA|NOTRLCOM|TRLBAR),
- EXCMD(CMD_resize, "resize", TRLBAR|WORD1),
- EXCMD(CMD_retab, "retab", TRLBAR|RANGE|DFLALL|BANG|WORD1),
-! EXCMD(CMD_return, "return", EXTRA|NOTRLCOM),
- EXCMD(CMD_rewind, "rewind", EXTRA|BANG|EDITCMD|TRLBAR),
- EXCMD(CMD_right, "right", TRLBAR|RANGE|EXTRA),
- EXCMD(CMD_rviminfo, "rviminfo", BANG|FILE1|TRLBAR),
---- 278,284 ----
- EXCMD(CMD_registers,"registers", EXTRA|NOTRLCOM|TRLBAR),
- EXCMD(CMD_resize, "resize", TRLBAR|WORD1),
- EXCMD(CMD_retab, "retab", TRLBAR|RANGE|DFLALL|BANG|WORD1),
-! EXCMD(CMD_return, "return", EXTRA|NOTRLCOM|SBOXOK),
- EXCMD(CMD_rewind, "rewind", EXTRA|BANG|EDITCMD|TRLBAR),
- EXCMD(CMD_right, "right", TRLBAR|RANGE|EXTRA),
- EXCMD(CMD_rviminfo, "rviminfo", BANG|FILE1|TRLBAR),
-***************
-*** 305,311 ****
- EXCMD(CMD_snext, "snext", RANGE|NOTADR|BANG|NAMEDFS|EDITCMD|TRLBAR),
- EXCMD(CMD_sniff, "sniff", EXTRA|TRLBAR),
- EXCMD(CMD_snomagic, "snomagic", RANGE|EXTRA),
-! EXCMD(CMD_source, "source", BANG|NAMEDF|TRLBAR),
- EXCMD(CMD_split, "split", BANG|FILE1|RANGE|NOTADR|EDITCMD|TRLBAR),
- EXCMD(CMD_sprevious,"sprevious", EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|TRLBAR),
- EXCMD(CMD_srewind, "srewind", EXTRA|BANG|EDITCMD|TRLBAR),
---- 306,312 ----
- EXCMD(CMD_snext, "snext", RANGE|NOTADR|BANG|NAMEDFS|EDITCMD|TRLBAR),
- EXCMD(CMD_sniff, "sniff", EXTRA|TRLBAR),
- EXCMD(CMD_snomagic, "snomagic", RANGE|EXTRA),
-! EXCMD(CMD_source, "source", BANG|NAMEDF|TRLBAR|SBOXOK),
- EXCMD(CMD_split, "split", BANG|FILE1|RANGE|NOTADR|EDITCMD|TRLBAR),
- EXCMD(CMD_sprevious,"sprevious", EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|TRLBAR),
- EXCMD(CMD_srewind, "srewind", EXTRA|BANG|EDITCMD|TRLBAR),
-***************
-*** 324,332 ****
- EXCMD(CMD_tNext, "tNext", RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EXCMD(CMD_tag, "tag", RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
- EXCMD(CMD_tags, "tags", TRLBAR),
-! EXCMD(CMD_tcl, "tcl", RANGE|EXTRA|NEEDARG),
-! EXCMD(CMD_tcldo, "tcldo", RANGE|DFLALL|EXTRA|NEEDARG),
-! EXCMD(CMD_tclfile, "tclfile", RANGE|FILE1|NEEDARG),
- EXCMD(CMD_tearoff, "tearoff", NEEDARG|EXTRA|TRLBAR|NOTRLCOM),
- EXCMD(CMD_tjump, "tjump", BANG|TRLBAR|WORD1),
- EXCMD(CMD_tlast, "tlast", BANG|TRLBAR),
---- 325,333 ----
- EXCMD(CMD_tNext, "tNext", RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EXCMD(CMD_tag, "tag", RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
- EXCMD(CMD_tags, "tags", TRLBAR),
-! EXCMD(CMD_tcl, "tcl", RANGE|EXTRA|NEEDARG|SBOXOK),
-! EXCMD(CMD_tcldo, "tcldo", RANGE|DFLALL|EXTRA|NEEDARG|SBOXOK),
-! EXCMD(CMD_tclfile, "tclfile", RANGE|FILE1|NEEDARG|SBOXOK),
- EXCMD(CMD_tearoff, "tearoff", NEEDARG|EXTRA|TRLBAR|NOTRLCOM),
- EXCMD(CMD_tjump, "tjump", BANG|TRLBAR|WORD1),
- EXCMD(CMD_tlast, "tlast", BANG|TRLBAR),
-***************
-*** 339,345 ****
- EXCMD(CMD_undo, "undo", TRLBAR),
- EXCMD(CMD_unabbreviate,"unabbreviate",EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_unhide, "unhide", RANGE|NOTADR|COUNT|TRLBAR),
-! EXCMD(CMD_unlet, "unlet", BANG|EXTRA|NEEDARG|TRLBAR),
- EXCMD(CMD_unmap, "unmap", BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_unmenu, "unmenu", BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_update, "update", RANGE|BANG|FILE1|DFLALL|TRLBAR),
---- 340,346 ----
- EXCMD(CMD_undo, "undo", TRLBAR),
- EXCMD(CMD_unabbreviate,"unabbreviate",EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_unhide, "unhide", RANGE|NOTADR|COUNT|TRLBAR),
-! EXCMD(CMD_unlet, "unlet", BANG|EXTRA|NEEDARG|TRLBAR|SBOXOK),
- EXCMD(CMD_unmap, "unmap", BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_unmenu, "unmenu", BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
- EXCMD(CMD_update, "update", RANGE|BANG|FILE1|DFLALL|TRLBAR),
-***************
-*** 357,363 ****
- EXCMD(CMD_write, "write", RANGE|BANG|FILE1|DFLALL|TRLBAR),
- EXCMD(CMD_wNext, "wNext", RANGE|NOTADR|BANG|FILE1|TRLBAR),
- EXCMD(CMD_wall, "wall", BANG|TRLBAR),
-! EXCMD(CMD_while, "while", EXTRA|NOTRLCOM),
- EXCMD(CMD_winsize, "winsize", EXTRA|NEEDARG|TRLBAR),
- EXCMD(CMD_winpos, "winpos", EXTRA|TRLBAR),
- EXCMD(CMD_wnext, "wnext", RANGE|NOTADR|BANG|FILE1|TRLBAR),
---- 358,364 ----
- EXCMD(CMD_write, "write", RANGE|BANG|FILE1|DFLALL|TRLBAR),
- EXCMD(CMD_wNext, "wNext", RANGE|NOTADR|BANG|FILE1|TRLBAR),
- EXCMD(CMD_wall, "wall", BANG|TRLBAR),
-! EXCMD(CMD_while, "while", EXTRA|NOTRLCOM|SBOXOK),
- EXCMD(CMD_winsize, "winsize", EXTRA|NEEDARG|TRLBAR),
- EXCMD(CMD_winpos, "winpos", EXTRA|TRLBAR),
- EXCMD(CMD_wnext, "wnext", RANGE|NOTADR|BANG|FILE1|TRLBAR),
-*** ../vim-5.7.23/src/ex_docmd.c Sun Oct 22 16:43:53 2000
---- src/ex_docmd.c Mon Jan 29 20:32:24 2001
-***************
-*** 1027,1032 ****
---- 1027,1041 ----
- #endif
- ea.argt = cmdnames[(int)ea.cmdidx].cmd_argt;
-
-+ #ifdef HAVE_SANDBOX
-+ if (sandbox != 0 && !(ea.argt & SBOXOK))
-+ {
-+ /* Command not allowed in sandbox. */
-+ errormsg = e_sandbox;
-+ goto doend;
-+ }
-+ #endif
-+
- if (!(ea.argt & RANGE) && ea.addr_count) /* no range allowed */
- {
- errormsg = e_norange;
-*** ../vim-5.7.23/src/globals.h Tue Jun 20 21:28:04 2000
---- src/globals.h Mon Jan 29 20:32:44 2001
-***************
-*** 319,324 ****
---- 319,332 ----
- * allowed, e.g. when sourcing .exrc or .vimrc
- * in current directory */
-
-+ #if defined(STATUSLINE) && defined(WANT_EVAL)
-+ # define HAVE_SANDBOX
-+ EXTERN int sandbox INIT(= 0);
-+ /* non-zero when evaluating an expression in a
-+ * "sandbox". Not allowed to change the
-+ * buffer. */
-+ #endif
-+
- EXTERN int silent_mode INIT(= FALSE);
- /* set to TRUE when "-s" commandline argument
- * used for ex */
-***************
-*** 779,784 ****
---- 787,795 ----
- #endif
- #ifdef QUICKFIX
- EXTERN char_u e_readerrf[] INIT(="Error while reading errorfile");
-+ #endif
-+ #ifdef HAVE_SANDBOX
-+ EXTERN char_u e_sandbox[] INIT(="Not allowed in sandbox");
- #endif
- EXTERN char_u e_scroll[] INIT(="Invalid scroll size");
- EXTERN char_u e_tagformat[] INIT(="Format error in tags file \"%s\"");
-*** ../vim-5.7.23/src/option.c Wed Jun 7 12:56:08 2000
---- src/option.c Mon Jan 29 20:17:58 2001
-***************
-*** 3855,3861 ****
- * in secure mode, setting of the secure option is not
- * allowed
- */
-! if (secure && (int *)varp == &p_secure)
- return (char_u *)"not allowed here";
-
- #ifdef USE_GUI
---- 3855,3865 ----
- * in secure mode, setting of the secure option is not
- * allowed
- */
-! if ((secure
-! #ifdef HAVE_SANDBOX
-! || sandbox != 0
-! #endif
-! ) && (int *)varp == &p_secure)
- return (char_u *)"not allowed here";
-
- #ifdef USE_GUI
-*** ../vim-5.7.23/src/screen.c Mon Jan 8 11:50:35 2001
---- src/screen.c Mon Jan 29 19:56:10 2001
-***************
-*** 2876,2882 ****
- curwin = wp;
- curbuf = wp->w_buffer;
-
-! str = eval_to_string(p, &t);
- if (str != NULL && *str != 0)
- {
- t = str;
---- 2876,2882 ----
- curwin = wp;
- curbuf = wp->w_buffer;
-
-! str = eval_to_string_safe(p, &t);
- if (str != NULL && *str != 0)
- {
- t = str;
-*** ../vim-5.7.23/src/undo.c Sun Oct 31 16:18:20 1999
---- src/undo.c Mon Jan 29 20:34:03 2001
-***************
-*** 155,160 ****
---- 155,172 ----
- struct u_entry *uep;
- long size;
-
-+ #ifdef HAVE_SANDBOX
-+ /*
-+ * In the sandbox it's not allowed to change the text. Letting the
-+ * undo fail is a crude way to make all change commands fail.
-+ */
-+ if (sandbox != 0)
-+ {
-+ EMSG(e_sandbox);
-+ return FAIL;
-+ }
-+ #endif
-+
- /*
- * if curbuf->b_u_synced == TRUE make a new header
- */
-***************
-*** 314,319 ****
---- 326,340 ----
- u_doit(count)
- int count;
- {
-+ #ifdef HAVE_SANDBOX
-+ /* In the sandbox it's not allowed to change the text. */
-+ if (sandbox != 0)
-+ {
-+ EMSG(e_sandbox);
-+ return;
-+ }
-+ #endif
-+
- u_newcount = 0;
- u_oldcount = 0;
- while (count--)
-*** ../vim-5.7.23/src/version.c Thu Jan 18 14:01:55 2001
---- src/version.c Mon Jan 29 20:50:45 2001
-***************
-*** 439,440 ****
---- 439,442 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 24,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-70. ISDN lines are added to your house on a hourly basis
-
- /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\
-((( Creator of Vim - http://www.vim.org -- ftp://ftp.vim.org/pub/vim )))
- \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
--- /dev/null
+[Desktop Entry]
+Name=gvim
+Comment="The vi editor for X Windows with GNOME L&F"
+Comment[pl]="Edytor vi dla X Windows jako aplikacja GNOME"
+Exec=gvim.gnome
+Terminal=0
+Icon=gnome-word.png
+Type=Applications/Editors
+Type[pl]=Aplikacje/Edytory
-diff -Nru vim-5.7/src/feature.h vim-5.7.new/src/feature.h
---- vim-5.7/src/feature.h Wed Mar 29 16:10:34 2000
-+++ vim-5.7.new/src/feature.h Mon Sep 11 05:38:06 2000
-@@ -607,12 +607,12 @@
- /*
- * SYS_VIMRC_FILE Name of the system-wide .vimrc file.
+diff -urN vim60z.org/src/os_unix.h vim60z/src/os_unix.h
+--- vim60z.org/src/os_unix.h Mon Apr 2 19:38:15 2001
++++ vim60z/src/os_unix.h Mon Apr 2 19:41:59 2001
+@@ -183,10 +183,10 @@
+ * Unix system-dependent file names
*/
--/* #define SYS_VIMRC_FILE "/etc/vimrc" */
-+#define SYS_VIMRC_FILE "/etc/vim/vimrc"
-
- /*
- * SYS_GVIMRC_FILE Name of the system-wide .gvimrc file.
- */
--/* #define SYS_GVIMRC_FILE "/etc/gvimrc" */
-+#define SYS_GVIMRC_FILE "/etc/vim/gvimrc"
-
- /*
- * VIM_HLP Name of the help file.
-@@ -632,13 +632,13 @@
- /*
- * SYS_MENU_FILE Name of the default menu.vim file.
- */
--/* # define SYS_MENU_FILE "$VIMRUNTIME/menu.vim" */
-+/* # define SYS_MENU_FILE "$VIMRUNTIME/menu.vim" */
-
- /*
- * SYS_OPTWIN_FILE Name of the default optwin.vim file.
- */
- #ifndef SYS_OPTWIN_FILE
--# define SYS_OPTWIN_FILE "$VIMRUNTIME/optwin.vim"
-+# define SYS_OPTWIN_FILE "$VIMRUNTIME/optwin.vim"
+ #ifndef SYS_VIMRC_FILE
+-# define SYS_VIMRC_FILE "$VIM/vimrc"
++# define SYS_VIMRC_FILE "/etc/vim/vimrc"
+ #endif
+ #ifndef SYS_GVIMRC_FILE
+-# define SYS_GVIMRC_FILE "$VIM/gvimrc"
++# define SYS_GVIMRC_FILE "/etc/vim/gvimrc"
#endif
-
- /*
+ #ifndef DFLT_HELPFILE
+ # define DFLT_HELPFILE "$VIMRUNTIME/doc/help.txt"