Delyan Angelov
1aaac13a60
cgen: make `os` less special, fix an -autofree leak on just `import os`
...
* Improve documentation of v.util.Surrounder
* Remove `os` from the list of "no auto free" `builtin` mods
* Fix -autofree freeing of `const x = []string{}`.
* Add a valgrind regression test.
* Implement os.getenv_opt in vlib/os/environment.js.v too.
2021-11-21 21:50:10 +02:00
Delyan Angelov
24ffc1ffb2
os: fix os.rmdir_all for folders with recursive symlinks
2021-11-20 10:28:12 +02:00
Delyan Angelov
762a7fde2a
os: add os.getenv_opt/1
2021-11-19 17:47:45 +02:00
Delyan Angelov
50a608aab3
os: remove unnecessary heap allocation from os.execute
2021-11-12 11:45:37 +02:00
Delyan Angelov
c6b8b0bb0a
ci: make test_execute in os_test.v more robust
2021-11-12 11:24:37 +02:00
Delyan Angelov
fcecf527ec
ci: fix failing os_test.v on the CI
2021-11-12 10:27:35 +02:00
Delyan Angelov
20d63de136
os: fix os.execute for command output that contains 0 bytes
2021-11-12 09:39:15 +02:00
Delyan Angelov
d1acca3e52
ci: fix `./v -cg -cstrict -o v cmd/v` job failures for clang
2021-10-29 17:21:53 +03:00
Delyan Angelov
71392111f8
ci: fix cross compilation of vc/v.c
2021-10-29 17:12:05 +03:00
Delyan Angelov
b86c79329b
os, builtin: reduce leaks without -autofree
2021-10-29 15:49:30 +03:00
Delyan Angelov
bb71089b70
os: make the os_test.v functions more robust on windows (normalise the returned paths before comparing them)
2021-10-24 19:54:00 +03:00
Delyan Angelov
e99b699ac6
os: make os.mkdir_all more robust (honor / on windows too), add a test for it
2021-10-24 19:16:46 +03:00
Delyan Angelov
f34daf9ff4
os: add os.walk_with_context/3 and a test for it
2021-10-24 19:12:14 +03:00
Delyan Angelov
e34046a0e1
os: remove `pub` from impl_walk_ext
2021-10-24 18:48:54 +03:00
Delyan Angelov
d1c4b470bc
os: make os.ls('') return an error, make os.walk_ext more memory efficient on deep hierarchies, add tests for os.walk_ext
2021-10-24 18:44:13 +03:00
playX
864d6eae6b
js: codegen & vlib fixes, replace the Game of Life CLI example ( #12272 )
2021-10-22 22:03:19 +03:00
Delyan Angelov
eed94c727c
os: move C struct declarations in their own _default.c.v files ( #12268 )
2021-10-22 17:08:08 +03:00
czkz
5607224be6
docs: improve os.ProcessState markdown rendering ( #12245 )
2021-10-21 11:19:01 +03:00
playX
57c79770b3
js: port more methods (os, builtin) ( #12238 )
2021-10-20 16:02:21 +03:00
playX
c1aa782a6c
js,checker: fix some modules build for `v -b js self`, fix `or block` check in ast.CallExpr ( #12231 )
2021-10-19 12:11:54 +03:00
playX
d373eba79b
js: implement more functions for JS backend ( #12167 )
2021-10-13 09:40:14 +03:00
Alexander Ivanov
0386f2bbea
checker: add an interface check for mutability, fixes #1081 , fixes #7038 ( #11963 )
2021-10-11 15:41:31 +03:00
Delyan Angelov
5bc8b4dadb
os: implement support for VOPEN_URI_CMD env override for os.open_uri
2021-10-06 06:33:04 +03:00
Delyan Angelov
514443a019
ci: comment out a failing assert in the tests for `os.notify`
2021-10-05 16:01:54 +03:00
Delyan Angelov
eef8017281
ci: reduce flakyness of notify_test.v, by re-trying it 3 times
2021-10-05 15:50:38 +03:00
Delyan Angelov
bfb8116623
ci: let process_test.v repeatedly fail 3 times, before consider it failed
2021-10-03 20:26:38 +03:00
Larpon
b62520af9e
os: fix rare crash in read_file. Fix #12052 ( #12053 )
2021-10-03 18:24:06 +03:00
Nicolas Sauzede
117091452b
os: workaround `_ = C.pipe(&pipeset[0])` gcc warning `warning: ignoring return value of pipe declared with attribute warn_unused_result` ( #12046 )
2021-10-03 08:09:08 +03:00
Delyan Angelov
7bd145d88a
os,net: cleanup deprecated @VROOT usages
2021-09-19 16:24:24 +03:00
Delyan Angelov
eec930b86a
os: turn some panics into `return error()`
2021-09-18 10:45:04 +03:00
czkz
816c6c62b5
os: fix documentation typo in args.v ( #11526 )
2021-09-17 20:55:16 +03:00
playX
c175b4fd48
v.gen.js: refactor code, fix alias codegen, `-stats` now again works with tests on the JS backend ( #11512 )
2021-09-16 14:00:15 +03:00
Enzo
e57b068df0
os: add `open_uri/1`, use it in `v bug` ( #11450 )
2021-09-09 10:48:53 +03:00
playX
72089c4feb
js: use prefixed names for functions and global symbols ( #11387 )
2021-09-08 20:30:46 +03:00
yuyi
e5360e164a
fmt: remove unnecessary parentheses after `return` ( fix #11423 ) ( #11435 )
2021-09-08 14:19:53 +03:00
Enzo
e3b65092d6
parser: deprecate `size_t` ( #11443 )
2021-09-08 13:09:32 +03:00
Delyan Angelov
166dd61e90
Revert "Revert "term: obtain the cursor position via termios.h ( #11372 )""
...
This reverts commit 0376cbf6bd
.
2021-09-06 19:04:14 +03:00
Alexander Medvednikov
0376cbf6bd
Revert "term: obtain the cursor position via termios.h ( #11372 )"
...
This reverts commit af28d09630
.
2021-09-06 18:21:55 +03:00
AAAA
af28d09630
term: obtain the cursor position via termios.h ( #11372 )
2021-09-06 17:24:39 +03:00
Larpon
bd33eaa3b8
os: add function to expand "~" to home directory ( #11362 )
2021-09-01 16:32:28 +03:00
Alexander Medvednikov
cf4081e2dd
all: more chdir/chmod fixes
2021-08-28 12:52:48 +03:00
Alexander Medvednikov
f731060caf
all: update chmod/chdir usages
2021-08-28 10:23:01 +03:00
Alexander Medvednikov
853d3cb83e
os: make chmod() return error
2021-08-28 09:37:24 +03:00
Alexander Medvednikov
858ba25d55
os: make chdir() return error
2021-08-28 09:35:39 +03:00
playX
bdf11d969a
js: add basic support for running tests, fix string.replace_each ( #11314 )
2021-08-26 15:20:54 +03:00
Delyan Angelov
db194abeac
os: merge os.c.v and os_c.c.v
2021-08-26 10:01:55 +03:00
playX
109d5d5847
js: `os` now compiles to the JS backend, more builtins & minor codegen fixes ( #11302 )
2021-08-25 14:40:53 +03:00
playX
d78e7e3b2b
js: codegen fixes, W.I.P `os` availability for JS backend ( #11281 )
2021-08-23 14:25:02 +03:00
div72
2bf1015ae1
os: add File.read_into_ptr ( #11219 )
2021-08-18 17:08:41 +03:00
pancake
90b25e7a4b
os: filesystem level locking api ( #11191 )
2021-08-17 08:21:33 +03:00
Delyan Angelov
8fbd8f790d
os: cleanup for -Wimpure-v
2021-08-12 21:53:29 +03:00
Enzo
506c30a291
builtin: remove methods that can be autogenerated ( #11109 )
2021-08-09 15:42:31 +03:00
Delyan Angelov
efa8dcf4d2
time: turn Time.unix to i64, so it can represent times before 1970-01-01, fix time operators, add more tests ( #11050 )
2021-08-04 13:12:02 +03:00
pancake
00d4c7082e
native: add support for print, eprint and eprintln ( #11034 )
2021-08-03 16:04:31 +03:00
Delyan Angelov
d82d41d804
os: fix os.dir, os.base, os.file_name, when the argument contains / on windows
2021-07-31 13:52:54 +03:00
Delyan Angelov
44892fd942
os: let `os.dir("/xyz")` return "/" (fixes compiling .v files in /)
2021-07-30 03:28:53 +03:00
Delyan Angelov
8eb544146e
os: fix building V on Haiku
2021-07-27 20:28:04 +03:00
Delyan Angelov
44828cbb29
ci: fix -cstrict job
2021-07-22 18:47:23 +03:00
Delyan Angelov
b537c9f624
tests: add a separate File.tell() test
2021-07-22 16:25:23 +03:00
Delyan Angelov
c4da74dbf6
ci: fix building V on windows with tcc (regression since d7dcb47
)
2021-07-22 14:50:22 +03:00
Delyan Angelov
9171c1131e
ci: skip a failing f.tell() test on macos only
2021-07-22 13:28:00 +03:00
Delyan Angelov
ec585b4a54
os: fix sporadic failing glob_test.v
2021-07-22 13:26:23 +03:00
Bastian Buck
8f3646cb81
os: fix debugger_present for solaris ( #10902 )
...
-solaris has no `sys/ptrace.h`, instead `ptrace` is included in `sys/types.h` and `unistd.h`
2021-07-22 10:44:00 +03:00
Delyan Angelov
d7dcb47db3
os: implement File.seek/2 and File.tell/0
2021-07-22 08:00:21 +03:00
Delyan Angelov
5098334e65
os: add execute_or_exit(cmd), use it consistently instead of execute_or_panic(cmd)
2021-07-20 15:22:04 +03:00
Delyan Angelov
1bf6743987
vinix: support -os vinix (part 2)
2021-07-13 11:41:45 +03:00
pancake
fe65cde03b
tools: use os.symlink instead of system('ln -s') in `v symlink` ( #10769 )
2021-07-12 14:23:25 +03:00
waspoza
075e09b10e
os: fix a file descriptor leak in os.read_bytes() ( #10723 )
2021-07-09 23:49:46 +03:00
pancake
47bf64473c
vlib: reimplement glob in V for UNIX to not depend on libc ( #10707 )
2021-07-09 03:27:16 +03:00
Delyan Angelov
7b4c342396
os: disable os.glob() on Android for now (fixes termux compilation)
2021-07-08 00:00:40 +03:00
yuyi
c4b5805890
checker: check generic method call args mismatch ( #10669 )
2021-07-05 10:14:00 +03:00
Delyan Angelov
972542d6ee
checker: `[noreturn]` part 2 (cleanup) ( #10667 )
2021-07-05 05:05:37 +03:00
shadowninja55
da9c75f2ca
checker: string != IError ( #10665 )
2021-07-05 05:05:08 +03:00
Daniel Däschle
3881e97a40
vlib: remove ustring usage ( #10618 )
2021-06-30 22:30:28 +03:00
Bastian Buck
8cc49b5e9e
os: add utime() ( #9796 )
2021-06-30 10:21:23 +03:00
Bastian Buck
d2f19ac494
os: add a glob() function ( #10497 )
2021-06-30 08:30:18 +03:00
Bastian Buck
97b83a4986
os: add debugger_present() for linux ( #10257 )
2021-06-29 15:00:48 +03:00
Delyan Angelov
6890756cd2
os: cleanup of old deprecated functions. Add File.write_full_buffer/2; use it in os.write_file/2
2021-06-25 22:51:59 +03:00
Uwe Krüger
72358833e0
time: use `Duration(C.INT64_MAX)` as infinite ( #10539 )
2021-06-22 12:17:44 +03:00
Bastian Buck
1e9e717111
os: fix using Win32-API with TCC32 ( #10496 )
2021-06-21 14:14:58 +03:00
Bastian Buck
acf9d168cb
os: fix some C compiler warnings for windows ( #10506 )
2021-06-18 20:07:25 +03:00
Delyan Angelov
b7fea87d07
os: fix normalize_drive_letter (used by os.real_path) returning a parameter
2021-06-18 13:06:52 +03:00
Miccah
a0b7e1a0ca
os/notify: make epoll wrapper thread safe ( #10473 )
2021-06-16 04:03:33 +03:00
Uwe Krüger
60c880a0cc
vlib: use `malloc_noscan()` where possible ( #10465 )
2021-06-15 14:47:11 +03:00
Delyan Angelov
48b3ab831b
ci: fix failing test test_realpath_existing for os.real_path on macos
2021-06-15 14:13:12 +03:00
Delyan Angelov
0c922f5570
ci: fix the failing os.real_path tests on windows
2021-06-15 13:34:28 +03:00
Delyan Angelov
51596da314
os: fix returning parameter in [manualfree]os.real_path(fpath), when fpath==""
2021-06-15 13:10:41 +03:00
Miccah
e328b1d292
os: create epoll wrapper ( #10404 )
2021-06-15 04:44:31 +03:00
Emily Hudson
535dcac8fa
net: ipv6 support, merge unix+ip;[pack:x] attribute ( #9904 )
2021-06-13 23:53:38 +03:00
Andreas Heissenberger
96c8d147b2
v.gen.js: add source map creation support (inline only, no src) ( #10384 )
2021-06-10 08:33:46 +03:00
Delyan Angelov
95cf120e2e
ci: fix linux-cross job; os.real_path cleanup
2021-06-08 18:34:15 +03:00
Delyan Angelov
d820f2da6f
os: use arr.trim() in read_bytes, instead of a arr[0..x].clone()
2021-06-08 17:24:07 +03:00
Delyan Angelov
4772146a7e
tests: fix failing tests on M1
2021-06-07 18:23:18 +03:00
Bastian Buck
d6e462a6ca
os: fix os.is_link and os.symlink on windows, add new functions os.getppid, os.getgid, os.getegid ( #10251 )
2021-05-29 23:26:13 +03:00
Uwe Krüger
2d8a136d6e
os: fix file read ( #10247 )
2021-05-29 16:53:42 +03:00
Delyan Angelov
bf97faf32a
os: simplify os.read_bytes_into_newline to fix compilation on freebsd
2021-05-22 07:48:12 +03:00
Delyan Angelov
b7bf4b034e
os: use stricter declarations for C.getc/1, C.fseeko/3 and C._fseeki64/3
2021-05-22 07:45:00 +03:00
Sebastian Schicho
04ea2824d3
os: implement File.read_bytes_into_newline method for reading into a buffer, line by line ( #10129 )
2021-05-21 13:18:08 +03:00
Alexander Medvednikov
f09a5135e9
checker: handle builtin enum init correctly
2021-05-20 03:14:32 +03:00
Delyan Angelov
453fb1b08b
term.ui: use os.signal_opt instead of os.signal
2021-05-18 11:59:57 +03:00