summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-08-04LibM: Always include <math.h> instead of <LibM/math.h>Andreas Kling
This makes Lagom pick up the host math.h, which is what we want.
2020-08-04AK: Let the compiler provide the default new and delete operatorsAndreas Kling
...except in kernelspace.
2020-08-04Shell: Use NonnullRefPtr to simplify some things in the parser/ASTAndreas Kling
2020-08-04Kernel: Make File::write() and File::read() return KResultOr<size_t>Andreas Kling
Instead of returning a ssize_t where negative values mean error, we now return KResultOr<size_t> and use the error state to report errors exclusively.
2020-08-04Kernel+LibC: Tidy up sys$ttyname() and sys$ptsname()Andreas Kling
- Remove goofy _r suffix from syscall names. - Don't take a signed buffer size. - Use Userspace<T>. - Make TTY::tty_name() return a String instead of a StringView.
2020-08-04LaunchServer: Disown child processes after spawningAndreas Kling
2020-08-04ResourceGraph.MenuApplet: Disown child processes after spawningAndreas Kling
2020-08-04Clock.MenuApplet: Disown child process after spawningAndreas Kling
2020-08-04SystemMenu: Disown child processes after spawningAndreas Kling
2020-08-04Terminal: Disown child processes after spawningAndreas Kling
2020-08-04SystemMonitor: Disown child processes after spawningAndreas Kling
2020-08-04QuickShow: Disown child process after spawningAndreas Kling
2020-08-04FileManager: Disown spawned processesAndreas Kling
2020-08-04Taskbar: Disown quick-launched programsAndreas Kling
2020-08-04SystemMenu: Disown spawned programsAndreas Kling
2020-08-04Kernel+LibC: Add sys$disown() for disowning child processesAndreas Kling
This syscall allows a parent process to disown a child process, setting its parent PID to 0. Unparented processes are automatically reaped by the kernel upon exit, and no sys$waitid() is required. This will make it much nicer to do spawn-and-forget which is common in the GUI environment.
2020-08-04Kernel: Tidy up the syscalls list by reorganizing the enumerator macroAndreas Kling
2020-08-04Build: Make things build with clang without needing local changesNico Weber
Useful for sanitizer fuzzer builds. clang doesn't have a -fconcepts switch (I'm guessing it just enables concepts automatically with -std=c++2a, but I haven't checked), and at least the version on my system doesn't understand -Wno-deprecated-move, so pass these two flags only to gcc. In return, disable -Woverloaded-virtual which fires in many places. The preceding commits fixed the handful of -Wunused-private-field warnings that clang emitted.
2020-08-04LibGemini: Remove unused private field m_queued_finishNico Weber
2020-08-04LibX86: Remove unused private fields m_segment, m_handlerNico Weber
2020-08-04LibLine: Removed unused private field m_prompt_metricsNico Weber
2020-08-04Build: Support make's and ninja's restat optimizationNico Weber
After running a build command, make by default stat()s the command's output, and if it wasn't touched, then it cancels all build steps that were scheduled only because this command was expected to change the output. Ninja has the same feature, but it's opt-in behind the per-command "restat = 1" setting. However, CMake enables it by default for all custom commands. Use Meta/write-only-on-difference.sh to write the output to a temporary file, and then copy the temporary file only to the final location if the contents of the output have changed since last time. write-only-on-difference.sh automatically creates the output's parent directory, so stop doing that in CMake. Reduces the number of build steps that run after touching a file in LibCore from 522 to 312. Since we now no longer trigger the CMake special case "If COMMAND specifies an executable target name (created by the add_executable() command), it will automatically be replaced by the location of the executable created at build time", we now need to use qualified paths to the generators. Somewhat related to #2877.
2020-08-04Shell: Correct FdRedirection inheriting from two RefCounted basesAnotherTest
Also add missing calls to `adopt()`.
2020-08-04Shell: Add support for ARGV (and $*, $#)AnotherTest
This patchset also adds the 'shift' builtin, as well as the usual tests. closes #2948.
2020-08-04LibJS: The Math.ceil() of a number between -1 and 0 should be -0,Melissa Goad
according to the spec.
2020-08-04Meta: Provide a way to only update a file if the output changesBen Wiederhake
This is only useful for build commands that update their destination in all cases and thus sometimes confuse cmake into rebuilding everything needlessly.
2020-08-04LibCompress: Add LibCompressstelar7
For now this only contains DEFLATE, and a very simple Zlib Eventually GZip, etc. can go here as well.
2020-08-04LibWeb: Make sure that head and body always get the HTML elementLuke
Now that document element returns a generic DOM element, we need to make sure head and body get a html element. The spec just says to check if the document element is a html element, so let's do that.
2020-08-04Shell: factor out updating the path cache into a function.Mathieu PATUREL
2020-08-04Shell: update cached_path when adding aliasesMathieu PATUREL
This has the nice side effect of fixing alias completion, because cached_path is the source of truth for the completion system, and it was only refreshed (with shell::cache_path()) in the shell's constructor, before the rc files where loaded (ie no aliases) This also means that shell::is_runnable can now rely on the cache, and doesn't have to check the aliases itself.
2020-08-04Shell: highlight runnable commandsMathieu PATUREL
And display in red the command which will result in something like "no command, or is directory" (inspired by the fish shell).
2020-08-04AK: Remove an unused variable in the Span test (#2985)Uma Sankar
2020-08-03LibWeb: Add a very basic test for Text node APIs ("data" and "length")Andreas Kling
2020-08-03LibWeb: Add CharacterData and Text IDL interfacesAndreas Kling
2020-08-03LibWeb: Reorganize tests into DOM/ and HTML/Andreas Kling
2020-08-03LibWeb: Add Element.{next,previous}ElementSibling IDL attributesAndreas Kling
2020-08-03LibWeb: Move "element sibling" getters to NonDocumentTypeChildNodeAndreas Kling
Here's another CRTP mixin since that's the best we can do with C++. This prepares exposing these via IDL on Element and CharacterData.
2020-08-03LibWeb: Send key events to the WebContent processAndreas Kling
This makes contenteditable work in multi-process mode. :^)
2020-08-03Unicode: s/codepoint/code_point/gAndreas Kling
Unicode calls them "code points" so let's follow their style.
2020-08-03Kernel: Use Userspace<T> in sys$link() and sys$symlink()Andreas Kling
2020-08-03Meta: Add Nico Weber to the contributors list :^)Andreas Kling
2020-08-03WindowServer: Bring window stack to front when clicking on frameTom
When clicking on a window's frame that is blocked by a modal window, we want to bring the entire window stack to the front regardless of where the user clicked in the frame (not just the icon).
2020-08-03Kernel: Consolidate timeout logicTom
Allow passing in an optional timeout to Thread::block and move the timeout check out of Thread::Blocker. This way all Blockers implicitly support timeouts and don't need to implement it themselves. Do however allow them to override timeouts (e.g. for sockets).
2020-08-03AK: Add more time convenience functions and comparison operatorsTom
2020-08-03LibGUI: WidgetScrollable scrolls horizontally when shift is pressedMathieu PATUREL
2020-08-03LibIPC: Fix waiting for specific messageTom
When waiting for a specific message, only consider messages from the peer endpoint. Otherwise a message with the same id for the local endpoint may be misinterpreted. This fixes the Terminal sometimes hanging after bootup because a local endpoint message is mistaken for the CreateMenuResponse message.
2020-08-03Kernel: Fix a few Thread::block related racesTom
We need to have a Thread lock to protect threading related operations, such as Thread::m_blocker which is used in Thread::block. Also, if a Thread::Blocker indicates that it should be unblocking immediately, don't actually block the Thread and instead return immediately in Thread::block.
2020-08-03AK: Fix adding timeval/timespecTom
tv_usec and tv_nsec should always be less than one second.
2020-08-03CppLexer: Actually give raw strings type RawStringNico Weber
This fixes a regrettable mistake in 9ee1edae2aefcb95e. No behavior change.
2020-08-03LibWeb: Add the Document.documentElement APIAndreas Kling
Also change DOM::Document::document_element() to return an Element* and not an HTML::HTMLHtmlElement since that's not the only kind of documentElement we might encounter.