[climacs-devel] Encountering a bug after C-x C-f

Troels Henriksen athas at sigkill.dk
Fri Jul 21 21:41:15 UTC 2006


Sean Champ <gimmal at gmail.com> writes:

> The build in which I'd encountered the issue had been made with most-recent 
> checkouts from the HEAD for each of McCLIM, ESA, Climacs, and felxichain. 

The problem is definitely an old version of ESA being loaded -
doublecheck your asds and remove your old fasls, also check the value
of asdf:*central-registry* to make sure that you are loading what you
think you are loading. Remove all traces of previous ESAs and make
sure that your climacs.asd is not outdated (ESA was once completely
integrated with the Climacs system, if you haven't done clean CVS
checkouts there might be some residue left). Also, because I screwed
up when originally creating the ESA module in the Climacs repo, you
should get "start" instead of "HEAD" (I don't know exactly when this
applies, my CVS-fu is weak).

> I suppose that this would belong in a different thread of mesages, but it is 
> related, on that I will certainly be getting familiar with the McCLIM 
> codebase, while trying to find out how that issue came to be. 

IIRC, McCLIM is not what handles unsupplied arguments to commands -
ESA is. Reading the McCLIM source is still a good idea, of course!

> The matter, I mean: Upon noticing that CONS typed values are used in part to a 
> represent of Climacs minibuffer commands, and while I am not bothered at 
> that, whatsoever -- a specially formatted CONS works, as a data structure -- 
> I hope to propose: The possibility that funcallable instances might be 
> considered, as for how such might be applicable for the representation and 
> execution of CLIM commands. 

Climacs uses CLIM, and the CLIM specification defines a command as a
cons of a symbol bound to the command function, and a list of operands
to the command. It's very intuitive, really. If you want such a
command to be funcallable, just do (apply (first command) (rest
command)). Or use the CLIM function `execute-frame-command'.

> (Maybe it could be actuated on command-function argument types, the means 
> whereby an input value would be read for a CLIM command, or a means whereby a 
> defaulted, input interface would be selected. e.g. if the parameter would 
> have to be of type PATHNAME, then a file-selection dialogue could be 
> presented. To implement this, it might involve some implementation-specific 
> code, e.g. using the CMUCL/SBCL CTYPE mechanism)

You are talking about prompting for command parameters, right? CLIM
already supports this - you can define "accept" methods for
presentation types, specialized on "views", so you can have, say, a
traditional text-based file selection facility, or a fancy, graphical
file selector. I'm not sure the Emacs application paradigm is
well-suited to this kind of gadgets, though. If you wish to attempt to
implement such a file selector, you would be very welcome, though!

> (I would like to reiterate, I'm not sure of how the proposal would be worked, 
> in the code. I hope that I will have managed to have become more sure about 
> it, as after I'll be more familiar with the McCLIM and Climacs codebases. I 
> consider that it could be worth it, to have brought the matter to suggestion, 
> firstly.)

I think CLIM already provides hooks for (or directly implements) what
you want - it's merely a matter of fleshing out the implementation. A
weakness of Climacs in particular is that only a single line is
available for entering input values for command arguments, but this
could change, of course.

-- 
\  Troels "Athas"
/\ Henriksen



More information about the climacs-devel mailing list