=================================================================== RCS file: /ftp/pub/users/ronald/proyectos/rcs-gopher/RCS/rcs-gopher_gophernicus.scm,v retrieving revision 1.13 retrieving revision 1.7 diff -r1.13 -r1.7 2,5c2,4 < ;; - Funci??n para generar diffs a partir del nombre de un proyecto, de un archivo y dos revisiones. YA < ;; Para hacer esto, modificar o utilizar de base la funci??n rcs-revisiones y obtener-selector-de-revisi??n. YA < ;; - Funci??n para generar el men?? de revisiones para elegir la primera revisi??n. YA < ;; - Funci??n para generar el men?? de revisiones para elegir la segunda revisi??n y mostrar el diff. YA --- > ;; - Funci??n para generar diffs a partir del nombre de un proyecto, de un archivo y dos revisiones. > ;; - Funci??n para generar el men?? de revisiones para elegir la primera revisi??n. > ;; - Funci??n para generar el men?? de revisiones para elegir la segunda revisi??n y mostrar el diff. 7,8c6,7 < ;; - Funci??n para generar la p??gina principal de un proyecto de rcs-gopher. YA < ;; - Funci??n para generar la p??gina principal de una colecci??n de proyectos de rcs-gopher. YA --- > ;; - Funci??n para generar la p??gina principal de un proyecto de rcs-gopher. CASI > ;; - Funci??n para generar la p??gina principal de una colecci??n de proyectos de rcs-gopher. 16c15 < (define *proyectos* '("rcs-gopher" "pxle")) --- > (define *proyectos* '("rcs-gopher")) 38,68c37,43 < (if archivo < (simple-format #f "~A~A/RCS/~A,v" < *directorio-base-de-proyectos* < nombre-de-proyecto < archivo) < (simple-format #f "~A~A/RCS/" < *directorio-base-de-proyectos* < nombre-de-proyecto))) < < (define (obtener-selector-de-revisi??n secci??n nombre-de-proyecto archivo revisi??n-a revisi??n-b) < (if (null? revisi??n-b) < (simple-format #f "~A~A?~A/~A/~A/~A" < *ruta-base-cgi-bin* < *nombre-del-script-de-rcs-gopher* < secci??n < nombre-de-proyecto < revisi??n-a < archivo) < (simple-format #f "~A~A?~A/~A/~A/~A/~A" < *ruta-base-cgi-bin* < *nombre-del-script-de-rcs-gopher* < secci??n < nombre-de-proyecto < revisi??n-a < revisi??n-b < archivo))) < < (define (enlace-a-secci??n tipo secci??n nombre-de-proyecto archivo) < (simple-format #t "~A~A\t~A~A?~A/~A/~A\t~A\n" < tipo < archivo --- > (simple-format #f "~A~A/RCS/~A,v" > *directorio-base-de-proyectos* > nombre-de-proyecto > archivo)) > > (define (obtener-selector-de-revisi??n nombre-de-proyecto archivo revisi??n) > (simple-format #f "~A~A?revs/~A/~A/~A" 71d45 < secci??n 74c48 < (host-y-puerto))) --- > revisi??n)) 79,80c53 < (obtener-selector-de-revisi??n "revs" < nombre-de-proyecto --- > (obtener-selector-de-revisi??n nombre-de-proyecto 82c55 < "ULT" #nil) --- > "ULT") 102c75 < (define (rcs-revisiones nombre archivo secci??n tipo-de-??tem revisi??n-base) --- > (define (rcs-revisiones nombre archivo) 114,128c87,89 < (simple-format #t "~A~A\t~A\t~A\t~A\n" < tipo-de-??tem (string-titlecase (destabulizar l??nea)) < (if (null? revisi??n-base) < (obtener-selector-de-revisi??n secci??n < nombre < archivo < (obtener-n??mero-de-revisi??n l??nea) < #nil) < (obtener-selector-de-revisi??n secci??n < nombre < archivo < revisi??n-base < (obtener-n??mero-de-revisi??n l??nea))) < *host* < *puerto*)))) --- > (simple-format #t "~A~A\t~A\tsdf.org\t70\n" > "0" (string-titlecase (destabulizar l??nea)) > (obtener-selector-de-revisi??n nombre archivo (obtener-n??mero-de-revisi??n l??nea)))))) 148,167d108 < (define (rcs-ver-diff nombre archivo revisi??n-a revisi??n-b) < (if (and (member nombre *proyectos*) < (access? (obtener-ruta-de-archivo < nombre < archivo) < R_OK)) < (let ((puerto (open-pipe* OPEN_READ "rcsdiff" (simple-format #f "-r~A" (if (string= revisi??n-a "ULT") < "" < revisi??n-a)) < (simple-format #f "-r~A" (if (string= revisi??n-b "ULT") < "" < revisi??n-b)) < (obtener-ruta-de-archivo nombre archivo))) < (l??nea "")) < (while ((lambda () < (set! l??nea (read-line puerto)) < (not (eof-object? l??nea)))) < (simple-format #t "~A\n" l??nea))) < (error-en-archivo "No existe este proyecto o archivo."))) < 211,217d151 < (define (generar-entradas-por-archivo nombre funci??n) < (let ((directorio-proyecto (simple-format #f "~A~A/RCS" < *directorio-base-de-proyectos* < nombre))) < (for-each funci??n < (scandir directorio-proyecto)))) < 221c155 < nombre #f) --- > nombre "") 225,232c159 < (generar-entradas-por-archivo nombre < (lambda (archivo) < (if (string-suffix? ",v" archivo) < (rcs-??ltima-revisi??n < nombre < (string-trim-right < archivo < (char-set #\, #\v))))))) --- > (generar-entradas-por-archivo nombre)) 235,302c162,166 < (define (rcs-men??-de-secci??n-por-archivo tipo secci??n nombre) < (generar-entradas-por-archivo nombre < (lambda (archivo) < (if (string-suffix? ",v" archivo) < (enlace-a-secci??n tipo < secci??n < nombre < (string-trim-right < archivo < (char-set #\, #\v))))))) < < (define (rcs-men??-principal) < (for-each (lambda (proyecto) < (simple-format #t "1~A\t~A\t~A\t~A\n" < proyecto < (obtener-selector-men??-secci??n "inicio" proyecto) < *host* < *puerto*)) < *proyectos*)) < < (define (parsear-selector texto) < (apply values (string-split texto #\/))) < < (define (rcs-principal) < (let ((selector (getenv "SEARCHREQUEST"))) < (define-values (secci??n . par??metros) < (parsear-selector selector)) < (let ((tama??o (length par??metros))) < (cond < ((and (string= secci??n "inicio") < (= tama??o 0)) < (rcs-men??-principal)) < ((and (string= secci??n "inicio") < (= tama??o 1)) < (rcs-men??-principal-proyecto (list-ref par??metros 0))) < ((and (string= secci??n "revs") < (= tama??o 1)) < (rcs-men??-de-secci??n-por-archivo "1" "revs" (list-ref par??metros 0))) < ((and (string= secci??n "revs") < (= tama??o 2)) < (rcs-revisiones (list-ref par??metros 0) (list-ref par??metros 1) "revs" "0" #nil)) < ((and (string= secci??n "revs") < (= tama??o 3)) < (rcs-ver-revisi??n (list-ref par??metros 0) (list-ref par??metros 2) (list-ref par??metros 1))) < ((and (string= secci??n "diffs") < (= tama??o 1)) < (rcs-men??-de-secci??n-por-archivo "1" "diffs" (list-ref par??metros 0))) < ((and (string= secci??n "diffs") < (= tama??o 2)) < (rcs-revisiones (list-ref par??metros 0) (list-ref par??metros 1) "diffs" "1" #nil)) < ((and (string= secci??n "diffs") < (= tama??o 3)) < (rcs-revisiones (list-ref par??metros 0) (list-ref par??metros 2) "diffs" "0" (list-ref par??metros 1))) < ((and (string= secci??n "diffs") < (= tama??o 4)) < (rcs-ver-diff (list-ref par??metros 0) (list-ref par??metros 3) (list-ref par??metros 1) (list-ref par??metros 2))) < ((and (string= secci??n "logs") < (= tama??o 1)) < (rcs-men??-de-secci??n-por-archivo "1" "logs" (list-ref par??metros 0))) < ((and (string= secci??n "logs") < (= tama??o 2)) < (rcs-revisiones (list-ref par??metros 0) (list-ref par??metros 1) "logs" "0" #nil)) < ((and (string= secci??n "logs") < (= tama??o 3)) < (rcs-ver-log (list-ref par??metros 0) (list-ref par??metros 2) (list-ref par??metros 1))) < )))) < < (rcs-principal) --- > (rcs-ver-revisi??n "rcs-gopher" "rcs-gopher_gophernicus.scm" "1.2") > (rcs-ver-log "rcs-gopher" "rcs-gopher_gophernicus.scm" "1.2") > (rcs-revisiones "rcs-gopher" "rcs-gopher_gophernicus.scm") > (generar-entradas-comunes "rcs-gopher") > (generar-entradas-por-archivo "rcs-gopher")