Package: emacs;
Reported by: Len Trigg <lenbok <at> gmail.com>
Date: Tue, 24 Dec 2024 05:44:02 UTC
Severity: normal
Found in version 31.0.50
View this message in rfc822 format
From: martin rudalics <rudalics <at> gmx.at> To: Gerd Möllmann <gerd.moellmann <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, lenbok <at> gmail.com, 75056 <at> debbugs.gnu.org Subject: bug#75056: 31.0.50; tty-child-frames with server / multiple clients possible hangs Date: Sun, 9 Feb 2025 16:47:17 +0100
> Sachen gibt's :-/. Clicking with the mouse on an arbitrary menubar item gets me Debugger entered--Lisp error: (error "#<frame F1 0x13906d40> is not a valid window") signal(error ("#<frame F1 0x13906d40> is not a valid window")) error("%s is not a valid window" #<frame F1 0x13906d40>) window-normalize-window(#<frame F1 0x13906d40> nil) window-edges(#<frame F1 0x13906d40> nil t) (let* ((--cl-rest-- (window-edges win nil t)) (wx (if (= (length --cl-rest--) 4) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) (signal 'wrong-number-of-arguments (list '(wx wy _ _) (length --cl-rest--))))) (wy (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (_ (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (_ (car-safe --cl-rest--))) (list (window-frame win) (+ wx x) (+ wy y))) (let* ((end (event-end e)) (win (posn-window end)) (x (car (posn-x-y end))) (y (cdr (posn-x-y end)))) (let* ((--cl-rest-- (window-edges win nil t)) (wx (if (= (length --cl-rest--) 4) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- ...))) (signal 'wrong-number-of-arguments (list '... (length --cl-rest--))))) (wy (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (_ (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (_ (car-safe --cl-rest--))) (list (window-frame win) (+ wx x) (+ wy y)))) (let* ((e d12)) (let* ((end (event-end e)) (win (posn-window end)) (x (car (posn-x-y end))) (y (cdr (posn-x-y end)))) (let* ((--cl-rest-- (window-edges win nil t)) (wx (if (= (length --cl-rest--) 4) (car-safe (prog1 --cl-rest-- ...)) (signal 'wrong-number-of-arguments (list ... ...)))) (wy (car-safe (prog1 --cl-rest-- (setq --cl-rest-- ...)))) (_ (car-safe (prog1 --cl-rest-- (setq --cl-rest-- ...)))) (_ (car-safe --cl-rest--))) (list (window-frame win) (+ wx x) (+ wy y))))) (if (eventp d12) (let* ((e d12)) (let* ((end (event-end e)) (win (posn-window end)) (x (car (posn-x-y end))) (y (cdr (posn-x-y end)))) (let* ((--cl-rest-- (window-edges win nil t)) (wx (if (= ... 4) (car-safe ...) (signal ... ...))) (wy (car-safe (prog1 --cl-rest-- ...))) (_ (car-safe (prog1 --cl-rest-- ...))) (_ (car-safe --cl-rest--))) (list (window-frame win) (+ wx x) (+ wy y))))) (let ((d11 pos)) (if (and (consp d11) (and (consp (car d11)) (numberp (car (car d11))) (numberp (cdr (car d11)))) (and (consp (cdr d11)) (windowp (car (cdr d11))))) (let* ((win (car (cdr d11))) (y (cdr (car d11))) (x (car (car d11)))) (let* ((--cl-rest-- (window-edges win nil t)) (wx (if ... ... ...)) (wy (car-safe ...)) (_ (car-safe ...)) (_ (car-safe --cl-rest--))) (list (window-frame win) (+ wx x) (+ wy y)))) (let ((d10 pos)) (if (and (consp d10) (and (consp ...) (numberp ...) (consp ...) (numberp ...) (null ...)) (and (consp ...) (framep ...))) (let* ((frame ...) (y ...) (x ...)) (list frame x y)) (let ((d9 pos)) (if (and ... ... ...) (let* ... ...) (let ... ...)))))))) (let ((d12 pos)) (if (eventp d12) (let* ((e d12)) (let* ((end (event-end e)) (win (posn-window end)) (x (car (posn-x-y end))) (y (cdr (posn-x-y end)))) (let* ((--cl-rest-- (window-edges win nil t)) (wx (if ... ... ...)) (wy (car-safe ...)) (_ (car-safe ...)) (_ (car-safe --cl-rest--))) (list (window-frame win) (+ wx x) (+ wy y))))) (let ((d11 pos)) (if (and (consp d11) (and (consp (car d11)) (numberp (car ...)) (numberp (cdr ...))) (and (consp (cdr d11)) (windowp (car ...)))) (let* ((win (car ...)) (y (cdr ...)) (x (car ...))) (let* ((--cl-rest-- ...) (wx ...) (wy ...) (_ ...) (_ ...)) (list (window-frame win) (+ wx x) (+ wy y)))) (let ((d10 pos)) (if (and (consp d10) (and ... ... ... ... ...) (and ... ...)) (let* (... ... ...) (list frame x y)) (let (...) (if ... ... ...)))))))) (if (eq 't d13) (progn (let* ((y (mouse-position)) (frame (if (cdr y) (car-safe (prog1 y ...)) (signal 'wrong-number-of-arguments (list ... ...)))) (x (car-safe (prog1 y (setq y ...))))) (list frame (or x 10) (or y 10)))) (let ((d12 pos)) (if (eventp d12) (let* ((e d12)) (let* ((end (event-end e)) (win (posn-window end)) (x (car ...)) (y (cdr ...))) (let* ((--cl-rest-- ...) (wx ...) (wy ...) (_ ...) (_ ...)) (list (window-frame win) (+ wx x) (+ wy y))))) (let ((d11 pos)) (if (and (consp d11) (and (consp ...) (numberp ...) (numberp ...)) (and (consp ...) (windowp ...))) (let* ((win ...) (y ...) (x ...)) (let* (... ... ... ... ...) (list ... ... ...))) (let ((d10 pos)) (if (and ... ... ...) (let* ... ...) (let ... ...)))))))) (let ((d13 pos)) (if (eq 't d13) (progn (let* ((y (mouse-position)) (frame (if (cdr y) (car-safe ...) (signal ... ...))) (x (car-safe (prog1 y ...)))) (list frame (or x 10) (or y 10)))) (let ((d12 pos)) (if (eventp d12) (let* ((e d12)) (let* ((end ...) (win ...) (x ...) (y ...)) (let* (... ... ... ... ...) (list ... ... ...)))) (let ((d11 pos)) (if (and (consp d11) (and ... ... ...) (and ... ...)) (let* (... ... ...) (let* ... ...)) (let (...) (if ... ... ...)))))))) (if (eq 'nil d14) (progn nil) (let ((d13 pos)) (if (eq 't d13) (progn (let* ((y (mouse-position)) (frame (if ... ... ...)) (x (car-safe ...))) (list frame (or x 10) (or y 10)))) (let ((d12 pos)) (if (eventp d12) (let* ((e d12)) (let* (... ... ... ...) (let* ... ...))) (let ((d11 pos)) (if (and ... ... ...) (let* ... ...) (let ... ...)))))))) (let ((d14 pos)) (if (eq 'nil d14) (progn nil) (let ((d13 pos)) (if (eq 't d13) (progn (let* ((y ...) (frame ...) (x ...)) (list frame (or x 10) (or y 10)))) (let ((d12 pos)) (if (eventp d12) (let* (...) (let* ... ...)) (let (...) (if ... ... ...)))))))) tty-menu-position((buffer (#<frame F1 0x13906d40> (menu-bar) (18 . 0) 0))) (and t (tty-menu-position position)) (let* ((where (and t (tty-menu-position position)))) (if where (cond ((keymapp menu) (tty-menu-loop menu where)) ((consp menu) (let* ((outer (make-sparse-keymap "outer")) (--cl-var-- menu) (keymap nil) (name nil) (--cl-var-- t)) (while (consp --cl-var--) (setq keymap (car --cl-var--)) (setq name (tty-menu-keymap-name keymap "?")) (define-key outer (vector ...) keymap) (setq --cl-var-- (cdr --cl-var--)) (setq --cl-var-- nil)) (tty-menu-loop outer where) nil)) (t (error "Not a menu: %S" menu))))) tty-menu-popup-menu((buffer (#<frame F1 0x13906d40> (menu-bar) (18 . 0) 0)) (keymap "Buffers" [("*scratch* " . #f(compiled-function () (interactive nil) #<bytecode -0x16623bd101fe3580>)) ("*Messages* *%" . #f(compiled-function () (interactive nil) #<bytecode -0x16623bd54f393580>))] (command-separator "--") (next-buffer menu-item "Next Buffer" next-buffer :help "Switch to the \"next\" buffer in a cyclic order") (previous-buffer menu-item "Previous Buffer" previous-buffer :help "Switch to the \"previous\" buffer in a cyclic order") (select-named-buffer menu-item "Select Named Buffer..." switch-to-buffer :help "Prompt for a buffer name, and select that buffer in the current window") (list-all-buffers menu-item "List All Buffers" list-buffers :help "Pop up a window listing all Emacs buffers") (select-buffer-in-project menu-item "Select Buffer In Project..." project-switch-to-buffer :help "Prompt for a buffer belonging to current project, and switch to it") (list-buffers-in-project menu-item "List Buffers In Project..." project-list-buffers :help "Pop up a window listing all Emacs buffers belonging to current project"))) apply(tty-menu-popup-menu ((buffer (#<frame F1 0x13906d40> (menu-bar) (18 . 0) 0)) (keymap "Buffers" [("*scratch* " . #f(compiled-function () (interactive nil) #<bytecode -0x16623bd101fe3580>)) ("*Messages* *%" . #f(compiled-function () (interactive nil) #<bytecode -0x16623bd54f393580>))] (command-separator "--") (next-buffer menu-item "Next Buffer" next-buffer :help "Switch to the \"next\" buffer in a cyclic order") (previous-buffer menu-item "Previous Buffer" previous-buffer :help "Switch to the \"previous\" buffer in a cyclic order") (select-named-buffer menu-item "Select Named Buffer..." switch-to-buffer :help "Prompt for a buffer name, and select that buffer in the current window") (list-all-buffers menu-item "List All Buffers" list-buffers :help "Pop up a window listing all Emacs buffers") (select-buffer-in-project menu-item "Select Buffer In Project..." project-switch-to-buffer :help "Prompt for a buffer belonging to current project, and switch to it") (list-buffers-in-project menu-item "List Buffers In Project..." project-list-buffers :help "Pop up a window listing all Emacs buffers belonging to current project")))) x-popup-menu((buffer (#<frame F1 0x13906d40> (menu-bar) (18 . 0) 0)) (keymap "Buffers" [("*scratch* " . #f(compiled-function () (interactive nil) #<bytecode -0x16623bd101fe3580>)) ("*Messages* *%" . #f(compiled-function () (interactive nil) #<bytecode -0x16623bd54f393580>))] (command-separator "--") (next-buffer menu-item "Next Buffer" next-buffer :help "Switch to the \"next\" buffer in a cyclic order") (previous-buffer menu-item "Previous Buffer" previous-buffer :help "Switch to the \"previous\" buffer in a cyclic order") (select-named-buffer menu-item "Select Named Buffer..." switch-to-buffer :help "Prompt for a buffer name, and select that buffer in the current window") (list-all-buffers menu-item "List All Buffers" list-buffers :help "Pop up a window listing all Emacs buffers") (select-buffer-in-project menu-item "Select Buffer In Project..." project-switch-to-buffer :help "Prompt for a buffer belonging to current project, and switch to it") (list-buffers-in-project menu-item "List Buffers In Project..." project-list-buffers :help "Pop up a window listing all Emacs buffers belonging to current project"))) popup-menu((keymap "Buffers" [("*scratch* " . #f(compiled-function () (interactive nil) #<bytecode -0x16623bd101fe3580>)) ("*Messages* *%" . #f(compiled-function () (interactive nil) #<bytecode -0x16623bd54f393580>))] (command-separator "--") (next-buffer menu-item "Next Buffer" next-buffer :help "Switch to the \"next\" buffer in a cyclic order") (previous-buffer menu-item "Previous Buffer" previous-buffer :help "Switch to the \"previous\" buffer in a cyclic order") (select-named-buffer menu-item "Select Named Buffer..." switch-to-buffer :help "Prompt for a buffer name, and select that buffer in the current window") (list-all-buffers menu-item "List All Buffers" list-buffers :help "Pop up a window listing all Emacs buffers") (select-buffer-in-project menu-item "Select Buffer In Project..." project-switch-to-buffer :help "Prompt for a buffer belonging to current project, and switch to it") (list-buffers-in-project menu-item "List Buffers In Project..." project-list-buffers :help "Pop up a window listing all Emacs buffers belonging to current project")) (#<window 1 on *scratch*> 19 (18 . 0) 0 nil 19 (18 . 0) nil (0 . 0) (1 . 0)) nil t) menu-bar-open(nil 18) menu-bar-open-mouse((mouse-1 (nil menu-bar (21 . 0) 2424))) funcall-interactively(menu-bar-open-mouse (mouse-1 (nil menu-bar (21 . 0) 2424))) call-interactively(menu-bar-open-mouse nil nil) command-execute(menu-bar-open-mouse) martin
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.