>>>> "Ben" == Ben Wing <ben(a)666.com>
writes:
Ben> if the gutter code isn't made robust enough by release time,
Ben> we'll have to disable it by default.
To be very frank, I don't see any reason to trust it. I needed to add
the code below to get the buffers-tab to play nicely with desktop.el.
This just won't do; I pointed out the lack of proper initialization
and finalization at the Lisp level for this widget months ago.
Index: lisp/gutter-items.el
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs-20/lisp/Attic/gutter-items.el,v
retrieving revision 1.1.2.48
diff -u -r1.1.2.48 gutter-items.el
--- gutter-items.el 2000/04/28 15:17:12 1.1.2.48
+++ gutter-items.el 2000/04/30 14:27:26
@@ -347,7 +347,11 @@
(defun remove-buffer-from-gutter-tab ()
"Remove the current buffer from the tab control in the gutter area."
(when (and (valid-image-instantiator-format-p 'tab-control)
- (specifier-instance default-gutter-visible-p))
+ (specifier-instance default-gutter-visible-p)
+ ;; #### evil and incorrect hack to allow XEmacs to run with
+ ;; the buffers-tab -- this function can be called when the
+ ;; buffers-tab doesn't exist (see #### comment below)
+ gutter-buffers-tab)
(let ((inst (glyph-image-instance gutter-buffers-tab))
(buffers (buffers-tab-items t)))
(unless buffers
@@ -357,6 +361,11 @@
(set-image-instance-property inst :items buffers))))
;; A myriad of different update hooks all doing slightly different things
+;; #### bogon alert! -- these hooks should not be installed at top
+;; level here as nothing guarantees that they won't be called when the
+;; buffers-tab doesn't exist
+;; #### ... and that implies the responsibility to unhook them when the
+;; buffers-tab is destroyed (and probably if it's not visible)
(add-hook 'kill-buffer-hook 'remove-buffer-from-gutter-tab)
(add-hook 'create-frame-hook
#'(lambda (frame)
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."