summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-08-05UserspaceEmulator: Add the access syscallAndreas Kling
2020-08-05UserspaceEmulator: Add the getcwd syscallAndreas Kling
2020-08-05UserspaceEmulator: Add the ttyname syscallAndreas Kling
2020-08-05UserspaceEmulator: Support ioctl(TIOCSPGRP)Andreas Kling
2020-08-05UserspaceEmulator: Add the getpgrp syscallAndreas Kling
2020-08-05UserspaceEmulator: Add support for UNIX signals :^)Andreas Kling
The emulator will now register signal handlers for all possible signals and act as a translation layer between the kernel and the emulated process. To get an accurate simulation of signal handling, we duplicate the same trampoline mechanism used by the kernel's signal delivery system, and also use the "sigreturn" syscall to return from a signal handler. Signal masking is not fully implemented yet, but this is pretty cool!
2020-08-05Unicode: Try s/codepoint/code_point/g againNico Weber
This time, without trailing 's'. Ran: git grep -l 'codepoint' | xargs sed -ie 's/codepoint/code_point/g
2020-08-05Revert "Unicode: s/codepoint/code_point/g"Nico Weber
This reverts commit ea9ac3155d1774f13ac4e9a96605c0e85a8f299e. It replaced "codepoint" with "code_points", not "code_point".
2020-08-05Meta: Add Brian Gianforcaro to the contributors list :^)Andreas Kling
2020-08-05Browser: Move bookmarks.json to ~/.configAndreas Kling
2020-08-05Base: Add ~/Documents and put miscellaneous files thereAndreas Kling
2020-08-05Base: Move "js" and "little" HackStudio projects into ~/Source/Andreas Kling
2020-08-05LibCore+Base: Move user-specific config files to $HOME/.configAndreas Kling
2020-08-05Shell: Do not assume that stdin/stdout is a TTYAnotherTest
This closes #2989.
2020-08-05LibLine: Check if operating on a TTY before using TTY featuresAnotherTest
This makes the line editor behave well when input is passed in from pipes as well.
2020-08-05AK: Decorate AK::Result<V, E> with [[nodiscard]]Brian Gianforcaro
2020-08-05Build: Clang should get -Werror tooNico Weber
I accidentally removed it in a619943001b8 and #3002 only restored it for gcc.
2020-08-05AK: Decorate AK::TriState with [[nodiscard]]Brian Gianforcaro
TriState is another type of return code, it's value should always be observed.
2020-08-05AK: Decorate atomic compare exchange operations with [[nodiscard]]Brian Gianforcaro
All CAS operations should always check return values, so they are robust to failure in the event of conflict in parallel operation.
2020-08-05LibGUI: Use set_cursor() in TextEditor::set_document()Linus Groh
Instead of setting m_cursor directly to reset the cursor position, TextEditor::set_document() now uses set_cursor() which will call cursor change callback functions, if any. This fixes a bug in HackStudio where the cursor information text would not update immediately after changing the active TextDocument, even though the cursor is always visibly being reset to 0, 0.
2020-08-05LibWeb: Specialize hit testing for text cursor purposesAndreas Kling
The text cursor follows slightly different "intuitive" rules than the regular hit testing. Clicking past the right edge of a text box should still "hit" the text box, and place the cursor at its end, for example. We solve this by adding a HitTestType enum that is passed to hit_test() and determines whether past-the-edge candidates are considered.
2020-08-05Base: Open .hackstudio files in HackStudioLinus Groh
2020-08-05HackStudio: Open project or file from argv[1] if givenLinus Groh
When HackStudio is invoked with one or more arguments it will attempt to treat the first argument as a project or source file and open it accordingly.
2020-08-05HackStudio: Rename project file format from .files to .hackstudioLinus Groh
2020-08-05AK: Decorate AK::NonnullOwnPtr::leak_ptr() with [[nodiscard]]Brian Gianforcaro
2020-08-05AK: Decorate AK::OwnPtr::leak_ptr() with [[nodiscard]]Brian Gianforcaro
We should always leak to an observed variable, otherwise it's an actual leak. This is similar to AK::RefPtr::leak_ref() which is also marked as [[nodiscard]].
2020-08-05LibGfx: Make draw_scaled_bitmap() apply relative opacityAndreas Kling
Instead of overriding the alpha value of all source pixels, apply the override opacity by multiplying with the source alpha. Fixes #3004.
2020-08-05Kernel: Decorate KResult with [[nodiscard]]Brian Gianforcaro
2020-08-05Kernel: Suppress remaining unobserved KResult return codesBrian Gianforcaro
These are all cases where there is no clear and easy fix, I've left FIXME bread crumbs so that these can hopefully be fixed over time.
2020-08-05Kernel: Propagate a few KResults properly in FileSystem subsystemsBrian Gianforcaro
Propagating un-obsevered KResults up the stack.
2020-08-05Kernel: Fix build break from missing KResult [[nodiscard]] suppressionsBrian Gianforcaro
Missed this somehow in previous change.
2020-08-05Kernel: Use Userspace<T> for the futex syscallBrian Gianforcaro
Utilizie Userspace<T> for the syscall argument itself, as well as internally in the SC_futex_params struct. We were double validating the SC_futex_params.timeout validation, that was removed as well.
2020-08-05AK: Decorate Optional<T> with [[nodisard]]Brian Gianforcaro
2020-08-05LibTLS + LibCrypto: Suppress unobserved Optoinal<T> return values.Brian Gianforcaro
2020-08-05AK: Fix StringUtils tests to actually observe return value.Brian Gianforcaro
Noticed this while playing around with making Optional<T> nodiscard.
2020-08-05AK: Use AK relative include style for InlineLinkedList.hBrian Gianforcaro
This is the style that seems to be used in the rest of AK.
2020-08-05Build: Re-enable -Werror when building with GCCBrian Gianforcaro
It looks like PR #2986 mistakenly removed this from both the Clang and GCC CXX_FLAGS, when the intention seems to have been to only disable it for Clang.
2020-08-05Documentation: Add an installation guide for VirtualBoxLuke
Now that Serenity can run on VirtualBox, it's time for the documentation.
2020-08-05Kernel: Decorate KResultOr with [[nodiscard]] to catch misbehaving callersBrian Gianforcaro
The [[nodiscard]] decorator enables us to have the compile emit a warning anytime the decorated type or function's return value isn't observed. It's very useful for catching error checking bugs in systems which use C style error handling.
2020-08-05Kernel: Make Inode::directory_entry_count errors observable.Brian Gianforcaro
Certain implementations of Inode::directory_entry_count were calling functions which returned errors, but had no way of surfacing them. Switch the return type to KResultOr<size_t> and start observing these error paths.
2020-08-05Kernel + LibPthread: Use Userspace<T> in the create_thread syscallBrian Gianforcaro
2020-08-05Kernel: Use Userspace<T> for the rename syscallBrian Gianforcaro
2020-08-05Kernel: Use Userspace<T> for the mknod syscallBrian Gianforcaro
2020-08-05Kernel: Use Userspace<T> for the set_mmap_name syscallBrian Gianforcaro
2020-08-05Kernel: Use Userspace<T> for the readlink syscallBrian Gianforcaro
2020-08-05Kernel: Use Userspace<T> for the mmap syscallBrian Gianforcaro
2020-08-05Kernel: Use Userspace<T> for the waitid syscallBrian Gianforcaro
2020-08-05Kernel: Use Userspace<T> for the clock_nanosleep syscallBrian Gianforcaro
2020-08-05Kernel: Use Userspace<T> for the gettimeofday syscallBrian Gianforcaro
2020-08-05Kernel: Use Userspace<T> for the open syscallBrian Gianforcaro