summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.597
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.597')
-rw-r--r--source/ap/vim/patches/7.3.597720
1 files changed, 0 insertions, 720 deletions
diff --git a/source/ap/vim/patches/7.3.597 b/source/ap/vim/patches/7.3.597
deleted file mode 100644
index 2a4f0b3d7..000000000
--- a/source/ap/vim/patches/7.3.597
+++ /dev/null
@@ -1,720 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.597
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.597
-Problem: 'clipboard' "autoselect" only applies to the * register. (Sergey
- Vakulenko)
-Solution: Make 'autoselect' work for the + register. (Christian Brabant)
- Add the "autoselectplus" option in 'clipboard' and the "P" flag in
- 'guioptions'.
-Files: runtime/doc/options.txt, src/normal.c, src/ops.c, src/screen.c,
- src/ui.c, src/globals.h, src/proto/ui.pro, src/option.h, src/gui.c
-
-
-*** ../vim-7.3.596/runtime/doc/options.txt 2012-02-20 22:18:23.000000000 +0100
---- runtime/doc/options.txt 2012-07-10 15:40:35.000000000 +0200
-***************
-*** 1437,1442 ****
---- 1452,1458 ----
- This option is a list of comma separated names.
- These names are recognized:
-
-+ *clipboard-unnamed*
- unnamed When included, Vim will use the clipboard register '*'
- for all yank, delete, change and put operations which
- would normally go to the unnamed register. When a
-***************
-*** 1446,1460 ****
- explicitly accessed using the "* notation. Also see
- |gui-clipboard|.
-
- unnamedplus A variant of "unnamed" flag which uses the clipboard
- register '+' (|quoteplus|) instead of register '*' for
- all operations except yank. Yank shall copy the text
- into register '+' and also into '*' when "unnamed" is
- included.
-! Only available with the |+x11| feature.
- Availability can be checked with: >
- if has('unnamedplus')
- <
- autoselect Works like the 'a' flag in 'guioptions': If present,
- then whenever Visual mode is started, or the Visual
- area extended, Vim tries to become the owner of the
---- 1462,1478 ----
- explicitly accessed using the "* notation. Also see
- |gui-clipboard|.
-
-+ *clipboard-unnamedplus*
- unnamedplus A variant of "unnamed" flag which uses the clipboard
- register '+' (|quoteplus|) instead of register '*' for
- all operations except yank. Yank shall copy the text
- into register '+' and also into '*' when "unnamed" is
- included.
-! Only available with the |+X11| feature.
- Availability can be checked with: >
- if has('unnamedplus')
- <
-+ *clipboard-autoselect*
- autoselect Works like the 'a' flag in 'guioptions': If present,
- then whenever Visual mode is started, or the Visual
- area extended, Vim tries to become the owner of the
-***************
-*** 1466,1474 ****
---- 1484,1499 ----
- "autoselect" flag is used.
- Also applies to the modeless selection.
-
-+ *clipboard-autoselectplus*
-+ autoselectplus Like "autoselect" but using the + register instead of
-+ the * register. Compare to the 'P' flag in
-+ 'guioptions'.
-+
-+ *clipboard-autoselectml*
- autoselectml Like "autoselect", but for the modeless selection
- only. Compare to the 'A' flag in 'guioptions'.
-
-+ *clipboard-html*
- html When the clipboard contains HTML, use this when
- pasting. When putting text on the clipboard, mark it
- as HTML. This works to copy rendered HTML from
-***************
-*** 1479,1484 ****
---- 1504,1510 ----
- Only supported for GTK version 2 and later.
- Only available with the |+multi_byte| feature.
-
-+ *clipboard-exclude*
- exclude:{pattern}
- Defines a pattern that is matched against the name of
- the terminal 'term'. If there is a match, no
-***************
-*** 3547,3552 ****
---- 3600,3608 ----
- windowing system's global selection unless explicitly told to
- by a yank or delete operation for the "* register.
- The same applies to the modeless selection.
-+ *'go-P'*
-+ 'P' Like autoselect but using the "+ register instead of the "*
-+ register.
- *'go-A'*
- 'A' Autoselect for the modeless selection. Like 'a', but only
- applies to the modeless selection.
-*** ../vim-7.3.596/src/normal.c 2012-06-29 13:56:01.000000000 +0200
---- src/normal.c 2012-07-10 15:44:24.000000000 +0200
-***************
-*** 1451,1457 ****
- * This could call do_pending_operator() recursively, but that's OK
- * because gui_yank will be TRUE for the nested call.
- */
-! if (clip_star.available
- && oap->op_type != OP_NOP
- && !gui_yank
- # ifdef FEAT_VISUAL
---- 1451,1457 ----
- * This could call do_pending_operator() recursively, but that's OK
- * because gui_yank will be TRUE for the nested call.
- */
-! if ((clip_star.available || clip_plus.available)
- && oap->op_type != OP_NOP
- && !gui_yank
- # ifdef FEAT_VISUAL
-*** ../vim-7.3.596/src/ops.c 2012-06-29 13:34:15.000000000 +0200
---- src/ops.c 2012-07-10 16:20:29.000000000 +0200
-***************
-*** 962,969 ****
- * selection too. */
- if (name == '*' && clip_star.available)
- {
-! if (clip_isautosel())
-! clip_update_selection();
- may_get_selection(name);
- }
- #endif
---- 962,975 ----
- * selection too. */
- if (name == '*' && clip_star.available)
- {
-! if (clip_isautosel_star())
-! clip_update_selection(&clip_star);
-! may_get_selection(name);
-! }
-! if (name == '+' && clip_plus.available)
-! {
-! if (clip_isautosel_plus())
-! clip_update_selection(&clip_plus);
- may_get_selection(name);
- }
- #endif
-***************
-*** 3190,3196 ****
-
- clip_own_selection(&clip_plus);
- clip_gen_set_selection(&clip_plus);
-! if (!clip_isautosel() && !did_star && curr == &(y_regs[PLUS_REGISTER]))
- {
- copy_yank_reg(&(y_regs[STAR_REGISTER]));
- clip_own_selection(&clip_star);
---- 3196,3203 ----
-
- clip_own_selection(&clip_plus);
- clip_gen_set_selection(&clip_plus);
-! if (!clip_isautosel_star() && !did_star
-! && curr == &(y_regs[PLUS_REGISTER]))
- {
- copy_yank_reg(&(y_regs[STAR_REGISTER]));
- clip_own_selection(&clip_star);
-*** ../vim-7.3.596/src/screen.c 2012-06-13 18:06:32.000000000 +0200
---- src/screen.c 2012-07-10 16:39:01.000000000 +0200
-***************
-*** 519,526 ****
- # endif
- # ifdef FEAT_CLIPBOARD
- /* When Visual area changed, may have to update selection. */
-! if (clip_star.available && clip_isautosel())
-! clip_update_selection();
- # endif
- #ifdef FEAT_GUI
- /* Remove the cursor before starting to do anything, because
---- 519,528 ----
- # endif
- # ifdef FEAT_CLIPBOARD
- /* When Visual area changed, may have to update selection. */
-! if (clip_star.available && clip_isautosel_star())
-! clip_update_selection(&clip_star);
-! if (clip_plus.available && clip_isautosel_plus())
-! clip_update_selection(&clip_plus);
- # endif
- #ifdef FEAT_GUI
- /* Remove the cursor before starting to do anything, because
-***************
-*** 814,821 ****
-
- #ifdef FEAT_CLIPBOARD
- /* When Visual area changed, may have to update selection. */
-! if (clip_star.available && clip_isautosel())
-! clip_update_selection();
- #endif
-
- win_update(wp);
---- 816,825 ----
-
- #ifdef FEAT_CLIPBOARD
- /* When Visual area changed, may have to update selection. */
-! if (clip_star.available && clip_isautosel_star())
-! clip_update_selection(&clip_star);
-! if (clip_plus.available && clip_isautosel_plus())
-! clip_update_selection(&clip_plus);
- #endif
-
- win_update(wp);
-***************
-*** 3000,3006 ****
- area_highlighting = TRUE;
- attr = hl_attr(HLF_V);
- #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
-! if (clip_star.available && !clip_star.owned && clip_isautosel())
- attr = hl_attr(HLF_VNC);
- #endif
- }
---- 3004,3013 ----
- area_highlighting = TRUE;
- attr = hl_attr(HLF_V);
- #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
-! if ((clip_star.available && !clip_star.owned
-! && clip_isautosel_star())
-! || (clip_plus.available && !clip_plus.owned
-! && clip_isautosel_plus()))
- attr = hl_attr(HLF_VNC);
- #endif
- }
-***************
-*** 9060,9066 ****
- || (wp != NULL && wp->w_width != Columns)
- # endif
- )
-! clip_clear_selection();
- else
- clip_scroll_selection(-line_count);
- #endif
---- 9067,9073 ----
- || (wp != NULL && wp->w_width != Columns)
- # endif
- )
-! clip_clear_selection(&clip_star);
- else
- clip_scroll_selection(-line_count);
- #endif
-***************
-*** 9281,9287 ****
- || (wp != NULL && wp->w_width != Columns)
- # endif
- )
-! clip_clear_selection();
- else
- clip_scroll_selection(line_count);
- #endif
---- 9288,9294 ----
- || (wp != NULL && wp->w_width != Columns)
- # endif
- )
-! clip_clear_selection(&clip_star);
- else
- clip_scroll_selection(line_count);
- #endif
-*** ../vim-7.3.596/src/ui.c 2012-02-12 01:35:06.000000000 +0100
---- src/ui.c 2012-07-10 16:43:17.000000000 +0200
-***************
-*** 381,386 ****
---- 381,388 ----
-
- #if defined(FEAT_CLIPBOARD) || defined(PROTO)
-
-+ static void clip_copy_selection __ARGS((VimClipboard *clip));
-+
- /*
- * Selection stuff using Visual mode, for cutting and pasting text to other
- * windows.
-***************
-*** 423,431 ****
- * this is called whenever VIsual mode is ended.
- */
- void
-! clip_update_selection()
- {
-! pos_T start, end;
-
- /* If visual mode is only due to a redo command ("."), then ignore it */
- if (!redo_VIsual_busy && VIsual_active && (State & NORMAL))
---- 425,434 ----
- * this is called whenever VIsual mode is ended.
- */
- void
-! clip_update_selection(clip)
-! VimClipboard *clip;
- {
-! pos_T start, end;
-
- /* If visual mode is only due to a redo command ("."), then ignore it */
- if (!redo_VIsual_busy && VIsual_active && (State & NORMAL))
-***************
-*** 444,460 ****
- start = curwin->w_cursor;
- end = VIsual;
- }
-! if (!equalpos(clip_star.start, start)
-! || !equalpos(clip_star.end, end)
-! || clip_star.vmode != VIsual_mode)
- {
-! clip_clear_selection();
-! clip_star.start = start;
-! clip_star.end = end;
-! clip_star.vmode = VIsual_mode;
-! clip_free_selection(&clip_star);
-! clip_own_selection(&clip_star);
-! clip_gen_set_selection(&clip_star);
- }
- }
- }
---- 447,463 ----
- start = curwin->w_cursor;
- end = VIsual;
- }
-! if (!equalpos(clip->start, start)
-! || !equalpos(clip->end, end)
-! || clip->vmode != VIsual_mode)
- {
-! clip_clear_selection(clip);
-! clip->start = start;
-! clip->end = end;
-! clip->vmode = VIsual_mode;
-! clip_free_selection(clip);
-! clip_own_selection(clip);
-! clip_gen_set_selection(clip);
- }
- }
- }
-***************
-*** 475,481 ****
- int was_owned = cbd->owned;
-
- cbd->owned = (clip_gen_own_selection(cbd) == OK);
-! if (!was_owned && cbd == &clip_star)
- {
- /* May have to show a different kind of highlighting for the
- * selected area. There is no specific redraw command for this,
---- 478,484 ----
- int was_owned = cbd->owned;
-
- cbd->owned = (clip_gen_own_selection(cbd) == OK);
-! if (!was_owned && (cbd == &clip_star || cbd == &clip_plus))
- {
- /* May have to show a different kind of highlighting for the
- * selected area. There is no specific redraw command for this,
-***************
-*** 483,489 ****
- if (cbd->owned
- && (get_real_state() == VISUAL
- || get_real_state() == SELECTMODE)
-! && clip_isautosel()
- && hl_attr(HLF_V) != hl_attr(HLF_VNC))
- redraw_curbuf_later(INVERTED_ALL);
- }
---- 486,493 ----
- if (cbd->owned
- && (get_real_state() == VISUAL
- || get_real_state() == SELECTMODE)
-! && (cbd == &clip_star ? clip_isautosel_star()
-! : clip_isautosel_plus())
- && hl_attr(HLF_V) != hl_attr(HLF_VNC))
- redraw_curbuf_later(INVERTED_ALL);
- }
-***************
-*** 502,513 ****
- #ifdef FEAT_X11
- int was_owned = cbd->owned;
- #endif
-! int visual_selection = (cbd == &clip_star);
-
- clip_free_selection(cbd);
- cbd->owned = FALSE;
- if (visual_selection)
-! clip_clear_selection();
- clip_gen_lose_selection(cbd);
- #ifdef FEAT_X11
- if (visual_selection)
---- 506,520 ----
- #ifdef FEAT_X11
- int was_owned = cbd->owned;
- #endif
-! int visual_selection = FALSE;
-!
-! if (cbd == &clip_star || cbd == &clip_plus)
-! visual_selection = TRUE;
-
- clip_free_selection(cbd);
- cbd->owned = FALSE;
- if (visual_selection)
-! clip_clear_selection(cbd);
- clip_gen_lose_selection(cbd);
- #ifdef FEAT_X11
- if (visual_selection)
-***************
-*** 518,524 ****
- if (was_owned
- && (get_real_state() == VISUAL
- || get_real_state() == SELECTMODE)
-! && clip_isautosel()
- && hl_attr(HLF_V) != hl_attr(HLF_VNC))
- {
- update_curbuf(INVERTED_ALL);
---- 525,532 ----
- if (was_owned
- && (get_real_state() == VISUAL
- || get_real_state() == SELECTMODE)
-! && (cbd == &clip_star ?
-! clip_isautosel_star() : clip_isautosel_plus())
- && hl_attr(HLF_V) != hl_attr(HLF_VNC))
- {
- update_curbuf(INVERTED_ALL);
-***************
-*** 534,551 ****
- #endif
- }
-
-! void
-! clip_copy_selection()
-! {
-! if (VIsual_active && (State & NORMAL) && clip_star.available)
-! {
-! if (clip_isautosel())
-! clip_update_selection();
-! clip_free_selection(&clip_star);
-! clip_own_selection(&clip_star);
-! if (clip_star.owned)
-! clip_get_selection(&clip_star);
-! clip_gen_set_selection(&clip_star);
- }
- }
-
---- 542,559 ----
- #endif
- }
-
-! static void
-! clip_copy_selection(clip)
-! VimClipboard *clip;
-! {
-! if (VIsual_active && (State & NORMAL) && clip->available)
-! {
-! clip_update_selection(clip);
-! clip_free_selection(clip);
-! clip_own_selection(clip);
-! if (clip->owned)
-! clip_get_selection(clip);
-! clip_gen_set_selection(clip);
- }
- }
-
-***************
-*** 555,575 ****
- void
- clip_auto_select()
- {
-! if (clip_isautosel())
-! clip_copy_selection();
- }
-
- /*
-! * Return TRUE if automatic selection of Visual area is desired.
- */
- int
-! clip_isautosel()
- {
- return (
- #ifdef FEAT_GUI
- gui.in_use ? (vim_strchr(p_go, GO_ASEL) != NULL) :
- #endif
-! clip_autoselect);
- }
-
-
---- 563,600 ----
- void
- clip_auto_select()
- {
-! if (clip_isautosel_star())
-! clip_copy_selection(&clip_star);
-! if (clip_isautosel_plus())
-! clip_copy_selection(&clip_plus);
- }
-
- /*
-! * Return TRUE if automatic selection of Visual area is desired for the *
-! * register.
- */
- int
-! clip_isautosel_star()
- {
- return (
- #ifdef FEAT_GUI
- gui.in_use ? (vim_strchr(p_go, GO_ASEL) != NULL) :
- #endif
-! clip_autoselect_star);
-! }
-!
-! /*
-! * Return TRUE if automatic selection of Visual area is desired for the +
-! * register.
-! */
-! int
-! clip_isautosel_plus()
-! {
-! return (
-! #ifdef FEAT_GUI
-! gui.in_use ? (vim_strchr(p_go, GO_ASELPLUS) != NULL) :
-! #endif
-! clip_autoselect_plus);
- }
-
-
-***************
-*** 657,663 ****
- VimClipboard *cb = &clip_star;
-
- if (cb->state == SELECT_DONE)
-! clip_clear_selection();
-
- row = check_row(row);
- col = check_col(col);
---- 682,688 ----
- VimClipboard *cb = &clip_star;
-
- if (cb->state == SELECT_DONE)
-! clip_clear_selection(cb);
-
- row = check_row(row);
- col = check_col(col);
-***************
-*** 749,755 ****
- printf("Selection ended: (%u,%u) to (%u,%u)\n", cb->start.lnum,
- cb->start.col, cb->end.lnum, cb->end.col);
- #endif
-! if (clip_isautosel()
- || (
- #ifdef FEAT_GUI
- gui.in_use ? (vim_strchr(p_go, GO_ASELML) != NULL) :
---- 774,780 ----
- printf("Selection ended: (%u,%u) to (%u,%u)\n", cb->start.lnum,
- cb->start.col, cb->end.lnum, cb->end.col);
- #endif
-! if (clip_isautosel_star()
- || (
- #ifdef FEAT_GUI
- gui.in_use ? (vim_strchr(p_go, GO_ASELML) != NULL) :
-***************
-*** 932,947 ****
- * Called from outside to clear selected region from the display
- */
- void
-! clip_clear_selection()
- {
-- VimClipboard *cb = &clip_star;
-
-! if (cb->state == SELECT_CLEARED)
- return;
-
-! clip_invert_area((int)cb->start.lnum, cb->start.col, (int)cb->end.lnum,
-! cb->end.col, CLIP_CLEAR);
-! cb->state = SELECT_CLEARED;
- }
-
- /*
---- 957,972 ----
- * Called from outside to clear selected region from the display
- */
- void
-! clip_clear_selection(cbd)
-! VimClipboard *cbd;
- {
-
-! if (cbd->state == SELECT_CLEARED)
- return;
-
-! clip_invert_area((int)cbd->start.lnum, cbd->start.col, (int)cbd->end.lnum,
-! cbd->end.col, CLIP_CLEAR);
-! cbd->state = SELECT_CLEARED;
- }
-
- /*
-***************
-*** 954,960 ****
- if (clip_star.state == SELECT_DONE
- && row2 >= clip_star.start.lnum
- && row1 <= clip_star.end.lnum)
-! clip_clear_selection();
- }
-
- /*
---- 979,985 ----
- if (clip_star.state == SELECT_DONE
- && row2 >= clip_star.start.lnum
- && row1 <= clip_star.end.lnum)
-! clip_clear_selection(&clip_star);
- }
-
- /*
-*** ../vim-7.3.596/src/globals.h 2012-06-29 12:35:40.000000000 +0200
---- src/globals.h 2012-07-10 16:35:13.000000000 +0200
-***************
-*** 517,523 ****
- # define CLIP_UNNAMED_PLUS 2
- EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
-
-! EXTERN int clip_autoselect INIT(= FALSE);
- EXTERN int clip_autoselectml INIT(= FALSE);
- EXTERN int clip_html INIT(= FALSE);
- EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
---- 517,524 ----
- # define CLIP_UNNAMED_PLUS 2
- EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
-
-! EXTERN int clip_autoselect_star INIT(= FALSE);
-! EXTERN int clip_autoselect_plus INIT(= FALSE);
- EXTERN int clip_autoselectml INIT(= FALSE);
- EXTERN int clip_html INIT(= FALSE);
- EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
-*** ../vim-7.3.596/src/proto/ui.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/ui.pro 2012-07-10 16:37:35.000000000 +0200
-***************
-*** 11,27 ****
- void ui_new_shellsize __ARGS((void));
- void ui_breakcheck __ARGS((void));
- void clip_init __ARGS((int can_use));
-! void clip_update_selection __ARGS((void));
- void clip_own_selection __ARGS((VimClipboard *cbd));
- void clip_lose_selection __ARGS((VimClipboard *cbd));
-- void clip_copy_selection __ARGS((void));
- void clip_auto_select __ARGS((void));
-! int clip_isautosel __ARGS((void));
- void clip_modeless __ARGS((int button, int is_click, int is_drag));
- void clip_start_selection __ARGS((int col, int row, int repeated_click));
- void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
- 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));
- void clip_copy_modeless_selection __ARGS((int both));
---- 11,27 ----
- void ui_new_shellsize __ARGS((void));
- void ui_breakcheck __ARGS((void));
- void clip_init __ARGS((int can_use));
-! void clip_update_selection __ARGS((VimClipboard *clip));
- void clip_own_selection __ARGS((VimClipboard *cbd));
- void clip_lose_selection __ARGS((VimClipboard *cbd));
- void clip_auto_select __ARGS((void));
-! int clip_isautosel_star __ARGS((void));
-! int clip_isautosel_plus __ARGS((void));
- void clip_modeless __ARGS((int button, int is_click, int is_drag));
- void clip_start_selection __ARGS((int col, int row, int repeated_click));
- void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
- void clip_may_redraw_selection __ARGS((int row, int col, int len));
-! void clip_clear_selection __ARGS((VimClipboard *cbd));
- void clip_may_clear_selection __ARGS((int row1, int row2));
- void clip_scroll_selection __ARGS((int rows));
- void clip_copy_modeless_selection __ARGS((int both));
-*** ../vim-7.3.596/src/option.h 2012-06-06 16:12:54.000000000 +0200
---- src/option.h 2012-07-10 15:54:32.000000000 +0200
-***************
-*** 229,234 ****
---- 229,235 ----
- #define GO_MENUS 'm' /* use menu bar */
- #define GO_NOSYSMENU 'M' /* don't source system menu */
- #define GO_POINTER 'p' /* pointer enter/leave callbacks */
-+ #define GO_ASELPLUS 'P' /* autoselectPlus */
- #define GO_RIGHT 'r' /* use right scrollbar */
- #define GO_VRIGHT 'R' /* right scrollbar with vert split */
- #define GO_TEAROFF 't' /* add tear-off menu items */
-*** ../vim-7.3.596/src/gui.c 2012-05-27 00:37:45.000000000 +0200
---- src/gui.c 2012-07-10 16:43:34.000000000 +0200
-***************
-*** 3154,3160 ****
- }
-
- if (clip_star.state != SELECT_CLEARED && !did_clip)
-! clip_clear_selection();
- #endif
-
- /* Don't put events in the input queue now. */
---- 3154,3160 ----
- }
-
- if (clip_star.state != SELECT_CLEARED && !did_clip)
-! clip_clear_selection(&clip_star);
- #endif
-
- /* Don't put events in the input queue now. */
-*** ../vim-7.3.596/src/version.c 2012-07-10 15:18:18.000000000 +0200
---- src/version.c 2012-07-10 16:32:16.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 597,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-106. When told to "go to your room" you inform your parents that you
- can't...because you were kicked out and banned.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///