BTW
(package-get-package-provider 'ibuffer)
still gives me this:
(edit-utils "1.78")
even though:
(locate-library "ibuffer")
"c:\\Program Files\\XEmacs\\xemacs-packages\\lisp\\ibuffer\\ibuffer.elc"
Now the real bugs:
I use (emacs-version)
"XEmacs 21.4 (patch 6) \"Common Lisp (Windows [1])\" [Lucid]
(i586-pc-win32) of Tue Feb 19 2002 on D5DC120J"
and
ibuffer 1.01 1.01 Advanced replacement for buffer-menu
I am trying to kill buffers with following sequence:
d runs the command ibuffer-mark-for-delete
x runs the command ibuffer-do-kill-on-deletion-marks
d works fine, but on x I get:
Signaling: (void-function fit-window-to-buffer)
(fit-window-to-buffer)
(progn (fit-window-to-buffer) (y-or-n-p (format "Really %s %d buffers? "
operation ...)))
(unwind-protect (progn (fit-window-to-buffer) (y-or-n-p ...)) (kill-buffer buf))
(save-window-excursion (select-window lastwin) (let (... ...) (while trying ...))
(select-window (next-window)) (switch-to-buffer buf) (unwind-protect (progn ... ...)
(kill-buffer buf)))
(let ((lastwin ...)) (save-window-excursion (select-window lastwin) (let ... ...)
(select-window ...) (switch-to-buffer buf) (unwind-protect ... ...)))
(let ((buf ...)) (with-current-buffer buf (setq buffer-read-only nil) (erase-buffer)
(ibuffer-columnize-and-insert-list names) (goto-char ...) (setq buffer-read-only t)) (let
(...) (save-window-excursion ... ... ... ... ...)))
(if (= (length names) 1) (y-or-n-p (format "Really %s buffer %s? " operation
...)) (let (...) (with-current-buffer buf ... ... ... ... ...) (let ... ...)))
(or ibuffer-expert (if (= ... 1) (y-or-n-p ...) (let ... ... ...)))
ibuffer-confirm-operation-on("kill" ("global" "dglue*"
"dmgr" "drivers" "Instruments"))
(if (ibuffer-confirm-operation-on "kill" marked-names) (let (...) (progn ...
... ...)))
(when (ibuffer-confirm-operation-on "kill" marked-names) (let (...) (progn ...
... ...)))
(let ((marked-names ...)) (when (null marked-names) (setq marked-names ...)
(ibuffer-set-mark ibuffer-deletion-char)) (when (ibuffer-confirm-operation-on
"kill" marked-names) (let ... ...)))
(lambda nil "Kill buffers marked for deletion as with `kill-this-buffer'."
(interactive) (assert (eq major-mode ...)) (setq ibuffer-did-modification nil) (let (...)
(when ... ... ...) (when ... ...)))()
call-interactively(ibuffer-do-kill-on-deletion-marks)
When I use the compatibility function instead, according to this
little patch:
Index: ibuffer.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/ibuffer/ibuffer.el,v
retrieving revision 1.14
diff -u -u -r1.14 ibuffer.el
--- ibuffer.el 2002/02/22 12:21:00 1.14
+++ ibuffer.el 2002/02/23 16:17:12
@@ -1231,7 +1231,7 @@
(switch-to-buffer buf)
(unwind-protect
(progn
- (fit-window-to-buffer)
+ (ibuffer-shrink-to-fit)
(y-or-n-p (format "Really %s %d buffers? "
operation (length names))))
(kill-buffer buf))))))))
I get this:
Signaling: (wrong-type-argument window-live-p #<window on "*Ibuffer
confirmation*" 0x8f3f6>)
pos-visible-in-window-p(69 #<window on "*Ibuffer confirmation*"
0x8f3f6>)
(not (pos-visible-in-window-p end window))
(while (not (pos-visible-in-window-p end window)) (enlarge-window 1))
(let ((end ...)) (while (not ...) (enlarge-window 1)))
(let* ((window ...) (buf ...) (height ...) (new-height ...) (diff ...)) (unless (zerop
diff) (enlarge-window diff)) (let (...) (while ... ...)))
(if (> (length ...) 1) (let* (... ... ... ... ...) (unless ... ...) (let ... ...)))
(when (> (length ...) 1) (let* (... ... ... ... ...) (unless ... ...) (let ...
...)))
ibuffer-shrink-to-fit()
(progn (ibuffer-shrink-to-fit) (y-or-n-p (format "Really %s %d buffers? "
operation ...)))
(unwind-protect (progn (ibuffer-shrink-to-fit) (y-or-n-p ...)) (kill-buffer buf))
(save-window-excursion (select-window lastwin) (let (... ...) (while trying ...))
(select-window (next-window)) (switch-to-buffer buf) (unwind-protect (progn ... ...)
(kill-buffer buf)))
(let ((lastwin ...)) (save-window-excursion (select-window lastwin) (let ... ...)
(select-window ...) (switch-to-buffer buf) (unwind-protect ... ...)))
(let ((buf ...)) (with-current-buffer buf (setq buffer-read-only nil) (erase-buffer)
(ibuffer-columnize-and-insert-list names) (goto-char ...) (setq buffer-read-only t)) (let
(...) (save-window-excursion ... ... ... ... ...)))
(if (= (length names) 1) (y-or-n-p (format "Really %s buffer %s? " operation
...)) (let (...) (with-current-buffer buf ... ... ... ... ...) (let ... ...)))
(or ibuffer-expert (if (= ... 1) (y-or-n-p ...) (let ... ... ...)))
ibuffer-confirm-operation-on("kill" ("global" "dglue*"
"dmgr" "drivers" "Instruments"))
(if (ibuffer-confirm-operation-on "kill" marked-names) (let (...) (progn ...
... ...)))
(when (ibuffer-confirm-operation-on "kill" marked-names) (let (...) (progn ...
... ...)))
(let ((marked-names ...)) (when (null marked-names) (setq marked-names ...)
(ibuffer-set-mark ibuffer-deletion-char)) (when (ibuffer-confirm-operation-on
"kill" marked-names) (let ... ...)))
(lambda nil "Kill buffers marked for deletion as with `kill-this-buffer'."
(interactive) (assert (eq major-mode ...)) (setq ibuffer-did-modification nil) (let (...)
(when ... ... ...) (when ... ...)))()
call-interactively(ibuffer-do-kill-on-deletion-marks)
Ah, this might be a real fix:
To: XEmacs Patches <xemacs-patches(a)xemacs.org>
Subject: [R] [PATCH] packages: ibuffer fix for fit-window-to-buffer compatibility
From: Adrian Aichner <Adrian.Aichner(a)T-Online.De>
Date: 23 Feb 2002 17:38:05 +0100
Message-ID: <4rk817de.fsf(a)mailto.t-online.de>
Later,
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/