Patch 8.1.1954

2019-08-31 Fir de Conversatie Bram Moolenaar


Patch 8.1.1954
Problem:More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
Files:  runtime/doc/eval.txt, src/evalfunc.c,
src/testdir/test_arglist.vim, src/testdir/test_functions.vim,
src/testdir/test_json.vim, src/testdir/test_lispwords.vim,
src/testdir/test_listener.vim, src/testdir/test_lua.vim,
src/testdir/test_utf8.vim


*** ../vim-8.1.1953/runtime/doc/eval.txt2019-08-31 21:17:35.590131466 
+0200
--- runtime/doc/eval.txt2019-08-31 22:13:35.499178117 +0200
***
*** 1228,1234 
mylist->filter(filterexpr)->map(mapexpr)->sort()->join()
  <
  Example of using a lambda: >
!   GetPercentage->{x -> x * 100}()->printf('%d%%')
  <
  When using -> the |expr7| operators will be applied first, thus: >
-1.234->string()
--- 1228,1234 
mylist->filter(filterexpr)->map(mapexpr)->sort()->join()
  <
  Example of using a lambda: >
!   GetPercentage()->{x -> x * 100}()->printf('%d%%')
  <
  When using -> the |expr7| operators will be applied first, thus: >
-1.234->string()
***
*** 6198,6203 
--- 6206,6214 
- Empty items in an array (between two commas) are allowed and
  result in v:none items.
  
+   Can also be used as a |method|: >
+   ReadObject()->js_decode()
+ 
  js_encode({expr}) *js_encode()*
This is similar to |json_encode()| with these differences:
- Object key names are not in quotes.
***
*** 6212,6217 
--- 6223,6230 
This encoding is valid for JavaScript. It is more efficient
than JSON, especially when using an array with optional items.
  
+   Can also be used as a |method|: >
+   GetObject()->js_encode()
  
  json_decode({string}) *json_decode()*
This parses a JSON formatted string and returns the equivalent
***
*** 6246,6251 
--- 6259,6266 
accepted by json_decode() as the result must be a valid Vim
type, e.g. this fails: {"a":"b", "a":"c"}
  
+   Can also be used as a |method|: >
+   ReadObject()->json_decode()
  
  json_encode({expr})   *json_encode()*
Encode {expr} as JSON and return this as a string.
***
*** 6272,6277 
--- 6287,6295 
missing in the JSON standard, but several implementations do
allow it.  If not then you will get an error.
  
+   Can also be used as a |method|: >
+   GetObject()->json_encode()
+ 
  keys({dict})  *keys()*
Return a |List| with all the keys of {dict}.  The |List| is in
arbitrary order.  Also see |items()| and |values()|.
***
*** 6338,6343 
--- 6356,6365 
feature is present}
Examples: >
:echo libcall("libc.so", "getenv", "HOME")
+ 
+ < Can also be used as a |method|, where the base is passed as
+   the argument to the called function: >
+   GetValue()->libcall("libc.so", "getenv")
  <
*libcallnr()*
  libcallnr({libname}, {funcname}, {argument})
***
*** 6350,6355 
--- 6372,6381 
:call libcallnr("libc.so", "printf", "Hello World!\n")
:call libcallnr("libc.so", "sleep", 10)
  <
+   Can also be used as a |method|, where the base is passed as
+   the argument to the called function: >
+   GetValue()->libcallnr("libc.so", "printf")
+ <
*line()*
  line({expr})  The result is a Number, which is the line number of the file
position given with {expr}.  The accepted positions are:
***
*** 6377,6382 
--- 6403,6411 
To jump to the last known position when opening a file see
|last-position-jump|.
  
+   Can also be used as a |method|: >
+   GetValue()->line()
+ 
  line2byte({lnum}) *line2byte()*
Return the byte count from the start of the buffer for line
{lnum}.  This includes the end-of-line character, depending on
***
*** 6391,6396 
--- 6420,6428 
disabled at compile time, -1 is returned.
Also see |byte2line()|, |go| and |:goto|.
  
+   Can also be used as a |method|: >
+   GetLnum()->line2byte()
+ 
  lispindent({lnum})*lispindent()*
 

Patch 8.1.1953

2019-08-31 Fir de Conversatie Bram Moolenaar


Patch 8.1.1953
Problem:More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
Files:  runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_blob.vim,
src/testdir/test_breakindent.vim, src/testdir/test_delete.vim,
src/testdir/test_functions.vim, src/testdir/test_getcwd.vim,
src/testdir/test_history.vim, src/testdir/test_listdict.vim,
src/testdir/test_syn_attr.vim, src/testdir/test_termcodes.vim,
src/testdir/test_true_false.vim


*** ../vim-8.1.1952/runtime/doc/eval.txt2019-08-31 19:13:27.835704640 
+0200
--- runtime/doc/eval.txt2019-08-31 21:05:56.966106863 +0200
***
*** 5766,5771 
--- 5774,5782 
" tab page m
:echo haslocaldir(-1, m)
  <
+   Can also be used as a |method|: >
+   GetWinnr()->haslocaldir()
+ 
  hasmapto({what} [, {mode} [, {abbr}]])*hasmapto()*
The result is a Number, which is 1 if there is a mapping that
contains {what} in somewhere in the rhs (what it is mapped to)
***
*** 5794,5799 
--- 5805,5813 
  < This installs the mapping to "\ABCdoit" only if there isn't
already a mapping to "\ABCdoit".
  
+   Can also be used as a |method|: >
+   GetRHS()->hasmapto()
+ 
  histadd({history}, {item})*histadd()*
Add the String {item} to the history {history} which can be
one of: *hist-names*
***
*** 5815,5820 
--- 5829,5838 
:let date=input("Enter date: ")
  < This function is not available in the |sandbox|.
  
+   Can also be used as a |method|, the base is used for the
+   second argument: >
+   GetPattern()->histadd('search')
+ 
  histdel({history} [, {item}]) *histdel()*
Clear {history}, i.e. delete all its entries.  See |hist-names|
for the possible values of {history}.
***
*** 5846,5851 
--- 5864,5872 
the "n" command and 'hlsearch': >
:call histdel("search", -1)
:let @/ = histget("search", -1)
+ <
+   Can also be used as a |method|: >
+   GetHistory()->histdel()
  
  histget({history} [, {index}])*histget()*
The result is a String, the entry with Number {index} from
***
*** 5862,5867 
--- 5883,5891 
the {num}th entry from the output of |:history|. >
:command -nargs=1 H execute histget("cmd", 0+)
  <
+   Can also be used as a |method|: >
+   GetHistory()->histget()
+ 
  histnr({history}) *histnr()*
The result is the Number of the current entry in {history}.
See |hist-names| for the possible values of {history}.
***
*** 5869,5874 
--- 5893,5901 
  
Example: >
:let inp_index = histnr("expr")
+ 
+ < Can also be used as a |method|: >
+   GetHistory()->histnr()
  <
  hlexists({name})  *hlexists()*
The result is a Number, which is non-zero if a highlight group
***
*** 5879,5884 
--- 5906,5914 
*highlight_exists()*
Obsolete name: highlight_exists().
  
+   Can also be used as a |method|: >
+   GetName()->hlexists()
+ <
*hlID()*
  hlID({name})  The result is a Number, which is the ID of the highlight group
with name {name}.  When the highlight group doesn't exist,
***
*** 5890,5895 
--- 5920,5928 
  < *highlightID()*
Obsolete name: highlightID().
  
+   Can also be used as a |method|: >
+   GetName()->hlID()
+ 
  hostname()*hostname()*
The result is a String, which is the name of the machine on
which Vim is currently running.  Machine names greater than
***
*** 5914,5919 
--- 5947,5955 
from/to UCS-2 is automatically changed to use UTF-8.  You
cannot use UCS-2 in a string anyway, because of the NUL bytes.
  
+   Can also be used as a |method|: >
+   GetText()->iconv('latin1', 'utf-8')
+ <
*indent()*
  indent({lnum})   

Re: Patch 8.1.1952

2019-08-31 Fir de Conversatie Bram Moolenaar


Andy Wokula wrote:

> Am 31.08.2019 um 19:14 schrieb Bram Moolenaar:
> > ! < *globpath()*
> >globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
> > Perform glob() on all directories in {path} and concatenate
> > the results.  Example: >
> > ***
> > *** 5696,5701 
> > --- 5722,5731 
> > > supported, thus using 'path' will not always work properly.
> >
> > +   Can also be used as a|method|, the base is passed as the
> > +   second argument: >
> > +   GetExpr()->globpath(&rtp)
> 
> You think, to be consistent with glob(), the base must be passed as
> the *second* argument?  I wonder what your reason is here, it's quite
> unexpected.
 
In a chain what gets passed is the object that is being processed.
In this case I would say the expression is processed, while the path is
a parameter indicating how to process the expression.

eval GetPattern()->glob()->ListResults()
eval GetPattern()->globpath(&rtp)->ListResults()

Did you expect that with -> the base is always passed as the first
argument?  That doesn't work well for some existing functions.

-- 
hundred-and-one symptoms of being an internet addict:
152. You find yourself falling for someone you've never seen or hardly
 know, but, boy can he/she TYPE!!

 /// 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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201908311907.x7VJ7XWb027900%40masaka.moolenaar.net.


Re: Patch 8.1.1952

2019-08-31 Fir de Conversatie 'Andy Wokula' via vim_dev

Am 31.08.2019 um 19:14 schrieb Bram Moolenaar:

! <  *globpath()*
   globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
Perform glob() on all directories in {path} and concatenate
the results.  Example: >
***
*** 5696,5701 
--- 5722,5731 
   < Upwards search and limiting the depth of "**" is not
supported, thus using 'path' will not always work properly.

+   Can also be used as a|method|, the base is passed as the
+   second argument: >
+   GetExpr()->globpath(&rtp)


You think, to be consistent with glob(), the base must be passed as the *second*
argument?  I wonder what your reason is here, it's quite unexpected.

--
Andy

--
--
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/5D6AB369.5020204%40yahoo.de.


Patch 8.1.1952

2019-08-31 Fir de Conversatie Bram Moolenaar


Patch 8.1.1952
Problem:More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
Files:  runtime/doc/eval.txt, src/evalfunc.c,
src/testdir/test_tagjump.vim, src/testdir/test_bufwintabinfo.vim,
src/testdir/test_terminal.vim, src/testdir/test_getvar.vim,
src/testdir/test_escaped_glob.vim,
src/testdir/test_glob2regpat.vim,


*** ../vim-8.1.1951/runtime/doc/eval.txt2019-08-24 22:58:08.307264136 
+0200
--- runtime/doc/eval.txt2019-08-31 19:06:15.291091331 +0200
***
*** 40,46 
  
  1.1 Variable types ~
*E712* *E896* *E897* *E899*
! There are nine types of variables:
  
  NumberA 32 or 64 bit signed number.  |expr-number| *Number*
64-bit Numbers are available only when compiled with the
--- 40,46 
  
  1.1 Variable types ~
*E712* *E896* *E897* *E899*
! There are ten types of variables:
  
  NumberA 32 or 64 bit signed number.  |expr-number| *Number*
64-bit Numbers are available only when compiled with the
***
*** 5509,5515 
gettabwinvar({tabnr}, {winnr}, '&')
  
  < Can also be used as a |method|: >
!   GetTabnr()->gettabvar(winnr, varname)
  
  gettagstack([{nr}])   *gettagstack()*
The result is a Dict, which is the tag stack of window {nr}.
--- 5517,5523 
gettabwinvar({tabnr}, {winnr}, '&')
  
  < Can also be used as a |method|: >
!   GetTabnr()->gettabwinvar(winnr, varname)
  
  gettagstack([{nr}])   *gettagstack()*
The result is a Dict, which is the tag stack of window {nr}.
***
*** 5539,5544 
--- 5547, 
  
See |tagstack| for more information about the tag stack.
  
+   Can also be used as a |method|: >
+   GetWinnr()->gettagstack()
+ 
  getwininfo([{winid}]) *getwininfo()*
Returns information about windows as a List with Dictionaries.
  
***
*** 5573,5578 
--- 5584,5592 
winrow  topmost screen column of the window,
row from |win_screenpos()|
  
+   Can also be used as a |method|: >
+   GetWinnr()->getwininfo()
+ 
  getwinpos([{timeout}])*getwinpos()*
The result is a list with two numbers, the result of
getwinposx() and getwinposy() combined:
***
*** 5592,5597 
--- 5606,5615 
  " Do some work here
endwhile
  <
+ 
+   Can also be used as a |method|: >
+   GetTimeout()->getwinpos()
+ <
*getwinposx()*
  getwinposx()  The result is a Number, which is the X coordinate in pixels of
the left hand side of the GUI Vim window. Also works for an
***
*** 5611,5616 
--- 5629,5637 
Examples: >
:let list_is_on = getwinvar(2, '&list')
:echo "myvar = " . getwinvar(1, 'myvar')
+ 
+ < Can also be used as a |method|: >
+   GetWinnr()->getwinvar(varname)
  <
  glob({expr} [, {nosuf} [, {list} [, {alllinks}]]])*glob()*
Expand the file wildcards in {expr}.  See |wildcards| for the
***
*** 5648,5653 
--- 5669,5677 
See |expand()| for expanding special Vim variables.  See
|system()| for getting the raw output of an external command.
  
+   Can also be used as a |method|: >
+   GetExpr()->glob()
+ 
  glob2regpat({expr})*glob2regpat()*
Convert a file pattern, as used by glob(), into a search
pattern.  The result can be used to match with a string that
***
*** 5660,5666 
Note that the result depends on the system.  On MS-Windows
a backslash usually means a path separator.
  
!   *globpath()*
  globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
Perform glob() on all directories in {path} and concatenate
the results.  Example: >
--- 5684,5692 
Note that the result depends on the system.  On MS-Windows
a backslash usually means a path separator.
  
!   Can also be used as a |method|: >
!   GetExpr()->glob2regpat()
! <   

Re: Popup windows mostly done

2019-08-31 Fir de Conversatie Bram Moolenaar


Dominique wrote:

> Bram Moolenaar wrote:
> 
> > The popup window feature has been implemented.  Only a few minor things
> > remain.
> >
> > So this is a good time to try out popup windows, find any problems and
> > missing features.  The best way is to try implementing what you want do
> > do with popup windows.
> >
> > Please read the help at ":help popup" and check it out.
> 
> Some doc corrections attached.

Thanks!

-- 
hundred-and-one symptoms of being an internet addict:
150. You find yourself counting emoticons to get to sleep.

 /// 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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201908311611.x7VGBPgm021168%40masaka.moolenaar.net.


Patch 8.1.1951

2019-08-31 Fir de Conversatie Bram Moolenaar


Patch 8.1.1951
Problem:Mouse double click test is a bit flaky.
Solution:   Add to list of flaky tests.  Update a couple of comments.
Files:  src/testdir/runtest.vim, src/testdir/shared.vim,
src/testdir/test_substitute.vim


*** ../vim-8.1.1950/src/testdir/runtest.vim 2019-08-16 21:47:23.870692859 
+0200
--- src/testdir/runtest.vim 2019-08-17 18:23:59.015344844 +0200
***
*** 333,338 
--- 333,339 
\ 'Test_raw_one_time_callback()',
\ 'Test_reltime()',
\ 'Test_server_crash()',
+   \ 'Test_term_mouse_double_click_to_create_tab',
\ 'Test_terminal_ansicolors_default()',
\ 'Test_terminal_ansicolors_func()',
\ 'Test_terminal_ansicolors_global()',
*** ../vim-8.1.1950/src/testdir/shared.vim  2019-08-12 14:20:30.075043332 
+0200
--- src/testdir/shared.vim  2019-08-14 20:46:34.092342081 +0200
***
*** 272,278 
return cmd
  endfunc
  
! " Get the command to run Vim, with --clean.
  func GetVimCommandClean()
let cmd = GetVimCommand()
let cmd = substitute(cmd, '-u NONE', '--clean', '')
--- 272,278 
return cmd
  endfunc
  
! " Get the command to run Vim, with --clean instead of "-u NONE".
  func GetVimCommandClean()
let cmd = GetVimCommand()
let cmd = substitute(cmd, '-u NONE', '--clean', '')
*** ../vim-8.1.1950/src/testdir/test_substitute.vim 2019-05-20 
20:34:48.347791448 +0200
--- src/testdir/test_substitute.vim 2019-08-08 22:29:03.897572823 +0200
***
*** 504,510 
call Run_SubCmd_Tests(tests)
  endfunc
  
! " Test for submatch() on :substitue.
  func Test_sub_cmd_4()
set magic&
set cpo&
--- 504,510 
call Run_SubCmd_Tests(tests)
  endfunc
  
! " Test for submatch() on :substitute.
  func Test_sub_cmd_4()
set magic&
set cpo&
*** ../vim-8.1.1950/src/version.c   2019-08-31 15:27:59.005773198 +0200
--- src/version.c   2019-08-31 17:47:57.413276190 +0200
***
*** 763,764 
--- 763,766 
  {   /* Add new patch number below this line */
+ /**/
+ 1951,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
149. You find your computer sexier than your girlfriend

 /// 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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201908311548.x7VFmnfF016907%40masaka.moolenaar.net.


Re: Popup windows mostly done

2019-08-31 Fir de Conversatie Dominique Pellé
Bram Moolenaar wrote:

> The popup window feature has been implemented.  Only a few minor things
> remain.
>
> So this is a good time to try out popup windows, find any problems and
> missing features.  The best way is to try implementing what you want do
> do with popup windows.
>
> Please read the help at ":help popup" and check it out.

Some doc corrections attached.

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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/CAON-T_gOFrP5G%3D0u2axURmUQ05qF5NR_JhYpS%3DvaXAHcjQgHJA%40mail.gmail.com.
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index 0a464103c..d3a0fb351 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -442,7 +442,7 @@ popup_notification({what}, {options})			 *popup_notification()*
 <		The PopupNotification highlight group is used instead of
 		WarningMsg if it is defined.
 
-		Without the |+timers| feature the poup will not disappear
+		Without the |+timers| feature the popup will not disappear
 		automatically, the user has to click in it.
 
 		The position will be adjusted to avoid overlap with other
@@ -486,7 +486,7 @@ popup_setoptions({id}, {options})			*popup_setoptions()*
 		"tabpage" cannot be changed.
 
 popup_settext({id}, {text})*popup_settext()*
-		Set the text of the buffer in poup win {id}. {text} is the
+		Set the text of the buffer in popup win {id}. {text} is the
 		same as supplied to |popup_create()|, except that a buffer
 		number is not allowed.
 		Does not change the window size or position, other than caused
@@ -583,13 +583,13 @@ The second argument of |popup_create()| is a dictionary with options:
 			start and end as padding.
 	wrap		TRUE to make the lines wrap (default TRUE).
 	drag		TRUE to allow the popup to be dragged with the mouse
-			by grabbing at at the border.  Has no effect if the
+			by grabbing at the border.  Has no effect if the
 			popup does not have a border. As soon as dragging
 			starts and "pos" is "center" it is changed to
 			"topleft".
 	resize		TRUE to allow the popup to be resized with the mouse
-			by grabbing at at the bottom right cornder.  Has no
-			effect if the popup does not have a border.
+			by grabbing at the bottom right corner.  Has no effect
+			if the popup does not have a border.
 	close		When "button" an X is displayed in the top-right, on
 			top of any border, padding or text.  When clicked on
 			the X the popup will close.  Any callback is invoked
@@ -941,7 +941,7 @@ this example simulated with a timer callback: >
 	call popup_close(s:winid)
 	let s:winid = 0
 	  endif
-	  " simulate an asynchronous loopup for the text to display
+	  " simulate an asynchronous lookup for the text to display
 	  let s:balloonText = v:beval_text
 	  call timer_start(100, 'ShowPopup')
 	  return ''


Popup windows mostly done

2019-08-31 Fir de Conversatie Bram Moolenaar


The popup window feature has been implemented.  Only a few minor things
remain.

So this is a good time to try out popup windows, find any problems and
missing features.  The best way is to try implementing what you want do
do with popup windows.

Please read the help at ":help popup" and check it out.

-- 
hundred-and-one symptoms of being an internet addict:
148. You find it easier to dial-up the National Weather Service
 Weather/your_town/now.html than to simply look out the window.

 /// 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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201908311412.x7VECOYq028445%40masaka.moolenaar.net.


Re: new source files doesn't work well with shadow directories

2019-08-31 Fir de Conversatie Tony Mechelynck
On Sat, Aug 31, 2019 at 3:29 PM Bram Moolenaar  wrote:
>
>
> Tony Wrote:
>
> > I'm attaching a proposed patch. I wrote the recipe as "@test -e ./$@
> > || ln -sv ../$@" rather than just the ln command to make 100% sure it
> > doesn't try to recreate an existing link. AFAICT it works for me. I
> > don't know why it rebuilds auto/pathdef.c, objects/pathdef.o and
> > objects/version.o even though they aren't supposed to have changed.
>
> As I mentioned before: wildcards in the target won't work with all make
> programs.  And also they usually only expand to existing files, not
> missing files.  BSD make mentions this explicitly:
>
>  Targets and sources may contain the shell wildcard values `?', `*', `[]',
>  and `{}'.  The values `?', `*', and `[]' may only be used as part of the
>  final component of the target or source, and must be used to describe ex-
>  isting files.
>
Ah, I didn't notice that.

Best regards,
Tony.

-- 
-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/CAJkCKXs1r59vCP3YTSSF4nWZ-eDOu4O3kvCtKQ9A90WE3Ze5-g%40mail.gmail.com.


Re: new source files doesn't work well with shadow directories

2019-08-31 Fir de Conversatie Bram Moolenaar


Tony Wrote:

> I'm attaching a proposed patch. I wrote the recipe as "@test -e ./$@
> || ln -sv ../$@" rather than just the ln command to make 100% sure it
> doesn't try to recreate an existing link. AFAICT it works for me. I
> don't know why it rebuilds auto/pathdef.c, objects/pathdef.o and
> objects/version.o even though they aren't supposed to have changed.

As I mentioned before: wildcards in the target won't work with all make
programs.  And also they usually only expand to existing files, not
missing files.  BSD make mentions this explicitly:

 Targets and sources may contain the shell wildcard values `?', `*', `[]',
 and `{}'.  The values `?', `*', and `[]' may only be used as part of the
 final component of the target or source, and must be used to describe ex-
 isting files.

-- 
hundred-and-one symptoms of being an internet addict:
146. You experience ACTUAL physical withdrawal symptoms when away
 from your 'puter and the net.

 /// 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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201908311329.x7VDTP94017449%40masaka.moolenaar.net.


Patch 8.1.1950

2019-08-31 Fir de Conversatie Bram Moolenaar


Patch 8.1.1950
Problem:Using NULL pointer after an out-of-memory.
Solution:   Check for NULL pointer. (Dominique Pelle, closes #4881)
Files:  src/syntax.c


*** ../vim-8.1.1949/src/syntax.c2019-08-18 22:25:54.665447991 +0200
--- src/syntax.c2019-08-31 15:27:26.322037926 +0200
***
*** 5222,5228 
  for (item = ITEM_START; item <= ITEM_END; ++item)
for (ppp = pat_ptrs[item]; ppp != NULL; ppp = ppp_next)
{
!   if (!success)
{
vim_regfree(ppp->pp_synp->sp_prog);
vim_free(ppp->pp_synp->sp_pattern);
--- 5222,5228 
  for (item = ITEM_START; item <= ITEM_END; ++item)
for (ppp = pat_ptrs[item]; ppp != NULL; ppp = ppp_next)
{
!   if (!success && ppp->pp_synp != NULL)
{
vim_regfree(ppp->pp_synp->sp_prog);
vim_free(ppp->pp_synp->sp_pattern);
*** ../vim-8.1.1949/src/version.c   2019-08-30 22:07:55.950547106 +0200
--- src/version.c   2019-08-31 15:25:43.146884634 +0200
***
*** 763,764 
--- 763,766 
  {   /* Add new patch number below this line */
+ /**/
+ 1950,
  /**/

-- 
We are the Borg of GNU GPL.  We will assimilate your source code.
Resistance is futile.

 /// 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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201908311329.x7VDTOiQ017443%40masaka.moolenaar.net.