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}