Brian Gianforcaro
7e7ee2ec94
Kernel: Use Userspace<T> for the mount syscall
2020-08-07 16:18:36 +02:00
asynts
3fb62e8c63
AK: Remove unnecessary clang-format off comments.
2020-08-07 15:57:51 +02:00
Andreas Kling
5ba2022b8e
UserspaceEmulator: Result is initialized after OR with all-1 immediate
...
When compiling with "-Os", GCC produces the following pattern for
atomic decrement (which is used by our RefCounted template):
or eax, -1
lock xadd [destination], eax
Since or-ing with -1 will always produce the same output (-1), we can
mark the result of these operations as initialized. This stops us from
complaining about false positives when running the shell in UE. :^)
2020-08-07 15:41:53 +02:00
Andreas Kling
3b3d158649
Shell: Make Command::redirections a NonnullRefPtrVector
2020-08-07 09:42:12 +02:00
Andreas Kling
c29681cb03
Shell: Make VariableDeclarations::Variable store NonnullRefPtrs
2020-08-07 09:41:04 +02:00
Andreas Kling
e9c602bc83
Shell: Make resolve_without_cast() return NonnullRefPtr<Value>
2020-08-07 09:36:15 +02:00
Andreas Kling
420e809fee
Shell: Store ListValue's values in a NonnullRefPtrVector<Value>
...
A ListValue never stores null Values, so it makes sense to restrict it.
This also propagates use of NonnullRefPtr to the create() helpers.
There's a small bit of awkwardness around the use of initializer_list,
since we cannot directly construct a NonnullRefPtrVector from one.
2020-08-07 09:33:05 +02:00
Andreas Kling
08e5371f44
Shell: Add some obvious move() calls in AST constructors
2020-08-07 09:19:59 +02:00
Andreas Kling
379e6f5817
LibWeb: Remove unused LayoutPosition comparison operators
2020-08-07 09:17:34 +02:00
Valtteri Koskivuori
b0ab6b9e3f
KeyboardSettings: Preselect the current keymap in the dropdown menu.
...
This is the little omission that I originally set out to fix, and
sure enough, I got to delve into Kernel land and back to implement
it. Lots of fun!
2020-08-07 09:11:04 +02:00
Brian Gianforcaro
bcb4cb4543
AudioServer: Lock the process veil after startup
...
We can't do any file syscalls anyway because of the reduction of pledges,
so we might as well lock the veil anyway.
2020-08-07 09:10:14 +02:00
Nico Weber
f008e83eae
LibLine: Add Ctrl-k shortcut
...
Only does the 'delete to end of line' bit for now.
No yank ring support yet.
2020-08-07 09:07:30 +02:00
Valtteri Koskivuori
c1f633e1ee
Documentation: Add a mention of the recent requirement for a newer
...
host compiler. On macOS this might have to be specified explicitly.
2020-08-07 09:07:10 +02:00
Nico Weber
530fb7eb82
LibLine: Add Alt-t shortcut for transposing words
2020-08-07 09:04:28 +02:00
Nico Weber
c1fb5263a5
LibLine: Add binding for Alt-backspace
...
It backward-deletes a word like Ctrl-W, but it has a slightly
different definition of what a word is. For example, with the
caret behind `gcc -fsanitize=address`, Ctrl-W would delete
'-fsanitize=address' but Alt-backspace would only delete 'address'.
2020-08-06 21:06:14 +02:00
Nico Weber
2051d690d5
LibLine: Fix "word" handling for alt-d/u/l/c/f/b and ctrl-left/right
...
All these shortcuts treat consecutive alnums as a word, not consecutive
non-spaces.
For example, `alias KILL='kill -9'` can now be written by typing it
out lowercase, then hitting ctrl-a alt-f alt-u.
Ctrl-W still treats a word as a sequence of non-spaces. Alt-backspace
in a future patch will add the ability to backward-delete a word
that's a sequence of alnums.
2020-08-06 20:55:27 +02:00
Linus Groh
d9de0a5007
Userland: Use Core::ArgsParser for 'aplay'
2020-08-06 20:41:13 +02:00
Linus Groh
8f33a44b6c
Userland: Use Core::ArgsParser for 'avol'
2020-08-06 20:41:13 +02:00
Linus Groh
9b07defb36
Userland: Use Core::ArgsParser for 'basename'
2020-08-06 20:41:13 +02:00
Linus Groh
14db94f44b
Userland: Use Core::ArgsParser for 'chgrp'
2020-08-06 20:41:13 +02:00
Linus Groh
c8d690d840
Userland: Use Core::ArgsParser for 'disasm'
2020-08-06 20:41:13 +02:00
Linus Groh
31a4a2cc2a
Userland: Use Core::ArgsParser for 'hostname'
2020-08-06 20:41:13 +02:00
Linus Groh
718a45ef71
Userland: Handle invalid JSON in 'jp'
2020-08-06 20:41:13 +02:00
Linus Groh
f4f3ab0ad9
Userland: Use Core::ArgsParser for 'jp'
2020-08-06 20:41:13 +02:00
Linus Groh
ab1f3551cc
Userland: Use Core::ArgsParser for 'md'
2020-08-06 20:41:13 +02:00
Linus Groh
f6369a66b1
Userland: Use Core::ArgsParser for 'modload'
2020-08-06 20:41:13 +02:00
Linus Groh
3cc5ed642e
Userland: Use Core::ArgsParser for 'modunload'
2020-08-06 20:41:13 +02:00
Linus Groh
ca799fe4ab
Userland: Use Core::ArgsParser for 'ping'
2020-08-06 20:41:13 +02:00
Linus Groh
59942edcc0
Userland: Use Core::ArgsParser for 'pro'
2020-08-06 20:41:13 +02:00
Linus Groh
4565d2d415
Userland: Use Core::ArgsParser for 'purge'
2020-08-06 20:41:13 +02:00
Linus Groh
646f6165e2
Userland: Use Core::ArgsParser for 'realpath'
2020-08-06 20:41:13 +02:00
Linus Groh
7b82334e2f
Userland: Use Core::ArgsParser for 'rmdir'
2020-08-06 20:41:13 +02:00
Linus Groh
3298b0318c
Userland: Use Core::ArgsParser for 'su'
2020-08-06 20:41:13 +02:00
Linus Groh
d320f7b9d2
Userland: Use Core::ArgsParser for 'tr'
2020-08-06 20:41:13 +02:00
Linus Groh
559ea8e1b5
Userland: Use Core::ArgsParser for 'tt'
2020-08-06 20:41:13 +02:00
Linus Groh
edc5f5b9bb
Userland: Use Core::ArgsParser for 'uname'
2020-08-06 20:41:13 +02:00
Linus Groh
4ba23745c0
Userland: Use Core::ArgsParser for 'which'
2020-08-06 20:41:13 +02:00
Linus Groh
cf81d9765c
Userland: Use Core::ArgsParser for 'yes'
2020-08-06 20:41:13 +02:00
Nico Weber
3cc9e8ba41
LibLine+Shell: Remove unused split_mechanism
...
It was only read in should_break_token(), which had no callers.
should_break_token() also got `foo\\ bar` and `"foo bar"` wrong.
2020-08-06 20:37:39 +02:00
Nico Weber
7f7dd3cf9c
LibLine: Add binding for Alt-.
2020-08-06 20:37:17 +02:00
Tibor Nagy
6be3f914f0
Base: Update Hungarian keymap with accented characters and more symbols
...
Also fixing a bug where the numpad keys were accidentally shifted by
one position in the JSON array.
2020-08-06 20:36:50 +02:00
Andreas Kling
1c7faa8965
LibWeb: Move text selection serialization from PageView to Frame
...
This logic doesn't depend on anything at the widget layer, so it can
move down to the frame layer.
2020-08-06 19:59:24 +02:00
Nico Weber
90efba95c1
LibLine: Add bindings for Alt-u, Alt-l, Alt-c
2020-08-06 19:48:30 +02:00
Nico Weber
5d343e1c29
LibLine: Add comments for which keys trigger VWERASE and VKILL
2020-08-06 19:03:06 +02:00
Nico Weber
f29c5c3a41
LibLine: Add Alt-d binding to forward-delete a word
2020-08-06 19:03:06 +02:00
Edgar Araújo
e521daeedc
Keymaps: Add European Portuguese keymap
2020-08-06 17:53:42 +02:00
Muhammad Zahalqa
5fe6c13e5b
LibThread: Remove redundant r/w of atomic variable in Lock::lock() ( #3013 )
...
m_holder.compare_exchange_strong(expected, desired, ...)
will either successfully update the value to desired if == expected
or put the current value in expected otherwise.
2020-08-06 17:50:25 +02:00
Nico Weber
4d9d054386
Shell: Start adding some alt shortcuts
...
This adds Alt-f to go forward by a word, and Alt-b to go backward
by a word (like ctrl-arrow-left / ctrl-arrow-right already do).
Behind the scenes, alt-key is implemented by sending <esc> followed
by that key, and typing <esc> f/b for moving by a word hence works
too (in all other shells too, not just in Serenity's).
While here, rename some InputState enum values to make the slightly
expanded use of <esc> clearer, and expand a few comments.
2020-08-06 17:45:31 +02:00
Valtteri Koskivuori
471083ca3d
ProcFS: Expose the current kernel keymap as /proc/keymap
...
Programs can now ask the kernel which keymap is in use by reading from /proc/keymap
2020-08-06 17:45:06 +02:00
Valtteri Koskivuori
00a0e525e6
Kernel+LibKeyboard: Store the keymap name when setting system keymap
...
This way we can query the kernel to see which keymap is currently in use.
2020-08-06 17:45:06 +02:00