[climacs-devel] Re: climacs scribbling permission

Christophe Rhodes csr21 at cam.ac.uk
Sun Oct 30 15:39:07 UTC 2005


John Q Splittist <splittist at yahoo.com> writes:

> Christophe Rhodes wrote:
>> (PS: would kill for per-pane / per-syntax keybindings :-)
>
> No need to go that far! Since your group is the first real multi-syntax 
> group, you should feel free to go ahead and implement whatever works for 
> you. :after (and potentially :before) methods on (setf syntax) and (setf 
> buffer) that call something appropriate specialised on syntax should do 
> for now. And then we might learn whether swapping command-tables is as 
> easy as we hope!
>
> JQS
>
> PS: practically speaking, I'm not going to have a lot of time for 
> finishing the buffer->pane paradigm shift in the next few weeks, I'm afraid.

OK.  Attached is a completely minimal patch that I think restores
workingness to the slidemacs GUI mode.  It is unlikely to compile from
scratch -- I wrote it in exploratory mode -- and additionally it's
clearly not scalable.  It also ties syntaxes and buffers and panes
together in ways that I think are not great.  On the other hand,
absent a great reorganization I'm not sure what to suggest for a
cleaned-up version of this patch, other than perhaps a protocol
function
  NOTE-PANE-BUFFER-SYNTAX-CHANGED pane buffer syntax
on which the user (syntax designer) can hook a method with their own
syntax.  The default method would set PANE's command-table to
GLOBAL-CLIMACS-TABLE; slidemacs-gui's would look like
  (defmethod n-p-b-s-c (pane buffer (syntax slidemacs-gui-syntax))
    (setf (command-table pane) 'slidemacs-table))
and this would be called from :around methods, probably, on (setf
syntax) and (setf buffer).  I think this would offer enough
flexibility for we tabcoders and prologers to play with UI stuff.

How does this sound?  (Again, please ignore the ugliness of the patch
below; I attach it mostly in case anyone wants something to read...)

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: slidemacs.diff
URL: <https://mailman.common-lisp.net/pipermail/climacs-devel/attachments/20051030/b95b7e24/attachment.ksh>
-------------- next part --------------

Cheers,

Christophe


More information about the climacs-devel mailing list