summaryrefslogtreecommitdiff
path: root/module
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-07-23 17:50:37 +0200
committerAndy Wingo <wingo@pobox.com>2011-07-23 17:50:41 +0200
commita1a2ed534278b968767727485f84e5957c039c23 (patch)
treebd66c43e177c2e9442cb9e20d9f7d322a6310b82 /module
parentd322dc92ec8170320c68abc024eb683a0bf8ab00 (diff)
downloadguile-a1a2ed534278b968767727485f84e5957c039c23.tar.gz
more work on "guild list"
* module/scripts/: Add %summary entries, and in many cases, %include-in-guild-list entries to inhibit a script from appearing in "guild list". Update list.scm to respect this new variable.
Diffstat (limited to 'module')
-rw-r--r--module/scripts/api-diff.scm5
-rw-r--r--module/scripts/autofrisk.scm5
-rw-r--r--module/scripts/compile.scm2
-rw-r--r--module/scripts/disassemble.scm4
-rw-r--r--module/scripts/display-commentary.scm4
-rw-r--r--module/scripts/doc-snarf.scm4
-rw-r--r--module/scripts/frisk.scm5
-rw-r--r--module/scripts/generate-autoload.scm5
-rw-r--r--module/scripts/lint.scm3
-rw-r--r--module/scripts/list.scm29
-rw-r--r--module/scripts/punify.scm3
-rw-r--r--module/scripts/read-rfc822.scm5
-rw-r--r--module/scripts/read-scheme-source.scm5
-rw-r--r--module/scripts/read-text-outline.scm5
-rw-r--r--module/scripts/scan-api.scm5
-rw-r--r--module/scripts/snarf-check-and-output-texi.scm5
-rw-r--r--module/scripts/snarf-guile-m4-docs.scm5
-rw-r--r--module/scripts/summarize-guile-TODO.scm5
-rw-r--r--module/scripts/use2dot.scm4
19 files changed, 83 insertions, 25 deletions
diff --git a/module/scripts/api-diff.scm b/module/scripts/api-diff.scm
index b842b03ff..b2527b9e9 100644
--- a/module/scripts/api-diff.scm
+++ b/module/scripts/api-diff.scm
@@ -1,6 +1,6 @@
;;; api-diff --- diff guile-api.alist files
-;; Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -46,6 +46,9 @@
:autoload (srfi srfi-13) (string-tokenize)
:export (api-diff))
+(define %include-in-guild-list #f)
+(define %summary "Show differences between two scan-api files.")
+
(define (read-alist-file file)
(with-input-from-file file
(lambda () (read))))
diff --git a/module/scripts/autofrisk.scm b/module/scripts/autofrisk.scm
index 943c90227..9bce06e2a 100644
--- a/module/scripts/autofrisk.scm
+++ b/module/scripts/autofrisk.scm
@@ -1,6 +1,6 @@
;;; autofrisk --- Generate module checks for use with auto* tools
-;; Copyright (C) 2002, 2006, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2006, 2009, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -62,6 +62,9 @@
:use-module (scripts frisk)
:export (autofrisk))
+(define %include-in-guild-list #f)
+(define %summary "Generate snippets for use in configure.ac files.")
+
(define *recognized-keys* '(files-glob
non-critical-external
non-critical-internal
diff --git a/module/scripts/compile.scm b/module/scripts/compile.scm
index f9d6cca99..0651c6804 100644
--- a/module/scripts/compile.scm
+++ b/module/scripts/compile.scm
@@ -37,6 +37,8 @@
#:use-module (ice-9 format)
#:export (compile))
+(define %summary "Compile a file.")
+
(define (fail . messages)
(format (current-error-port) "error: ~{~a~}~%" messages)
diff --git a/module/scripts/disassemble.scm b/module/scripts/disassemble.scm
index 8907f6d08..7dab2dde9 100644
--- a/module/scripts/disassemble.scm
+++ b/module/scripts/disassemble.scm
@@ -1,6 +1,6 @@
;;; Disassemble --- Disassemble .go files into something human-readable
-;; Copyright 2005, 2008, 2009 Free Software Foundation, Inc.
+;; Copyright 2005, 2008, 2009, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -32,6 +32,8 @@
#:renamer (symbol-prefix-proc 'asm:))
#:export (disassemble))
+(define %summary "Disassemble a compiled .go file.")
+
(define (disassemble . files)
(for-each (lambda (file)
(asm:disassemble (load-objcode file)))
diff --git a/module/scripts/display-commentary.scm b/module/scripts/display-commentary.scm
index 5bd249ce9..81d7907af 100644
--- a/module/scripts/display-commentary.scm
+++ b/module/scripts/display-commentary.scm
@@ -1,6 +1,6 @@
;;; display-commentary --- As advertized
-;; Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -33,6 +33,8 @@
:use-module (ice-9 documentation)
:export (display-commentary))
+(define %summary "Display the Commentary section from a file or module.")
+
(define (display-commentary-one file)
(format #t "~A commentary:\n~A" file (file-commentary file)))
diff --git a/module/scripts/doc-snarf.scm b/module/scripts/doc-snarf.scm
index b7fbc996e..fa3dfb312 100644
--- a/module/scripts/doc-snarf.scm
+++ b/module/scripts/doc-snarf.scm
@@ -1,6 +1,6 @@
;;; doc-snarf --- Extract documentation from source files
-;; Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -83,6 +83,8 @@ This procedure foos, or bars, depending on the argument @var{braz}.
:use-module (ice-9 rdelim)
:export (doc-snarf))
+(define %summary "Snarf out documentation from a file.")
+
(define command-synopsis
'((version (single-char #\v) (value #f))
(help (single-char #\h) (value #f))
diff --git a/module/scripts/frisk.scm b/module/scripts/frisk.scm
index c452ede25..a8f79232d 100644
--- a/module/scripts/frisk.scm
+++ b/module/scripts/frisk.scm
@@ -1,6 +1,6 @@
;;; frisk --- Grok the module interfaces of a body of files
-;; Copyright (C) 2002, 2006, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2006, 2010, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -103,6 +103,9 @@
mod-up-ls mod-down-ls mod-int?
edge-type edge-up edge-down))
+(define %include-in-guild-list #f)
+(define %summary "Show dependency information for a module.")
+
(define *default-module* '(guile-user))
(define (grok-proc default-module note-use!)
diff --git a/module/scripts/generate-autoload.scm b/module/scripts/generate-autoload.scm
index 781931015..90f524b06 100644
--- a/module/scripts/generate-autoload.scm
+++ b/module/scripts/generate-autoload.scm
@@ -1,6 +1,6 @@
;;; generate-autoload --- Display define-module form with autoload info
-;; Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -59,6 +59,9 @@
(define-module (scripts generate-autoload)
:export (generate-autoload))
+(define %include-in-guild-list #f)
+(define %summary "Generate #:autoload clauses for a module.")
+
(define (autoload-info file)
(let ((p (open-input-file file)))
(let loop ((form (read p)) (module-name #f) (exports '()))
diff --git a/module/scripts/lint.scm b/module/scripts/lint.scm
index aa74fb6a7..cea425ea9 100644
--- a/module/scripts/lint.scm
+++ b/module/scripts/lint.scm
@@ -105,6 +105,9 @@
#:use-module (ice-9 format)
#:export (lint))
+(define %include-in-guild-list #f)
+(define %summary "Check for bugs and style errors in a Scheme file.")
+
(define (lint filename)
(let ((module-name (scan-file-for-module-name filename))
(free-vars (uniq (scan-file-for-free-variables filename))))
diff --git a/module/scripts/list.scm b/module/scripts/list.scm
index 6ffc01629..55dbef264 100644
--- a/module/scripts/list.scm
+++ b/module/scripts/list.scm
@@ -30,6 +30,9 @@
#:use-module ((srfi srfi-1) #:select (fold append-map))
#:export (list-scripts))
+(define %include-in-guild-list #f)
+(define %summary "List available guild commands.")
+
(define (directory-files dir)
(if (and (file-exists? dir) (file-is-directory? dir))
@@ -90,16 +93,22 @@ Usage: guild COMMAND [ARGS]
Commands:
")
- (for-each
- (lambda (name)
- (let* ((modname `(scripts ,(string->symbol name)))
- (mod (resolve-module modname #:ensure #f))
- (summary (and mod (and=> (module-variable mod '%summary)
- variable-ref))))
- (if summary
- (format #t " ~A ~32t~a\n" name summary)
- (format #t " ~A\n" name))))
- (find-submodules '(scripts)))
+ (let ((all? (or (equal? args '("--all"))
+ (equal? args '("-a")))))
+ (for-each
+ (lambda (name)
+ (let* ((modname `(scripts ,(string->symbol name)))
+ (mod (resolve-module modname #:ensure #f))
+ (summary (and mod (and=> (module-variable mod '%summary)
+ variable-ref))))
+ (if (and mod
+ (or all?
+ (let ((v (module-variable mod '%include-in-guild-list)))
+ (if v (variable-ref v) #t))))
+ (if summary
+ (format #t " ~A ~23t~a\n" name summary)
+ (format #t " ~A\n" name)))))
+ (find-submodules '(scripts))))
(display "\
diff --git a/module/scripts/punify.scm b/module/scripts/punify.scm
index 1627722d3..6b33ac5ee 100644
--- a/module/scripts/punify.scm
+++ b/module/scripts/punify.scm
@@ -41,6 +41,9 @@
(define-module (scripts punify)
:export (punify))
+(define %include-in-guild-list #f)
+(define %summary "Strip comments and whitespace from a Scheme file.")
+
(define (write-punily form)
(cond ((and (list? form) (not (null? form)))
(let ((first (car form)))
diff --git a/module/scripts/read-rfc822.scm b/module/scripts/read-rfc822.scm
index c0a54f28c..08f3fb9a1 100644
--- a/module/scripts/read-rfc822.scm
+++ b/module/scripts/read-rfc822.scm
@@ -1,6 +1,6 @@
;;; read-rfc822 --- Validate RFC822 file by displaying it to stdout
-;; Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -49,6 +49,9 @@
:autoload (srfi srfi-13) (string-join)
:export (read-rfc822 read-rfc822-silently))
+(define %include-in-guild-list #f)
+(define %summary "Validate an RFC822-style file.")
+
(define from-line-rx (make-regexp "^From "))
(define header-name-rx (make-regexp "^([^:]+):[ \t]*"))
(define header-cont-rx (make-regexp "^[ \t]+"))
diff --git a/module/scripts/read-scheme-source.scm b/module/scripts/read-scheme-source.scm
index b48a88f9b..1bca6a4c4 100644
--- a/module/scripts/read-scheme-source.scm
+++ b/module/scripts/read-scheme-source.scm
@@ -1,6 +1,6 @@
;;; read-scheme-source --- Read a file, recognizing scheme forms and comments
-;; Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -91,6 +91,9 @@
quoted?
clump))
+(define %include-in-guild-list #f)
+(define %summary "Print a parsed representation of a Scheme file.")
+
;; Try to figure out what FORM is and its various attributes.
;; Call proc NOTE! with key (a symbol) and value.
;;
diff --git a/module/scripts/read-text-outline.scm b/module/scripts/read-text-outline.scm
index 64221fbe1..d0933bb0b 100644
--- a/module/scripts/read-text-outline.scm
+++ b/module/scripts/read-text-outline.scm
@@ -1,6 +1,6 @@
;;; read-text-outline --- Read a text outline and display it as a sexp
-;; Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -118,6 +118,9 @@
:autoload (ice-9 rdelim) (read-line)
:autoload (ice-9 getopt-long) (getopt-long))
+(define %include-in-guild-list #f)
+(define %summary "Convert textual outlines to s-expressions.")
+
(define (?? symbol)
(let ((name (symbol->string symbol)))
(string=? "?" (substring name (1- (string-length name))))))
diff --git a/module/scripts/scan-api.scm b/module/scripts/scan-api.scm
index 9236f8742..86d07fc3e 100644
--- a/module/scripts/scan-api.scm
+++ b/module/scripts/scan-api.scm
@@ -1,6 +1,6 @@
;;; scan-api --- Scan and group interpreter and libguile interface elements
-;; Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -65,6 +65,9 @@
:use-module (ice-9 regex)
:export (scan-api))
+(define %include-in-guild-list #f)
+(define %summary "Generate an API description for a Guile extension.")
+
(define put set-object-property!)
(define get object-property)
diff --git a/module/scripts/snarf-check-and-output-texi.scm b/module/scripts/snarf-check-and-output-texi.scm
index f92c833ed..6ca07a1f4 100644
--- a/module/scripts/snarf-check-and-output-texi.scm
+++ b/module/scripts/snarf-check-and-output-texi.scm
@@ -1,6 +1,6 @@
;;; snarf-check-and-output-texi --- called by the doc snarfer.
-;; Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -26,6 +26,9 @@
:use-module (ice-9 match)
:export (snarf-check-and-output-texi))
+(define %include-in-guild-list #f)
+(define %summary "Transform snarfed .doc files into texinfo documentation.")
+
;;; why aren't these in some module?
(define-macro (when cond . body)
diff --git a/module/scripts/snarf-guile-m4-docs.scm b/module/scripts/snarf-guile-m4-docs.scm
index 05c305ebd..4e59f536d 100644
--- a/module/scripts/snarf-guile-m4-docs.scm
+++ b/module/scripts/snarf-guile-m4-docs.scm
@@ -1,6 +1,6 @@
;;; snarf-guile-m4-docs --- Parse guile.m4 comments for texi documentation
-;; Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -35,6 +35,9 @@
:use-module (ice-9 rdelim)
:export (snarf-guile-m4-docs))
+(define %include-in-guild-list #f)
+(define %summary "Snarf out texinfo documentation from .m4 files.")
+
(define (display-texi lines)
(display "@deffn {Autoconf Macro}")
(for-each (lambda (line)
diff --git a/module/scripts/summarize-guile-TODO.scm b/module/scripts/summarize-guile-TODO.scm
index ee4f88c1f..8b119e0ec 100644
--- a/module/scripts/summarize-guile-TODO.scm
+++ b/module/scripts/summarize-guile-TODO.scm
@@ -1,6 +1,6 @@
;;; summarize-guile-TODO --- Display Guile TODO list in various ways
-;; Copyright (C) 2002, 2006, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2006, 2010, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -73,6 +73,9 @@
:autoload (ice-9 common-list) (remove-if-not)
:export (summarize-guile-TODO))
+(define %include-in-guild-list #f)
+(define %summary "A quaint relic of the past.")
+
(define put set-object-property!)
(define get object-property)
diff --git a/module/scripts/use2dot.scm b/module/scripts/use2dot.scm
index ab97afbc7..975a9c4a4 100644
--- a/module/scripts/use2dot.scm
+++ b/module/scripts/use2dot.scm
@@ -1,6 +1,6 @@
;;; use2dot --- Display module dependencies as a DOT specification
-;; Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2006, 2011 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
@@ -53,6 +53,8 @@
:select (make-frisker edge-type edge-up edge-down))
:export (use2dot))
+(define %summary "Print a module's dependencies in graphviz format.")
+
(define *default-module* '(guile-user))
(define (q s) ; quote