diff lisp/hyperbole/hsys-wais.el @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/hyperbole/hsys-wais.el	Mon Aug 13 08:45:50 2007 +0200
@@ -0,0 +1,77 @@
+;;!emacs
+;;
+;; FILE:         hsys-wais.el
+;; SUMMARY:      Hyperbole support for WAIS browsing.
+;; USAGE:        GNU Emacs Lisp Library
+;; KEYWORDS:     comm, help, hypermedia
+;;
+;; AUTHOR:       Bob Weiner
+;; ORG:          Brown U.
+;;
+;; ORIG-DATE:     5-Nov-91 at 20:53:26
+;; LAST-MOD:     30-Oct-95 at 22:48:21 by Bob Weiner
+;;
+;; This file is part of Hyperbole.
+;; Available for use and distribution under the same terms as GNU Emacs.
+;;
+;; Copyright (C) 1991, 1995, Free Software Foundation, Inc.
+;; Developed with support from Motorola Inc.
+;;
+;; DESCRIPTION:  
+;;
+;;   For information on WAIS, see ftp://ftp.wais.com:/pub/.
+;;   The freeware/ subdirectory there contains free source code to support
+;;   WAIS on most standard architectures.
+;;
+;; DESCRIP-END.
+
+;;; ************************************************************************
+;;; Other required Elisp libraries
+;;; ************************************************************************
+
+;; Autoload wais.
+(autoload 'wais              "wais" "Client-server full-text retrieval"  t)
+(autoload 'waisd-mode        "wais" "Wide Area Information Services"     t)
+(autoload 'wais-select-question "wais" "Select a new WAIS question."     t)
+(autoload 'wais-create-question "wais" "Create a new WAIS question."     t)
+
+;;; ************************************************************************
+;;; Public implicit button types
+;;; ************************************************************************
+
+(defib wais-smart ()
+  "Handles context-sensitive Smart Key in WAIS buffers."
+  (if (featurep 'wais)
+      (let ((b (buffer-name)))
+	(cond ((string-match ": Find Documents On\\|: Similar To" b)
+	       (hact 'wais-smart 'wais-query))
+	      ((equal "*Source List*" b)
+	       (hact 'wais-smart 'source-menu-view))
+	      ((string-match ": On Sources" b)
+	       (hact 'wais-smart
+		     (if (eobp) 'wais-view-source 'source-menu-view)))
+	      ((string-match ": Results" b)
+	       (hact 'wais-smart 'wais-edit))
+	      ))))
+
+;;; ************************************************************************
+;;; Public button action types
+;;; ************************************************************************
+
+(defact wais-ques (question-name)
+  "Loads a Wais Question QUESTION-NAME, displays it with WAIS Emacs interface."
+  (interactive "sWAIS Question name: ")
+  (if (or (featurep 'wais) (load "wais"))
+      (progn
+	(display-question question-name)
+	(wais)
+	(display-question question-name)
+	)
+    (error "(wais-ques): WAIS interface not available so can't load question.")
+    ))
+
+(defact wais-smart (interactive-func)
+  "Performs INTERACTIVE-FUNC in a Wais buffer."
+  (call-interactively interactive-func))
+
+(provide 'hsys-wais)