SOURCES: 7.0.067 (NEW), 7.0.068 (NEW), 7.0.069 (NEW), 7.0.070 (NEW...
adamg
adamg at pld-linux.org
Sat Sep 2 19:04:06 CEST 2006
Author: adamg Date: Sat Sep 2 17:04:06 2006 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- new
---- Files affected:
SOURCES:
7.0.067 (NONE -> 1.1) (NEW), 7.0.068 (NONE -> 1.1) (NEW), 7.0.069 (NONE -> 1.1) (NEW), 7.0.070 (NONE -> 1.1) (NEW), 7.0.071 (NONE -> 1.1) (NEW), 7.0.072 (NONE -> 1.1) (NEW), 7.0.073 (NONE -> 1.1) (NEW), 7.0.075 (NONE -> 1.1) (NEW), 7.0.076 (NONE -> 1.1) (NEW), 7.0.077 (NONE -> 1.1) (NEW), 7.0.078 (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/7.0.067
diff -u /dev/null SOURCES/7.0.067:1.1
--- /dev/null Sat Sep 2 19:04:06 2006
+++ SOURCES/7.0.067 Sat Sep 2 19:04:00 2006
@@ -0,0 +1,95 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.067
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.067
+Problem: Undo doesn't always work properly when using "scim" input method.
+ Undo is split up when using preediting.
+Solution: Reset xim_has_preediting also when preedit_start_col is not
+ MAXCOL. Don't split undo when <Left> is used while preediting.
+ (Yukihiro Nakadaira)
+Files: src/edit.c, src/mbyte.c
+
+
+*** ../vim-7.0.066/src/edit.c Tue Aug 22 19:58:22 2006
+--- src/edit.c Tue Aug 29 14:57:46 2006
+***************
+*** 8597,8603 ****
+ tpos = curwin->w_cursor;
+ if (oneleft() == OK)
+ {
+! start_arrow(&tpos);
+ #ifdef FEAT_RIGHTLEFT
+ /* If exit reversed string, position is fixed */
+ if (revins_scol != -1 && (int)curwin->w_cursor.col >= revins_scol)
+--- 8597,8608 ----
+ tpos = curwin->w_cursor;
+ if (oneleft() == OK)
+ {
+! #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
+! /* Only call start_arrow() when not busy with preediting, it will
+! * break undo. K_LEFT is inserted in im_correct_cursor(). */
+! if (!im_is_preediting())
+! #endif
+! start_arrow(&tpos);
+ #ifdef FEAT_RIGHTLEFT
+ /* If exit reversed string, position is fixed */
+ if (revins_scol != -1 && (int)curwin->w_cursor.col >= revins_scol)
+*** ../vim-7.0.066/src/mbyte.c Wed Aug 16 18:05:36 2006
+--- src/mbyte.c Tue Aug 29 14:41:45 2006
+***************
+*** 3514,3519 ****
+--- 3514,3524 ----
+ add_to_input_buf(delkey, (int)sizeof(delkey));
+ }
+
++ /*
++ * Move the cursor left by "num_move_back" characters.
++ * Note that ins_left() checks im_is_preediting() to avoid breaking undo for
++ * these K_LEFT keys.
++ */
+ static void
+ im_correct_cursor(int num_move_back)
+ {
+***************
+*** 3741,3748 ****
+ }
+ else if (cursor_index == 0 && preedit_string[0] == '\0')
+ {
+! if (preedit_start_col == MAXCOL)
+! xim_has_preediting = FALSE;
+
+ /* If at the start position (after typing backspace)
+ * preedit_start_col must be reset. */
+--- 3746,3752 ----
+ }
+ else if (cursor_index == 0 && preedit_string[0] == '\0')
+ {
+! xim_has_preediting = FALSE;
+
+ /* If at the start position (after typing backspace)
+ * preedit_start_col must be reset. */
+*** ../vim-7.0.066/src/version.c Tue Aug 22 21:51:18 2006
+--- src/version.c Tue Aug 29 16:09:35 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 67,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+265. Your reason for not staying in touch with family is that
+ they do not have e-mail addresses.
+
+ /// Bram Moolenaar -- Bram at 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 ///
================================================================
Index: SOURCES/7.0.068
diff -u /dev/null SOURCES/7.0.068:1.1
--- /dev/null Sat Sep 2 19:04:06 2006
+++ SOURCES/7.0.068 Sat Sep 2 19:04:00 2006
@@ -0,0 +1,194 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.068
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.068
+Problem: When 'ignorecase' is set and using Insert mode completion,
+ typing characters to change the list of matches, case is not
+ ignored. (Hugo Ahlenius)
+Solution: Store the 'ignorecase' flag with the matches where needed.
+Files: src/edit.c, src/search.c, src/spell.c
+
+
+*** ../vim-7.0.067/src/edit.c Tue Aug 29 16:10:54 2006
+--- src/edit.c Tue Aug 29 14:57:46 2006
+***************
+*** 2405,2411 ****
+ /* compl_pattern doesn't need to be set */
+ compl_orig_text = vim_strnsave(ml_get_curline() + compl_col, compl_length);
+ if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
+! -1, FALSE, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
+ return;
+
+ /* Handle like dictionary completion. */
+--- 2405,2411 ----
+ /* compl_pattern doesn't need to be set */
+ compl_orig_text = vim_strnsave(ml_get_curline() + compl_col, compl_length);
+ if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
+! -1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
+ return;
+
+ /* Handle like dictionary completion. */
+***************
+*** 2821,2827 ****
+ ptr = find_word_end(ptr);
+ add_r = ins_compl_add_infercase(regmatch->startp[0],
+ (int)(ptr - regmatch->startp[0]),
+! FALSE, files[i], *dir, 0);
+ if (thesaurus)
+ {
+ char_u *wstart;
+--- 2821,2827 ----
+ ptr = find_word_end(ptr);
+ add_r = ins_compl_add_infercase(regmatch->startp[0],
+ (int)(ptr - regmatch->startp[0]),
+! p_ic, files[i], *dir, 0);
+ if (thesaurus)
+ {
+ char_u *wstart;
+***************
+*** 2857,2863 ****
+ ptr = find_word_end(ptr);
+ add_r = ins_compl_add_infercase(wstart,
+ (int)(ptr - wstart),
+! FALSE, files[i], *dir, 0);
+ }
+ }
+ if (add_r == OK)
+--- 2857,2863 ----
+ ptr = find_word_end(ptr);
+ add_r = ins_compl_add_infercase(wstart,
+ (int)(ptr - wstart),
+! p_ic, files[i], *dir, 0);
+ }
+ }
+ if (add_r == OK)
+***************
+*** 3826,3832 ****
+ TAG_INS_COMP | (ctrl_x_mode ? TAG_VERBOSE : 0),
+ TAG_MANY, curbuf->b_ffname) == OK && num_matches > 0)
+ {
+! ins_compl_add_matches(num_matches, matches, FALSE);
+ }
+ p_ic = save_p_ic;
+ break;
+--- 3826,3832 ----
+ TAG_INS_COMP | (ctrl_x_mode ? TAG_VERBOSE : 0),
+ TAG_MANY, curbuf->b_ffname) == OK && num_matches > 0)
+ {
+! ins_compl_add_matches(num_matches, matches, p_ic);
+ }
+ p_ic = save_p_ic;
+ break;
+***************
+*** 3867,3873 ****
+ num_matches = expand_spelling(first_match_pos.lnum,
+ first_match_pos.col, compl_pattern, &matches);
+ if (num_matches > 0)
+! ins_compl_add_matches(num_matches, matches, FALSE);
+ #endif
+ break;
+
+--- 3867,3873 ----
+ num_matches = expand_spelling(first_match_pos.lnum,
+ first_match_pos.col, compl_pattern, &matches);
+ if (num_matches > 0)
+! ins_compl_add_matches(num_matches, matches, p_ic);
+ #endif
+ break;
+
+***************
+*** 4001,4007 ****
+ continue;
+ }
+ }
+! if (ins_compl_add_infercase(ptr, len, FALSE,
+ ins_buf == curbuf ? NULL : ins_buf->b_sfname,
+ 0, flags) != NOTDONE)
+ {
+--- 4001,4007 ----
+ continue;
+ }
+ }
+! if (ins_compl_add_infercase(ptr, len, p_ic,
+ ins_buf == curbuf ? NULL : ins_buf->b_sfname,
+ 0, flags) != NOTDONE)
+ {
+***************
+*** 4809,4815 ****
+ vim_free(compl_orig_text);
+ compl_orig_text = vim_strnsave(line + compl_col, compl_length);
+ if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
+! -1, FALSE, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
+ {
+ vim_free(compl_pattern);
+ compl_pattern = NULL;
+--- 4809,4815 ----
+ vim_free(compl_orig_text);
+ compl_orig_text = vim_strnsave(line + compl_col, compl_length);
+ if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
+! -1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
+ {
+ vim_free(compl_pattern);
+ compl_pattern = NULL;
+*** ../vim-7.0.067/src/search.c Fri May 5 23:15:17 2006
+--- src/search.c Tue Aug 29 14:56:15 2006
+***************
+*** 4871,4877 ****
+ goto exit_matched;
+ }
+
+! add_r = ins_compl_add_infercase(aux, i, FALSE,
+ curr_fname == curbuf->b_fname ? NULL : curr_fname,
+ dir, reuse);
+ if (add_r == OK)
+--- 4876,4882 ----
+ goto exit_matched;
+ }
+
+! add_r = ins_compl_add_infercase(aux, i, p_ic,
+ curr_fname == curbuf->b_fname ? NULL : curr_fname,
+ dir, reuse);
+ if (add_r == OK)
+*** ../vim-7.0.067/src/spell.c Sun Jul 23 21:52:16 2006
+--- src/spell.c Tue Aug 29 14:56:26 2006
+***************
+*** 15658,15664 ****
+ ? MB_STRNICMP(p, pat, STRLEN(pat)) == 0
+ : STRNCMP(p, pat, STRLEN(pat)) == 0)
+ && ins_compl_add_infercase(p, (int)STRLEN(p),
+! FALSE, NULL, *dir, 0) == OK)
+ /* if dir was BACKWARD then honor it just once */
+ *dir = FORWARD;
+ }
+--- 15662,15668 ----
+ ? MB_STRNICMP(p, pat, STRLEN(pat)) == 0
+ : STRNCMP(p, pat, STRLEN(pat)) == 0)
+ && ins_compl_add_infercase(p, (int)STRLEN(p),
+! p_ic, NULL, *dir, 0) == OK)
+ /* if dir was BACKWARD then honor it just once */
+ *dir = FORWARD;
+ }
+*** ../vim-7.0.067/src/version.c Tue Aug 29 16:10:54 2006
+--- src/version.c Tue Aug 29 16:13:49 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 68,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+266. You hear most of your jokes via e-mail instead of in person.
+
+ /// Bram Moolenaar -- Bram at 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 ///
================================================================
Index: SOURCES/7.0.069
diff -u /dev/null SOURCES/7.0.069:1.1
--- /dev/null Sat Sep 2 19:04:06 2006
+++ SOURCES/7.0.069 Sat Sep 2 19:04:00 2006
@@ -0,0 +1,53 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.069
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.069
+Problem: Setting 'guitablabel' to %!expand(\%) causes Vim to free an
+ invalid pointer. (Kim Schulz)
+Solution: Don't try freeing a constant string pointer.
+Files: src/buffer.c
+
+
+*** ../vim-7.0.068/src/buffer.c Wed Aug 16 19:34:59 2006
+--- src/buffer.c Tue Aug 29 16:23:49 2006
+***************
+*** 3324,3330 ****
+ {
+ usefmt = eval_to_string_safe(fmt + 2, NULL, use_sandbox);
+ if (usefmt == NULL)
+! usefmt = (char_u *)"";
+ }
+ #endif
+
+--- 3324,3330 ----
+ {
+ usefmt = eval_to_string_safe(fmt + 2, NULL, use_sandbox);
+ if (usefmt == NULL)
+! usefmt = fmt;
+ }
+ #endif
+
+*** ../vim-7.0.068/src/version.c Tue Aug 29 16:33:23 2006
+--- src/version.c Tue Aug 29 16:48:08 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 69,
+ /**/
+
+--
+Two fish in a tank. One says to the other:
+"Do you know how to drive this thing?"
+
+ /// Bram Moolenaar -- Bram at 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 ///
================================================================
Index: SOURCES/7.0.070
diff -u /dev/null SOURCES/7.0.070:1.1
--- /dev/null Sat Sep 2 19:04:06 2006
+++ SOURCES/7.0.070 Sat Sep 2 19:04:00 2006
@@ -0,0 +1,2603 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.070
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.070
+Problem: Compiler warnings for shadowed variables and uninitialized
+ variables.
+Solution: Rename variables such as "index", "msg" and "dup". Initialize
+ variables.
+Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c,
+ src/ex_docmd.c, src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_x11.c,
+ src/hardcopy.c, src/if_cscope.c, src/main.c, src/mbyte.c,
+ src/memline.c, src/netbeans.c, src/normal.c, src/option.c,
+ src/os_unix.c, src/quickfix.c, src/regexp.c, src/screen.c,
+ src/search.c, src/spell.c, src/ui.c, src/undo.c, src/window.c,
+ src/version.c
+
+
+*** ../vim-7.0.069/src/edit.c Tue Aug 29 16:33:23 2006
+--- src/edit.c Tue Aug 29 14:57:46 2006
+***************
+*** 129,135 ****
+
+ static void ins_ctrl_x __ARGS((void));
+ static int has_compl_option __ARGS((int dict_opt));
+! static int ins_compl_add __ARGS((char_u *str, int len, int icase, char_u *fname, char_u **cptext, int cdir, int flags, int dup));
+ static int ins_compl_equal __ARGS((compl_T *match, char_u *str, int len));
+ static void ins_compl_longest_match __ARGS((compl_T *match));
+ static void ins_compl_add_matches __ARGS((int num_matches, char_u **matches, int icase));
+--- 129,135 ----
+
+ static void ins_ctrl_x __ARGS((void));
+ static int has_compl_option __ARGS((int dict_opt));
+! static int ins_compl_add __ARGS((char_u *str, int len, int icase, char_u *fname, char_u **cptext, int cdir, int flags, int adup));
+ static int ins_compl_equal __ARGS((compl_T *match, char_u *str, int len));
+ static void ins_compl_longest_match __ARGS((compl_T *match));
+ static void ins_compl_add_matches __ARGS((int num_matches, char_u **matches, int icase));
+***************
+*** 2118,2124 ****
+ * maybe because alloc() returns NULL, then FAIL is returned.
+ */
+ static int
+! ins_compl_add(str, len, icase, fname, cptext, cdir, flags, dup)
+ char_u *str;
+ int len;
+ int icase;
+--- 2118,2124 ----
+ * maybe because alloc() returns NULL, then FAIL is returned.
+ */
+ static int
+! ins_compl_add(str, len, icase, fname, cptext, cdir, flags, adup)
+ char_u *str;
+ int len;
+ int icase;
+***************
+*** 2126,2132 ****
+ char_u **cptext; /* extra text for popup menu or NULL */
+ int cdir;
+ int flags;
+! int dup; /* accept duplicate match */
+ {
+ compl_T *match;
+ int dir = (cdir == 0 ? compl_direction : cdir);
+--- 2126,2132 ----
+ char_u **cptext; /* extra text for popup menu or NULL */
+ int cdir;
+ int flags;
+! int adup; /* accept duplicate match */
+ {
+ compl_T *match;
+ int dir = (cdir == 0 ? compl_direction : cdir);
+***************
+*** 2140,2146 ****
+ /*
+ * If the same match is already present, don't add it.
+ */
+! if (compl_first_match != NULL && !dup)
+ {
+ match = compl_first_match;
+ do
+--- 2140,2146 ----
+ /*
+ * If the same match is already present, don't add it.
+ */
+! if (compl_first_match != NULL && !adup)
+ {
+ match = compl_first_match;
+ do
+***************
+*** 3608,3614 ****
+ {
+ char_u *word;
+ int icase = FALSE;
+! int dup = FALSE;
+ char_u *(cptext[CPT_COUNT]);
+
+ if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
+--- 3608,3614 ----
+ {
+ char_u *word;
+ int icase = FALSE;
+! int adup = FALSE;
+ char_u *(cptext[CPT_COUNT]);
+
+ if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
+***************
+*** 3625,3631 ****
+ if (get_dict_string(tv->vval.v_dict, (char_u *)"icase", FALSE) != NULL)
+ icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase");
+ if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL)
+! dup = get_dict_number(tv->vval.v_dict, (char_u *)"dup");
+ }
+ else
+ {
+--- 3625,3631 ----
+ if (get_dict_string(tv->vval.v_dict, (char_u *)"icase", FALSE) != NULL)
+ icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase");
+ if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL)
+! adup = get_dict_number(tv->vval.v_dict, (char_u *)"dup");
+ }
+ else
+ {
+***************
+*** 3634,3640 ****
+ }
+ if (word == NULL || *word == NUL)
+ return FAIL;
+! return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, dup);
+ }
+ #endif
+
+--- 3634,3640 ----
+ }
+ if (word == NULL || *word == NUL)
+ return FAIL;
+! return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup);
+ }
+ #endif
+
+*** ../vim-7.0.069/src/eval.c Wed Aug 16 22:03:35 2006
+--- src/eval.c Thu Aug 24 22:00:09 2006
+***************
+*** 454,460 ****
+ static char_u *deref_func_name __ARGS((char_u *name, int *lenp));
+ static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
+ static int call_func __ARGS((char_u *name, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
+! static void emsg_funcname __ARGS((char *msg, char_u *name));
+
+ static void f_add __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_append __ARGS((typval_T *argvars, typval_T *rettv));
+--- 454,460 ----
+ static char_u *deref_func_name __ARGS((char_u *name, int *lenp));
+ static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
+ static int call_func __ARGS((char_u *name, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
+! static void emsg_funcname __ARGS((char *ermsg, char_u *name));
+
+ static void f_add __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_append __ARGS((typval_T *argvars, typval_T *rettv));
+***************
+*** 2260,2266 ****
+ EMSG(_(e_letunexp));
+ else
+ {
+! char_u *tofree = NULL;
+ char_u *s;
+
+ p = get_tv_string_chk(tv);
+--- 2260,2266 ----
+ EMSG(_(e_letunexp));
+ else
+ {
+! char_u *ptofree = NULL;
+ char_u *s;
+
+ p = get_tv_string_chk(tv);
+***************
+*** 2269,2275 ****
+ s = get_reg_contents(*arg == '@' ? '"' : *arg, TRUE, TRUE);
+ if (s != NULL)
+ {
+! p = tofree = concat_str(s, p);
+ vim_free(s);
+ }
+ }
+--- 2269,2275 ----
+ s = get_reg_contents(*arg == '@' ? '"' : *arg, TRUE, TRUE);
+ if (s != NULL)
+ {
+! p = ptofree = concat_str(s, p);
+ vim_free(s);
+ }
+ }
+***************
+*** 2278,2284 ****
+ write_reg_contents(*arg == '@' ? '"' : *arg, p, -1, FALSE);
+ arg_end = arg + 1;
+ }
+! vim_free(tofree);
+ }
+ }
+
+--- 2278,2284 ----
+ write_reg_contents(*arg == '@' ? '"' : *arg, p, -1, FALSE);
+ arg_end = arg + 1;
+ }
+! vim_free(ptofree);
+ }
+ }
+
+***************
+*** 7595,7602 ****
+ * Give an error message with a function name. Handle <SNR> things.
+ */
+ static void
+! emsg_funcname(msg, name)
+! char *msg;
+ char_u *name;
+ {
+ char_u *p;
+--- 7595,7602 ----
+ * Give an error message with a function name. Handle <SNR> things.
+ */
+ static void
+! emsg_funcname(ermsg, name)
+! char *ermsg;
+ char_u *name;
<<Diff was trimmed, longer than 597 lines>>
More information about the pld-cvs-commit
mailing list