rune/lisp.rs
1#[repr(u64)]
2enum CharBits {
3 Alt = 0x0400000,
4 Super = 0x0800000,
5 Hyper = 0x1000000,
6 Shift = 0x2000000,
7 Ctl = 0x4000000,
8 Meta = 0x8000000,
9}
10
11pub const CHAR_MODIFIER_MASK: u64 = {
12 CharBits::Alt as u64
13 | CharBits::Super as u64
14 | CharBits::Hyper as u64
15 | CharBits::Shift as u64
16 | CharBits::Ctl as u64
17 | CharBits::Meta as u64
18};
19
20// Check quit-flag and quit if it is non-nil. Typing C-g does not
21// directly cause a quit; it only sets Vquit_flag. So the program
22// needs to call maybe_quit at times when it is safe to quit. Every
23// loop that might run for a long time or might not exit ought to call
24// maybe_quit at least once, at a safe place. Unless that is
25// impossible, of course. But it is very desirable to avoid creating
26// loops where maybe_quit is impossible.
27//
28// If quit-flag is set to `kill-emacs' the SIGINT handler has received
29// a request to exit Emacs when it is safe to do.
30//
31// When not quitting, process any pending signals.
32pub fn maybe_quit() {
33 // TODO: Implement maybe_quit
34}