Nikodemus Siivola | 7 Jun 14:52 2008
Picon

Some Climacs issues

1. C-x C-f foo.lisp, then Menu: Help->Describe Bindings

Window splits into two views, and the Lisp view remains the active
one. C-x C-b switches to the Help view, but the only visual clue that
it is indeed the active one is that the cursor in the Lisp view turns
blue. If there are multiple cursorless views visible, it is impossible
to tell which one is currently active -- at least as far as I can
tell.

2. Lack of cursor-motion keybindings in the Help view is another
thing, but I'm sure you knew that one. :)

3. Finally, mousing over the binding names in the Help view leaves the
focus boxe visible after the pointer moves over another binding name.
Scrolling clears the focus boxes.

If one or more of these are likely to be simplish to fix, I would not
be averse to hints as to where to look.

Cheers,

 -- Nikodemus
Troels Henriksen | 7 Jun 15:07 2008
Picon

Re: Some Climacs issues

"Nikodemus Siivola" <nikodemus <at> random-state.net> writes:

> 1. C-x C-f foo.lisp, then Menu: Help->Describe Bindings
>
> Window splits into two views, and the Lisp view remains the active
> one. C-x C-b switches to the Help view, but the only visual clue that
> it is indeed the active one is that the cursor in the Lisp view turns
> blue. If there are multiple cursorless views visible, it is impossible
> to tell which one is currently active -- at least as far as I can
> tell.

I've been thinking about this now and again, and there are many ways
to fix it I think. One idea I've had is to encapsulate each window in
a border pane and disable/enable the borders when the active window
changes.

> 2. Lack of cursor-motion keybindings in the Help view is another
> thing, but I'm sure you knew that one. :)

This is hard to fix, because there isn't a cursor at all in the Help
view.

> 3. Finally, mousing over the binding names in the Help view leaves the
> focus boxe visible after the pointer moves over another binding name.
> Scrolling clears the focus boxes.

Yeah... this bug exists in the first 150 lines of climacs/typeout.lisp
or so and is related to the great lengths Climacs go to in order to
make typeout views transparent for the programmer. I'm not sure how
easy it is to fix, but it's not likely to require much code.
(Continue reading)

Nikodemus Siivola | 7 Jun 15:23 2008
Picon

Re: Some Climacs issues

On Sat, Jun 7, 2008 at 4:07 PM, Troels Henriksen <athas <at> sigkill.dk> wrote:

> I've been thinking about this now and again, and there are many ways
> to fix it I think. One idea I've had is to encapsulate each window in
> a border pane and disable/enable the borders when the active window
> changes.

Borders would be great.

>> 3. Finally, mousing over the binding names in the Help view leaves the
>> focus boxe visible after the pointer moves over another binding name.
>> Scrolling clears the focus boxes.
>
> Yeah... this bug exists in the first 150 lines of climacs/typeout.lisp
> or so and is related to the great lengths Climacs go to in order to
> make typeout views transparent for the programmer. I'm not sure how
> easy it is to fix, but it's not likely to require much code.

Semi-relatedly: what is the best way to discover what kind of an
object a given view is? Is there a way to make right-click offer me a
"Descibe Pane" or something like that for any and all panes?

Cheers,

 -- Nikodemus
Troels Henriksen | 7 Jun 15:29 2008
Picon

Re: Some Climacs issues

"Nikodemus Siivola" <nikodemus <at> random-state.net> writes:

> Semi-relatedly: what is the best way to discover what kind of an
> object a given view is? Is there a way to make right-click offer me a
> "Descibe Pane" or something like that for any and all panes?

For my own hacking, I use this set of commands:

(define-command (com-inspect-buffer :name "Inspect Buffer" :command-table base-table) ()
  (clouseau:inspector (current-buffer)))

(define-command (com-inspect-frame :name "Inspect Frame" :command-table base-table) ()
  (clouseau:inspector *esa-instance*))

(define-command (com-inspect-window :name "Inspect Current Window" :command-table base-table) ()
  (clouseau:inspector (current-window)))

(define-command (com-inspect-syntax :name "Inspect Syntax" :command-table base-table) ()
  (clouseau:inspector (current-syntax)))

--

-- 
\  Troels
/\ Henriksen
Maciej Katafiasz | 13 Jun 17:04 2008
Picon

Build breakage: missing class CHAR-CODE-LIST-LEXEME

Hi all,

=====================================================================
There is no class named climacs-prolog-syntax::char-code-list-lexeme.
   [Condition of type simple-error]

Restarts:
 0: [try-recompiling] Recompile prolog2paiprolog and try loading it again
 1: [retry] Retry performing #<asdf:load-op nil {FDD2781}> on #<asdf:cl-
source-file "prolog2paiprolog" {F44FDF9}>.
 2: [accept] Continue, treating #<asdf:load-op nil {FDD2781}> on 
#<asdf:cl-source-file "prolog2paiprolog" {F44FDF9}> as having been 
successful.
 3: [abort] Abort SLIME compilation.
 4: [abort] Return to SLIME's top level.
 5: [terminate-thread] Terminate this thread (#<thread "repl-
thread" {B136C29}>)
=====================================================================

I get that trying to build Climacs (manually) checked out today, along 
with all dependencies (that is, flexistream, McClim, CLX). Any idea what 
it is about? The class references are apparently not new, they have been 
there in a clbuild checkout from long ago which I had, but I don't recall 
it breaking with that.

Cheers,
Maciej
Maciej Katafiasz | 13 Jun 17:27 2008
Picon

UI issues: Meta and completion display

Hi,

it seems that there's no way to get minibuffer to display a list of 
possible completions (ie. the thing you get by dashing TAB). That is a 
huge setback if you're trying to see what might be applicable.

Another thing is that Climacs apparently doesn't see my Alt at all, which 
I'd very much like it to see as Meta. Otherwise I'm left with ESC-, and 
that's not the most funniest way to get at things.

Cheers,
Maciej

PS. Related to my blind searching above, is there a REPL to be had in 
Lisp mode?
Troels Henriksen | 13 Jun 17:28 2008
Picon

Re: Build breakage: missing class CHAR-CODE-LIST-LEXEME

Maciej Katafiasz <mathrick <at> gmail.com> writes:

> Hi all,
>
> =====================================================================
> There is no class named climacs-prolog-syntax::char-code-list-lexeme.
>    [Condition of type simple-error]

Do you mess around with your read-table? In prolog-syntax.lisp:101 is
the expression that creates the name of these lexeme classes. If it's
broken, I would appreciate it if you could figure out how to fix it
(it seems okay to me, though).

--

-- 
\  Troels
/\ Henriksen
Troels Henriksen | 13 Jun 17:33 2008
Picon

Re: UI issues: Meta and completion display

Maciej Katafiasz <mathrick <at> gmail.com> writes:

> it seems that there's no way to get minibuffer to display a list of 
> possible completions (ie. the thing you get by dashing TAB). That is a 
> huge setback if you're trying to see what might be applicable.

You can right-click the mouse to get a list of completions, and
there's also some keyboard gesture that I can never remember... try
C-/.

> Another thing is that Climacs apparently doesn't see my Alt at all, which 
> I'd very much like it to see as Meta. Otherwise I'm left with ESC-, and 
> that's not the most funniest way to get at things.

How does xev see your Alt key? Even better, how does CLIM see it? Open
a Lisp syntax buffer in Climacs, evaluate (describe
(clim:read-gesture)), then press your Alt key.

> PS. Related to my blind searching above, is there a REPL to be had in 
> Lisp mode?

No, but if you evaluate stuff from the buffer, output will be visible
in a special view. Also, if you push stuff onto the kill ring from
Climacs, you can yank it in the CLIM Listener.

--

-- 
\  Troels
/\ Henriksen
Maciej Katafiasz | 13 Jun 17:50 2008
Picon

Re: Build breakage: missing class CHAR-CODE-LIST-LEXEME

Den Fri, 13 Jun 2008 17:28:12 +0200 skrev Troels Henriksen:

> Maciej Katafiasz <mathrick <at> gmail.com> writes:
> 
>> Hi all,
>>
>> =====================================================================
>> There is no class named climacs-prolog-syntax::char-code-list-lexeme.
>>    [Condition of type simple-error]
> 
> Do you mess around with your read-table? In prolog-syntax.lisp:101 is
> the expression that creates the name of these lexeme classes. If it's
> broken, I would appreciate it if you could figure out how to fix it (it
> seems okay to me, though).

No longer READ-TABLE, but I do mess with *PRINT-CASE* (I have it 
at :DOWNCASE). Lemme take a look at it, though I suspect it's due to 
there being (format nil "~A" 'foo) instead of (format nil "~A" (symbol-
name 'foo)).

Cheers,
Maciej
Maciej Katafiasz | 13 Jun 21:19 2008
Picon

Re: Build breakage: missing class CHAR-CODE-LIST-LEXEME

Den Fri, 13 Jun 2008 15:50:22 +0000 skrev Maciej Katafiasz:

> No longer READ-TABLE, but I do mess with *PRINT-CASE* (I have it at
> :DOWNCASE). Lemme take a look at it, though I suspect it's due to there
> being (format nil "~A" 'foo) instead of (format nil "~A" (symbol- name
> 'foo)).

Okay, that was indeed it. Below is a patch, with a couple of remarks:

1) I don't know where to put FORMAT-SYM. It should be in some widely-
accessible place, ideally a CL-UTILS package of sorts, so that hopefully 
people will finally get it right wrt. symbols and case... Anyway, 
Clim(acs) package structure confuses me to no end, what with :CLIM and 
friends not using :CL for example. So here you have the code, and you 
pick where to stick it in.

(defun format-sym (format-string &rest args)
  "Return FORMAT-STRING with args spliced in, where all arguments that
  are symbols with have their SYMBOL-NAME spliced instead, this makes
  sure the result is correct even on systems where read/print case is
  other than default."
  (apply #'format
         nil
         format-string
         (mapcar (lambda (arg)
                   (if (symbolp arg)
                       (symbol-name arg)
                       arg))
                 args)))

(Continue reading)


Gmane