1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-15 16:20:17 +02:00

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.
This commit is contained in:
Andy Wingo 2011-07-23 17:50:37 +02:00
parent d322dc92ec
commit a1a2ed5342
19 changed files with 83 additions and 25 deletions

View file

@ -1,6 +1,6 @@
;;; api-diff --- diff guile-api.alist files ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -46,6 +46,9 @@
:autoload (srfi srfi-13) (string-tokenize) :autoload (srfi srfi-13) (string-tokenize)
:export (api-diff)) :export (api-diff))
(define %include-in-guild-list #f)
(define %summary "Show differences between two scan-api files.")
(define (read-alist-file file) (define (read-alist-file file)
(with-input-from-file file (with-input-from-file file
(lambda () (read)))) (lambda () (read))))

View file

@ -1,6 +1,6 @@
;;; autofrisk --- Generate module checks for use with auto* tools ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -62,6 +62,9 @@
:use-module (scripts frisk) :use-module (scripts frisk)
:export (autofrisk)) :export (autofrisk))
(define %include-in-guild-list #f)
(define %summary "Generate snippets for use in configure.ac files.")
(define *recognized-keys* '(files-glob (define *recognized-keys* '(files-glob
non-critical-external non-critical-external
non-critical-internal non-critical-internal

View file

@ -37,6 +37,8 @@
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:export (compile)) #:export (compile))
(define %summary "Compile a file.")
(define (fail . messages) (define (fail . messages)
(format (current-error-port) "error: ~{~a~}~%" messages) (format (current-error-port) "error: ~{~a~}~%" messages)

View file

@ -1,6 +1,6 @@
;;; Disassemble --- Disassemble .go files into something human-readable ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -32,6 +32,8 @@
#:renamer (symbol-prefix-proc 'asm:)) #:renamer (symbol-prefix-proc 'asm:))
#:export (disassemble)) #:export (disassemble))
(define %summary "Disassemble a compiled .go file.")
(define (disassemble . files) (define (disassemble . files)
(for-each (lambda (file) (for-each (lambda (file)
(asm:disassemble (load-objcode file))) (asm:disassemble (load-objcode file)))

View file

@ -1,6 +1,6 @@
;;; display-commentary --- As advertized ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -33,6 +33,8 @@
:use-module (ice-9 documentation) :use-module (ice-9 documentation)
:export (display-commentary)) :export (display-commentary))
(define %summary "Display the Commentary section from a file or module.")
(define (display-commentary-one file) (define (display-commentary-one file)
(format #t "~A commentary:\n~A" file (file-commentary file))) (format #t "~A commentary:\n~A" file (file-commentary file)))

View file

@ -1,6 +1,6 @@
;;; doc-snarf --- Extract documentation from source files ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; 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) :use-module (ice-9 rdelim)
:export (doc-snarf)) :export (doc-snarf))
(define %summary "Snarf out documentation from a file.")
(define command-synopsis (define command-synopsis
'((version (single-char #\v) (value #f)) '((version (single-char #\v) (value #f))
(help (single-char #\h) (value #f)) (help (single-char #\h) (value #f))

View file

@ -1,6 +1,6 @@
;;; frisk --- Grok the module interfaces of a body of files ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -103,6 +103,9 @@
mod-up-ls mod-down-ls mod-int? mod-up-ls mod-down-ls mod-int?
edge-type edge-up edge-down)) 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 *default-module* '(guile-user))
(define (grok-proc default-module note-use!) (define (grok-proc default-module note-use!)

View file

@ -1,6 +1,6 @@
;;; generate-autoload --- Display define-module form with autoload info ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -59,6 +59,9 @@
(define-module (scripts generate-autoload) (define-module (scripts generate-autoload)
:export (generate-autoload)) :export (generate-autoload))
(define %include-in-guild-list #f)
(define %summary "Generate #:autoload clauses for a module.")
(define (autoload-info file) (define (autoload-info file)
(let ((p (open-input-file file))) (let ((p (open-input-file file)))
(let loop ((form (read p)) (module-name #f) (exports '())) (let loop ((form (read p)) (module-name #f) (exports '()))

View file

@ -105,6 +105,9 @@
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:export (lint)) #:export (lint))
(define %include-in-guild-list #f)
(define %summary "Check for bugs and style errors in a Scheme file.")
(define (lint filename) (define (lint filename)
(let ((module-name (scan-file-for-module-name filename)) (let ((module-name (scan-file-for-module-name filename))
(free-vars (uniq (scan-file-for-free-variables filename)))) (free-vars (uniq (scan-file-for-free-variables filename))))

View file

@ -30,6 +30,9 @@
#:use-module ((srfi srfi-1) #:select (fold append-map)) #:use-module ((srfi srfi-1) #:select (fold append-map))
#:export (list-scripts)) #:export (list-scripts))
(define %include-in-guild-list #f)
(define %summary "List available guild commands.")
(define (directory-files dir) (define (directory-files dir)
(if (and (file-exists? dir) (file-is-directory? dir)) (if (and (file-exists? dir) (file-is-directory? dir))
@ -90,16 +93,22 @@ Usage: guild COMMAND [ARGS]
Commands: Commands:
") ")
(let ((all? (or (equal? args '("--all"))
(equal? args '("-a")))))
(for-each (for-each
(lambda (name) (lambda (name)
(let* ((modname `(scripts ,(string->symbol name))) (let* ((modname `(scripts ,(string->symbol name)))
(mod (resolve-module modname #:ensure #f)) (mod (resolve-module modname #:ensure #f))
(summary (and mod (and=> (module-variable mod '%summary) (summary (and mod (and=> (module-variable mod '%summary)
variable-ref)))) variable-ref))))
(if (and mod
(or all?
(let ((v (module-variable mod '%include-in-guild-list)))
(if v (variable-ref v) #t))))
(if summary (if summary
(format #t " ~A ~32t~a\n" name summary) (format #t " ~A ~23t~a\n" name summary)
(format #t " ~A\n" name)))) (format #t " ~A\n" name)))))
(find-submodules '(scripts))) (find-submodules '(scripts))))
(display "\ (display "\

View file

@ -41,6 +41,9 @@
(define-module (scripts punify) (define-module (scripts punify)
:export (punify)) :export (punify))
(define %include-in-guild-list #f)
(define %summary "Strip comments and whitespace from a Scheme file.")
(define (write-punily form) (define (write-punily form)
(cond ((and (list? form) (not (null? form))) (cond ((and (list? form) (not (null? form)))
(let ((first (car form))) (let ((first (car form)))

View file

@ -1,6 +1,6 @@
;;; read-rfc822 --- Validate RFC822 file by displaying it to stdout ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -49,6 +49,9 @@
:autoload (srfi srfi-13) (string-join) :autoload (srfi srfi-13) (string-join)
:export (read-rfc822 read-rfc822-silently)) :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 from-line-rx (make-regexp "^From "))
(define header-name-rx (make-regexp "^([^:]+):[ \t]*")) (define header-name-rx (make-regexp "^([^:]+):[ \t]*"))
(define header-cont-rx (make-regexp "^[ \t]+")) (define header-cont-rx (make-regexp "^[ \t]+"))

View file

@ -1,6 +1,6 @@
;;; read-scheme-source --- Read a file, recognizing scheme forms and comments ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -91,6 +91,9 @@
quoted? quoted?
clump)) 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. ;; Try to figure out what FORM is and its various attributes.
;; Call proc NOTE! with key (a symbol) and value. ;; Call proc NOTE! with key (a symbol) and value.
;; ;;

View file

@ -1,6 +1,6 @@
;;; read-text-outline --- Read a text outline and display it as a sexp ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; 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 rdelim) (read-line)
:autoload (ice-9 getopt-long) (getopt-long)) :autoload (ice-9 getopt-long) (getopt-long))
(define %include-in-guild-list #f)
(define %summary "Convert textual outlines to s-expressions.")
(define (?? symbol) (define (?? symbol)
(let ((name (symbol->string symbol))) (let ((name (symbol->string symbol)))
(string=? "?" (substring name (1- (string-length name)))))) (string=? "?" (substring name (1- (string-length name))))))

View file

@ -1,6 +1,6 @@
;;; scan-api --- Scan and group interpreter and libguile interface elements ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -65,6 +65,9 @@
:use-module (ice-9 regex) :use-module (ice-9 regex)
:export (scan-api)) :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 put set-object-property!)
(define get object-property) (define get object-property)

View file

@ -1,6 +1,6 @@
;;; snarf-check-and-output-texi --- called by the doc snarfer. ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -26,6 +26,9 @@
:use-module (ice-9 match) :use-module (ice-9 match)
:export (snarf-check-and-output-texi)) :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? ;;; why aren't these in some module?
(define-macro (when cond . body) (define-macro (when cond . body)

View file

@ -1,6 +1,6 @@
;;; snarf-guile-m4-docs --- Parse guile.m4 comments for texi documentation ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -35,6 +35,9 @@
:use-module (ice-9 rdelim) :use-module (ice-9 rdelim)
:export (snarf-guile-m4-docs)) :export (snarf-guile-m4-docs))
(define %include-in-guild-list #f)
(define %summary "Snarf out texinfo documentation from .m4 files.")
(define (display-texi lines) (define (display-texi lines)
(display "@deffn {Autoconf Macro}") (display "@deffn {Autoconf Macro}")
(for-each (lambda (line) (for-each (lambda (line)

View file

@ -1,6 +1,6 @@
;;; summarize-guile-TODO --- Display Guile TODO list in various ways ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; modify it under the terms of the GNU Lesser General Public License
@ -73,6 +73,9 @@
:autoload (ice-9 common-list) (remove-if-not) :autoload (ice-9 common-list) (remove-if-not)
:export (summarize-guile-TODO)) :export (summarize-guile-TODO))
(define %include-in-guild-list #f)
(define %summary "A quaint relic of the past.")
(define put set-object-property!) (define put set-object-property!)
(define get object-property) (define get object-property)

View file

@ -1,6 +1,6 @@
;;; use2dot --- Display module dependencies as a DOT specification ;;; 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 ;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License ;; 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)) :select (make-frisker edge-type edge-up edge-down))
:export (use2dot)) :export (use2dot))
(define %summary "Print a module's dependencies in graphviz format.")
(define *default-module* '(guile-user)) (define *default-module* '(guile-user))
(define (q s) ; quote (define (q s) ; quote