[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