Andreas Kling
3596c42deb
LibJS: Partial support for Date.prototype.setFullYear()
2021-03-15 21:20:33 +01:00
Andreas Kling
4da3e5d91f
LibJS: Add naive implementation of eval() :^)
...
This parses and executes a code string in the caller's lexical scope.
2021-03-15 21:20:33 +01:00
Elie Donadio
3a5a9a683f
Apply suggestions from code review
...
Small adjustments, as suggested by linus.
Co-authored-by: Linus Groh <mail@linusgroh.de >
2021-03-15 16:08:31 +01:00
ElDonad
f4f12982ff
bt: add source file number integration
2021-03-15 16:08:31 +01:00
ElDonad
a0c0d781e8
LaunchServer: added additional file parameters
...
This small commit should allow to specify additionnal parameters in the
form of URL queries, when opening a file via a "file://" url through the
LaunchServer.
2021-03-15 16:08:31 +01:00
Idan Horowitz
c9f25bca04
LibTextCodec: Make UTF16BEDecoder read only up to an even offset
...
Reading up to the end of the input string of odd length results in
an out-of-bounds read
2021-03-15 16:08:12 +01:00
Brendan Coles
7156b61d57
UserspaceEmulator: downgrade TODO to dbgln for invalid fcntl cmd arg
2021-03-15 16:07:31 +01:00
Cesar Torres
2b269b27e7
LibGUI: Fix crash when text_in_range() was called on an empty document
2021-03-15 09:08:15 +01:00
Cesar Torres
4f34a78337
TextEditor: Add charcount info about selected text to the statusbar
2021-03-15 09:08:15 +01:00
AnotherTest
125be2923c
Shell: Consume the username when parsing '~user'
...
Otherwise it will stay there and be parsed as a juxtaposition.
Fixes #5798 .
2021-03-15 09:06:21 +01:00
Linus Groh
f59d58cb76
LibELF+LibTest: Fix serenity_install_sources() paths
...
Currently we end up with the following:
serenity/
AK/
...
Kernel/
...
Libraries/
LibELF/
LibTest/
Userland/
Libraries/
<all other libs>
...
2021-03-15 09:06:10 +01:00
Mițca Dumitru
32b9437c13
LibM: Add remainder{f, l}
...
These just forward their arguments to fmod, but I think that should be
fine.
2021-03-14 21:43:08 +01:00
Mițca Dumitru
e4197b7854
LibM: Define HUGE_VAL{F,L} in terms of compiler builtins
2021-03-14 21:43:08 +01:00
Mițca Dumitru
e9533da0e7
LibM: Define MAXFLOAT
...
Looks like a POSIX extension
2021-03-14 21:43:08 +01:00
Mițca Dumitru
86ee9211be
LibM: Define FLT_EVAL_METHOD, float_t and double_t
2021-03-14 21:43:08 +01:00
Mițca Dumitru
1f1a4f488f
LibM: Declare ldexpl in math.h
...
It was already defined, but it wasn't declared in the header
2021-03-14 21:43:08 +01:00
Mițca Dumitru
93c554f6bd
LibM: Add the gamma family of functions
2021-03-14 21:43:08 +01:00
Mițca Dumitru
7aac174bc8
LibM: Organise math.h so it is less of a wall of functions
...
The categories are the same categories used by cppreference on its page
for numeric functions.
2021-03-14 21:43:08 +01:00
Mițca Dumitru
c9601cdee3
LibM: Implement the missing parts of the round family
2021-03-14 21:43:08 +01:00
Mițca Dumitru
03b2d30836
LibM: Add missing float and long double function variants
2021-03-14 21:43:08 +01:00
Brendan Coles
eecaa3bed6
test-compress: Initialize byte buffer with random data
2021-03-14 21:37:29 +01:00
Brendan Coles
81cbb2676e
readelf: Tweak section headers output column padding
2021-03-14 21:36:54 +01:00
Brendan Coles
1eccd78e3a
UserspaceEmulator: Add SC_rmdir syscall
2021-03-14 21:36:36 +01:00
Linus Groh
202f855055
LibJS: Change non-ScriptFunction source string to "[native code]"
...
https://tc39.es/ecma262/#sec-function.prototype.tostring - this is how
the spec wants us to do it. :^)
Also change the function name behaviour to only provide a name for
NativeFunctions, which matches other engines - presumably to not expose
Proxy objects, and to prevent "function bound foo() { [native code] }".
2021-03-14 19:22:16 +01:00
Linus Groh
f9287fca1e
LibJS: Don't try to derive function source from ProxyObject
...
There are three JS::Function types that are not ScriptFunction:
NativeFunction, BoundFunction and ProxyObject. We were only checking for
the first two when determining whether to reconstruct the function's
source code, which was leading to a bad cast to ScriptFunction.
Since only ScriptFunction has the [[SourceText]] internal slot, I simply
swapped the branches here.
Fixes #5775 .
2021-03-14 19:22:16 +01:00
Idan Horowitz
02b4cb96f8
LibCompress: Decrease CanonicalCode's size on stack
...
This commit stores the bit codes as u16s instead of u32s as the
maximum code bit length in DEFLATE is 15.
2021-03-14 14:52:21 +01:00
Brendan Coles
ab9f66a069
UserspaceEmulator: Increase stack size from 64 * KiB to 1 * MiB
2021-03-14 13:55:29 +01:00
Brendan Coles
6bc01909b7
readelf: Add support for core notes and relocations
2021-03-14 13:55:07 +01:00
Linus Groh
304e193836
LibJS: Fix some issues in RegExp.prototype[@@match]
...
- We were not passing the to_string()'d argument to the exec function
but the original argument
- We were leaking an empty value in two cases, which almost certainly
will crash something down the line
- We were not checking for exceptions after to_string() and get(), which
both may throw. If the getter is an accessor, it'll assert upon being
called with the VM already storing an exception.
2021-03-14 12:24:57 +01:00
Linus Groh
b68509569e
LibJS: Fix String.prototype.match() for non-string argument
...
This is supposed to pass the to_string()'d argument to @@match, not the
this value.
2021-03-14 12:24:57 +01:00
Linus Groh
32052b3198
LibJS: Fix flags check in regexp_create()
...
We need to check for undefined, not empty - otherwise it will literally
use "undefined" as the flags, which will fail (Invalid RegExp flag 'n').
2021-03-14 12:24:57 +01:00
Linus Groh
6d2d8d091f
LibJS: Add the same Object::invoke() overloads as VM::call()
2021-03-14 12:24:57 +01:00
Ben Wiederhake
430e7fb181
LibC: Rename feclearexcept{s,}
...
This will also help with making ports compile again :D
https://github.com/SerenityOS/serenity/pull/5762#issuecomment-798779561
2021-03-14 11:30:38 +01:00
Luke
7427e3a8a6
LibTextCodec: Fix IBM666 => IBM866 typo
2021-03-14 11:27:52 +01:00
Idan Horowitz
7e587a615e
LibCompress: Handle literal only lz77 streams in DeflateCompressor
...
Very incompressible data could sometimes produce no backreferences
which would result in no distance huffman code being created (as it
was not needed), so VERIFY the code exists only if it is actually
needed for writing the stream.
2021-03-14 11:05:35 +01:00
Andreas Kling
1db943e146
LibJS: Implement (mostly) String.prototype.match
...
JavaScript has a couple of different ways to run a regular expression
on a string. This adds support for one more. :^)
2021-03-14 11:04:50 +01:00
Brendan Coles
2c24c0e451
UserspaceEmulator: SoftCPU: Add support for FPTAN instruction
2021-03-14 09:45:22 +01:00
Idan Horowitz
b1e3176f9f
LibCompress: Replace goto with simple recursion in DeflateCompressor
...
This is just a bit easier on the eyes :^)
2021-03-13 23:50:07 +01:00
Linus Groh
caa8f3d3bf
LibM: Implement tanf() in terms of tan() with casts
...
Lazy, but it works for now. :^)
2021-03-13 22:44:16 +01:00
Andreas Kling
33e3f0c71f
LibWeb: Expose barebones CSSStyleDeclaration to JavaScript
...
You can now access an element's inline style via Element.style.
The interface is not very capable yet though. :^)
2021-03-13 22:41:32 +01:00
Andreas Kling
0759f54bd3
LibWeb: Rename StyleDeclaration => CSSStyleDeclaration to match CSSOM
2021-03-13 22:41:32 +01:00
Idan Horowitz
b3b920eddc
tar: Implement tar archive creation
...
This completes our tar utility by implementing the -c option
for archive creation using TarOutputStream and optionally
GzipCompressor for compression via the -z option.
2021-03-13 20:07:25 +01:00
Idan Horowitz
7eab20bad0
LibTar: Implement TarOutputStream
...
This output stream creates gnu format tar archives
and currently only supports files and directories.
2021-03-13 20:07:25 +01:00
Idan Horowitz
6c1322bdc7
LibTar: Support ustar tar format
...
Since we ignore both the ustar prefix field and the gnu extended
header right now anyways, we can just accept both formats as the
rest of the header is exactly the same.
2021-03-13 20:07:25 +01:00
Idan Horowitz
512431a228
test-compress: Add GZip compression tests
2021-03-13 20:07:25 +01:00
Idan Horowitz
135751c3a2
LibCompress: Implement GZip compression
...
This commit implements a stream compressor for the gzip
specification (RFC 1952), which is essentially a thin
wrapper around the DEFLATE compression format.
2021-03-13 20:07:25 +01:00
Idan Horowitz
02569bec11
test-compress: Add DEFLATE compression tests
2021-03-13 20:07:25 +01:00
Idan Horowitz
bcbfa7db62
LibCompress: Implement DEFLATE compression
...
This commit adds a fully functional DEFLATE compression
implementation that can be used to implement compression
for higher level formats like gzip, zlib or zip.
A large part of this commit is based on Hans Wennborg's
great article about the DEFLATE and zip specifications:
https://www.hanshq.net/zip.html
2021-03-13 20:07:25 +01:00
AnotherTest
5a0ebdb109
LibLine: Treat DEL as backspace by default
...
This can come in handy when telneting in.
2021-03-13 19:34:25 +01:00
AnotherTest
745b0800be
LibLine: Don't try to print chars larger than 63 in caret form
...
Instead, mask them as `\xbb` so that e.g. DEL becomes `\x7f`.
Fixes #5752 .
2021-03-13 19:34:25 +01:00