lsp2html test

There are some examples of lsp2html in action. These examples are from various GNU programs that include a lisp engine, like The GIMP, emacs, octave and Siag. Also, I include an AutoLISP sample of my authorship.

     1: ; octave-hlp.el --- getting help on Octave symbols using info
     2: 
     3: ; Copyright (C) 1997 Free Software Foundation, Inc.
     4: 
     5: ; Author: Kurt Hornik <Kurt.Hornik@ci.tuwien.ac.at>
     6: ; Author: John Eaton <jwe@bevo.che.wisc.edu>
     7: ; Maintainer: Kurt Hornik <Kurt.Hornik@ci.tuwien.ac.at>
     8: ; Keywords: languages
     9: 
    10: ; This file is part of GNU Emacs.
    11: 
    12: ; GNU Emacs is free software you can redistribute it and/or modify
    13: ; it under the terms of the GNU General Public License as published by
    14: ; the Free Software Foundation either version 2, or (at your option)
    15: ; any later version.
    16: 
    17: ; GNU Emacs is distributed in the hope that it will be useful,
    18: ; but WITHOUT ANY WARRANTY without even the implied warranty of
    19: ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    20: ; GNU General Public License for more details.
    21: 
    22: ; You should have received a copy of the GNU General Public License
    23: ; along with GNU Emacs see the file COPYING.  If not, write to the
    24: ; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    25: ; Boston, MA 02111-1307, USA.
    26: 
    27: ; Commentary:
    28: 
    29: ; Provides the command `octave-help' which allows index lookup of a
    30: ; symbol in the Octave-related info files, as specified by the list
    31: ; `octave-help-files'.
    32: 
    33: ; Other features may be added in future versions.
    34: 
    35: ; Code:
    36: 
    37: (require 'octave-mod)
    38: (require 'info)
    39: 
    40: (defvar octave-help-files '("octave")
    41:   "List of info files with documentation for Octave.
    42: Default is (\"octave\").")
    43: 
    44: (defvar octave-help-lookup-alist nil
    45:   "Alist of Octave index entries for lookup.")
    46: 
    47: (defvar octave-help-completion-alist nil
    48:   "Alist of Octave index entries for completion.
    49: The entries are of the form (VAR . VAR), where VAR runs through all
    50: different keys in `octave-help-lookup-alist'.")
    51: 
    52: ;###autoload
    53: (defun octave-help (key)
    54:   "Get help on Octave symbols from the Octave info files.
    55: Look up KEY in the function, operator and variable indices of the files
    56: specified by `octave-help-files'.
    57: If KEY is not a string, prompt for it with completion."
    58:   (interactive
    59:    (list
    60:     (completing-read (format "Describe Octave symbol: ")
    61:              (octave-help-get-completion-alist)
    62:              nil t)))
    63:   (if (get-buffer "*info*")
    64:       (set-buffer "*info*"))
    65:   (if (zerop (length key))
    66:       (Info-find-node (car octave-help-files) "Top")
    67:     (let ((alist (copy-alist (octave-help-get-lookup-alist)))
    68:       entry matches)
    69:       (while (setq entry (car alist))
    70:     (if (string-match key (car entry))
    71:         (add-to-list 'matches entry))
    72:     (setq alist (cdr alist)))
    73:       (if matches
    74:       (progn
    75:         (setq Info-index-alternatives matches)
    76:         (Info-index-next 0))))))
    77: 
    78: (defun octave-help-get-lookup-alist ()
    79:   "Build the index lookup alist from all Octave info files.
    80: The files specified by `octave-help-files' are searched."
    81:   (if octave-help-lookup-alist
    82:       ()
    83:     (message "Building help lookup alist...")    
    84:     (let ((files octave-help-files) file key node)
    85:       (save-window-excursion
    86:     (while files
    87:       (setq file (car files))
    88:        (Info-goto-node (concat "(" file ")"))
    89:       (condition-case nil
    90:           (progn
    91:         (Info-index "")
    92:         (while
    93:             (progn
    94:               (while (re-search-forward
    95:                   "^\\* \\([^(:]+\\)[^:]*: *\\(.+\\)\\.$"
    96:                   nil t)
    97:             (setq key (match-string 1)
    98:                   node (concat "(" file ")" (match-string 2)))
    99:             (and (string-match "\\(.*\\>\\) *$" key)
   100:                  (setq key (replace-match "\\1" t nil key)))
   101:             (add-to-list 'octave-help-lookup-alist
   102:                      (list key
   103:                        node
   104:                        (concat (concat "(" file ")")
   105:                            Info-current-node)
   106:                        0)))
   107:               (and (setq node (Info-extract-pointer "next" t))
   108:                (string-match
   109:                 (concat "\\(Function\\|Operator\\|Variable\\) "
   110:                     "\\<Index\\>")
   111:                 node)))
   112:           (Info-goto-node node)))
   113:         (error nil))
   114:       (setq files (cdr files)))))
   115:     (message "Building help lookup alist...done"))
   116:   octave-help-lookup-alist)
   117: 
   118: (defun octave-help-get-completion-alist ()
   119:   "Build the index completion alist from all Octave info files.
   120: The files specified by `octave-help-files' are searched."
   121:   (if octave-help-completion-alist
   122:       ()
   123:     (message "Building help completion alist...")
   124:     (let ((alist (octave-help-get-lookup-alist)) entry)
   125:       (while alist
   126:     (setq entry (car alist))
   127:     (add-to-list 'octave-help-completion-alist
   128:              (cons (car entry) (car entry)))
   129:     (setq alist (cdr alist))))
   130:     (message "Building help completion alist...done"))    
   131:   octave-help-completion-alist)
   132: 
   133: ; provide ourself
   134: 
   135: (provide 'octave-hlp)
   136: 
   137: ; octave-hlp.el ends here
   138: 



06/01/2002 21:47:22, octave-hlp.el