[Bug: 21.4.15] wrong-number-of-arguments windows-of-buffer 3)

Jerry James james at xemacs.org
Mon Aug 23 15:39:16 EDT 2004


Paul Keusemann <pkeusem at isis.visi.com> wrote:
> OK, I've narrowed this one down to the SPARCWorks/ToolTalk code.  I'm sure
> not too many people care about that so I've disabled it for now but I'd
> appreciate any pointers on how to debug the problem.

The only place I can find where windows-of-buffer is called with 3
arguments is in display-warning-buffer (simple.el), which jives with
your description of when you get this warning.  So the question is: who
changed the definition of windows-of-buffer to something that does not
take 3 arguments?  (You can verify that it does take 3 arguments at
startup with -vanilla.)  Since it is aliased to get-buffer-window-list,
we have to watch for changes to that function also.

And sure enough, look at this in
xemacs-packages/Sun/sun-eos-debugger-extra.el:

(defun get-buffer-window-list (buffer)
  ;; like get-buffer-window except that will generate a list of windows
  ;; instead of just the first one"
  (let* ((buf (get-buffer buffer))
	 (win1 (next-window nil 'foo t t))
	 (win win1)
	 (first t)
	 (ret nil)
	 )
    (if (null buf)
	nil
      (while (or
	      (and first win)
	      (not (or first (equal win win1)))
	      )
	(setq first nil)
	(if (equal
	     buf
	     (window-buffer win))
	    (setq ret (cons win ret)))
	(setq win (next-window win t t t))
	)
      ret)))

That matches your suspicion that it has something to do with SPARCWorks
support.  Since XEmacs has come with a 3-arg definition of
get-buffer-window-list since at least version 20.4 (I haven't looked any
further back), I propose that we simply remove this function definition
from sun-eos-debugger-extra.el.
-- 
Jerry James
http://www.ittc.ku.edu/~james/




More information about the XEmacs-Beta mailing list