Commit Graph

520 Commits (d180324413b2e2bef98ba6fc97ad075688f83398)

Author SHA1 Message Date
Alexander Medvednikov ef2ab31e88 sql: only accept strings and ints for now 2019-08-12 21:07:03 +03:00
Alexander Medvednikov 15a42f1f35 array.clone() 2019-08-12 14:41:40 +03:00
joe-conigliaro 8a2714b35a fix typo 2019-08-12 11:03:49 +03:00
Henrixounez 872aa536d8 compiler: unsigned number properly printed and converted to string
fix: array accessing now works with unsigned numbers
2019-08-12 09:15:53 +03:00
Alexander Medvednikov 8c3475b902 generate `.str()` for all arrays 2019-08-11 22:39:45 +03:00
Nick Treleaven ea30ba4555 map: remove temporary fields _keys, key_i 2019-08-11 19:43:21 +02:00
Carlos Esquerdo Bernat d526cfc205 vweb: fix V panic: array index out of range: 1/0 2019-08-11 14:07:22 +02:00
Delyan Angelov 2197c210e7 http: remove superfluous new line in stdout, when making a http request. 2019-08-11 13:15:29 +02:00
Alexander Medvednikov 8f8e0dfad7 V ORM 2019-08-10 13:35:29 +02:00
iRedMail 5a76255297 Allow extra http methods with form: PUT, PATCH
- Allow extra http methods with form: PUT, PATCH
- Rename `post_form` to `form`
2019-08-10 11:44:54 +02:00
Julian Schurhammer 1864e92ff4 parser: disallow statements after a return, branch check $if, $else, switch, and loops correctly 2019-08-10 10:26:42 +02:00
joe-conigliaro a0b59783a2 vlib.http: fix http schannel & follow redirects & cleanup 2019-08-10 10:05:59 +02:00
Alexander Medvednikov 5a80d587d5 makefile: use latest v.c 2019-08-10 08:21:32 +02:00
Alexander Medvednikov d4441e4353 freetype: clean up new_context() 2019-08-10 07:13:25 +02:00
Delyan Angelov 7d8b296943 freetype,gg: option to pass a custom font_path to freetype.new_context . 2019-08-10 00:10:26 +02:00
Vitaly Takmazov 6f03ed0b13 darwin: fix freetype include path for Homebrew and Macports 2019-08-10 00:09:15 +02:00
Nicolas Sauzede efa540e883 examples: tetris: draw score 2019-08-09 13:03:29 +02:00
joe-conigliaro d9a83481a5 http: initial windows schannel http support 2019-08-09 12:52:14 +02:00
Alexander Medvednikov 181a39d752 fix int_test.v 2019-08-09 10:21:21 +02:00
Alexander Medvednikov ae0e3efb8e scanner: experimental ≠ etc support 2019-08-09 09:32:51 +02:00
Alexander Medvednikov fbc480fbed ft: rename to freetype 2019-08-08 16:43:11 +02:00
Alexander Medvednikov 865eee2f6b gg: remove draw_text() 2019-08-08 16:09:04 +02:00
Alexander Medvednikov 27fad0f19b ft: clean up 2019-08-08 10:08:44 +02:00
Julian Schurhammer 61983a6799 parser: check that functions return in all if/else branches 2019-08-08 09:49:56 +02:00
Julian Schurhammer 28147c0930 os.exec: return ?string instead of string 2019-08-08 07:30:05 +02:00
dm1try 1c38661ff7 openssl: add Brew openssl path
closes #1509
2019-08-08 06:26:28 +02:00
Emily Hudson 802ff1d012 compiler: scoped defer + build tests with msvc 2019-08-07 17:51:21 +02:00
Marco Böttcher c924a6cf00 flag: allow to define flags with abbreviation
* flag: allow to check the count of the free args to produce an error

* flag: allow to define flags with abbreviation

flags could be defined to use a single char as abbreviation like
'--output' or '-o'
'--help' or '-h'
2019-08-07 16:52:10 +02:00
Alexander Medvednikov 4b69d43f9f fix examples 2019-08-07 14:16:10 +02:00
Alexander Medvednikov b5d67f226f openssl: use system headers on non-Windows systems 2019-08-07 14:09:15 +02:00
Joe Conigliaro 25d84f72a9 last mut fixes 2019-08-07 14:07:37 +02:00
Alexander Medvednikov cebb6cd537 ft: minor fixes 2019-08-07 13:39:54 +02:00
Alexander Medvednikov ff6e0df0a5 array: minor fixes 2019-08-07 13:39:54 +02:00
joe-conigliaro 511a3d3901 vlib.crypto+other: fix mut args 2019-08-07 13:37:07 +02:00
Alexander Medvednikov 818c4a14e5 compiler: fix a bug with mutable array args 2019-08-07 12:36:45 +02:00
joe-conigliaro 0bcc53c366 vlib: fix mutable args 2019-08-07 09:53:33 +02:00
Alexander Medvednikov 34e0b164eb make function arguments immutable by default 2019-08-07 08:59:00 +02:00
Cody Ley-Han 06b8bd9382 Add a logger interface to the std modules 2019-08-07 08:06:53 +02:00
Alexander Medvednikov 52f473d1c7 all: fix immutable fn args 2019-08-07 05:28:00 +02:00
Vitaly Takmazov 8d35649d90 openssl_backend: add MacPorts libssl path 2019-08-07 04:28:15 +02:00
Delyan Angelov 7607b00952 http: chunked decoding support 2019-08-07 03:57:47 +02:00
Alexander Medvednikov 6bde860043 http test: not today 2019-08-06 17:31:48 +02:00
Alexander Medvednikov ac335269b3 bring back the http test 2019-08-06 17:06:44 +02:00
Alexander Medvednikov b7a6c761b3 openssl: make compile on Linux 2019-08-06 16:35:49 +02:00
joe-conigliaro 60d206c29d http: use urllib.parse 2019-08-06 14:43:09 +02:00
Alexander Medvednikov 1b2e49be1c http: disable the test until windows is fixed 2019-08-06 14:28:27 +02:00
Alexander Medvednikov 3316968266 http: only run the get test on linux/macos for now 2019-08-06 14:15:42 +02:00
Alexander Medvednikov 8b75f2125a http: init_module() to init openssl once 2019-08-06 14:03:01 +02:00
Alexander Medvednikov eece058f18 h1 2019-08-06 14:03:01 +02:00
Alexander Medvednikov bea8f6d7e5 http: remove libcurl dependency; replace it with a simple OpenSSL backend 2019-08-06 13:32:09 +02:00
joe-conigliaro 69932758db net.urllib: update enum / const style 2019-08-06 13:01:05 +02:00
Alexander Medvednikov 7a7b5040e2 http: fix response headers and status code; clean up ft and gg 2019-08-06 03:06:27 +02:00
Marco Böttcher ff730b4eb0 flag: allow to check the count of the free args to produce an error 2019-08-06 01:56:42 +02:00
Vitaly Takmazov 43b81688f6 socket: WSACleanup should not be called on socket close 2019-08-06 01:50:45 +02:00
unknown-v 22eaceb17c http_win: set status_code ,remove unused var 2019-08-05 09:59:07 +02:00
Joe Conigliaro 2fab73983b add builtin import pass + use builder in map 2019-08-05 06:01:53 +02:00
Alexander Medvednikov 5ed338dc2e bring back map.str() 2019-08-05 04:34:12 +02:00
Alexander Medvednikov 8d3617b3de fix fn_test.v and urllib.v 2019-08-05 03:31:22 +02:00
Alexander Medvednikov 350e13679c force `()` in complex bool expressions: `(a && b) || c` instead of `a && b || c` 2019-08-05 03:22:28 +02:00
Alexander Medvednikov 4bc1f73fd0 fix gg.v 2019-08-04 09:46:49 +02:00
Alexander Medvednikov ee437de8d3 type name check fixes 2019-08-04 09:38:46 +02:00
Alexander Medvednikov 8bce5cb810 force snake_case in struct fields 2019-08-04 09:18:16 +02:00
Alexander Medvednikov 576192949d fixed size array with const size: `numbers := [N]int` 2019-08-04 04:11:16 +02:00
Nicolas Sauzede f306fbb2f0 net connect: fix error/return type 2019-08-04 01:46:55 +02:00
Alexander Medvednikov 43fb954234 os: fix executable on FreeBSD and older C compilers 2019-08-04 00:16:37 +02:00
Alexander Medvednikov 9eb385d9ee Revert "remove pg from vlib"
This reverts commit 15c5f671f0.
2019-08-04 00:11:56 +02:00
Alvydas Vitkauskas 331d6f98ee string: fix bug and add tests for string.count 2019-08-03 22:24:03 +02:00
Delyan Angelov 93d27b0b9f vweb assets: the assets cache files are now immutable after creation. (#1454) 2019-08-03 22:16:26 +10:00
joe-conigliaro 45e76609b0
vweb.assets: adds AssetManager for combining/minifying/caching css & js assets (#1452)
* start

* more work

* more

* more work

* update comments

* add back mut

* make minify faster

* add mut

* revert option size

* ret bool from public methods not ?bool for now

* update comments etc

* update comment

* dont return option for now

* clean up
2019-08-03 20:09:09 +10:00
Alexander Medvednikov e446f988f7 clean up map initialization 2019-08-03 10:26:36 +02:00
Alexander Medvednikov a5f5b52204 `map := { 'foo': 'bar' }` syntax 2019-08-03 10:20:04 +02:00
Joe Conigliaro bfddb9a80f make array.hex() use lowercase 2019-08-03 08:23:13 +02:00
Alexander Medvednikov 15c5f671f0 remove pg from vlib 2019-08-03 03:49:17 +02:00
Alvydas Vitkauskas bfdce806c4 fix string.count 2019-08-03 03:41:15 +02:00
joe-conigliaro d4c07d9b66 hash.crc32: modify sum methods to take []byte instead of string 2019-08-03 03:40:54 +02:00
Alexander Medvednikov 34a98e3df0 vweb fixes 2019-08-03 02:27:56 +02:00
Alexander Medvednikov 9e380e2886 vweb: clean up 2019-08-02 23:45:36 +02:00
Alexander Medvednikov b2874f1200 vweb: fix get_cookie() and redirect() 2019-08-02 23:41:02 +02:00
joe-conigliaro faf2f9920e string.v: string.count(substr) 2019-08-02 23:30:22 +02:00
joe-conigliaro 9e76d8a638 net.urllib: fix values (used for query string/form data) 2019-08-02 23:28:55 +02:00
Vitaly Takmazov 910f350a26 string_test: fix randomly failed test
* memory should be initialized with zeros before creating string
* there is no string([]array) constructor, string(byteptr) does not count length correctly, using string(byteptr, len) to fix
2019-08-02 19:20:36 +02:00
Alexander Medvednikov ed3f1d315b vweb: remove favicon hack 2019-08-02 10:15:20 +00:00
Alexander Medvednikov 8990eb06ec Revert "remove vlib/glfw (it's a vpm module now)"
This reverts commit cdfc4c8372.
2019-08-02 11:33:49 +02:00
joe-conigliaro 7bf1c7f005 net.urllib: change confusing name of internal method 2019-08-02 08:52:37 +02:00
joe-conigliaro 2bdbc327d9 vlib.crypto: add last commit to help track changes. (#1426) 2019-08-02 06:37:19 +02:00
unknown-v a27165f07e add []u64.str() 2019-08-02 06:07:16 +02:00
joe-conigliaro be0796ce14 urllib: fix error message 2019-08-02 06:00:34 +02:00
Alexander Medvednikov 81da1f1ab2 vweb: run app.init() once 2019-08-02 05:54:40 +02:00
Alexander Medvednikov f81562ee7e vweb: 404 2019-08-02 04:11:42 +02:00
joe-conigliaro 8369525d8a net.urllib: fix unescape 2019-08-02 00:31:47 +02:00
Sylvio Tavares 0e798b4c51 time: fix rand() 2019-08-02 00:31:02 +02:00
Alexander Medvednikov b57752e67e vweb: parse request headers 2019-08-01 18:51:21 +02:00
Alexander Medvednikov 3580179602 vweb: fix actions with ? 2019-08-01 17:57:06 +02:00
Alexander Medvednikov cdfc4c8372 remove vlib/glfw (it's a vpm module now) 2019-08-01 17:31:04 +02:00
Alexander Medvednikov a7e464fee9 user modules + `v install` from vpm 2019-08-01 17:28:25 +02:00
joe-conigliaro d3c89273e8 net.urllib module 2019-08-01 15:01:03 +02:00
vitalyster 0197f20d47 make_tests.bat: exit with error on failed test 2019-08-01 13:23:36 +02:00
Alexander Medvednikov eb313ebb5b
option: increase the temporary limit 2019-08-01 01:19:45 +02:00
Alvydas Vitkauskas cd49c2103b os: fix read_lines for win/dos files on unix 2019-08-01 00:48:10 +02:00
unknown-v b124539507 Update download_win.v 2019-07-31 23:22:05 +02:00
Alexander Medvednikov 0243f9b0e9 term: remove enable_term_color_win() 2019-07-31 23:19:27 +02:00
Alexander Medvednikov 2c7e0c0257 http: fix download_win.v 2019-07-31 23:03:38 +02:00
Alexander Medvednikov 8058bf3750 http_nix.v: remove remaining C code 2019-07-31 23:01:06 +02:00
Alexander Medvednikov 448aaa36f2 http: clean up http_win.v and remove all remaining C code 2019-07-31 22:54:55 +02:00
unknown-v 46154c25b5 Update http_win.v 2019-07-31 22:45:29 +02:00
Alexander Medvednikov 54d2f9921f http: Windows fixes + clean up 2019-07-31 22:27:39 +02:00
Alexander Medvednikov aac8503d83 http: use optionals (finally) 2019-07-31 22:15:24 +02:00
Alexander Medvednikov d3d4ee6b39 http: replace escape() with escape_url() 2019-07-31 20:57:34 +02:00
Vitaly Takmazov 550e8cd0cb http.escape and http.unescape for windows 2019-07-31 19:23:17 +02:00
Felix Scholz 12ecd0f3dc term: allow more colors to be used (bright styled ansi, rgb and hex)
* introduce bright versions of standard ansi colors

* allow developer to colorize messages with rgb

* allow developer to colorize messages using hex

* fix broken formatting
2019-07-31 19:22:38 +02:00
vitalyster 37a0e6ebef Travis: run tests for Windows (#1403) 2019-07-31 19:01:52 +02:00
Alvydas Vitkauskas 2e1da4b4bc Merge pull request #1050 from avitkauskas/fix-read-lines
os: fix read_lines
2019-07-31 10:56:36 +02:00
Alexander Medvednikov ddb4f45b02 another map bug fix + fix some warnings 2019-07-31 10:47:58 +02:00
jilio fa24a0cec5 os: fix is_dir 2019-07-31 10:38:29 +02:00
Alexander Medvednikov e592485395 map: test the new fix 2019-07-31 09:57:19 +02:00
Alexander Medvednikov a80f32254e map: fix delete() 2019-07-31 09:56:14 +02:00
vitalyster 375bc1352c f64.eq()
fixes float comparison tests
2019-07-31 09:20:40 +02:00
Alexander Medvednikov e0b45e33ea string: fix a bug with split() 2019-07-31 07:26:22 +02:00
jilio 6294c7878e vweb: recursive handle_static with mime types 2019-07-31 06:10:53 +02:00
Alexander Medvednikov 27d09ed514 http: make escape public on Windows 2019-07-31 04:00:43 +02:00
Alexander Medvednikov 8a7ddd102e vweb: tmpl fixes 2019-07-31 04:00:43 +02:00
Alexander Medvednikov 95d76993c9 .div hack 2019-07-31 04:00:43 +02:00
Alexander Medvednikov 8bb41d2de5 vweb: print address of the app 2019-07-31 04:00:43 +02:00
joe-conigliaro 1202631fa6 crypto.rand module 2019-07-31 03:24:12 +02:00
Alexander Medvednikov 17e8c1d628 map.delete(key) 2019-07-30 21:27:31 +02:00
Alexander Medvednikov ad8b105b2c vweb example 2019-07-30 21:15:17 +02:00
Alexander Medvednikov 79be98d2fb Revert "Support for the printf optimisation for windows and wide strings"
This reverts commit acd28fa495.
2019-07-30 18:28:00 +02:00
Alexander Medvednikov 3e458a8801 vweb: small fixes 2019-07-30 18:27:52 +02:00
F1ssi0N acd28fa495 Support for the printf optimisation for windows and wide strings 2019-07-30 18:04:19 +02:00
Alexander Medvednikov 548611bedc vweb: serve static files and vweb.text() 2019-07-30 15:53:35 +02:00
joe-conigliaro 5e57d099d7 v panic debug information 2019-07-30 15:08:14 +02:00
Richard Warburton 07ed320110 sync: WaitGroup 2019-07-30 15:06:16 +02:00
Alexander Medvednikov a6df3e51d2 vweb.json() 2019-07-30 05:13:44 +02:00
Vitaly Takmazov 468aac9750 glfw: add MacPorts library path 2019-07-30 03:49:12 +02:00
Vitaly Takmazov a2d4d38e8a pg: add Darwin flag for MacPorts installation path 2019-07-30 03:48:49 +02:00
Joe Conigliaro cfe581e2ab fix term 2019-07-30 03:15:46 +02:00
Alexander Medvednikov 69b6e682cb pg: fix GCC compilation error 2019-07-30 00:28:35 +02:00
Alexander Medvednikov 5bb8416baf
update vweb readme 2019-07-29 19:46:26 +02:00
Delyan Angelov 4a1970a322 http: return ?string 2019-07-29 19:18:26 +02:00
Alexander Medvednikov 460b4ee39f
vweb documentation 2019-07-29 18:50:25 +02:00
Alexander Medvednikov 207bab5f79 generics, vweb, comptime codegen, etc 2019-07-29 18:24:48 +02:00
Mike 'Fuzzy' Partin ff72d9104d log: added timestamps 2019-07-29 16:34:22 +02:00
joe-conigliaro d87030972e crypto: use new copy & clone 2019-07-29 16:33:35 +02:00
Richard Warburton 6701c3b263 Fixes #1362 2019-07-29 16:32:39 +02:00
Vitalie Ciubotaru 4100cca613 bf: fix a bug in bf.resize() (var name coincides with function name) 2019-07-29 16:31:48 +02:00
Alvydas Vitkauskas 8484de86c7 fix #1353 os.get_line 2019-07-29 04:44:54 +02:00
joe-conigliaro 45029f8c86 term: move enable_term_color_win() to colors_win.v 2019-07-29 04:44:21 +02:00
joe-conigliaro df06eee5e8 fn copy(dst, src) []byte 2019-07-28 17:19:59 +02:00
joe-conigliaro c7edeb00a8 term: add better error detection on Windows 2019-07-28 17:19:03 +02:00
Delyan Angelov 9cd2d68505 Fix #1334. Module glfw now imports gl. 2019-07-27 18:36:33 +02:00
joe-conigliaro 920ac3f92e crypto.rc4 module 2019-07-26 16:48:49 +02:00
joe-conigliaro ebf858b9ae crypto: remove unnecessary casts and comments 2019-07-25 18:41:38 +02:00
Joe Conigliaro 655cad58b2 add note & fix typo 2019-07-25 18:13:29 +02:00
Alexander Medvednikov 20a885ff1d []byte.clone() 2019-07-25 18:07:25 +02:00
Alexander Medvednikov d8b83bdd00 crypto: add Go's license 2019-07-25 18:07:25 +02:00
joe-conigliaro 61f3982ee8 crypto.aes module 2019-07-25 17:49:57 +02:00
Alexander Medvednikov 2ac579ca0a wrap up the new mut check 2019-07-25 14:13:35 +02:00
Alexander Medvednikov ceb0139329 fix tests 2019-07-25 14:06:26 +02:00
unknown-v 082098ab67 sync_win.v : Add a Missing Closing Bracket 2019-07-25 12:25:38 +02:00
Alexander Medvednikov 3a8cdadcf5 free strings 2019-07-25 01:22:45 +02:00
Alexander Medvednikov 299d41e3b9 os: fix a memory leak in File.write(string) 2019-07-24 22:47:06 +02:00
0x9ef a3e9a36553 Fix returned hash sum type 2019-07-24 20:29:11 +02:00
F1ssi0N ca70d1f8a3 os: Make windows allocations more consistent & LocalFree args_list
if max is 512 then allocate `max * sizeof(wchar_t)`
2019-07-24 19:10:06 +02:00
F1ssi0N f8bc893972 Re-add the case for msvc now that it is a valid comp-time option 2019-07-24 18:14:44 +02:00
AtjonTV 99355ae8b2 os: Implement a read-all for STDIN 2019-07-24 18:14:13 +02:00
yep84 94a599d630 log: allow file logging 2019-07-24 17:50:29 +02:00
0x9ef aea6a8075b Windows mutex 2019-07-24 17:36:20 +02:00
Alexander Medvednikov 2306901e6e os.flush_stdout() 2019-07-24 16:15:28 +02:00
Maciej Sopyło 58577f57c6 fix: segfault when using string.ustring_tmp() 2019-07-24 16:06:12 +02:00
Emily Hudson 32aae80a64 Windows: fix some heap corruptions, fix msvc not building with unicode flags, fix os.getwd, fix mscrazy using a less recent installation 2019-07-24 15:00:26 +02:00
Vitaly Takmazov 0bbefca875 Windows: unicode command line 2019-07-24 14:32:36 +02:00
Alexander Medvednikov 7f29928aec examples: fix news_fetcher on Windows 2019-07-24 12:34:25 +02:00
vitalyster fcb1f211e3 Windows Unicode I/O 2019-07-24 12:16:45 +02:00
Nick Treleaven 6eb8766e59 http.new_request: Don't ignore mutated variables url, data 2019-07-24 00:32:41 +02:00
Justice Suh d72c859bf9 net: socket error handling 2019-07-24 00:31:39 +02:00
Alexander Medvednikov 2291e9fcfe Revert "Windows Unicode support"
This reverts commit 8462e99bc5.
2019-07-24 00:24:34 +02:00
d2verb 88758082d2 scanner.v: refactoring 2019-07-24 00:06:48 +02:00
vitalyster 8462e99bc5 Windows Unicode support 2019-07-23 23:40:24 +02:00
Emily Hudson e25ea7f9dd add MSVC C backend support; fix live code reloading on Windows; other Windows fixes 2019-07-23 23:23:13 +02:00
Alexander Medvednikov 527b9e13fa `key in map` syntax 2019-07-23 23:00:09 +02:00
Vitalie Ciubotaru bd95f5bf8f bf: add basic documentation 2019-07-23 18:29:04 +02:00
TillCoyote 732099fa08 math: hypot() 2019-07-23 18:28:30 +02:00
Jonathan Vice d69bac5565 glfw: fix typo 2019-07-23 18:27:53 +02:00
Archan Patkar 7b4c3ec618 math/complex: restructuring cmath as a submodule of math 2019-07-23 13:35:44 +02:00
unknown-v 981185e42f Windows displays a NaN as -1.#IND
https://stackoverflow.com/a/347940
2019-07-23 00:29:47 +02:00
Alexander Medvednikov a2a0b149b2 examples/graph: update the graph instantly; add a couple of graphs 2019-07-23 00:24:42 +02:00
Rendims 5375038d88 string: avoid double allocation in trim_space() 2019-07-23 00:13:00 +02:00
Alexander Medvednikov 390394b56b string: make substr() copy the data, like in Java and C#; remove .cstr()
this makes managing memory used by strings much easier
V strings are now fully compatible with C strings
2019-07-22 17:03:45 +02:00
Alexander Medvednikov 23c5f88f3e Revert "Windows Unicode I/O "
This reverts commit 3e005074a3.
2019-07-21 17:29:40 +02:00
Alexander Medvednikov 9c9fe7029e fix os.is_dir on Windows 2019-07-21 17:14:25 +02:00
Alexander Medvednikov 4d5336897e array.slice(): bounds out of range check 2019-07-21 16:55:04 +02:00
Alexander Medvednikov 5d188130e5 fix memory free 2019-07-21 16:30:10 +02:00
Alexander Medvednikov 40c31f701f free arrays when they are out of scope
main.v: update help
2019-07-21 14:42:31 +02:00
Alexander Medvednikov a6e4720a4d
os: fix popen on Windows 2019-07-21 13:37:27 +02:00
vitalyster 3e005074a3 Windows Unicode I/O 2019-07-21 13:29:32 +02:00
Alexander Medvednikov 6e6f6bc387 free/malloc fixes 2019-07-21 12:36:21 +02:00
Alexander Medvednikov 975286302c fix Tetris onkeydown 2019-07-21 11:56:43 +02:00
Alexander Medvednikov c3c6648c57 string(bytes_array) cast 2019-07-20 22:03:38 +02:00
Alexander Medvednikov 7f512eaf72 examples/hot_code_reloading: graph builder improvements 2019-07-20 17:59:40 +02:00
Alexander Medvednikov 5c12d13b19 builtin: make string.add() private 2019-07-20 16:43:33 +02:00