home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / m / me_cd25.zip / ME2MUTT.ZIP / SAVEBUFS.MUT < prev    next >
Text File  |  1992-11-09  |  2KB  |  71 lines

  1.   ;; After I had most of this written, I discovered some
  2.   ;; similar routines in Craig Durland's saveall.mut.
  3.   ;; Bob Stocker Public Domain
  4.  
  5. (include me2.h)
  6.  
  7. (defun
  8.   save-buffers
  9.   ;; Ask about saving any modified non-scratch buffers.
  10. {                    ;; BEGIN save-buffers
  11.   (int bufid bufno nbufs)
  12.   (string bname fname)
  13.   (nbufs (buffers))
  14.   (for
  15.     (bufno 0)
  16.     (< bufno nbufs)
  17.     (+= bufno 1)
  18.   {                    ;; BEGIN buffer loop
  19.     (bufid (nth-buffer bufno))
  20.     (if
  21.       (==
  22.         (bit-and
  23.       (+ BFModified BFNoCare)
  24.       (buffer-flags bufid)
  25.         )
  26.         BFModified
  27.       )
  28.     {                    ;; BEGIN modified & we care
  29.       (fname (file-name bufid))
  30.       (bname (buffer-name bufid))
  31.       (if (== fname "")
  32.       {                    ;; BEGIN fname == ""
  33.     (if
  34.       (yesno "Buffer " bname " has been modified.  Save it")
  35.         {                ;; BEGIN save
  36.       (ask-user)
  37.       (current-buffer bufid)
  38.       (fname (ask "File name: "))
  39.       (while 
  40.         (not (write-file fname))
  41.       {                ;; BEGIN can't write to file
  42.         (msg "Can not write to file \"" fname "\".")
  43.         (halt)
  44.       }                ;; END   can't write to file
  45.       )
  46.     }                ;; END   save
  47.     )
  48.       }                    ;; END     fname == ""
  49.       {                    ;; BEGIN fname != ""
  50.     (if
  51.       (yesno "Save " bname " to " fname)
  52.     {                ;; BEGIN save
  53.       (current-buffer bufid)
  54.       (save-buffer)
  55.     }                ;; END   save
  56.     )
  57.       }                    ;; END   fname != ""
  58.       )
  59.       (ask-user)
  60.     }                    ;; END   modified & we care
  61.     )
  62.   }                    ;; END   buffer loop
  63.   )
  64. }                    ;; END   save-buffers
  65. save-buffers-and-exit
  66. {                    ;; BEGIN save-buffers-and-exit
  67.   (save-buffers)
  68.   (exit)
  69. }                    ;; END   save-buffers-and-exit
  70. )
  71.