GNU bug report logs - #10851
Error edebugging read-char-by-name

Previous Next

Package: emacs;

Reported by: Juanma Barranquero <lekktu <at> gmail.com>

Date: Mon, 20 Feb 2012 12:53:01 UTC

Severity: normal

Found in version 24.0.93

Done: Juanma Barranquero <lekktu <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 10851 in the body.
You can then email your comments to 10851 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#10851; Package emacs. (Mon, 20 Feb 2012 12:53:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Juanma Barranquero <lekktu <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 20 Feb 2012 12:53:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Bug-Gnu-Emacs <bug-gnu-emacs <at> gnu.org>
Subject: Error edebugging read-char-by-name
Date: Mon, 20 Feb 2012 13:49:27 +0100
Package: emacs
Version: 24.0.93


This is a regression against 23.X.

emacs -Q lisp/international/mule-cmds.el

then look for `read-char-by-name', instrument it with C-u C-M-x, then

C-x b <RET>  ; to switch to *scratch*
M-x ucs-insert <RET> <space> <space> <space>  ; until the prompt
<space>  ; at the prompt


Debugger entered--Lisp error: (error "Window #<window 4 on
*Minibuf-1*> too small for splitting")
  apply(debug error (error "Window #<window 4 on  *Minibuf-1*> too
small for splitting"))
  edebug(error (error "Window #<window 4 on  *Minibuf-1*> too small
for splitting"))
  signal(error ("Window #<window 4 on  *Minibuf-1*> too small for splitting"))
  edebug-signal(error ("Window #<window 4 on  *Minibuf-1*> too small
for splitting"))
  signal(error ("Window #<window 4 on  *Minibuf-1*> too small for splitting"))
  error("Window %s too small for splitting" #<window 4 on  *Minibuf-1*>)
  byte-code(... [ignore-window-parameters function window size side
atom-root t functionp throw done window-parameter window-atom
window-atom-root split-window window-side 0 window-total-size
window-combined-p window-split-min-size window-min-size
window-combinations 2 nil window-sizable-p error "Window %s too small
for splitting" window--resize-reset float 0.5 1.0 window-normal-size
2.0 window--resize-child-windows 1.0 window-child
set-window-new-normal window-right set-window-new-total
window--resize-this-window 1.0 split-window-internal
set-window-parameter window-parent
run-window-configuration-change-hook window--check parent
window-combination-limit window-combination-resize horizontal
parent-size ...] 7)
  split-window()
  edebug-pop-to-buffer(#<buffer mule-cmds.el> #<window 11>)
  edebug-display()
  edebug-debugger(0 before nil)
  edebug-before(0)
  (edebug-after (edebug-before 0) 11 (if (edebug-after (edebug-before
1) 3 (eq (edebug-after 0 2 action) (quote metadata))) (quote (metadata
(category . unicode-name))) (edebug-after (edebug-before 4) 10
(complete-with-action (edebug-after 0 5 action) (edebug-after
(edebug-before 6) 7 (ucs-names)) (edebug-after 0 8 string)
(edebug-after 0 9 pred)))))
  (lambda nil (edebug-after (edebug-before 0) 11 (if (edebug-after
(edebug-before 1) 3 (eq (edebug-after 0 2 action) (quote metadata)))
(quote (metadata (category . unicode-name))) (edebug-after
(edebug-before 4) 10 (complete-with-action (edebug-after 0 5 action)
(edebug-after (edebug-before 6) 7 (ucs-names)) (edebug-after 0 8
string) (edebug-after 0 9 pred))))))()
  edebug-enter(edebug-anon0 ("" nil metadata) (lambda nil
(edebug-after (edebug-before 0) 11 (if (edebug-after (edebug-before 1)
3 (eq (edebug-after 0 2 action) (quote metadata))) (quote (metadata
(category . unicode-name))) (edebug-after (edebug-before 4) 10
(complete-with-action (edebug-after 0 5 action) (edebug-after
(edebug-before 6) 7 (ucs-names)) (edebug-after 0 8 string)
(edebug-after 0 9 pred)))))))
  (lambda (string pred action) (edebug-enter (quote edebug-anon0)
(list string pred action) (function (lambda nil (edebug-after
(edebug-before 0) 11 (if (edebug-after (edebug-before 1) 3 (eq ...
...)) (quote (metadata ...)) (edebug-after (edebug-before 4) 10
(complete-with-action ... ... ... ...))))))))("" nil metadata)
  completion-metadata("" (lambda (string pred action) (edebug-enter
(quote edebug-anon0) (list string pred action) (function (lambda nil
(edebug-after (edebug-before 0) 11 (if (edebug-after (edebug-before 1)
3 (eq ... ...)) (quote (metadata ...)) (edebug-after (edebug-before 4)
10 (complete-with-action ... ... ... ...)))))))) nil)
  completion--field-metadata(24)
  completion--do-completion(completion--try-word-completion)
  minibuffer-complete-word()
  call-interactively(minibuffer-complete-word nil nil)
  read-from-minibuffer("Unicode (name or hex): " nil (keymap (menu-bar
keymap (minibuf "Minibuf" keymap (tab menu-item "Complete"
minibuffer-complete :help "Complete as far as possible") (space
menu-item "Complete Word" minibuffer-complete-word :help "Complete at
most one word") (63 menu-item "List Completions"
minibuffer-completion-help :help "Display all possible completions")
"Minibuf")) (27 keymap (118 . switch-to-completions)) (prior .
switch-to-completions) (63 . minibuffer-completion-help) (32 .
minibuffer-complete-word) (9 . minibuffer-complete) keymap (menu-bar
keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History
Item" previous-history-element :help "Put previous minibuffer history
element in the minibuffer") (next menu-item "Next History Item"
next-history-element :help "Put next minibuffer history element in the
minibuffer") (isearch-backward menu-item "Isearch History Backward"
isearch-backward :help "Incrementally search minibuffer history
backward") (isearch-forward menu-item "Isearch History Forward"
isearch-forward :help "Incrementally search minibuffer history
forward") (return menu-item "Enter" exit-minibuffer :key-sequence "
" :help "Terminate input and exit minibuffer") (quit menu-item "Quit"
abort-recursive-edit :help "Abort input and exit minibuffer")
"Minibuf")) (10 . exit-minibuffer) (13 . exit-minibuffer) (7 .
abort-recursive-edit) (C-tab . file-cache-minibuffer-complete) (9 .
self-insert-command) (up . previous-history-element) (prior .
previous-history-element) (down . next-history-element) (next .
next-history-element) (27 keymap (114 .
previous-matching-history-element) (115 .
next-matching-history-element) (112 . previous-history-element) (110 .
next-history-element))) nil nil nil nil)
  completing-read-default("Unicode (name or hex): " (lambda (string
pred action) (edebug-enter (quote edebug-anon0) (list string pred
action) (function (lambda nil (edebug-after (edebug-before 0) 11 (if
(edebug-after (edebug-before 1) 3 (eq ... ...)) (quote (metadata ...))
(edebug-after (edebug-before 4) 10 (complete-with-action ... ... ...
...)))))))) nil nil nil nil nil nil)
  completing-read("Unicode (name or hex): " (lambda (string pred
action) (edebug-enter (quote edebug-anon0) (list string pred action)
(function (lambda nil (edebug-after (edebug-before 0) 11 (if
(edebug-after (edebug-before 1) 3 (eq ... ...)) (quote (metadata ...))
(edebug-after (edebug-before 4) 10 (complete-with-action ... ... ...
...)))))))))
  (edebug-after (edebug-before 1) 3 (completing-read (edebug-after 0 2
prompt) (lambda (string pred action) (edebug-enter (quote
edebug-anon0) (list string pred action) (function (lambda nil
(edebug-after (edebug-before 0) 11 (if ... ... ...))))))))
  (let* ((completion-ignore-case t) (input (edebug-after
(edebug-before 1) 3 (completing-read (edebug-after 0 2 prompt) (lambda
(string pred action) (edebug-enter (quote edebug-anon0) (list string
pred action) (function ...))))))) (edebug-after (edebug-before 4) 24
(cond ((edebug-after (edebug-before 5) 7 (string-match-p
"^[0-9a-fA-F]+$" (edebug-after 0 6 input))) (edebug-after
(edebug-before 8) 10 (string-to-number (edebug-after 0 9 input) 16)))
((edebug-after (edebug-before 11) 13 (string-match-p "^#"
(edebug-after 0 12 input))) (edebug-after (edebug-before 14) 16 (read
(edebug-after 0 15 input)))) (t (edebug-after (edebug-before 17) 23
(cdr (edebug-after (edebug-before 18) 22 (assoc-string ... ...
t))))))))
  (edebug-after (edebug-before 0) 25 (let* ((completion-ignore-case t)
(input (edebug-after (edebug-before 1) 3 (completing-read
(edebug-after 0 2 prompt) (lambda (string pred action) (edebug-enter
... ... ...)))))) (edebug-after (edebug-before 4) 24 (cond
((edebug-after (edebug-before 5) 7 (string-match-p "^[0-9a-fA-F]+$"
(edebug-after 0 6 input))) (edebug-after (edebug-before 8) 10
(string-to-number (edebug-after 0 9 input) 16))) ((edebug-after
(edebug-before 11) 13 (string-match-p "^#" (edebug-after 0 12 input)))
(edebug-after (edebug-before 14) 16 (read (edebug-after 0 15 input))))
(t (edebug-after (edebug-before 17) 23 (cdr (edebug-after ... 22
...))))))))
  (lambda nil (edebug-after (edebug-before 0) 25 (let*
((completion-ignore-case t) (input (edebug-after (edebug-before 1) 3
(completing-read (edebug-after 0 2 prompt) (lambda ... ...)))))
(edebug-after (edebug-before 4) 24 (cond ((edebug-after (edebug-before
5) 7 (string-match-p "^[0-9a-fA-F]+$" ...)) (edebug-after
(edebug-before 8) 10 (string-to-number ... 16))) ((edebug-after
(edebug-before 11) 13 (string-match-p "^#" ...)) (edebug-after
(edebug-before 14) 16 (read ...))) (t (edebug-after (edebug-before 17)
23 (cdr ...))))))))()
  edebug-enter(read-char-by-name ("Unicode (name or hex): ") (lambda
nil (edebug-after (edebug-before 0) 25 (let* ((completion-ignore-case
t) (input (edebug-after (edebug-before 1) 3 (completing-read
(edebug-after 0 2 prompt) (lambda ... ...))))) (edebug-after
(edebug-before 4) 24 (cond ((edebug-after (edebug-before 5) 7
(string-match-p "^[0-9a-fA-F]+$" ...)) (edebug-after (edebug-before 8)
10 (string-to-number ... 16))) ((edebug-after (edebug-before 11) 13
(string-match-p "^#" ...)) (edebug-after (edebug-before 14) 16 (read
...))) (t (edebug-after (edebug-before 17) 23 (cdr ...)))))))))
  edebug-enter(read-char-by-name ("Unicode (name or hex): ") (lambda
nil (edebug-after (edebug-before 0) 25 (let* ((completion-ignore-case
t) (input (edebug-after (edebug-before 1) 3 (completing-read
(edebug-after 0 2 prompt) (lambda ... ...))))) (edebug-after
(edebug-before 4) 24 (cond ((edebug-after (edebug-before 5) 7
(string-match-p "^[0-9a-fA-F]+$" ...)) (edebug-after (edebug-before 8)
10 (string-to-number ... 16))) ((edebug-after (edebug-before 11) 13
(string-match-p "^#" ...)) (edebug-after (edebug-before 14) 16 (read
...))) (t (edebug-after (edebug-before 17) 23 (cdr ...)))))))))
  read-char-by-name("Unicode (name or hex): ")
  (list (read-char-by-name "Unicode (name or hex): ")
(prefix-numeric-value current-prefix-arg) t)
  call-interactively(ucs-insert t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10851; Package emacs. (Mon, 20 Feb 2012 12:56:01 GMT) Full text and rfc822 format available.

Message #8 received at 10851 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: 10851 <at> debbugs.gnu.org
Subject: Re: bug#10851: Error edebugging read-char-by-name
Date: Mon, 20 Feb 2012 13:52:59 +0100
The initial analysis by Martin:

"In `edebug-pop-to-buffer' the following
branch is taken in both versions:

        ((one-window-p 'nomini)
         ;; When there's one window only, split it.
         (split-window))

The difference between 23.4 and 24.1 lies in the fact that with 23.4 the
selected window is the frame's root window while with 24.1 the selected
window is the minibuffer window.  Now asking to split the minibuffer
window is surely wrong, so `edebug-pop-to-buffer' should check that case
anyway.  But we should be able to find out which change is responsible
for calling `edebug-pop-to-buffer' with the minibuffer window selected.

FWIW this is due to the following change in `read-char-by-name' which
instead of

        (input (completing-read prompt ucs-completions)))

now does

        (input (completing-read
                prompt
                (lambda (string pred action)
                  (if (eq action 'metadata)
                      '(metadata (category . unicode-name))
                    (complete-with-action action (ucs-names) string pred))))))

and here I suppose (I didn't check) that we enter `complete-with-action'
and somehow change the selected window under the feet of edebug."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10851; Package emacs. (Sat, 06 Oct 2012 12:58:02 GMT) Full text and rfc822 format available.

Message #11 received at 10851 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 10851 <at> debbugs.gnu.org
Subject: Re: bug#10851: Error edebugging read-char-by-name
Date: Sat, 06 Oct 2012 14:57:00 +0200
> emacs -Q lisp/international/mule-cmds.el
>
> then look for `read-char-by-name', instrument it with C-u C-M-x, then
>
> C-x b <RET>  ; to switch to *scratch*
> M-x ucs-insert <RET> <space> <space> <space>  ; until the prompt
> <space>  ; at the prompt
>
>
> Debugger entered--Lisp error: (error "Window #<window 4 on
> *Minibuf-1*> too small for splitting")

Does this still happen?  It seems like here I can't reproduce it any
more.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10851; Package emacs. (Sun, 07 Oct 2012 00:49:02 GMT) Full text and rfc822 format available.

Message #14 received at 10851 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 10851 <at> debbugs.gnu.org
Subject: Re: bug#10851: Error edebugging read-char-by-name
Date: Sun, 7 Oct 2012 02:47:25 +0200
On Sat, Oct 6, 2012 at 2:57 PM, martin rudalics <rudalics <at> gmx.at> wrote:

> Does this still happen?

Yes.

> It seems like here I can't reproduce it any more.

I can, exactly as reported.

    Juanma




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10851; Package emacs. (Mon, 08 Oct 2012 06:58:01 GMT) Full text and rfc822 format available.

Message #17 received at 10851 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 10851 <at> debbugs.gnu.org
Subject: Re: bug#10851: Error edebugging read-char-by-name
Date: Mon, 08 Oct 2012 08:56:25 +0200
>> Does this still happen?
> 
> Yes.
> 
>> It seems like here I can't reproduce it any more.
> 
> I can, exactly as reported.

Sorry.  But with revision 110435 it has been fixed, hopefully?

martin





Reply sent to Juanma Barranquero <lekktu <at> gmail.com>:
You have taken responsibility. (Mon, 08 Oct 2012 11:19:02 GMT) Full text and rfc822 format available.

Notification sent to Juanma Barranquero <lekktu <at> gmail.com>:
bug acknowledged by developer. (Mon, 08 Oct 2012 11:19:02 GMT) Full text and rfc822 format available.

Message #22 received at 10851-done <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 10851-done <at> debbugs.gnu.org
Subject: Re: bug#10851: Error edebugging read-char-by-name
Date: Mon, 8 Oct 2012 13:17:26 +0200
On Mon, Oct 8, 2012 at 8:56 AM, martin rudalics <rudalics <at> gmx.at> wrote:

But with revision 110435 it has been fixed, hopefully?

Yes, thanks.

Closing this one.

    Juanma




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 05 Nov 2012 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 290 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.