Thanks to you readers of Planet Emacsen taking the time to try those pieces of emacs lisp found in my blog, and also the time to comment on them, some bugs have been fixed, and new releases appeared.

el-get had some typo kind of bug in its support for apt-get and fink packages, and I managed to break the elpa and http support when going all asynchronous by forgetting to update the call convention I’m using. Fixing that, I also switched to using url-retrieve so that the http support also is asynchronous. That makes the version 0.5, available on emacswiki el-get page.

Meanwhile dim-switch-window.el got some testers too and got updated with a nice fix, or so I think. If you’re using it with a small enough emacs frame, or some very little windows in there, you’d have noticed that the number get so big they don’t fit anymore, and all you see while it’s waiting for your window number choice is… blank windows. Not very helpful. Thanks to the following piece of code, that’s no longer the case as of the current version, available on emacswiki switch-window page.

In short, where I used to blindly apply dim:switch-window-increase on the big numbers to display, the code now checks that there’s enough room for it to get there, and adjust the increase level scaling it down if necessary. Very simple, and effective too:

(with-current-buffer buf
      (text-scale-increase 
       (if (> (/ (float (window-body-height win)) 
		 dim:switch-window-increase)
	      1)
	   dim:switch-window-increase
	 (window-body-height win)))
      (insert "\n\n    " (number-to-string num)))

Centering the text in the window’s width is another story entirely, as the text-scale-increase ain’t linear on this axis. I’d take any good idea, here’s what I’m currently at, but it’s not there yet:

(with-current-buffer buf
      (let* ((w (window-width win))
	     (h (window-body-height win))
	     (increased-lines (/ (float h) dim:switch-window-increase))
	     (scale (if (> increased-lines 1) dim:switch-window-increase h))
	     (lines-before (/ increased-lines 2))
	     (margin-left (/ w h) ))
	;; increase to maximum dim:switch-window-increase
	(text-scale-increase scale)
	;; make it so that the hyuge number appears centered
	(dotimes (i lines-before) (insert "\n"))
	(dotimes (i margin-left)  (insert " "))
	(insert (number-to-string num))))

So, if you’re using one or the other (both?) of those utilities, update your local version of them!

Note: I also fixed a but in rcirc-groups this week-end, but I’ll talk about it in another entry, if I may.