Commit graph

23551 commits

Author SHA1 Message Date
Ali Mohammad Pur
eca74088a0 grep: Use Basic POSIX regexps by default and make -E not the default 2021-07-10 13:33:08 +02:00
Ali Mohammad Pur
97f7132b82 expr: Use Basic Posix regular expressions
Dr.POSIX requires expr to use BREs, so let's use BREs.
Fixes #8506.
2021-07-10 13:33:08 +02:00
Ali Mohammad Pur
daa6d99e6e LibRegex: Add support for non-extended regular expressions in regcomp()
Fixes part of #8506.
2021-07-10 13:33:08 +02:00
Ali Mohammad Pur
54d89609de LibRegex: Add support for the Basic POSIX regular expressions
This implements the internal regex stuff for #8506.
2021-07-10 13:33:08 +02:00
Ali Mohammad Pur
addfa1e82e LibRegex: Make the bytecode transformation functions static
They were pretty confusing when compared with other non-transforming
functions.
2021-07-10 13:33:08 +02:00
Andreas Kling
f670adb298 LibWeb: Avoid HashMap copy in BrowsingContext::set_frame_nesting_levels 2021-07-10 13:24:46 +02:00
Gunnar Beutner
9bc3ad75b4 Toolchain: Use correct variable when deleting the QEMU tarball 2021-07-10 11:13:56 +01:00
Linus Groh
c77215fc61 Ports: Build Python with ncurses and termcap
Neither the _curses nor the termios module builds to completion
currently due to some missing functions, but we can let it try
nonetheless - it'll likely get fixed at some point :^)
2021-07-10 11:13:02 +01:00
Linus Groh
b2d68913d3 Ports: Build Python with sqlite
This makes the _sqlite3 module work :^)
2021-07-10 11:13:02 +01:00
Linus Groh
3b863561d7 Ports: Build Python with bzip2
This makes the _bz2 module work :^)
2021-07-10 11:13:02 +01:00
Linus Groh
5e3af8b7db Ports: Build Python with readline
This provides a *much* improved REPL experience :^)
2021-07-10 11:13:02 +01:00
Linus Groh
123c2f2f7f Ports: Add a patch for Python's setup.py to consider /usr/local
This makes it find more includes and libraries than by default when
crosscompiling.
2021-07-10 11:13:02 +01:00
Linus Groh
96331d7d87 Ports: Export CC with added --sysroot for building Python
This is used in the setup.py file when adding include and lib paths to
the list when crosscompiling, if it's not found in any of the checked
environment variables they don't get added.
2021-07-10 11:13:02 +01:00
Ralf Donau
821b752993 Userland: Add fopen error handling to less 2021-07-10 10:32:01 +02:00
networkException
2e4be5e98c LibGUI: Rename "to_gmousebutton" => "to_mouse_button" 2021-07-10 09:31:01 +02:00
Gunnar Beutner
3e53f4a3de AK: Remove unused NO_RETURN macro 2021-07-10 01:41:57 +02:00
Gunnar Beutner
b11fe40240 LibELF: Make sure calls to _fixup_plt_entry use a properly aligned stack 2021-07-10 01:41:57 +02:00
Gunnar Beutner
06883ed8a3 Kernel+Userland: Make the stack alignment comply with the System V ABI
The System V ABI for both x86 and x86_64 requires that the stack pointer
is 16-byte aligned on entry. Previously we did not align the stack
pointer properly.

As far as "main" was concerned the stack alignment was correct even
without this patch due to how the C++ _start function and the kernel
interacted, i.e. the kernel misaligned the stack as far as the ABI
was concerned but that misalignment (read: it was properly aligned for
a regular function call - but misaligned in terms of what the ABI
dictates) was actually expected by our _start function.
2021-07-10 01:41:57 +02:00
Andreas Kling
f4a318ee2d LibGUI: Only repaint grabbable part of Splitter when hovered/unhovered
Before this change, we would repaint the Splitter and all of its split
children when hovering over it. Now we only repaint the grabbable part.
2021-07-10 01:40:51 +02:00
Daniel Bertalan
05c174b45a LibVT: Reset scrollbar after switching to/from the alternate buffer
We did not call the history change callback after switching to the
alternate screen buffer, which caused the scrollbar to not change its
maximum value. If we already had lines in the scrollback buffer, this
meant that we could drag the scrollbar, which then tried to access
non-existent lines from the scrollback.

Fixes #8581
2021-07-10 01:23:23 +02:00
LuK1337
5e1e67277b LibGUI: Remove left margin on MessageBox text when icon is unset
It looks better when text is properly centered.
2021-07-09 23:36:34 +02:00
Idan Horowitz
a44de7a55f LibJS: Add %TypedArray%.prototype.toLocaleString 2021-07-09 22:32:25 +01:00
Idan Horowitz
56d8098d13 LibJS: Use PropertyName instead of StringOrSymbol in Object::invoke()
This prevents the unnecessary PropertyName -> StringOrSymbol ->
PropertyName conversion.
2021-07-09 22:32:25 +01:00
Andreas Kling
fd898be51a PixelPaint: Only update the layer thumbnail on layer bitmap changes
When a layer bitmap is modified, we don't have to repaint the whole
layer gadget in the layer list, only the little thumbnail. :^)
2021-07-09 22:07:00 +02:00
Andreas Kling
285f0383d4 PixelPaint: Move LayerListWidget gadget rect computation to a function
This will allow functions other than paint_event() to use the various
gadget rects (thumbnail, text, etc.)
2021-07-09 22:07:00 +02:00
Andreas Kling
1cec672e69 PixelPaint: Remove unused member from LayerListWidget::Gadget 2021-07-09 22:07:00 +02:00
Andreas Kling
0ef3cf7b0f PixelPaint: Call correct base class in LayerListWidget::resize_event() 2021-07-09 22:07:00 +02:00
Andreas Kling
bce1d633ca PixelPaint: Make PenTool invalidate even less when drawing :^) 2021-07-09 22:07:00 +02:00
Andreas Kling
5439453139 LibGfx: Improve Painter::draw_line() alignment with (thickness > 1)
Thicker lines are drawn by filling rectangles along the path.
Previously these rectangles used the points as their top left corner.
This patch changes it to use the points as the center of the rectangles
which makes the PixelPaint line tool feel a lot more natural. :^)
2021-07-09 22:07:00 +02:00
Idan Horowitz
69eb05e705 CI: Run the commit linter for Draft Pull Requests
The commit linter will now run for draft pull requests as well, but
BuggieBot will not post a message on failing draft PRs.
2021-07-09 21:06:09 +01:00
Gunnar Beutner
5662e72126 LibC: Make sure crt0 and crt0_shared are built before LibC
We need these two object files in order for ld to work.

Fixes #4538.
2021-07-09 21:56:21 +02:00
Linus Groh
2c78fa066f Ports: Remove Python setlocale patch that's no longer needed
Since 4cd45f5, setlocale() always pretends to succeed.
2021-07-09 20:14:08 +01:00
Timothy Flynn
e4124d0218 LibJS: Implement RegExp.prototype [ @@split ] 2021-07-09 19:45:55 +01:00
Timothy Flynn
43918b0104 LibJS: Implement RegExpBuiltinExec closer to the spec
Our RegExpBuiltinExec implementation differed from the spec in some
areas such as handling of the sticky/global flags and updating the
lastIndex property.
2021-07-09 19:45:55 +01:00
Timothy Flynn
0f0ac37b56 LibRegex: Break from execution loop when the sticky flag is set
If the sticky flag is set, the regex execution loop should break
immediately even if the execution was a failure. The specification for
several RegExp.prototype methods (e.g. exec and @@split) rely on this
behavior.
2021-07-09 19:45:55 +01:00
Timothy Flynn
3892b6e6ec LibJS: Implement RegExp constructor according to the spec
This allows passing an existing RegExp object (or an object that is
sufficiently like a RegExp object) as the "pattern" argument of the
RegExp constructor.
2021-07-09 19:45:55 +01:00
Timothy Flynn
2686c5f503 LibJS: Do not use "this" object in RegExpExec
As an abstraction, RegExpExec should not assume that the RegExp object
being used is "this" object. Instead, it should only interact with the
provided object.

This prepares for some methods, such as @@split, which invoke RegExpExec
with a secondary RegExp object.
2021-07-09 19:45:55 +01:00
Timothy Flynn
1d19649a19 LibJS: Remove accidental dead code 2021-07-09 19:45:55 +01:00
networkException
eedee151ab Documentation: Add a package manager section to the FAQ
People are commonly asking about a package manager in
serenity. This patch adds an answer the FAQ, explaining
why there is no need for packages as well as different
possible ways to add or remove software installed on the
system.
2021-07-09 19:45:08 +01:00
Yori
897ca104f9 Documentation: Added build instructions for Void Linux 2021-07-09 20:17:30 +02:00
Max Wipfli
5af4f8041f LibGfx: Add "override" declarations and use east const in BitmapFont.h 2021-07-09 20:17:07 +02:00
Max Wipfli
006e5998c5 LibGfx: Optimize BitmapFont::unicode_view_width() a bit
This optimizes the method to no longer compare if width > longest_width
on every iteration, since it's only required on CR/LF or at the end.
2021-07-09 20:17:07 +02:00
Max Wipfli
4578ab3ed0 LibGfx: ALWAYS_INLINE BitmapFont::unicode_view_width
This adds the ALWAYS_INLINE attribute to unicode_view_width. Also, it
cleans up the BitmapFont::view() code a little bit. This should help
performance of this hot code. Because the call to the width() methods is
a virtual dispatch, it doesn't help to inline the width() methods
themselves.
2021-07-09 20:17:07 +02:00
Max Wipfli
2afa35deb8 LibGfx: Remove unused headers from BitmapFont.{cpp,h} 2021-07-09 20:17:07 +02:00
LuK1337
a552c3bc8c LibTTF: Use en-us naming table if available
Some fonts tend to have multiple naming tables, namely MS-Gothic has
3 tables: [macintosh, ja], [windows, en-us], [windows, ja].
2021-07-09 20:16:33 +02:00
Jean-Baptiste Boric
934e53079f Utilities: Add ability to query specific user with id 2021-07-09 20:15:40 +02:00
Jean-Baptiste Boric
538cc9d99a Utilities: Use Core::Account for id 2021-07-09 20:15:40 +02:00
Jean-Baptiste Boric
16983dbe8e LibCore: Add ability to not read shadow data for Account
This stops spamming the kernel logs with unveil violations if the
program didn't unveil /etc/shadow.
2021-07-09 20:15:40 +02:00
Jean-Baptiste Boric
fdf638dde0 LibCore: Implement Account::self() 2021-07-09 20:15:40 +02:00
Jean-Baptiste Boric
3db1681214 Utilities: Fix return value of expr 2021-07-09 20:15:40 +02:00