Age | Commit message (Collapse) | Author |
|
Some special characters might not match the exact layout
from macOS as this was tested on Linux, but it is close
enough to be well usable
|
|
Since we have Value::Type::Int32 now, let's use the Value(i32)
constructor here directly by not casting these i32 values to doubles.
The Value(double) would also figure out that these can be stored as
integers, but needs to do extra work which is not needed here. :^)
|
|
|
|
The syscalls' prototypes were recently changed in preparation for 64bit
storage in serenity, so update them here as well :^)
|
|
If we registered a real interrupt handler to a spurious one, we should
return its purpose instead of the spurious purpose string.
|
|
If we have a real IRQ7 to handle, let's make sure the handler knows to
check if it really occured for this value and not only for IRQ15.
|
|
This reverts commit cfc2f33dcba18e2afaeeba6c6158269cb9abea30.
We can't actually change the IRQ line value and expect the device
to work with it (this was my mistake).
That register is R/W so the firmware can figure out IRQ routing and put
the correct value and write it to the Interrupt line register.
|
|
|
|
This includes declarations inside namespaces in the globally visible
declarations of a cpp document.
|
|
Also, remove unused State::Context
|
|
|
|
This uses the recently added ZipOutputStream in LibArchive.
|
|
This output stream can be used to create zip archives, and will
be used in the implementation of the zip utility.
|
|
This parser should be a little bit more modern and a little more
resilient to zip files from other operating systems. As a side
effect we now also support extracting zip files that are using
DEFLATE compression (using our own LibCompress).
|
|
This is based on the zip specification on PKWARE's zip specification
(https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT) and will
be used in the unzip utility and eventually in the zip utility.
|
|
This is in preparation for a new implementation of zip archive
extraction and creation.
|
|
Just like to_size_t() - which was already removed in f369229 - this is
non-standard, use to_length() instead. One remaining use was removed,
and I'm glad it's gone. :^)
|
|
Because both zeroes have unique and distinct bit representations,
we can bit_cast value to u64 and check if it's one of them.
|
|
|
|
|
|
Moved the code on mousewheel_event to its own function.
|
|
Setting an invalid value on a Date object now makes it invalid.
Setting it again but with correct values makes it valid again.
|
|
toGMTString() is deprecated but is kept for compatibility's sake, but because
HTTP Dates are always expressed in GMT, it should be safe to call toUTCString()
in toGMTString().
|
|
It's not finished or hooked up to anything yet, but let's get it into
the tree so we can continue working on it.
Original work by @stelar7.
|
|
Fixes #5910.
Fixes #4822 (as far as I can tell).
|
|
This broke in 6a6f19a72fe15c05c39a53fa5be2b4ca3d65edf3, which replaced
the representation of columns with numbers.
As a result, the save logic would store cells as
"\x<column_index><row_number>", which is obviously wrong.
Fixes #5905.
Also simplifies the control flow in `import_worksheet` a bit.
|
|
There won't be any parse errors before we actually try to parse
something.
Fixes input like "=1+" crashing the spreadsheet instead of just causing
an error in the cell.
|
|
Otherwise people with broken paren keys, or people with entertaining
ideas like "=9\b)" will cause an assert to trip.
Fixes #5909.
|
|
|
|
|
|
|
|
|
|
|
|
Now a variable may have an optional slice (only _one_ slice), which can
also use negative indices to index from the end.
This works on both lists and strings.
The contents of the slice have the same semantics as brace expansions.
For example:
```sh
$ x=(1 2 3 4 5 6)
$ echo $x[1..3] # select indices 1, 2, 3
2 3 4
$ echo $x[3,4,1,0] # select indices 3, 4, 1, 0 (in that order)
4 5 2 1
$ x="Well Hello Friends!"
$ echo $x[5..9]
Hello
```
|
|
When the notification was closed, the connection was kept around. This
caused the core event loop to take up nearly all CPU, so instead of
checking the connection we clear it on close and add state variables
to check state.
|
|
This takes up a lot of space if it is not used, and the default image
does not give value. Therefore, we hide the image widget if an invalid
image is passed.
|
|
With this RefPtr, we can initialize the connection to the
NotificationServer upon showing the notification. With this, we can
prevent double shows and updates or closes before showing.
|
|
on_close_request is not called at any point if close is explicitly
called, so we must instead use on_close.
|
|
This commit puts all of the remaining pieces in place. This adds a
mechanism to update the text, title, and icon of an image. If an image
is not provided, the default ladybug will be shown.
|
|
If a notification was closed, the connection will now be dead. To
prevent inconsistencies between when a user closes a notification and
when an application closes an applicated, check if the notification has
been closed before allowing any action.
|
|
Closing a notification will now allow it to be shown again, as
m_showing being false means it can be re-shown.
|
|
Changes the necessary widgets to be pointers so we can later change
their underlying data.
|
|
This is a neccessity so a connection can get the notification it is
connected to for later updates.
|
|
This will allow us to later query the notifications from a connection
and safely update it without exposing it to any other applications, as
it is session based.
|
|
In order to allow notifications to be updated, we will create a persistent connection for the lifetime of the notification.
|
|
|
|
|
|
The auto naming of function expressions is a purely syntactic
decision, so shouldn't be decided based on the dynamic type of
an assignment. This moves the decision making into the parser.
One icky hack is that we add a field to FunctionExpression to
indicate whether we can autoname. The real solution is to actually
generate a CompoundExpression node so that the parser can make
the correct decision, however this would have a potentially
significant run time cost.
This does not correct the behaviour for class expressions.
Patch from Anonymous.
|
|
As @nico pointed out, 0.0 == -0.0 in C++, even though they are not
bitwise identical. Use the same trick as Value::is_negative_zero() to
really check for it.
This allows JS::Value(0.0) to correctly become an Int32-backed 0 value.
|
|
Fixes #4269.
|