bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#54889: 29.0.50; shift keys can't function when using setxkbmap with


From: bg . jheng
Subject: bug#54889: 29.0.50; shift keys can't function when using setxkbmap with custom_symbol in gnome
Date: Thu, 14 Apr 2022 22:56:29 +0000

i tried the version of emacs today,
it still do not give me chance to input ,
gui emacs freeze when gdb showed the prompt again,
i tried to press key before it freeze,
the result is showed below:

[root@lpc src]# gdb ./emacs -q
Reading symbols from ./emacs...
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
DISPLAY = :0
TERM = rxvt-unicode-256color
Breakpoint 1 at 0x21284d: file emacs.c, line 412.
Breakpoint 2 at 0x1c817a: file xterm.c, line 19763.
(gdb) break xterm.c:17399
Breakpoint 3 at 0x1c559f: file xterm.c, line 18527.
(gdb) break xterm.c:17399
Note: breakpoint 3 also set at pc 0x1c559f.
Breakpoint 4 at 0x1c559f: file xterm.c, line 18527.
(gdb) run
Starting program: /dev/shm/e29/src/emacs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff1355640 (LWP 298831)]
[New Thread 0x7ffff0a5f640 (LWP 298832)]
[Detaching after fork from child process 298833]
[Detaching after fork from child process 298834]
[New Thread 0x7fffebfff640 (LWP 298835)]
[New Thread 0x7fffeb7fe640 (LWP 298836)]
[Thread 0x7fffeb7fe640 (LWP 298836) exited]
[New Thread 0x7fffeb7fe640 (LWP 298837)]
[New Thread 0x7fffeaffd640 (LWP 298838)]
[Thread 0x7fffeb7fe640 (LWP 298837) exited]
[Thread 0x7fffeaffd640 (LWP 298838) exited]

Thread 1 "emacs" hit Breakpoint 3, handle_one_xevent (dpyinfo=0x555556112d50, event=0x7fffffffd710, finish=0x555555e9191c <current_finish>, hold_quit=0x7fffffffda40) at xterm.c:18527
18527          if (dpyinfo->supports_xkb
(gdb) p xkey.state
No symbol "xkey" in current context.
(gdb) p dpyinfo->hyper_mod_mask
$1 = 0


i also tried to comment out that you say this :
         else if (dpyinfo->xkb_desc->names->vmods[i] == dpyinfo->Xatom_Hyper)
            dpyinfo->hyper_mod_mask |= vmodmask;

after rebuild,
the capital letter can normally insert with shift now.
hope it useful.

Thanks

Po Lu <luangruo@yahoo.com> 於 2022年4月14日 週四 下午1:18寫道:
bg.jheng@gmail.com writes:

> I am sorry, i will notice to use 'reply all' since this time.
>
> here is this time i tried:
>
> 1. after 'run' , i do not see gui window,
> i have no way to input,
> here is the result:
>
> $ gdb ./emacs -q
> Reading symbols from ./emacs...
> SIGINT is used by the debugger.
> Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
> DISPLAY = :0
> TERM = rxvt-unicode-256color
> Breakpoint 1 at 0x4ac18: file emacs.c, line 412.
> Breakpoint 2 at 0x129bc0: file xterm.c, line 19625.
> (gdb) break xterm.c:17399
> Breakpoint 3 at 0x13cb23: file xterm.c, line 18393.
> (gdb) run
> Starting program: /dev/shm/e29/src/emacs
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/usr/lib/libthread_db.so.1".
> [New Thread 0x7ffff1356640 (LWP 198258)]
> [New Thread 0x7ffff0ae1640 (LWP 198259)]
> [New Thread 0x7fffebfff640 (LWP 198260)]
> [New Thread 0x7fffeb758640 (LWP 198261)]
> [New Thread 0x7fffeaf57640 (LWP 198262)]
> [New Thread 0x7fffea756640 (LWP 198263)]
>
> Thread 1 "emacs" hit Breakpoint 3, handle_one_xevent (dpyinfo=0x555555e69600, event=0x7fffffffd120, finish=<optimized out>, hold_quit=0x7fffffffd3f0) at
> xterm.c:18393
> 18393          if (dpyinfo->supports_xkb
> (gdb) p xkey.state
> No symbol "xkey" in current context.
> (gdb) p dpyinfo->hyper_mod_mask
> $1 = 1

It seems that your copy of Emacs is slightly out of date, please update
and try again.  Thanks in advance!

But this does say that hyper_mask is set to what is normally ShiftMask
on X.  What happens if you comment out this bit of code in the function
`x_find_modifier_meanings'?

          else if (dpyinfo->xkb_desc->names->vmods[i] == dpyinfo->Xatom_Hyper)
            dpyinfo->hyper_mod_mask |= vmodmask;

Thanks.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]