mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-12 23:00:22 +02:00
(write-punily): Handle symbols with ":" prefix specially.
This commit is contained in:
parent
f8e685d1b2
commit
b0147aec0a
1 changed files with 25 additions and 17 deletions
|
@ -34,8 +34,8 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
;;
|
;;
|
||||||
;; Example:
|
;; Example:
|
||||||
;; $ wc ./punify ; ./punify ./punify | wc
|
;; $ wc ./punify ; ./punify ./punify | wc
|
||||||
;; 81 355 2622 ./punify
|
;; 89 384 3031 ./punify
|
||||||
;; 0 34 694
|
;; 0 42 920
|
||||||
;;
|
;;
|
||||||
;; TODO: Read from stdin.
|
;; TODO: Read from stdin.
|
||||||
;; Handle vectors.
|
;; Handle vectors.
|
||||||
|
@ -47,7 +47,7 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
:export (punify))
|
:export (punify))
|
||||||
|
|
||||||
(define (write-punily form)
|
(define (write-punily form)
|
||||||
(if (and (list? form) (not (null? form)))
|
(cond ((and (list? form) (not (null? form)))
|
||||||
(let ((first (car form)))
|
(let ((first (car form)))
|
||||||
(display "(")
|
(display "(")
|
||||||
(write-punily first)
|
(write-punily first)
|
||||||
|
@ -60,8 +60,16 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(not this-is-list?)
|
(not this-is-list?)
|
||||||
(display " "))
|
(display " "))
|
||||||
(write-punily new-first)
|
(write-punily new-first)
|
||||||
(loop (cdr ls) this-is-list?)))))
|
(loop (cdr ls) this-is-list?))))))
|
||||||
(write form)))
|
((and (symbol? form)
|
||||||
|
(let ((ls (string->list (symbol->string form))))
|
||||||
|
(and (char=? (car ls) #\:)
|
||||||
|
(not (memq #\space ls))
|
||||||
|
(list->string (cdr ls)))))
|
||||||
|
=> (lambda (symbol-name-after-colon)
|
||||||
|
(display #\:)
|
||||||
|
(display symbol-name-after-colon)))
|
||||||
|
(else (write form))))
|
||||||
|
|
||||||
(define (punify-one file)
|
(define (punify-one file)
|
||||||
(with-input-from-file file
|
(with-input-from-file file
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue