Tobias C. Rittweiler | 27 Dec 2007 21:01
Picon

Couple of first impressions


Hi,

here's a small list of things I'd like to see in Climacs to be more
newbie-friendly (i.e. making experimenting more convenient):

 * Making Isearch Forward (C-s) available in Help buffers.

 * Instead of always opening a new buffer, updating an already existing
   one. E.g when doing `C-h b', or `M-x Apropos Command' several times
   in a row.

 * Auto resizing Help buffers to minimum height.

 * Something like `toggle-debug-on-error': I.e. the facility to /not/
   automatically invoke the debugger when something bad happens. (Bonus
   point if the backtrace is saved in some special buffer.)

 * A tutorial (or, actually, Climacs Primer for Emacs boys) on `C-h t'

 * Making `C-h b' more pervasive. E.g. it doesn't work on the miniprompt
   (e.g. after simply typing `M-x'.)

 * To get a list of completion choices, you've got to right
   click. Better bind that to `TAB TAB'.

Bugs or glitches:

 * The Completion Choice popup is obnoxious. It's on top of everything
   else, and stays there. Even when I try to switch workspaces in Gnome.
(Continue reading)

Tobias C. Rittweiler | 28 Dec 2007 14:29
Picon

Re: Couple of first impressions

"Tobias C. Rittweiler" <tcr <at> freebits.de> writes:

> Hi,
>
> here's a small list of things I'd like to see in Climacs to be more
> newbie-friendly (i.e. making experimenting more convenient):

  * There are no keybindings in a Typeout Pane. Also you can `C-x o' to
    such a pane, but there's no indicator that it's on focus. (This is
    the cause of the confusion I was speaking of yesterday.) Next to
    bindings for UP and DOWN, I'd also love to see a binding on `q' to
    quit.

  * Trying to open a file in a Typeout Pane results in an error.

      (C-h b, C-x o, C-x C-f, foo.lisp RET)

  * C-/ does not work on German layout, presumably because / is a
    shifted character there.

  -T.
Troels Henriksen | 28 Dec 2007 16:41
Picon
Gravatar

Re: Re: Couple of first impressions

"Tobias C. Rittweiler" <tcr <at> freebits.de> writes:

>   * There are no keybindings in a Typeout Pane. Also you can `C-x o' to
>     such a pane, but there's no indicator that it's on focus. (This is
>     the cause of the confusion I was speaking of yesterday.) Next to
>     bindings for UP and DOWN, I'd also love to see a binding on `q' to
>     quit.

This sounds easily fixable.

>   * Trying to open a file in a Typeout Pane results in an error.
>
>       (C-h b, C-x o, C-x C-f, foo.lisp RET)

Good catch, just fixed this in CVS. This kind of bug is, however, a
symptom of a deeper issue, namely that typeout panes are not at all
Drei instances, and as such concepts like "current buffer" and
"current view" are erroneous while they are active. Perhaps typeout
panes should be implemented as a special kind of Drei view.

>   * C-/ does not work on German layout, presumably because / is a
>     shifted character there.

This is a McCLIM issue, or more specifically, a CLX issue. I have been
told CLX needs support for the XKEYBOARD extension to fix this.

--

-- 
\  Troels
/\ Henriksen
(Continue reading)

Christophe Rhodes | 28 Dec 2007 18:39
Favicon

Re: Re: Couple of first impressions

Troels Henriksen <athas <at> sigkill.dk> writes:

> "Tobias C. Rittweiler" <tcr <at> freebits.de> writes:
>
>>   * C-/ does not work on German layout, presumably because / is a
>>     shifted character there.
>
> This is a McCLIM issue, or more specifically, a CLX issue. I have been
> told CLX needs support for the XKEYBOARD extension to fix this.

I'm not sure that it does; I think quite a lot of the logic could
happen client-side (that is, in McCLIM's X backend) in mapping
keycodes and modifiers to keysyms to characters, by removing the
modifiers that are "used up" to make a character, leaving only the
unused modifiers as "active".

It's probably not utterly straightforward to implement such
client-side mapping, but I think support for XKEYBOARD in CLX would be
a bonus, rather than completely necessary.

Cheers,

Christophe
Troels Henriksen | 27 Dec 2007 21:19
Picon
Gravatar

Re: Couple of first impressions


I've commented on some of these issues on #lisp, I'm also replying
here to save my comments for posterity, and other readers of the list.

>  * Making Isearch Forward (C-s) available in Help buffers.

Complicated, as help windows are not buffers, but typeout panes.

>  * Instead of always opening a new buffer, updating an already existing
>    one. E.g when doing `C-h b', or `M-x Apropos Command' several times
>    in a row.

This shouldn't be too hard to implement, actually.

>  * Auto resizing Help buffers to minimum height.

This neither. In fact, it might be a good project for someone trying
to get their bearings on Climacs' internal structure (*hint* *hint*).

>  * Something like `toggle-debug-on-error': I.e. the facility to /not/
>    automatically invoke the debugger when something bad happens. (Bonus
>    point if the backtrace is saved in some special buffer.)

I'm not sure I want this. Applications that just trap anything that
goes wrong and spits out a stack trace to a console remind me of
Java. Why wouldn't you want the debugger the pop up when something bad
happens? Climacs doesn't follow Emacs' philosophy of using unhandled
errors as a way of communicating with the user.

>  * A tutorial (or, actually, Climacs Primer for Emacs boys) on `C-h
(Continue reading)

John Q. Splittist | 27 Dec 2007 22:04
Picon

Re: Couple of first impressions

On Dec 27, 2007 9:19 PM, Troels Henriksen <athas <at> sigkill.dk> wrote:
> >  * Making Isearch Forward (C-s) available in Help buffers.
>
> Complicated, as help windows are not buffers, but typeout panes.

That is, help windows are collections of objects that are not
necessarily characters. The real question is: what is the problem you
(Tobias, not Troels) are trying to solve with C-s? How can we (ahem)
build the Climacs (ESA, mcclim...) help system in such a way as to
support the patterns of exploration and discovery you are looking for?

jqs
Troels Henriksen | 28 Dec 2007 11:10
Picon
Gravatar

Re: Couple of first impressions

"John Q. Splittist" <splittist <at> gmail.com> writes:

> That is, help windows are collections of objects that are not
> necessarily characters. 

This alone is not actually a problem, Climacs buffers can contain
arbitrary objects, not just characters.

I've thought about creating a "general isearch" thing for CLIM - would
it be possible to implement it by wandering through the output record
tree?

--

-- 
\  Troels
/\ Henriksen
Tobias C. Rittweiler | 27 Dec 2007 22:29
Picon

Re: Couple of first impressions

"John Q. Splittist" <splittist <at> gmail.com> writes:

> On Dec 27, 2007 9:19 PM, Troels Henriksen <athas <at> sigkill.dk> wrote:
> > >  * Making Isearch Forward (C-s) available in Help buffers.
> >
> > Complicated, as help windows are not buffers, but typeout panes.
>
> That is, help windows are collections of objects that are not
> necessarily characters. The real question is: what is the problem you
> (Tobias, not Troels) are trying to solve with C-s? How can we (ahem)
> build the Climacs (ESA, mcclim...) help system in such a way as to
> support the patterns of exploration and discovery you are looking for?

I'd use it to explore what keybindings are available. It's probably less
useful in Climacs where `C-h b' results in an alphabetically sorted
listing, but in Emacs related keybinding tend to appear close to each
other.

Comming to speak of it, grouping keybinding sounds like a nice idea, too
(although it's orthogonal to my wish for C-s :-).) For example, there
could be groups like :movement, :editing, :interaction, :introspection,
and you'd have to specify what group a command belongs to within the
definition of the command.

  -T.
John Q. Splittist | 27 Dec 2007 22:35
Picon

Re: Re: Couple of first impressions

On Dec 27, 2007 10:29 PM, Tobias C. Rittweiler <tcr <at> freebits.de> wrote:
>
> "John Q. Splittist" <splittist <at> gmail.com> writes:
>
> > ... The real question is: what is the problem you
> > (Tobias, not Troels) are trying to solve with C-s?
...
> I'd use it to explore what keybindings are available. ...
> Comming to speak of it, grouping keybinding sounds like a nice idea, too
> (although it's orthogonal to my wish for C-s :-).) For example, there
> could be groups like :movement, :editing, :interaction, :introspection,
> and you'd have to specify what group a command belongs to within the
> definition of the command.

Commands are grouped into (somewhat) related Command Tables. I think
remember a reference somewhere to a Command Table Explorer for one of
the Lisp Machines. Perhaps something like that would be useful?

jqs
Tobias C. Rittweiler | 27 Dec 2007 21:31
Picon

Re: Couple of first impressions

Troels Henriksen <athas <at> sigkill.dk> writes:

> >  * Something like `toggle-debug-on-error': I.e. the facility to /not/
> >    automatically invoke the debugger when something bad happens. (Bonus
> >    point if the backtrace is saved in some special buffer.)
>
> I'm not sure I want this. Applications that just trap anything that
> goes wrong and spits out a stack trace to a console remind me of
> Java. Why wouldn't you want the debugger the pop up when something bad
> happens? Climacs doesn't follow Emacs' philosophy of using unhandled
> errors as a way of communicating with the user.

I'm consistently getting confused where the focus in Climacs
is. Sometimes this is because I'm not in the right buffer where I
thought I was in, sometimes because Climacs is unresponsive, and
sometimes because Slime is waiting in SLDB.

Also having to switch over to Emacs, type `0' to invoke the right
restart, and back to Climacs is cumbersome.

Maybe it could at least display something to indicate that an error has
occured.

  -T.
Troels Henriksen | 27 Dec 2007 21:45
Picon
Gravatar

Re: Re: Couple of first impressions

"Tobias C. Rittweiler" <tcr <at> freebits.de> writes:

> I'm consistently getting confused where the focus in Climacs
> is. Sometimes this is because I'm not in the right buffer where I
> thought I was in, sometimes because Climacs is unresponsive, and
> sometimes because Slime is waiting in SLDB.
>
> Also having to switch over to Emacs, type `0' to invoke the right
> restart, and back to Climacs is cumbersome.

The solution is, of course, to use the McCLIM Debugger!

> Maybe it could at least display something to indicate that an error has
> occured.

This may be possible, though I'd rather not perform too much magic in
response to bugs. It makes debugging a pain (once upon a time, Climacs
did eat many errors, and it made me want to tear my hair out. Very
frustrating).

If you implemented such a thing I'd commit it, but I doubt I'll spend
time on it myself.

--

-- 
\  Troels
/\ Henriksen
Christophe Rhodes | 27 Dec 2007 21:28
Favicon

Re: Couple of first impressions

Troels Henriksen <athas <at> sigkill.dk> writes:

>>  * To get a list of completion choices, you've got to right
>>    click. Better bind that to `TAB TAB'.
>
> McCLIM issue (and I agree, does the spec actually demand that we do
> not provide useful possibilities-gestures?).

Isn't C-/ bound to list possibilities?  That doesn't seem to be too hard
to type to me...

Best,

Christophe
Tobias C. Rittweiler | 27 Dec 2007 22:23
Picon

Re: Couple of first impressions

Christophe Rhodes <csr21 <at> cantab.net> writes:

> Troels Henriksen <athas <at> sigkill.dk> writes:
>
> > >  * To get a list of completion choices, you've got to right
> > >    click. Better bind that to `TAB TAB'.
> >
> > McCLIM issue (and I agree, does the spec actually demand that we do
> > not provide useful possibilities-gestures?).
>
> Isn't C-/ bound to list possibilities?  That doesn't seem to be too hard
> to type to me...

Doesn't work for me. (Tried it on Find File)

  -T.
Christophe Rhodes | 27 Dec 2007 23:11
Favicon

Re: Re: Couple of first impressions

"Tobias C. Rittweiler" <tcr <at> freebits.de> writes:

> Christophe Rhodes <csr21 <at> cantab.net> writes:
>
>> Isn't C-/ bound to list possibilities?  That doesn't seem to be too hard
>> to type to me...
>
> Doesn't work for me. (Tried it on Find File)

I just tested it, and it does work for me.

C-/ is in fact bound to :help, not :possibilities, and
read-completion-gesture sometimes (if its third arg is true) shows
possibilities for a :help gesture.  Specifically, I just tested
climacs and gsharp of about a week ago, and both did after C-x C-f.

Anyway.  That's not to say that other modes of interaction with
possibilities wouldn't be a good thing.

Best,

Christophe

Gmane