home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume13 / conf / part01 / conf.el < prev    next >
Lisp/Scheme  |  1988-03-13  |  1KB  |  41 lines

  1. ;; Run conf(1) as asynchronous inferior of Emacs.
  2. ;; provided by Michael Ditto (ford@kenobi.cts.com)
  3. ;; This file is not part of GNU Emacs.
  4.  
  5. (defvar conf-process nil "The process of conf.")
  6.  
  7. (defun conference (switches)
  8.   "Conference with other users."
  9.   (interactive "sArgs to conference (switches): ")
  10.  
  11.   (require 'shell)
  12.  
  13.   (let ((buffer (get-buffer-create "*conference*")))
  14.     (switch-to-buffer buffer)
  15.  
  16.     (if (get-buffer-process buffer)
  17.     (error "A conference process is already running"))
  18.  
  19.     (setq conf-process
  20.       (start-process "conf" buffer
  21.              "/bin/sh" "-c" (format "conf %s" switches))))
  22.  
  23.   (shell-mode)
  24.   (turn-on-auto-fill)
  25.   (setq mode-name "Conference")
  26.   (set-marker (process-mark conf-process) (point-max))
  27.   (set-process-filter conf-process 'conf-filter))
  28.  
  29. (defun conf-filter (process string)
  30.   (save-excursion
  31.     (set-buffer (process-buffer process))
  32.     (goto-char (process-mark process))
  33.     (let ((start-line (point)))
  34.       (insert-before-markers string)
  35.       ;;    (fill-region start-line (point))
  36.       )
  37.  
  38.     (if (get-buffer-window (process-buffer process))
  39.     nil
  40.       (beep t))))
  41.