home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 5 Edit
/
05-Edit.zip
/
me34exe.zip
/
mutt
/
contrib
/
switchb.mut
< prev
next >
Wrap
Text File
|
1995-01-14
|
2KB
|
57 lines
;; From: hanwen@stack.urc.tue.nl (Han-Wen Nienhuys)
;; Subject: switchb.mut
;; Date: Fri, 12 Mar 1993 13:30:49 +0100 (MET)
(include me.mh)
(small-int last-selected-buffer)
;(defun
; ;; next buffer, read a new file if everything is not loaded.
; switch-to-next-buffer {
; (last-selected-buffer (current-buffer))
; (if (< nth-file (argc)) {
; (next-file)
; } { (next-buffer) })
; }
;)
(defun
switch-buffer
{
(int n)
(bool foo)
(string name default-name)
(foo FALSE) ;; default: haven't created new window
(if (arg-flag) { ;; load in other window
; (arg-flag FALSE 1)
(if (== (windows) 1) { ;; only one window, so create one
(split-window) (foo TRUE) })
(next-window)
})
;; if last buffer doesn't exist: make current buffer default.
(if (not (buffer-exists last-selected-buffer))
(last-selected-buffer (current-buffer)) )
(if (== "" (name (complete CC_BUF
(concat "Use buffer [" (buffer-name last-selected-buffer) "]: "))))
{ ;; default: toggle between current and old buffer
(n last-selected-buffer)
(last-selected-buffer (current-buffer))
(current-buffer n TRUE)
}
{ ;; switch to a new buffer, remember old one
(last-selected-buffer (current-buffer))
(if (== -2 (attached-buffer name))
{ (msg "Buffer " name " does not exist")
(if (foo) (delete-current-window) ) ;; clean the mess
}
{ (current-buffer (attached-buffer name) TRUE) }
)
})
(if (arg-flag) (previous-window)) ;; switch back to old window.
}
)