home *** CD-ROM | disk | FTP | other *** search
/ Best Objectech Shareware Selections / UNTITLED.iso / boss / word / text / 019 / buf.sl next >
Text File  |  1993-01-19  |  1KB  |  56 lines

  1. ;;   Buffer routines for Jed.  Functions included here are:
  2. ;;    
  3. ;;     list_buffers  : pop up a list of buffers
  4. ;;     save_buffers  : saves buffers that are associated with a file
  5. ;;                     with no user intervention
  6. ;;
  7. ;;
  8. (
  9.   [i tmp this name flags] "*BufferList*" =tmp
  10.   whatbuf =this
  11.   tmp pop2buf
  12.   erase_buffer
  13.   "DAM\tBuffer Name" insert 30 goto_column "Dir/File\n" insert
  14.   buffer_list { =name
  15.     name int 32 == {continue} if   ;; internal buffers begin with a space
  16.     
  17.     name setbuf getbuf_info =flags tmp setbuf
  18.     bol
  19.     4 =i
  20.     { i }{ flags i & {"1"}{"0"} else insert i 2 / =i } while
  21.     "\t" insert
  22.     insert ;; buffer name
  23.     30 goto_column
  24.     eolp {eol " " insert} !if
  25.     insert insert               ;; dir/file
  26.     "\n"  insert
  27.   } loop
  28.   bob
  29.   0 set_buffer_modified_flag
  30.   this pop2buf
  31. ) list_buffers
  32.  
  33. ;;
  34. ;;  save some buffers--- saves only modified buffers associated with
  35. ;;   files.  Does not ask user.
  36. ;;
  37.  
  38. (
  39.    [file dir flags buf]
  40.    
  41.    buffer_list { =buf
  42.       buf int 32 == {continue} if         ;; internal buffer
  43.       buf int "*" int == {continue} if    ;; special buffer
  44.       
  45.       buf setbuf
  46.       getbuf_info  =flags pop =dir =file
  47.       
  48.       file strlen {continue} !if          ;; no file assciated with it
  49.       flags 1 & {
  50.     dir file strcat write_buffer {"Error writing buffer" error} !if
  51.       } if
  52.    } loop   
  53. ) save_buffers
  54.       
  55.      
  56.