This looks neat! I have a small recommendation. The following
functions have a global sounding names but are only used once. I think
they should either go in the correct file or become labels funtions in
the functions that use them. Since they seem somewhat special purpose,
at least at this point, labels are probably best.
+(defun group-mode-lines (group)
+ (mapcar (lambda (head) (head-mode-line head))
+ (screen-heads (group-screen group))))
+
+(defun group-exists-p (group)
+ (and (find group (screen-groups (group-screen group))) t))
I agree, I've moved both these to the local scopes of their callers.
Also, have you managed to get double buffering working? If so, toss us the patch :).
Yes, managed to get double buffering working. :-) The revised patch with double buffering and the above changes is attached.
I rebuilt the patch and tested it on git head, it applied cleanly and built without any problems.
Thanks!
Joel