home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / gnu / emacs / sources / 963 < prev    next >
Encoding:
Internet Message Format  |  1993-01-25  |  6.6 KB

  1. Path: sparky!uunet!ogicse!das-news.harvard.edu!cantaloupe.srv.cs.cmu.edu!crabapple.srv.cs.cmu.edu!spot
  2. From: spot@CS.CMU.EDU (Scott Draves)
  3. Newsgroups: gnu.emacs.sources
  4. Subject: new zephyr.el available
  5. Message-ID: <C1E87H.8Gs.1@cs.cmu.edu>
  6. Date: 25 Jan 93 04:52:27 GMT
  7. Article-I.D.: cs.C1E87H.8Gs.1
  8. Sender: news@cs.cmu.edu (Usenet News System)
  9. Distribution: gnu
  10. Organization: School of Computer Science, Carnegie Mellon University
  11. Lines: 131
  12. Originator: spot@HOPELESS.MESS.CS.CMU.EDU
  13. Nntp-Posting-Host: hopeless.mess.cs.cmu.edu
  14.  
  15.  
  16. a new version of zephyr.el is available.  i'm calling this version 2.0
  17. because there is a major change: it no longer uses zwrite.  instead it
  18. just writes to the tzc process.  this makes sending messages a lot
  19. faster.  the code was contributed by nick thompson.  the complete
  20. package (including zephyr.el and tzc) is available by ftp from
  21. hopeless.mess.cs.cmu.edu:/usr/spot/pub/zephyr.tar.Z
  22.  
  23. here's the head of the file:
  24.  
  25.  
  26. ;;; zephyr.el  an interface to the zephyr message system
  27. ;;; Copyright (C) 1992, 1993 Scott Draves (spot@cs.cmu.edu)
  28. ;;;
  29. ;;; This program is free software; you can redistribute it and/or modify
  30. ;;; it under the terms of the GNU General Public License as published by
  31. ;;; the Free Software Foundation; either version 2 of the License, or
  32. ;;; (at your option) any later version.
  33. ;;;
  34. ;;; This program is distributed in the hope that it will be useful,
  35. ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  36. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  37. ;;; GNU General Public License for more details.
  38. ;;;
  39. ;;; You should have received a copy of the GNU General Public License
  40. ;;; along with this program; if not, write to the Free Software
  41. ;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  42.  
  43. ;;; This is version 2.0 (now polished a bit).  The primary advantage
  44. ;;; is that it no longer
  45. ;;; forks off a zwrite to do sends - instead, it uses a new version of
  46. ;;; tzc which is capable of sending as well as receiving.  This code
  47. ;;; was contributed by Nick Thompson (nix@cs.cmu.edu).
  48. ;;; You *will* need the new version of tzc (should be included).
  49.  
  50. ;;; If you write C programs which talk to emacs, you should check out
  51. ;;; lread.h and lread.c in the tzc program.  These provide a
  52. ;;; convenient way to communicate structured data.
  53.  
  54. ;;; send and receive zephyrgrams with a convenient and flexible
  55. ;;; interface.  some people say the interface feels like IRC.
  56. ;;; here's a quick feature list:
  57. ;;;    asynchronously send and receive messages from a single buffer
  58. ;;;    handles instances, multiple destinations
  59. ;;;    aliases (can translate one name to many)
  60. ;;;    "lazy" beep for notification
  61. ;;;    sender/receiver history
  62. ;;;    filter messages based on sender and/or instance
  63. ;;;    multiple buffers, each with different filters
  64. ;;;    highly customizeable
  65. ;;;
  66. ;;; there's some support for encrypted instances, but it no longer
  67. ;;; works.  to use, copy the following lines into your .emacs:
  68. ;;;
  69. ;;;  (load-library "zephyr")
  70. ;;;  (zephyr-new-buffer)
  71. ;;;
  72. ;;; this mode requires the tzc program which should have come with the
  73. ;;; distribution.  the distrubution is available by ftp from
  74. ;;; hopeless.mess.cs.cmu.edu:/usr/spot/pub/zephyr.tar.Z, and should
  75. ;;; show up in the elisp archive at some point.
  76. ;;;
  77. ;;; thanks to todd kaufmann, mark eichin, nick thompson, and hank wan
  78. ;;; for their contributions.
  79. ;;;
  80. ;;; i am always interested in bug reports and improvements to this
  81. ;;; code.  feel free to send mail.
  82.  
  83.  
  84. ;;; TODO
  85. ;;; 1) subscripts:  when an unrecognized instance arrives, ask if you
  86. ;;; want to read it.  remember subs in a file (.zephyr.el).  should
  87. ;;; tie into encryption.  or just have simple functions for adding and
  88. ;;; removing instances to the regexps, esp one that sez "ignore this
  89. ;;; instance for the next 30 (by default, ^U changes) minutes"
  90. ;;; 2) make send to end-of-line (?)
  91. ;;; 3) consider a fn and binding for jump to last window to receive a
  92. ;;; zgram.
  93. ;;; 4) make the hook list and beep time be locals. (?)
  94. ;;; 5) make the exposure be a sexp we send to tzc rather than a
  95. ;;; command line option.  eliminate other options same way.
  96. ;;; 6) if you send to multiple destinations, the "... done" messages
  97. ;;; cover each other up, so you can't really see all of them.
  98.  
  99. ;;; CHANGES
  100. ;;; Thu Jan 21 - removed zwgc code to emulate tzc because it can't
  101. ;;; send messages (handle the input).  added a save-excursion to
  102. ;;; zephyr-do-insert so that point isn't moved in buffers that aren't
  103. ;;; visible when they receive a message.  rewrote
  104. ;;; zephyr-notify-with-scroll so it doesn't scroll the current window.
  105. ;;; Thu Jan  7 - replaced ` with cons due to incompatible versions of
  106. ;;; ` floating around.
  107. ;;; Fri Jan  1 - ugh, the recipient of "(foo)" is now "".
  108. ;;; zephyr-make-text-recipient now handles "foo(bar)".  and handle the
  109. ;;; additional information in "to" tag of tzcspew sent messages.
  110. ;;; added * to docstring of a bunch of variables.  removed
  111. ;;; zephyr-require-tzcspew. when receiving a message, formats as 
  112. ;;; "foo(bar)", rather than "foo (bar)"
  113. ;;; Sun Dec 13 - parse names a little differently:  "foo" now goes to
  114. ;;; the user foo.  "(foo)" goes to everyone reading instance foo, and
  115. ;;; "foo(bar)" goes to just user foo as instance bar.  aliases are now
  116. ;;; recursive.
  117. ;;; Sun Dec 13 - merged in changes to handle new tzc, run tzc with
  118. ;;; pipe rather than pty.  call this 2.0 because the new tzc is
  119. ;;; slightly incompatible.
  120. ;;; Mon Dec  7 - handles class MESSAGE messages that have the wrong
  121. ;;; number of fields, as can happen if the sender embeds a NULL.
  122. ;;; Mon Nov 16 - removed old code to parse output of vanilla zwgc
  123. ;;; Sat Oct 24 - if any function in the hook list returns nil, then do
  124. ;;; not call the rest of the hooks.
  125. ;;; 22/8/92 - added sentinel so when zephyr receiver dies, we are
  126. ;;; notified.  remove sentinel before restarting.
  127. ;;; 29/7/92 - added zwgc description file that emulates tzc
  128. ;;; 26/7/92 - fixed zephyr-add-timestamp, it wasn't returning the msg
  129. ;;; 11/7/92 - fixed: M-p and M-n raise error if no messages sent yet.
  130. ;;; split zephyr-notify into zephyr-notify-with-beep,
  131. ;;; zephyr-notify-with-message, and zephyr-notify-with-scroll. added
  132. ;;; zephyr-touch.  calls zephyr-touch from zephyr-insert (rather than
  133. ;;; notify).
  134. ;;; 9/7/92 - replaced a bunch of random hooks with zephyr-hook-list,
  135. ;;; including reorganizing the code, various small improvements.
  136. ;;; commented out dangling encryption stuff.  tzc now stamps with date
  137. ;;; string rather than integer so that it is human readable in the
  138. ;;; log, and also cuz emacs ints aren't big enuf. added todd's
  139. ;;; delete-messages function.  removed that bury crap.
  140.  
  141.  
  142. -- 
  143.                 orgasm
  144. Scott Draves            nitrous
  145. spot@cs.cmu.edu            death
  146.