redox-os issueshttps://gitlab.redox-os.org/groups/redox-os/-/issues2018-06-14T21:49:07Zhttps://gitlab.redox-os.org/redox-os/orbclient/-/issues/41orbclient is blocking until a new event receives2018-06-14T21:49:07ZJeremy Sollerorbclient is blocking until a new event receives*Created by: FloVanGH*
Could it be that the orbclient window is blocking (waiting) until it receives a new event (https://github.com/redox-os/orbclient/blob/master/src/sys/sdl2.rs#L361). This should be critical if we want to integrate a...*Created by: FloVanGH*
Could it be that the orbclient window is blocking (waiting) until it receives a new event (https://github.com/redox-os/orbclient/blob/master/src/sys/sdl2.rs#L361). This should be critical if we want to integrate animations in orbtk or to handle NPCs in orbgame. I can reproduce his behavior in orbgame. The game stops until a new event received.https://gitlab.redox-os.org/redox-os/orbclient/-/issues/39build failure with rustc nightly2018-06-14T21:49:07ZJeremy Sollerbuild failure with rustc nightly*Created by: matthiaskrgr*
````
rustc 1.24.0-nightly (4a7c072fa 2017-12-25)
cargo 0.25.0-nightly (e08f31018 2017-12-24)
````
````
cargo build
Updating registry `https://github.com/rust-lang/crates.io-index`
Compiling num-t...*Created by: matthiaskrgr*
````
rustc 1.24.0-nightly (4a7c072fa 2017-12-25)
cargo 0.25.0-nightly (e08f31018 2017-12-24)
````
````
cargo build
Updating registry `https://github.com/rust-lang/crates.io-index`
Compiling num-traits v0.1.41
Compiling libc v0.2.34
Compiling lazy_static v0.2.11
Compiling bitflags v0.7.0
Compiling sdl2-sys v0.30.0
Compiling rand v0.3.18
Compiling num-integer v0.1.35
Compiling num-iter v0.1.34
Compiling num v0.1.41
Compiling sdl2 v0.30.0
Compiling orbclient v0.3.12 (file:///tmp/orbclient)
error: borrow of packed field requires unsafe function or block (error E0133)
--> src/color.rs:59:31
|
59 | write!(f, "{:#010X}", self.data)
| ^^^^^^^^^
|
note: lint level defined here
--> src/lib.rs:9:9
|
9 | #![deny(warnings)]
| ^^^^^^^^
= note: #[deny(safe_packed_borrows)] implied by #[deny(warnings)]
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
error: borrow of packed field requires unsafe function or block (error E0133)
--> src/renderer.rs:59:27
|
59 | let old = &mut data[y as usize * w as usize + x as usize].data;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
error: aborting due to 2 previous errors
error: Could not compile `orbclient`.
To learn more, run the command again with --verbose.
````https://gitlab.redox-os.org/redox-os/ion/-/issues/293This ⸻ unicode ⸻ character ⸻ makes ⸻ weird ⸻ things ⸻ happen2018-06-14T16:56:22ZMichael Aaron Murphymmstick@pm.meThis ⸻ unicode ⸻ character ⸻ makes ⸻ weird ⸻ things ⸻ happen*Created by: z3ntu*
I copied the title from https://github.com/fish-shell/fish-shell/issues/2652 as it also applies here.
**Reproduction**: Enter/paste the long dash character in the shell
**Expected behavior**: The cursor should "a...*Created by: z3ntu*
I copied the title from https://github.com/fish-shell/fish-shell/issues/2652 as it also applies here.
**Reproduction**: Enter/paste the long dash character in the shell
**Expected behavior**: The cursor should "align" with the end of the character
**Actual behavior**: It doesn't
**Build information**: Arch Linux
**Misc**: Using the Konsole terminal emulator on KDE Plasma.
But props for handling Emoji **mostly** correctly. There are still some issues though if you play a bit with them 😉 https://gitlab.redox-os.org/redox-os/ion/-/issues/3Command line editor for ion2018-06-14T16:52:13ZMichael Aaron Murphymmstick@pm.meCommand line editor for ion*Created by: skylerberg*
Shells like bash and zsh have line editors that make them far more usable. For example here are some features provided by GNU Readline used in bash:
- Tab completion
- Up arrow for previous command
- Reverse sea...*Created by: skylerberg*
Shells like bash and zsh have line editors that make them far more usable. For example here are some features provided by GNU Readline used in bash:
- Tab completion
- Up arrow for previous command
- Reverse search (ctrl-r)
Readline is kind of the standard for line readers, but it is under a GPL license. It would be nice to have our own line editor written in Rust that can be used by our shell.
NOTE: This was originally an issue opened in Redox (https://github.com/redox-os/redox/issues/346), but I am moving it here.
https://gitlab.redox-os.org/redox-os/ion/-/issues/752Implement reverse search2018-06-14T16:52:13ZMichael Aaron Murphymmstick@pm.meImplement reverse search*Created by: golem131*
Bash has a functionality to search in the history, triggered by the ctrl-r key combination.
I've seen issue #3 filed about this, but it its closed and the functionality is still not implemented yet.
liner au...*Created by: golem131*
Bash has a functionality to search in the history, triggered by the ctrl-r key combination.
I've seen issue #3 filed about this, but it its closed and the functionality is still not implemented yet.
liner author AWOL, whats next?https://gitlab.redox-os.org/redox-os/ion/-/issues/758[feature request] allow binding keys to functions2018-06-14T16:49:01ZMichael Aaron Murphymmstick@pm.me[feature request] allow binding keys to functions*Created by: sanga*
For example to key bind to FZF functions (https://github.com/junegunn/fzf) such that ctrl+R could use fzf to fuzzy search history.*Created by: sanga*
For example to key bind to FZF functions (https://github.com/junegunn/fzf) such that ctrl+R could use fzf to fuzzy search history.https://gitlab.redox-os.org/redox-os/relibc/-/issues/81wait: Implement the stat_val functions2018-06-14T13:45:32ZDan Robertsonwait: Implement the stat_val functionsImplement the macros used to extract useful infrom from the [Status Information] of a `wait` or `waitpid` call. The [spec] and [musl implementation] may be useful references.
- [ ] `WIFEXITED`
- [ ] `WEXITSTATUS`
- [ ] `WIFSIGNAL...Implement the macros used to extract useful infrom from the [Status Information] of a `wait` or `waitpid` call. The [spec] and [musl implementation] may be useful references.
- [ ] `WIFEXITED`
- [ ] `WEXITSTATUS`
- [ ] `WIFSIGNALED`
- [ ] `WTERMSIG`
- [ ] `WIFSTOPPED`
- [ ] `WSTOPSIG`
- [ ] `WIFCONTINUED`
[Status Information]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_13
[spec]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/wait.html
[musl implementation]: https://git.musl-libc.org/cgit/musl/tree/include/sys/wait.h#n47https://gitlab.redox-os.org/redox-os/ion/-/issues/472Multiple Indices?2018-06-14T12:44:09ZMichael Aaron Murphymmstick@pm.meMultiple Indices?Perhaps we can poach this idea from Elvish?
```ion
$ let array = [1 2 3 4 5 6 7 8 9 10]
$ echo @array[0 1 7..]
1 2 8 9 10
```Perhaps we can poach this idea from Elvish?
```ion
$ let array = [1 2 3 4 5 6 7 8 9 10]
$ echo @array[0 1 7..]
1 2 8 9 10
```stratactstratact1@gmail.comstratactstratact1@gmail.comhttps://gitlab.redox-os.org/redox-os/ion/-/issues/730Unterminated array error on '{[a,b]}'2018-06-14T06:03:07ZMichael Aaron Murphymmstick@pm.meUnterminated array error on '{[a,b]}'*Created by: emturner*
**Reproduction**:
```echo {[a,b]}```
**Expected behavior**:
A syntax error or some other kind of error message.
**Actual behavior**:
```thread 'main' panicked at 'ion: fatal error with syntax validation...*Created by: emturner*
**Reproduction**:
```echo {[a,b]}```
**Expected behavior**:
A syntax error or some other kind of error message.
**Actual behavior**:
```thread 'main' panicked at 'ion: fatal error with syntax validation: unterminated array expression', src/lib/parser/shell_expand/words/mod.rs:160:9```
**Build information**: [output of `rustc -V`, `git rev-parse HEAD`, `qemu-i386 -version`, `uname -a`, `ion --version`, et
```rustc -V```: ```rustc 1.27.0-nightly (8a37c75a3 2018-05-02)```
```git rev-parse HEAD```: [```361db0b6```](https://github.com/redox-os/ion/commit/361db0b619034fbd2216f8db0ba20146006d6454)
https://gitlab.redox-os.org/redox-os/syscall/-/issues/5Do not compile if the platform is not redox2018-06-14T03:00:11ZJeremy SollerDo not compile if the platform is not redox*Created by: P-E-Meunier*
So, I wrote an alternative build system for Rust, based on Nix, to reduce compilation times when deploying using NixOps.
See https://nest.pijul.com/pmeunier/nix-rust
It works fine, except for one thing: the...*Created by: P-E-Meunier*
So, I wrote an alternative build system for Rust, based on Nix, to reduce compilation times when deploying using NixOps.
See https://nest.pijul.com/pmeunier/nix-rust
It works fine, except for one thing: the `time` crate depends on `redox-syscall` only on when the platform is Redox. Unfortunately, that information is not written to `Cargo.lock` (for a good reason: portability of `Cargo.lock`).
So, I'd love it if this entire crate could compile on all platforms, but just compile nothing on non-Redox platforms.https://gitlab.redox-os.org/redox-os/ion/-/issues/774Fix variable assignment2018-06-13T22:22:21ZSag0Sag0Fix variable assignment```
let x y = 1 2
let x y = $y $x
echo $x $y
```
This currently prints `2` `2`.
It should print `2` `1`.
This happens currently because arguments are evaluated one at a time serially.```
let x y = 1 2
let x y = $y $x
echo $x $y
```
This currently prints `2` `2`.
It should print `2` `1`.
This happens currently because arguments are evaluated one at a time serially.stratactstratact1@gmail.comstratactstratact1@gmail.comhttps://gitlab.redox-os.org/redox-os/netstack/-/issues/9Implement dnsd2018-06-13T18:35:09ZJeremy SollerImplement dnsd*Created by: batonius*
Currently, there's no centralized DNS subsystem in Redox and two independent implementations of `lookup_host` in `stdlib` and `newlib`. By implementing a specialized daemon we'll be able to cache DNS requests, per...*Created by: batonius*
Currently, there's no centralized DNS subsystem in Redox and two independent implementations of `lookup_host` in `stdlib` and `newlib`. By implementing a specialized daemon we'll be able to cache DNS requests, perform reverse queries, and provide clear, user-friendly interface to DNS queries.
The new daemon should implement `dns:` schema, so a process could open `dns:example.org` and read resolved IPv4 (for now) in string format. Other record types could be implemented in the future as "dns:aaaa/example.org". The daemon should keep resolved domains in a cache for a configurable amount of time.
Once #7 is implemented, the daemon should get the addrs of the DNS server from `netcfg:resolv/server`.https://gitlab.redox-os.org/redox-os/netstack/-/issues/7Implement netcfg2018-06-13T18:35:09ZDan RobertsonImplement netcfgImplement _netcfg_ as described in redox-os/rfcs#6Implement _netcfg_ as described in redox-os/rfcs#6https://gitlab.redox-os.org/redox-os/netstack/-/issues/27smolnetd: Edge-triggered model2018-06-13T18:35:09ZJeremy Sollersmolnetd: Edge-triggered model*Created by: jD91mZM2*
Currently smolnetd is level-triggered. This means that when it's writeable, it'll keep announcing itself as writeable over and over. While this is good so you can't miss any events for whatever reason, it means th...*Created by: jD91mZM2*
Currently smolnetd is level-triggered. This means that when it's writeable, it'll keep announcing itself as writeable over and over. While this is good so you can't miss any events for whatever reason, it means that calling `read` on `event:` can be more of a busy-loop rather than actually selecting. It also introduces some issues I had to work around with tokio since it relies on a edge-triggered model normally.
Changing to edge-triggered would also mean a blocking read would have to return EWOULDBLOCK instead of just a 0, so there is a way to detect what is a blocking read and what is an EOF. This would once again get rid of some ugly workarounds used in tokio, which is nice.
## Minimal example:
```Rust
extern crate syscall;
use std::{
fs::File,
io::{self, prelude::*},
net::TcpStream,
os::unix::io::AsRawFd
};
use syscall::{Event, EVENT_WRITE};
fn main() -> io::Result<()> {
let mut events = File::open("event:")?;
let stream = TcpStream::connect("google.com:80")?;
events.write(&Event {
id: stream.as_raw_fd(),
flags: EVENT_WRITE,
data: 0
})?;
let mut event = Event::default();
while events.read(&mut event)? > 0 {
println!("{:?}", event);
}
Ok(())
}
```
You might expect this to print one event when it becomes writeable, but then it continues to send it over and over.https://gitlab.redox-os.org/redox-os/rusttype/-/issues/18gpu_cache.rs example doesn't handle the case where window is moved to a scree...2018-06-13T17:19:50ZJeremy Sollergpu_cache.rs example doesn't handle the case where window is moved to a screen with different DPI factor at runtime*Created by: mitchmindtree*
I noticed this when moving the window from my regular monitor (DPI of 1.0) to my retina MBP (DPI of 2.0). It's not a big issue, but it'd be nice to demonstrate the correct handling of this case. I can imagine...*Created by: mitchmindtree*
I noticed this when moving the window from my regular monitor (DPI of 1.0) to my retina MBP (DPI of 2.0). It's not a big issue, but it'd be nice to demonstrate the correct handling of this case. I can imagine many users will copy this example directly for their own code!
This is what it looks like when the example is run and opened on my regular monitor:
![screen shot 2016-06-10 at 3 11 49 pm](https://cloud.githubusercontent.com/assets/4587373/15954727/ba717cb4-2f1d-11e6-879f-1aa431cb4b44.png)
This is what it looks like when first dragged from my regular monitor to my retina display:
<img width="514" alt="screen shot 2016-06-10 at 3 12 53 pm" src="https://cloud.githubusercontent.com/assets/4587373/15954738/f0a2efb6-2f1d-11e6-8d74-d8c4fd156e2d.png">
Once I resize it very slightly (a pixel or two) it seems to trigger a redraw, but at the original size without consideration of the new DPI factor:
<img width="517" alt="screen shot 2016-06-10 at 3 13 34 pm" src="https://cloud.githubusercontent.com/assets/4587373/15954747/07634778-2f1e-11e6-889a-e95d7e49b1b5.png">
This is what it looks like when opened _initially_ on my retina display:
<img width="514" alt="screen shot 2016-06-10 at 3 16 19 pm" src="https://cloud.githubusercontent.com/assets/4587373/15954793/838736fc-2f1e-11e6-86b0-421571a839f8.png">
https://gitlab.redox-os.org/redox-os/rusttype/-/issues/1superscript letters are not rendered2018-06-13T17:19:50ZJeremy Sollersuperscript letters are not rendered*Created by: vks*
Rendering `E = mc²` in the example works, but `E = mcⁿ` does not. (The superscript `n` is not rendered. It is rendered correctly in LibreOffice.)
*Created by: vks*
Rendering `E = mc²` in the example works, but `E = mcⁿ` does not. (The superscript `n` is not rendered. It is rendered correctly in LibreOffice.)
https://gitlab.redox-os.org/redox-os/rusttype/-/issues/4Avoid deref polymorphism2018-06-13T17:19:50ZJeremy SollerAvoid deref polymorphism*Created by: nrc*
If you can, refactoring to avoid this anti-pattern would be good. It is not really idiomatic Rust and should be avoided where possible. [Here](https://github.com/nrc/patterns/blob/master/anti_patterns/deref.md)'s a lit...*Created by: nrc*
If you can, refactoring to avoid this anti-pattern would be good. It is not really idiomatic Rust and should be avoided where possible. [Here](https://github.com/nrc/patterns/blob/master/anti_patterns/deref.md)'s a little write up on why it is an anti-pattern.
Really exciting library, by the way!
https://gitlab.redox-os.org/redox-os/rusttype/-/issues/10GPU cache example crashes on X112018-06-13T17:19:50ZJeremy SollerGPU cache example crashes on X11*Created by: lux01*
The GPU example fails to run on (probably) all X11 systems due to a [known bug](https://github.com/tomaka/glutin/issues/581) in glutin. In short, GLX implementations seem to always report that sRGB is unsupported eve...*Created by: lux01*
The GPU example fails to run on (probably) all X11 systems due to a [known bug](https://github.com/tomaka/glutin/issues/581) in glutin. In short, GLX implementations seem to always report that sRGB is unsupported even when the format supports it.
The workaround until the bug is solved in glutin is to remove [this line](https://github.com/dylanede/rusttype/blob/205def21e370e35e2b860eb6f086fda749e57df8/examples/gpu_cache.rs#L68).
Build output (with rustc 1.7.0 stable) on Xubutnu 15.10:
```
$ cargo run --example gpu_cache
Running `target/debug/examples/gpu_cache`
thread '<main>' panicked at 'called `Result::unwrap()` on an `Err` value: BackendCreationError(NoAvailablePixelFormat)', ../src/libcore/result.rs:688
Process didn't exit successfully: `target/debug/examples/gpu_cache` (exit code: 101)
```
https://gitlab.redox-os.org/redox-os/rusttype/-/issues/8arithmetic operation overflow2018-06-13T17:19:47ZJeremy Sollerarithmetic operation overflow*Created by: Maxjen*
I am getting an 'arithmetic operation overflowed' panic and the compiler is pointing me to [this line](https://github.com/dylanede/stb_truetype-rs/blob/master/src/lib.rs#L800). The example code I attached in issue #...*Created by: Maxjen*
I am getting an 'arithmetic operation overflowed' panic and the compiler is pointing me to [this line](https://github.com/dylanede/stb_truetype-rs/blob/master/src/lib.rs#L800). The example code I attached in issue #7 triggers it.(after cargo update)
It seems to be related to kerning, because the code works if I comment the following lines out:
```
for c in string.chars() {
for c_other in string.chars() {
let kerning = font.pair_kerning(scale, c, c_other);
if kerning != 0.0 {
println!("kerning {} {} {:.10} ", c, c_other, kerning);
}
}
}
```
https://gitlab.redox-os.org/redox-os/rusttype/-/issues/13Upgrade from ndarray 0.32018-06-13T17:19:47ZJeremy SollerUpgrade from ndarray 0.3*Created by: bluss*
This is just a notice since ndarray's 0.3 versions now have a future incompatibility warning like this:
``` rust
src/lib.rs:366:5: 366:86 warning: the trait bound `Self: std::marker::Sized` is not satisfied, #[warn(...*Created by: bluss*
This is just a notice since ndarray's 0.3 versions now have a future incompatibility warning like this:
``` rust
src/lib.rs:366:5: 366:86 warning: the trait bound `Self: std::marker::Sized` is not satisfied, #[warn(unsized_in_tuple)] on by default
src/lib.rs:366 unsafe fn clone_with_ptr(&self, ptr: *mut Self::Elem) -> (Self, *mut Self::Elem);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:366:5: 366:86 warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
src/lib.rs:366:5: 366:86 note: for more information, see issue #33242 <https://github.com/rust-lang/rust/issues/33242>
```
which means that they will stop compiling at some point. (It was fixed in ndarray 0.5.1).
I was going to ask anyway, maybe ndarray should learn a default crate feature for numerics so that it is possible to depend on it without the numerics and maths related functionality?