netrw

2019-01-22 Thread Charles E Campbell

Hello:

I had two Windows machines; the big one's motherboard died and the other 
lost windows during an attempt to update (just the) linux partition (it 
had been a dual boot).


So, I'd appreciate some Windows developers help to improve netrw. I've 
got the latest development copy of netrw on my website 
(http://www.drchip.org/astronaut/vim/index.html#NETRW v165a).


Regards,
Chip Campbell

--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: netrw

2019-01-22 Thread Ingo Karkat
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 22-Jan-2019 10:00 +0100, Charles E Campbell wrote:

> Hello:
> 
> I had two Windows machines; the big one's motherboard died and the
> other lost windows during an attempt to update (just the) linux
> partition (it had been a dual boot).
> 
> So, I'd appreciate some Windows developers help to improve netrw.
> I've got the latest development copy of netrw on my website 
> (http://www.drchip.org/astronaut/vim/index.html#NETRW v165a).

Hello Charles,

First, thank you for keeping up your plugin maintenance over the years
(it's probably been decades by now :-)

Assuming that you've just lost the Windows hardware, but still have
license(s), running Windows in a small VM on Linux can be a good
alternative. VirtualBox is free, and spinning up a small Windows
instance on demand doesn't take too many resources. (Even my 6
year-old laptop can do that.)

I suggest that because solely relying on co-developers for platform
support is hard, at least in my experience.

That notwithstanding, having other people join in is really helpful.
For that, I would recommend to move your plugin development to GitHub
(or alternatives, but as it's the top site and Vim and many plugins
are there, that's a compelling argument). It may initially create more
work (you need to adapt your workflow, people will start submitting
all sorts of issues and problems), but it's far superior a process
than putting a dev snapshot on a website and emailing around patches.

I hope you'll find a setup that suits you well. Keep up the good work!

- -- regards, ingo
- -- 
  -- Ingo Karkat --  /^-- /^-- /^-- /^-- /^-- http://ingo-karkat.de/ --
  --  https://www.vim.org/account/profile.php?user_id=9713   --
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQEcBAEBCAAGBQJcRuzGAAoJEA7ziXlAzQ/v2EYH/jOOUe2tQCTTjYvAa8qL0zEH
+R2GtmZm6gWRSHaU5JZufyFlPLDhG/hvwd92eEa6EyBNOnpdiCsb8rkVm4pe0MgH
E0TwSiiijsCNlB4sAWuyPS2OIGOoHf0pmY/5Es9NmMbfrayX4dgXSxCS2jWluW/C
lq9gOlrOgIns8rdhtWVl3mnNhTXqKQfG5wl7Z7LMH1kfsGnbgMe/gRwfpcDexDdY
hsRUhbJqHOjBcByuSpndjH8+Nr3/PPqQ8slTdzTvoRbCjVcgjYlCHQPyPUz31Qmh
C1I76i4yKxqUrsd1+ZYeTt3X0Q51ZCzIQ7/xolc+pScZoRrblW9+Yd0X7c5oJBM=
=lE94
-END PGP SIGNATURE-

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: ex -c compatibility/workaround not documented in the ex man page

2019-01-22 Thread Kevin Bulgrien
On Monday, January 21, 2019 at 4:33:44 PM UTC-6, Tony Mechelynck wrote:
> On Mon, Jan 21, 2019 at 9:30 PM Kevin Bulgrien wrote:
> >
> > > It seems unfortunate for gvim's ex man page not to document use of the
> > > vertical bar delimiter in lieu of multiple -c arguments since it does
> > > mention that not all implementations support use of multiple -c
> > > arguments.
> >
> > Correction:  The man page does document the behavior, but only in the
> > EXTENDED DESCRIPTION of Command Line Parsing in ex, section 6, which
> > takes a lot of digging to find.
> >
> > Regards,
> >
> > Kevin Bulgrien
> 
> The use of the vertical bar to separate ex-commands given together is
> not specific to the -c command-line argument. It is documented at
> ":help :bar", in section 3 "Ex command-lines" of Vim's cmdline.txt
> help file. It is extremely useful to enter a complete if..endif block,
> e.g. as an autocommand or (with  to represent the vertical bar)
> in the {rhs} of a mapping.
> 
> Best regards,
> Tony.

Thanks for the added information about this feature that eluded me.  I
didn't carefully digest the parsing information to determine where all
it might be of relevance, though I did rather assume it was applicable
in more places than one.

Brief mention near the -c description still seems as though it could be
helpful, even if only to make more evident a way to condense a long
series of commands.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [patch] Refactor code for putting ":tabnew" commands in session scripts

2019-01-22 Thread Bram Moolenaar


Jason Franklin wrote:

> This patch just simplifies the code for outputting the
> ":tabnew" commands that a session script should invoke.
> Currently, the code is a bit messy and was easy to
> simplify:
> 
> 
> diff --git a/src/ex_docmd.c b/src/ex_docmd.c
> index 8a9b2f4bf..91314ec2a 100644
> --- a/src/ex_docmd.c
> +++ b/src/ex_docmd.c
> @@ -11401,26 +11401,17 @@ makeopens(
>  tab_topframe = topframe;
>  if ((ssop_flags & SSOP_TABPAGES))
>  {
> - int num_tabs;
> + tabpage_T *tp;
>  
> - /*
> -  * Similar to ses_win_rec() below, populate the tab pages first so
> -  * later local options won't be copied to the new tabs.
> -  */
> - for (tabnr = 1; ; ++tabnr)
> + // This is similar to "ses_win_rec()" below.  Populate the tab pages
> + // first so that local options won't be copied to new tabs later.
> + FOR_ALL_TABPAGES(tp)
>   {
> - tabpage_T *tp = find_tabpage(tabnr);
> -
> - if (tp == NULL) /* done all tab pages */
> - break;
> -
> - if (tabnr > 1 && put_line(fd, "tabnew") == FAIL)
> + if (tp->tp_next != NULL && put_line(fd, "tabnew") == FAIL)
>   return FAIL;
>   }
>  
> - num_tabs = tabnr - 1;
> - if (num_tabs > 1 && (fprintf(fd, "tabnext -%d", num_tabs - 1) < 0
> -|| put_eol(fd) == FAIL))
> + if (first_tabpage->tp_next != NULL && put_line(fd, "tabnext 1") == FAIL)
>   return FAIL;
>  }
>  for (tabnr = 1; ; ++tabnr)
> 
> 
> All of the existing tests for mksession still pass.
> 
> Let me know if anything looks amiss.

Yeah, that was convoluted code.  It can be simplified a bit more by
using "tabrewind" at the end.

-- 
This is an airconditioned room, do not open Windows.

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 8.1.0790

2019-01-22 Thread Bram Moolenaar


Patch 8.1.0790
Problem:Code for creating tabpages in session is too complex.
Solution:   Simplify the code. (Jason Franklin)
Files:  src/ex_docmd.c


*** ../vim-8.1.0789/src/ex_docmd.c  2019-01-21 23:03:45.718447626 +0100
--- src/ex_docmd.c  2019-01-22 21:23:27.735578930 +0100
***
*** 11401,11426 
  tab_topframe = topframe;
  if ((ssop_flags & SSOP_TABPAGES))
  {
!   int num_tabs;
  
!   /*
!* Similar to ses_win_rec() below, populate the tab pages first so
!* later local options won't be copied to the new tabs.
!*/
!   for (tabnr = 1; ; ++tabnr)
!   {
!   tabpage_T *tp = find_tabpage(tabnr);
! 
!   if (tp == NULL) /* done all tab pages */
!   break;
! 
!   if (tabnr > 1 && put_line(fd, "tabnew") == FAIL)
return FAIL;
!   }
! 
!   num_tabs = tabnr - 1;
!   if (num_tabs > 1 && (fprintf(fd, "tabnext -%d", num_tabs - 1) < 0
!  || put_eol(fd) == FAIL))
return FAIL;
  }
  for (tabnr = 1; ; ++tabnr)
--- 11401,11414 
  tab_topframe = topframe;
  if ((ssop_flags & SSOP_TABPAGES))
  {
!   tabpage_T *tp;
  
!   // Similar to ses_win_rec() below, populate the tab pages first so
!   // later local options won't be copied to the new tabs.
!   FOR_ALL_TABPAGES(tp)
!   if (tp->tp_next != NULL && put_line(fd, "tabnew") == FAIL)
return FAIL;
!   if (first_tabpage->tp_next != NULL && put_line(fd, "tabrewind") == FAIL)
return FAIL;
  }
  for (tabnr = 1; ; ++tabnr)
*** ../vim-8.1.0789/src/version.c   2019-01-21 23:03:45.718447626 +0100
--- src/version.c   2019-01-22 21:25:49.030606634 +0100
***
*** 793,794 
--- 793,796 
  {   /* Add new patch number below this line */
+ /**/
+ 790,
  /**/

-- 
The software said it requires Windows 95 or better, so I installed Linux.

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 8.1.0791

2019-01-22 Thread Bram Moolenaar


Patch 8.1.0791
Problem:A few compiler warnings on VMS.
Solution:   Remove type cast.  Adjust #ifdef. (Zoltan Arpadffy)
Files:  src/os_unix.c, src/proto.h


*** ../vim-8.1.0790/src/os_unix.c   2019-01-20 23:43:54.314830624 +0100
--- src/os_unix.c   2019-01-22 21:34:32.826950388 +0100
***
*** 1935,1941 
alarm(0);
signal(SIGALRM, (RETSIGTYPE (*)())sig_save);
if (p_verbose > 0 && sig_alarm_called)
!   verb_msg((char_u *)_("Opening the X display timed out"));
  #endif
if (x11_display != NULL)
{
--- 1935,1941 
alarm(0);
signal(SIGALRM, (RETSIGTYPE (*)())sig_save);
if (p_verbose > 0 && sig_alarm_called)
!   verb_msg(_("Opening the X display timed out"));
  #endif
if (x11_display != NULL)
{
*** ../vim-8.1.0790/src/proto.h 2019-01-17 15:43:21.765878343 +0100
--- src/proto.h 2019-01-22 21:35:47.226426974 +0100
***
*** 256,262 
  # endif
  
  # if defined(FEAT_GUI) || defined(FEAT_JOB_CHANNEL)
! #  if defined(UNIX) || defined(MACOS_X)
  #   include "pty.pro"
  #  endif
  # endif
--- 256,262 
  # endif
  
  # if defined(FEAT_GUI) || defined(FEAT_JOB_CHANNEL)
! #  if defined(UNIX) || defined(MACOS_X) || defined(VMS)
  #   include "pty.pro"
  #  endif
  # endif
*** ../vim-8.1.0790/src/version.c   2019-01-22 21:27:08.890053701 +0100
--- src/version.c   2019-01-22 21:45:29.605732377 +0100
***
*** 793,794 
--- 793,796 
  {   /* Add new patch number below this line */
+ /**/
+ 791,
  /**/

-- 
The greatest lies of all time:
  (1) The check is in the mail.
  (2) We have a really challenging assignment for you.
  (3) I love you.
  (4) All bugs have been fixed.
  (5) This won't hurt a bit.
  (6) Honey, I just need to debug this program and be home in 5 minutes.
  (7) I have just sent you an e-mail about that.
  (8) Of course I'll respect you in the morning.
  (9) I'm from the government, and I'm here to help you.

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 8.1.0792

2019-01-22 Thread Bram Moolenaar


Patch 8.1.0792
Problem:Popup menu is displayed on top of the cmdline window if it is
opened from Insert completion. (Bjorn Linse)
Solution:   Remove the popup menu.  Restore the cursor position.
(closes #3838)
Files:  src/edit.c, src/ex_getln.c


*** ../vim-8.1.0791/src/edit.c  2019-01-19 17:43:03.401449251 +0100
--- src/edit.c  2019-01-22 22:04:03.005446245 +0100
***
*** 8537,8542 
--- 8537,8543 
  ++no_u_sync;
  if (regname == '=')
  {
+   pos_T   curpos = curwin->w_cursor;
  # ifdef HAVE_INPUT_METHOD
int im_on = im_get_status();
  # endif
***
*** 8545,8552 
u_sync_once = 2;
  
regname = get_expr_register();
  # ifdef HAVE_INPUT_METHOD
!   /* Restore the Input Method. */
if (im_on)
im_set_active(TRUE);
  # endif
--- 8546,8557 
u_sync_once = 2;
  
regname = get_expr_register();
+ 
+   // Cursor may be moved back a column.
+   curwin->w_cursor = curpos;
+   check_cursor();
  # ifdef HAVE_INPUT_METHOD
!   // Restore the Input Method.
if (im_on)
im_set_active(TRUE);
  # endif
*** ../vim-8.1.0791/src/ex_getln.c  2019-01-19 17:43:03.409449198 +0100
--- src/ex_getln.c  2019-01-22 21:52:42.526460299 +0100
***
*** 7268,7273 
--- 7268,7277 
  /* Don't execute autocommands while creating the window. */
  block_autocmds();
  
+ // When using completion in Insert mode with = one can open the
+ // command line window, but we don't want the popup menu then.
+ pum_undisplay();
+ 
  /* don't use a new tab page */
  cmdmod.tab = 0;
  cmdmod.noswapfile = 1;
*** ../vim-8.1.0791/src/version.c   2019-01-22 21:45:36.553678901 +0100
--- src/version.c   2019-01-22 22:07:18.600017151 +0100
***
*** 793,794 
--- 793,796 
  {   /* Add new patch number below this line */
+ /**/
+ 792,
  /**/

-- 
FIRST HEAD:  Oh! quick! get the sword out I want to cut his head off.
THIRD HEAD:  Oh, cut your own head off.
SECOND HEAD: Yes - do us all a favour.
 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 8.1.0793

2019-01-22 Thread Bram Moolenaar


Patch 8.1.0793
Problem:Incorrect error messages for functions that now take a Blob
argument.
Solution:   Adjust the error messages. (Dominique Pelle, closes #3846)
Files:  runtime/doc/eval.txt, src/evalfunc.c, src/globals.h,
src/testdir/test_blob.vim, src/testdir/test_listdict.vim


*** ../vim-8.1.0792/runtime/doc/eval.txt2019-01-15 22:51:35.82001 
+0100
--- runtime/doc/eval.txt2019-01-22 22:13:51.087503416 +0100
***
*** 38,44 
  1. Variables  *variables*
  
  1.1 Variable types ~
!   *E712*
  There are nine types of variables:
  
  NumberA 32 or 64 bit signed number.  |expr-number| *Number*
--- 38,44 
  1. Variables  *variables*
  
  1.1 Variable types ~
!   *E712* *E896* *E897* *E898*
  There are nine types of variables:
  
  NumberA 32 or 64 bit signed number.  |expr-number| *Number*
***
*** 131,138 
  
*E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910* *E913*
*E974* *E975* *E976*
! List, Dictionary, Funcref, Job, Channel and Blob types are not automatically
! converted.
  
*E805* *E806* *E808*
  When mixing Number and Float the Number is converted to Float.  Otherwise
--- 131,138 
  
*E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910* *E913*
*E974* *E975* *E976*
! |List|, |Dictionary|, |Funcref|, |Job|, |Channel| and |Blob| types are not
! automatically converted.
  
*E805* *E806* *E808*
  When mixing Number and Float the Number is converted to Float.  Otherwise
***
*** 633,638 
--- 633,641 
  
  A Blob can be created with a |blob-literal|: >
:let b = 0zFF00ED015DAF
+ Dots can be inserted between bytes (pair of hex characters) for readability,
+ they don't change the value: >
+   :let b = 0zFF00.ED01.5DAF
  
  A blob can be read from a file with |readfile()| passing the {type} argument
  set to "B", for example: >
***
*** 673,678 
--- 676,682 
  A part of the Blob can be obtained by specifying the first and last index,
  separated by a colon in square brackets: >
:let myblob = 0z00112233
+   :let shortblob = myblob[1:2]" get 0z1122
:let shortblob = myblob[2:-1]   " get 0z2233
  
  Omitting the first index is similar to zero.  Omitting the last index is
***
*** 681,687 
:let shortblob = myblob[2:2]" Blob with one byte: 0z22
:let otherblob = myblob[:]  " make a copy of the Blob
  
! If the first index is beyond the last byte of the Blob or the second byte is
  before the first byte, the result is an empty list.  There is no error
  message.
  
--- 685,691 
:let shortblob = myblob[2:2]" Blob with one byte: 0z22
:let otherblob = myblob[:]  " make a copy of the Blob
  
! If the first index is beyond the last byte of the Blob or the second index is
  before the first byte, the result is an empty list.  There is no error
  message.
  
***
*** 700,711 
  
  To change a sequence of bytes the [:] notation can be used: >
let blob[1:3] = 0z445566
! The length of the replaced bytes much be exactly the same as the value
  provided. *E972*
  
  To change part of a blob you can specify the first and last byte to be
! modified.  The value must at least have the number of bytes in the range: >
!   :let blob[3:5] = [3, 4, 5]
  
  You can also use the functions |add()|, |remove()| and |insert()|.
  
--- 704,715 
  
  To change a sequence of bytes the [:] notation can be used: >
let blob[1:3] = 0z445566
! The length of the replaced bytes must be exactly the same as the value
  provided. *E972*
  
  To change part of a blob you can specify the first and last byte to be
! modified.  The value must have the same number of bytes in the range: >
!   :let blob[3:5] = 0z334455
  
  You can also use the functions |add()|, |remove()| and |insert()|.
  
***
*** 734,740 
:echo blob is blob3
  < 0
  
! Making a copy of a list is done with the |copy()| function.  Using [:] also
  works, as explained above.
  
  
--- 738,744 
:echo blob is blob3
  < 0
  
! Making a copy of a Blob is done with the |copy()| function.  Using [:] also
  works, as explained above.
  
  
***
*** 793,799 
expr5 isnot expr5   different |List| instance
  
  |expr5|   expr6
!   expr6 +  expr6 ..   number addition or list concatenation
expr6 -  expr6 ..   number subtraction
expr6 .  expr6 ..   string concatenation
  
--- 797,803 
expr5 isnot expr5   different |List| instance
  
  

Patch 8.1.0794

2019-01-22 Thread Bram Moolenaar


Patch 8.1.0794
Problem:White space before " -Ntabmove" causes problems.
Solution:   Skip whitespace. (Ozaki Kiichi, closes #3841)
Files:  src/ex_docmd.c, src/testdir/test_tabpage.vim


*** ../vim-8.1.0793/src/ex_docmd.c  2019-01-22 21:27:08.890053701 +0100
--- src/ex_docmd.c  2019-01-22 22:38:50.080337086 +0100
***
*** 7588,7594 
else
{
tab_number = eap->line2;
!   if (!unaccept_arg0 && **eap->cmdlinep == '-')
{
--tab_number;
if (tab_number < unaccept_arg0)
--- 7588,7594 
else
{
tab_number = eap->line2;
!   if (!unaccept_arg0 && *skipwhite(*eap->cmdlinep) == '-')
{
--tab_number;
if (tab_number < unaccept_arg0)
*** ../vim-8.1.0793/src/testdir/test_tabpage.vim2018-08-07 
13:14:05.640508522 +0200
--- src/testdir/test_tabpage.vim2019-01-22 22:38:01.812765825 +0100
***
*** 105,110 
--- 105,118 
call assert_equal(4, tabpagenr())
7tabmove 5
call assert_equal(5, tabpagenr())
+   -tabmove
+   call assert_equal(4, tabpagenr())
+   +tabmove
+   call assert_equal(5, tabpagenr())
+   -2tabmove
+   call assert_equal(3, tabpagenr())
+   +3tabmove
+   call assert_equal(6, tabpagenr())
  
" The following are a no-op
norm! 2gt
*** ../vim-8.1.0793/src/version.c   2019-01-22 22:20:13.374961397 +0100
--- src/version.c   2019-01-22 22:41:32.314903703 +0100
***
*** 793,794 
--- 793,796 
  {   /* Add new patch number below this line */
+ /**/
+ 794,
  /**/

-- 
Facepalm reply #3: "I had a great time in Manhattan" "I thought you were
going to New York?"

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 8.1.0795

2019-01-22 Thread Bram Moolenaar


Patch 8.1.0795 (after 8.1.0792)
Problem:Cannot build without popup menu.
Solution:   Add #ifdef
Files:  src/ex_getln.c


*** ../vim-8.1.0794/src/ex_getln.c  2019-01-22 22:08:05.231676850 +0100
--- src/ex_getln.c  2019-01-22 22:53:10.740300457 +0100
***
*** 7268,7276 
--- 7268,7278 
  /* Don't execute autocommands while creating the window. */
  block_autocmds();
  
+ #if defined(FEAT_INS_EXPAND)
  // When using completion in Insert mode with = one can open the
  // command line window, but we don't want the popup menu then.
  pum_undisplay();
+ #endif
  
  /* don't use a new tab page */
  cmdmod.tab = 0;
*** ../vim-8.1.0794/src/version.c   2019-01-22 22:41:38.362850472 +0100
--- src/version.c   2019-01-22 22:47:42.363409937 +0100
***
*** 793,794 
--- 793,796 
  {   /* Add new patch number below this line */
+ /**/
+ 795,
  /**/

-- 
Facepalm statement #4: "3000 year old graves?  That's not possible, it's only
2014!"

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 8.1.0796

2019-01-22 Thread Bram Moolenaar


Patch 8.1.0796
Problem:MS-Windows 7: problem with named pipe on channel.
Solution:   Put back the disconnect/connect calls. (Yasuhiro Matsumoto,
closes #3833)
Files:  src/channel.c, src/testdir/test_terminal.vim


*** ../vim-8.1.0795/src/channel.c   2019-01-20 15:30:36.881328770 +0100
--- src/channel.c   2019-01-22 22:44:08.765530220 +0100
***
*** 3181,3187 
  
if (r && nread > 0)
return CW_READY;
!   if (r == 0)
return CW_ERROR;
  
/* perhaps write some buffer lines */
--- 3181,3193 
  
if (r && nread > 0)
return CW_READY;
! 
!   if (channel->ch_named_pipe)
!   {
!   DisconnectNamedPipe((HANDLE)fd);
!   ConnectNamedPipe((HANDLE)fd, NULL);
!   }
!   else if (r == 0)
return CW_ERROR;
  
/* perhaps write some buffer lines */
***
*** 3813,3819 
--- 3819,3834 
if (part == PART_SOCK)
res = sock_write(fd, (char *)buf, len);
else
+   {
res = fd_write(fd, (char *)buf, len);
+ #ifdef WIN32
+   if (channel->ch_named_pipe && res < 0)
+   {
+   DisconnectNamedPipe((HANDLE)fd);
+   ConnectNamedPipe((HANDLE)fd, NULL);
+   }
+ #endif
+   }
if (res < 0 && (errno == EWOULDBLOCK
  #ifdef EAGAIN
|| errno == EAGAIN
*** ../vim-8.1.0795/src/testdir/test_terminal.vim   2019-01-20 
18:25:50.313911236 +0100
--- src/testdir/test_terminal.vim   2019-01-22 22:46:17.424241336 +0100
***
*** 644,651 
  
  func Test_terminal_no_cmd()
" Does not work on Mac.
!   " Todo: make this work on Win32 again
!   if has('mac') || has('win32')
  return
endif
let buf = term_start('NONE', {})
--- 644,650 
  
  func Test_terminal_no_cmd()
" Does not work on Mac.
!   if has('mac')
  return
endif
let buf = term_start('NONE', {})
*** ../vim-8.1.0795/src/version.c   2019-01-22 22:54:56.215326924 +0100
--- src/version.c   2019-01-22 23:00:59.380030846 +0100
***
*** 793,794 
--- 793,796 
  {   /* Add new patch number below this line */
+ /**/
+ 796,
  /**/

-- 
Facepalm statement #5: "Petrol getting more expensive?  Not for me, I'm always
tanking for 20 dollars"

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[patch] more doc updates for Blobs

2019-01-22 Thread Dominique Pellé
Hi

Attached patch contains more doc updates
for Blobs. Behavior of :for loop, "is" and
"isnot" were not documented for Blobs.

Regards
Dominique

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 325676dbd..30f20b76b 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -662,6 +662,15 @@ is not available it returns -1 or the default value you specify: >
 	:echo get(myblob, idx, 999)
 
 
+Blob iteration ~
+
+The |:for| loop executes commands for each byte a Blob.  A variable is set
+to each byte in the Blob.  Example: >
+	:for byte in 0z010203
+	:   call Doit(byte)
+	:endfor
+
+
 Blob concatenation ~
 
 Two blobs can be concatenated with the "+" operator: >
@@ -793,8 +802,9 @@ Expression syntax summary, from least to most significant:
 	etc.			As above, append ? for ignoring case, # for
 matching case
 
-	expr5 is expr5		same |List| instance
-	expr5 isnot expr5	different |List| instance
+	expr5 is expr5		same |List|, |Dictionary| or |Blob| instance
+	expr5 isnot expr5	different |List|, |Dictionary| or |Blob|
+instance
 
 |expr5|	expr6
 	expr6 +	 expr6 ..	number addition, list or blob concatenation
@@ -962,12 +972,12 @@ Dictionary and arguments, use |get()| to get the function name: >
 	if get(Part1, 'name') == get(Part2, 'name')
 	   " Part1 and Part2 refer to the same function
 
-When using "is" or "isnot" with a |List| or a |Dictionary| this checks if the
-expressions are referring to the same |List| or |Dictionary| instance.  A copy
-of a |List| is different from the original |List|.  When using "is" without
-a |List| or a |Dictionary| it is equivalent to using "equal", using "isnot"
-equivalent to using "not equal".  Except that a different type means the
-values are different: >
+Using "is" or "isnot" with a |List|, |Dictionary| or |Blob| checks whether
+the expressions are referring to the same |List|, |Dictionary| or |Blob|
+instance.  A copy of a |List| is different from the original |List|.  When
+using "is" without a |List|, |Dictionary| or |Blob|, it is equivalent to
+using "equal", using "isnot" equivalent to using "not equal".  Except that
+a different type means the values are different: >
 	echo 4 == '4'
 	1
 	echo 4 is '4'
@@ -1012,16 +1022,16 @@ can be matched like an ordinary character.  Examples:
 
 expr5 and expr6		*expr5* *expr6*
 ---
-expr6 +	 expr6 ..	Number addition or |List| concatenation	*expr-+*
-expr6 -	 expr6 ..	Number subtraction			*expr--*
-expr6 .	 expr6 ..	String concatenation			*expr-.*
+expr6 + expr6  Number addition, |List| or |Blob| concatenation	*expr-+*
+expr6 - expr6  Number subtraction*expr--*
+expr6 . expr6  String concatenation*expr-.*
 
 For |Lists| only "+" is possible and then both expr6 must be a list.  The
 result is a new list with the two lists Concatenated.
 
-expr7 *	 expr7 ..	Number multiplication			*expr-star*
-expr7 /	 expr7 ..	Number division*expr-/*
-expr7 %	 expr7 ..	Number modulo*expr-%*
+expr7 * expr7  Number multiplication*expr-star*
+expr7 / expr7  Number division	*expr-/*
+expr7 % expr7  Number modulo	*expr-%*
 
 For all, except ".", Strings are converted to Numbers.
 For bitwise operators see |and()|, |or()| and |xor()|.
@@ -11044,28 +11054,37 @@ This does NOT work: >
 			NOTE: The ":append" and ":insert" commands don't work
 			properly inside a ":while" and ":for" loop.
 
-:for {var} in {list}	*:for* *E690* *E732*
+:for {var} in {object}	*:for* *E690* *E732*
 :endfo[r]		*:endfo* *:endfor*
 			Repeat the commands between ":for" and ":endfor" for
-			each item in {list}.  Variable {var} is set to the
-			value of each item.
-			When an error is detected for a command inside the
-			loop, execution continues after the "endfor".
-			Changing {list} inside the loop affects what items are
-			used.  Make a copy if this is unwanted: >
+			each item in {object}.  {object} can be a |List| or
+			a |Blob|.  Variable {var} is set to the value of each
+			item.  When an error is detected for a command inside
+			the loop, execution continues after the "endfor".
+			Changing {object} inside the loop affects what items
+			are used.  Make a copy if this is unwanted: >
 :for item in copy(mylist)
-<			When not making a copy, Vim stores a reference to the
-			next item in the list, before executing the commands
-			with the current item.  Thus the current item can be
-			removed without effect.  Removing any later item means
-			it will not be found.  Thus the following example
-			works (an inefficient wa

Re: [patch] more doc updates for Blobs

2019-01-22 Thread Tom M
On Tuesday, January 22, 2019 at 11:35:50 PM UTC+1, Dominique Pelle wrote:
> Hi
> 
> Attached patch contains more doc updates
> for Blobs. Behavior of :for loop, "is" and
> "isnot" were not documented for Blobs.
> 
> Regards
> Dominique

Hi,

I've noticed two small typos:

> +The |:for| loop executes commands for each byte a Blob.  A variable is set

byte of a Blob.

> + When {object} is a |Blob|, Vim stores and increment the

and increments the


Best Regards,

Tom

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: netrw

2019-01-22 Thread mattn
+1 to move to GitHub, Or include netrw into Vim core.

DrChip, Thanks for your maintaining of netrw. But if you want to get a lot of 
contributors, you've better to provide the way that can be easily used and 
easily updated for users. ex: GitHub.

And I feel current source code of netrw is not modern. And some behavior is 
flacky (Unfortunately, I'm using another file manager). The differences of OSs 
(or commands) should be transparent using function instead using "if 
has('win32')" in many places. If possibly, should be tested. I feel many codes 
of netrw should be fixed be and clean-up. But sending/receiving patch files via 
e-mail make developments slowly. For that I also feed you've better to switch 
to development using git.

mattn

On Tuesday, January 22, 2019 at 7:13:37 PM UTC+9, Ingo Karkat wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
> 
> On 22-Jan-2019 10:00 +0100, Charles E Campbell wrote:
> 
> > Hello:
> > 
> > I had two Windows machines; the big one's motherboard died and the
> > other lost windows during an attempt to update (just the) linux
> > partition (it had been a dual boot).
> > 
> > So, I'd appreciate some Windows developers help to improve netrw.
> > I've got the latest development copy of netrw on my website 
> > (http://www.drchip.org/astronaut/vim/index.html#NETRW v165a).
> 
> Hello Charles,
> 
> First, thank you for keeping up your plugin maintenance over the years
> (it's probably been decades by now :-)
> 
> Assuming that you've just lost the Windows hardware, but still have
> license(s), running Windows in a small VM on Linux can be a good
> alternative. VirtualBox is free, and spinning up a small Windows
> instance on demand doesn't take too many resources. (Even my 6
> year-old laptop can do that.)
> 
> I suggest that because solely relying on co-developers for platform
> support is hard, at least in my experience.
> 
> That notwithstanding, having other people join in is really helpful.
> For that, I would recommend to move your plugin development to GitHub
> (or alternatives, but as it's the top site and Vim and many plugins
> are there, that's a compelling argument). It may initially create more
> work (you need to adapt your workflow, people will start submitting
> all sorts of issues and problems), but it's far superior a process
> than putting a dev snapshot on a website and emailing around patches.
> 
> I hope you'll find a setup that suits you well. Keep up the good work!
> 
> - -- regards, ingo
> - -- 
>   -- Ingo Karkat --  /^-- /^-- /^-- /^-- /^-- http://ingo-karkat.de/ --
>   --  https://www.vim.org/account/profile.php?user_id=9713   --
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v2
> 
> iQEcBAEBCAAGBQJcRuzGAAoJEA7ziXlAzQ/v2EYH/jOOUe2tQCTTjYvAa8qL0zEH
> +R2GtmZm6gWRSHaU5JZufyFlPLDhG/hvwd92eEa6EyBNOnpdiCsb8rkVm4pe0MgH
> E0TwSiiijsCNlB4sAWuyPS2OIGOoHf0pmY/5Es9NmMbfrayX4dgXSxCS2jWluW/C
> lq9gOlrOgIns8rdhtWVl3mnNhTXqKQfG5wl7Z7LMH1kfsGnbgMe/gRwfpcDexDdY
> hsRUhbJqHOjBcByuSpndjH8+Nr3/PPqQ8slTdzTvoRbCjVcgjYlCHQPyPUz31Qmh
> C1I76i4yKxqUrsd1+ZYeTt3X0Q51ZCzIQ7/xolc+pScZoRrblW9+Yd0X7c5oJBM=
> =lE94
> -END PGP SIGNATURE-

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 8.1.0793

2019-01-22 Thread ktakata65536
Hi Bram,

2019/1/23 Wed 6:20:59 UTC+9 Bram Moolenaar wrote:
> Patch 8.1.0793
> Problem:Incorrect error messages for functions that now take a Blob
> argument.
> Solution:   Adjust the error messages. (Dominique Pelle, closes #3846)
> Files:runtime/doc/eval.txt, src/evalfunc.c, src/globals.h,
> src/testdir/test_blob.vim, src/testdir/test_listdict.vim

The error number E898 has been already used for channel.
We should use another number.

Regards,
Ken Takata

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 8.1.0793

2019-01-22 Thread ktakata65536
Hi Bram,

2019/1/23 Wed 10:31:17 UTC+9 ktakat...@gmail.com wrote:
> Hi Bram,
> 
> 2019/1/23 Wed 6:20:59 UTC+9 Bram Moolenaar wrote:
> > Patch 8.1.0793
> > Problem:Incorrect error messages for functions that now take a Blob
> > argument.
> > Solution:   Adjust the error messages. (Dominique Pelle, closes #3846)
> > Files:  runtime/doc/eval.txt, src/evalfunc.c, src/globals.h,
> > src/testdir/test_blob.vim, src/testdir/test_listdict.vim
> 
> The error number E898 has been already used for channel.
> We should use another number.

E899 is not used (and also E900).

Regards,
Ken Takata

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.