unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* ipa and ispell
@ 2009-05-13 16:15 Sean Sieger
  0 siblings, 0 replies; 5+ messages in thread
From: Sean Sieger @ 2009-05-13 16:15 UTC (permalink / raw)
  To: help-gnu-emacs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=us-ascii, Size: 1396 bytes --]

While inserting an annotation, I used ispell to check a word, it worked
several times (I think) and then subsequently, the debugger was entered
after ispell's correct spelling message:

Debugger entered--Lisp error: (error "Attempt to split minibuffer window")
  split-window(nil 2)
  ispell-overlay-window(2)
  ispell-show-choices(2 #<marker at 125 in  *Minibuf-1*>)
  ispell-command-loop(("component" "components" "compliant" "complainant" "complaint" "component's" "compound" "competent") nil "componant" #<marker at 116 in  *Minibuf-1*> #<marker at 125 in  *Minibuf-1*>)
  byte-code("\bAA@\bAAA@\b@	\n%ć" [poss start end replace ispell-command-loop] 6)
  ispell-word(nil nil nil t)
  call-interactively(ispell-word nil nil)
  read-string("text: ")
  (let ((text ...)) (if (equal text "") (message "Empty annotations are not inserted.") (ipa-create-overlay ... text) (if ... ... ...)))
  ipa-insert()
  call-interactively(ipa-insert t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)

After doing `q' to exit the debugger, the annotation I was typing
vanished, not to be found in .ipa~.

Next, I did emacs -q and while the text of my annotation didn't
vanish, the attempt to use ispell resulted in the same `Attempt to
split minibuffer window' error.

This in,

GNU Emacs 23.0.93.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4) of
2009-05-13 on g41r2f1





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ipa and ispell
@ 2009-05-14  7:56 martin rudalics
  2009-05-14 14:54 ` Drew Adams
  0 siblings, 1 reply; 5+ messages in thread
From: martin rudalics @ 2009-05-14  7:56 UTC (permalink / raw)
  To: sean.sieger; +Cc: help-gnu-emacs

 > While inserting an annotation, I used ispell to check a word, it worked
 > several times (I think) and then subsequently, the debugger was entered
 > after ispell's correct spelling message:
 >
 > Debugger entered--Lisp error: (error "Attempt to split minibuffer window")
 >   split-window(nil 2)
[...]

We have to fix that eventually, maybe using a new function to pop up a
window below all "normal" windows just above the minibuffer-window, or
by popping up a new frame, or by temporarily replacing the contents of
the minibuffer-window or some other window.

In the first case we just have to make sure that (1) we can split some
window and (2) when the window used to display ispell's choices is no
more needed, the configuration before the split is orderly restored.
Both issues are not entirely trivial.

Replacing the contents of some existing window is problematic since
valuable context information might get obscured.  Also, it's not clear
whether and how that window shall be resized.  Popping up a new frame
runs counter classic ispell design choices but appears the only simple
solution.

So please make a bug report.

Thanks, martin.




^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: ipa and ispell
  2009-05-14  7:56 ipa and ispell martin rudalics
@ 2009-05-14 14:54 ` Drew Adams
  2009-05-14 16:14   ` martin rudalics
  0 siblings, 1 reply; 5+ messages in thread
From: Drew Adams @ 2009-05-14 14:54 UTC (permalink / raw)
  To: 'martin rudalics', sean.sieger; +Cc: help-gnu-emacs

>  > While inserting an annotation, I used ispell to check a 
>  > word, it worked several times (I think) and then
>  > subsequently, the debugger was entered
>  > after ispell's correct spelling message:
>  >
>  > Debugger entered--Lisp error: (error "Attempt to split 
>  > minibuffer window") split-window(nil 2)
> 
> We have to fix that eventually,

We do? Fix what? Fix ispell? OK. Change Emacs to handle attempts to split the
minibuffer window other than by raising an error? No - why?.

> maybe using a new function to pop up a
> window below all "normal" windows just above the minibuffer-window, or
> by popping up a new frame, or by temporarily replacing the contents of
> the minibuffer-window or some other window.

I didn't follow this thread - apologies if I misunderstand. But I wonder about
the need you claim.

Can't the code in question (in this case presumably ispell) just check whether
the window it would normally split is a minibuffer window and then DTRT itself,
whatever that might be? 

Your proposed solutions are actions that ispell itself might decide to take. If
user input is needed at that point, it could enter a recursive minibuffer. If it
is just a matter of displaying information, there are plenty of ways to do that
- bind `pop-up-windows' or `pop-up-frames', split some other window than the
minibuffer, put info in the mode-line or a tool-tip, use `message' or
`minibuffer-message'...

I don't see the need for something special here, and I don't see a general Emacs
bug or a missing needed feature. Sounds like an ispell bug, instead. If code
blindly attempts to split the minibuffer window, then that code should just be
changed to DTRT, no?

I don't see it as _imperative_ ("we have to fix that") for Emacs to do something
special if a program tries to split the minibuffer window.






^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ipa and ispell
  2009-05-14 14:54 ` Drew Adams
@ 2009-05-14 16:14   ` martin rudalics
  2009-05-14 16:25     ` Drew Adams
  0 siblings, 1 reply; 5+ messages in thread
From: martin rudalics @ 2009-05-14 16:14 UTC (permalink / raw)
  To: Drew Adams; +Cc: sean.sieger, help-gnu-emacs

 > We do? Fix what? Fix ispell? OK. Change Emacs to handle attempts to split the
 > minibuffer window other than by raising an error? No - why?.

Fix ispell.el which is part of Emacs and, if needed, provide additional
functionality for finding a suitable window.

 > I don't see it as _imperative_ ("we have to fix that") for Emacs to do something
 > special if a program tries to split the minibuffer window.

If a user tries to spell-check a word and is told that some window can't
be split, we have to fix that.  For example, by telling the user that
words in the minibuffer window can't be spell-checked.  I'd prefer a fix
which does spell-check words in the minibuffer window and does not try
to split the minibuffer window, though.

martin




^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: ipa and ispell
  2009-05-14 16:14   ` martin rudalics
@ 2009-05-14 16:25     ` Drew Adams
  0 siblings, 0 replies; 5+ messages in thread
From: Drew Adams @ 2009-05-14 16:25 UTC (permalink / raw)
  To: 'martin rudalics'; +Cc: sean.sieger, help-gnu-emacs

>  > We do? Fix what? Fix ispell? OK. Change Emacs to handle 
>  > attempts to split the minibuffer window other than by
>  > raising an error? No - why?.
> 
> Fix ispell.el which is part of Emacs

Yes.

> and, if needed, provide additional functionality for
> finding a suitable window.

Fix the code for Ispell, yes. Make it DTRT (e.g. "find a suitable window"), so
that Emacs doesn't raise an error and users can get the Ispell info they need -
yes.

That doesn't imply any need to add some new, general functionality to Emacs.
Finding a suitable window to display information is something we do all the
time.

>  > I don't see it as _imperative_ ("we have to fix that") for 
>  > Emacs to do something special if a program tries to split
>  > the minibuffer window.
> 
> If a user tries to spell-check a word and is told that some 
> window can't be split, we have to fix that.

Yes. Ispell needs to be fixed.

> For example, by telling the user that words in the minibuffer
> window can't be spell-checked.  I'd prefer a fix which does
> spell-check words in the minibuffer window and does not try
> to split the minibuffer window, though.

Yes, absolutely.

None of that implies a need to change the general Emacs treatment of trying to
split the minibuffer window, which is to just raise an error.

We apparently agree that this is only about fixing Ispell. Sorry if I
misunderstood you.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-05-14 16:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-14  7:56 ipa and ispell martin rudalics
2009-05-14 14:54 ` Drew Adams
2009-05-14 16:14   ` martin rudalics
2009-05-14 16:25     ` Drew Adams
  -- strict thread matches above, loose matches on Subject: below --
2009-05-13 16:15 Sean Sieger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).