home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / me34src.zip / me3 / mutt / builtin / filter.mut < prev    next >
Lisp/Scheme  |  1995-01-14  |  862b  |  43 lines

  1.   ;; C Durland    Public Domain
  2.  
  3. (include me.mh)
  4.  
  5. (defun filter
  6. {
  7.   (bool input_from_reg)
  8.   (int bag-in bag-out)
  9.   (string filter-name)
  10.  
  11.   (filter-name
  12.     (ask (if (arg-flag) "Suck in output from filter: " "Filter region: ")))
  13.   (input_from_reg FALSE)(bag-in -1)
  14.  
  15.   (if (not (arg-flag))
  16.     {
  17.       (clear-bag CUT-BUFFER) (append-to-bag CUT-BUFFER APPEND-REGION)
  18.       (bag-in CUT-BUFFER) (input_from_reg TRUE)
  19.     })
  20.  
  21.   (bag-out (create-bag))
  22.   (if (OS-filter filter-name bag-in bag-out)
  23.     {
  24.       (if input_from_reg (delete-region))
  25.       (insert-bag bag-out)
  26.  
  27.       (update FALSE TRUE)    ;; screen might be garbaged by (OS-filter)
  28.     })
  29.  
  30.   (free-bag bag-out)
  31. })
  32.  
  33. (defun 
  34.   shove-region-to-process
  35.   {
  36.     (int bag-id)
  37.  
  38.     (append-to-bag (bag-id (create-bag)) APPEND-REGION)
  39.     (OS-filter (ask "Shove region to process: ") bag-id)
  40.     (free-bag bag-id)
  41.   }
  42. )
  43.