On Wednesday 09 April 2003 23.12, Daniel Sundberg wrote:
> > Den bifogade filen borde lösa ditt problem. Observera dock att det är
> > mitt första emacs hack så det är lite av ett fulhack, men det funkar.
> > Ladda in filen så kan du med C-M-<0-9> markera en buffert som du sen
> > kommer åt med M-<0-9>.
>
> Coolt, detta var ju ungefär vad jag letade efter. Om nu C-M-<0-9> kunde
> fixas automatiskt när man öppnade en ny fil så har vi uppnåt
> perfektion...:-)

Version 0.1.1...

// Erik

-- 
Chaos, panic, and disorder - my work here is done.

Erik Johansson <[EMAIL PROTECTED]>
http://www.lysator.liu.se/~erre/
;; Author:  Erik Johansson <[EMAIL PROTECTED]> 
;; Created: 2003-04-09
;; License: GPL
;; Version: 0.1.1
;;
;; Changelog:
;; 2003-04-09: Cleanup and autoset.
;; 2003-04-09: Created
;;
;; If you improve it, please let me know.
;;
;; Usage: Load it in your .emacs with (load "/path/to/switch-buffer.el").
;;        Press C-M-<0-9> to associate current buffer with M-<0-9>.

;; Comment this if you don't want autoset.
(add-hook 'find-file-hooks '(lambda () (switch-auto-set-buffer 
(current-buffer))))

(defun switch-set-buffer (buffer nr)
        "buffer x number ->"
        (if (and (boundp 'switch-buffer-list) (vectorp switch-buffer-list))
                        (aset switch-buffer-list nr buffer)
                (progn 
                        (setq switch-buffer-list (make-vector 10 'nil))
                        (aset switch-buffer-list nr buffer)))
        (message "Buffer added as nr %i." (1+ nr)))

(defun switch-get-buffer (nr)
        "number ->"
        (if (and (boundp 'switch-buffer-list) (vectorp switch-buffer-list))
                        (let ((buffer (aref switch-buffer-list nr)))
                                (if (and (bufferp buffer) (buffer-name buffer))
                                                (switch-to-buffer buffer)
                                        (message "No such buffer.")))
                (message "No buffers set.")))

(defun switch-auto-set-buffer (buffer)
        "buffer ->"
        (if (and (boundp 'switch-buffer-list) (vectorp switch-buffer-list))
                        (catch 'loop
                                (let ((i 0))
                                        (while (< i 10)
                                                (let ((buf (aref 
switch-buffer-list i)))
                                                        (if (and (bufferp buf) 
(buffer-name buf))
                                                                        (setq i 
(1+ i))
                                                                (progn 
                                                                        
(switch-set-buffer buffer i)
                                                                        (throw 
'loop t)))))
                                        (message "No free slots.")))
                (progn
                        (setq switch-buffer-list (make-vector 10 'nil))
                        (switch-auto-set-buffer buffer))))

;; Setup keybindings for accessing buffers
(global-set-key (kbd "M-1") (lambda () (interactive) (switch-get-buffer 0)))
(global-set-key (kbd "M-2") (lambda () (interactive) (switch-get-buffer 1)))
(global-set-key (kbd "M-3") (lambda () (interactive) (switch-get-buffer 2)))
(global-set-key (kbd "M-4") (lambda () (interactive) (switch-get-buffer 3)))
(global-set-key (kbd "M-5") (lambda () (interactive) (switch-get-buffer 4)))
(global-set-key (kbd "M-6") (lambda () (interactive) (switch-get-buffer 5)))
(global-set-key (kbd "M-7") (lambda () (interactive) (switch-get-buffer 6)))
(global-set-key (kbd "M-8") (lambda () (interactive) (switch-get-buffer 7)))
(global-set-key (kbd "M-9") (lambda () (interactive) (switch-get-buffer 8)))
(global-set-key (kbd "M-0") (lambda () (interactive) (switch-get-buffer 9)))

;; Setup keybindings for associate buffer with key
(global-set-key (kbd "C-M-1") (lambda () (interactive) 
                                                                                
                                                (switch-set-buffer 
(current-buffer) 0)))
(global-set-key (kbd "C-M-2") (lambda () (interactive) 
                                                                                
                                                (switch-set-buffer 
(current-buffer) 1)))
(global-set-key (kbd "C-M-3") (lambda () (interactive) 
                                                                                
                                                (switch-set-buffer 
(current-buffer) 2)))
(global-set-key (kbd "C-M-4") (lambda () (interactive) 
                                                                                
                                                (switch-set-buffer 
(current-buffer) 3)))
(global-set-key (kbd "C-M-5") (lambda () (interactive) 
                                                                                
                                                (switch-set-buffer 
(current-buffer) 4)))
(global-set-key (kbd "C-M-6") (lambda () (interactive) 
                                                                                
                                                (switch-set-buffer 
(current-buffer) 5)))
(global-set-key (kbd "C-M-7") (lambda () (interactive) 
                                                                                
                                                (switch-set-buffer 
(current-buffer) 6)))
(global-set-key (kbd "C-M-8") (lambda () (interactive) 
                                                                                
                                                (switch-set-buffer 
(current-buffer) 7)))
(global-set-key (kbd "C-M-9") (lambda () (interactive) 
                                                                                
                                                (switch-set-buffer 
(current-buffer) 8)))
(global-set-key (kbd "C-M-0") (lambda () (interactive) 
                                                                                
                                                (switch-set-buffer 
(current-buffer) 9)))

Till