;;; here is my default binding, but you may want to define them differently 
;;; since they do collide with other prexisting bindings in GNU Emacs 19.
;(global-set-key "\C-x\C-p" 'yic-prev-buffer)
;(global-set-key "\C-x\C-n" 'yic-next-buffer)
;(global-set-key "\C-x\C-o" 'yic-other-buffer)
;(global-set-key "\C-x\C-k" 'yic-kill-current-buffer)

(fset 'yic-prev-buffer (function bury-buffer))

(defun yic-next-buffer ()
  "Switch to next buffer in current window.
   [provided by Mike.Williams@comp.vuw.ac.nz]"
  (interactive)
  (let ((buffers (nreverse (buffer-list))))
    (while (eq (string-to-char (buffer-name (car buffers))) 32)
      (setq buffers (cdr buffers)))
    (switch-to-buffer (car buffers))))

(defun yic-other-buffer ()
  "Switch to the other buffer (2nd in list-buffer) in current window."
  (interactive)
  (switch-to-buffer (other-buffer)))

(defun yic-kill-current-buffer ()
  "Kill current buffer."
  (interactive)
  (kill-buffer (current-buffer)))

;(global-set-key "\C-xP" 'yic-prev-buffer)
;(global-set-key "\C-xN" 'yic-next-buffer)
;(global-set-key "\C-xO" 'yic-other-buffer)
;(global-set-key "\C-xK" 'yic-kill-current-buffer)