Roy Ivy III
c015f15d8d
make.bat: fix use of make.bat
from v up
( #16348 )
...
* .editorconfig: fix EOL for BAT files
* make.bat: fix use of `make.bat` from `v up`
- use move semantics, instead of replace, for `v` executable updates
- fixes [#16184 ](https://github.com/vlang/v/issues/16184 )
# [why]
`v up` updates the executable by directly calling `make.bat`, awaiting
the result, which keeps an open file handle to it's own executable file.
`make.bat` compiles and, crucially, attempts to directly replace that
`v` executable. But, in WinOS, files with open file handles cannot be
deleted/replaced, so the `make` then fails. The other key point is that,
although WinOS files with open file handles can't be deleted/replaced,
they _can be moved/renamed_.
Thus, the technique that most self-updating WinOS executables use is to
move the current executable to some alternate name (ie, *v_old.exe*) and
then move the newly updated executable to the original location (ie,
*v.exe*). The next invocation of the "original" executable will then run
the updated version.
Note, this technique also works correctly for direct invocations of `make.bat`.
2022-11-07 08:48:08 +02:00
pancake
407bb6641f
cgen: fix #16326 -cstrict
with $embed_file
( #16343 )
2022-11-06 15:47:06 +02:00
Delyan Angelov
5638005b17
README: fix Termux instructions (add libexecinfo too)
2022-11-06 15:09:29 +02:00
Delyan Angelov
040bcd9141
README: add a section to clarify the installation process on Termux
2022-11-06 15:04:37 +02:00
yuyi
25b8ae2189
parser: minor cleanup in comptime.v ( #16338 )
2022-11-06 08:23:28 +03:00
pancake
e3fed4c3eb
v.pkgconfig: fix infinite recursion bug when parsing dependencies ( #16342 )
2022-11-06 08:22:50 +03:00
Swastik Baranwal
ca484430e0
checker: check int overflow for const vars ( #16332 )
2022-11-06 08:22:28 +03:00
yuyi
d701cf561c
scanner: fix new string interpolation: print('{n:10}') ( fix #16321 ) ( #16325 )
2022-11-06 08:20:21 +03:00
Delyan Angelov
056f1b7c06
parser: improve error message for fn (a Foo<Foo<T>>) baz(){}
2022-11-05 19:58:22 +02:00
Delyan Angelov
27d8f2371d
ci: fix go->spawn in the examples in vlib/context/README.md too
2022-11-05 14:02:24 +02:00
Delyan Angelov
bf00e9bdb8
tests: fix vlib/v/fmt/tests/*_expected.vv files too
2022-11-05 11:30:49 +02:00
Alexander Medvednikov
02acb8433c
tests: fix keep tests with spawn
2022-11-05 12:13:20 +03:00
Delyan Angelov
9f2ab9aad6
ci: fix long line in doc/docs.md
2022-11-05 10:57:13 +02:00
Delyan Angelov
3e02f3b2b1
docs: put the short installation instructions directly in doc/docs.md too
2022-11-05 10:54:26 +02:00
Alexander Medvednikov
5b44da5ddb
doc: replace go
with spawn
2022-11-05 10:50:37 +03:00
Alexander Medvednikov
e81e0ac708
fmt: replace go
with spawn
2022-11-05 10:46:40 +03:00
Alexander Medvednikov
a082328e40
parser: make spawn
behave like go
2022-11-05 10:41:30 +03:00
Alexander Medvednikov
141c404d45
all: new keyword "spawn"
2022-11-05 09:43:38 +03:00
Delyan Angelov
b52b8429d4
vfmt: implement support for // vfmt off and // vfmt on, with it, v fmt -w .
now works. ( #16335 )
2022-11-05 09:08:01 +03:00
yuyi
131d07aede
parser: fix embed file to_string() in if guard ( #16334 )
2022-11-05 09:05:38 +03:00
Ted Stoychev
e1896ffd5b
tutorials: fix a broken link ( #16333 )
2022-11-05 08:13:00 +03:00
Ted Stoychev
5933ab7158
docs: add syntax highlighting to a code snippet in the tutorials ( #16331 )
2022-11-04 17:01:25 +02:00
Delyan Angelov
4cabf709e1
tools: add support for a |``v shared| markdown code tag, for illustrating code examples starting with
module not_main`
2022-11-04 15:35:25 +02:00
Delyan Angelov
2dffb04650
ci: fix formatting of cmd/tools/vtest-cleancode.v
after resolving conflicts
2022-11-04 15:12:46 +02:00
Delyan Angelov
7f91db695c
examples, tests: small formatting cleanup in cube_glsl.v , remove already fixed skips in v test-cleancode
, before // vfmt off
and // vfmt on
2022-11-04 14:48:20 +02:00
kahsa
fa7ff09370
doc: move Struct update syntax
to the Struct section ( #16305 )
2022-11-04 09:01:51 +02:00
kahsa
3061859f25
doc: move the Parameter evaluation order
section before References
( #16306 )
2022-11-04 08:57:40 +02:00
kahsa
cb5c6b605b
doc: fix match heading and add ref field link ( #16316 )
2022-11-04 08:31:24 +02:00
penguindark
eb0c46e13a
regex: fix for last group with OR inside ( #16324 )
2022-11-04 08:19:33 +02:00
yuyi
fd4045931a
scanner: fix the new string interpolation - println('{s == 'hello'}') ( fix #16318 ) ( #16319 )
...
* scanner: fix the new string interpolation - println('{s == 'hello'}')
* fix vlib/v/eval/gen/infix_gen.v
2022-11-03 23:06:11 +02:00
shove
0e8d148fe7
checker: give a checker error message on print(1), print(2)
( fix #16311 ) ( #16314 )
2022-11-03 17:28:59 +02:00
Taegon Kim
962d0babdc
js: fix match true {}
in the js backend ( #16317 )
2022-11-03 17:25:45 +02:00
kahsa
4e02cd8721
doc: move match next to if ( #16304 )
2022-11-03 14:17:02 +02:00
yuyi
a979b3aab8
scanner: fix new string interpolation - print('{a}{{b}}') ( #16309 )
2022-11-03 14:04:41 +02:00
kahsa
9de92eb391
doc: add more links ( #16303 )
2022-11-03 13:36:39 +02:00
kahsa
fa3019195c
doc: improve toc ( #16302 )
2022-11-03 13:34:05 +02:00
shove
fa4a45d37f
all: make fmt support two kinds of interpolation at the same time. ( #16308 )
2022-11-03 13:32:07 +02:00
shove
5c7ceb16dd
checker: fix the check of types not implemented by interfaces in infix key_is and not_is ( fix #16282 #16298 ) ( #16284 )
2022-11-03 12:18:30 +02:00
Taegon Kim
14f90b1196
cgen: fix compile time reflection for method types (.typ was always 0) ( #16310 )
2022-11-03 12:16:01 +02:00
Delyan Angelov
f427a5241a
os,tools: add os.vtmp_dir()
...
Use it to consistently place all temporary files created by tests in a overridable folder specific to the user, that is easy to cleanup later.
NOTE: os.temp_dir() on macos returns `/tmp`, and using `/tmp/v` is a problem when multiple unix users are trying to access/create/write to it.
2022-11-03 10:19:51 +02:00
kahsa
509f5c7db3
doc: fix links to attributes ( #16301 )
2022-11-03 07:02:01 +02:00
kahsa
1ecf7c6e41
doc: fix function heading ( #16307 )
2022-11-03 06:38:07 +02:00
shove
dddcf423db
all: replace x[x.len-1]
with x.last()
( #16296 )
2022-11-02 21:08:33 +02:00
JalonSolov
d11baa691c
v: update the .gitattributes/.gitignore files generated by v init
( #16292 )
2022-11-02 20:41:12 +02:00
Taegon Kim
d4c83f62b2
doc: fix a broken example in json2
's README.md ( #16293 )
2022-11-02 19:29:43 +02:00
shove
5fe4888874
parser: fix raw string as map keys ( fix #16285 ) ( #16289 )
2022-11-02 16:04:22 +02:00
Spydr
075c025999
native: don't generate duplicate strings ( #16281 )
2022-11-02 15:48:25 +02:00
shove
0fa6f60fac
cgen: fix call method with an empty args on an interface with variadic ( fix #16286 ) ( #16290 )
2022-11-02 15:45:39 +02:00
yuyi
4e05e07b94
checker: check undefined ident in closure anon fn ( fix #16274 ) ( #16278 )
2022-11-02 15:41:44 +02:00
kahsa
0510a69bea
doc: categorize the advanced topic section ( #16276 )
2022-11-02 15:33:29 +02:00