aboutsummaryrefslogtreecommitdiff
path: root/src/guile/skribilo/prog.scm
diff options
context:
space:
mode:
authorLudovic Courtes2006-09-03 11:43:09 +0000
committerLudovic Courtes2006-09-03 11:43:09 +0000
commit4901580f449aa13851543d83fe9d4996ed8f1b72 (patch)
tree769a7fe510dbf192bfa161aec6a623e3ea9c7eda /src/guile/skribilo/prog.scm
parent8e0448d1a0b2590453935e457d9f7de4a6d32502 (diff)
downloadskribilo-4901580f449aa13851543d83fe9d4996ed8f1b72.tar.gz
skribilo-4901580f449aa13851543d83fe9d4996ed8f1b72.tar.lz
skribilo-4901580f449aa13851543d83fe9d4996ed8f1b72.zip
Removed sources of non-unique node identifiers.
* src/guile/skribilo/prog.scm (make-prog-body): Use `gensym' to create an identifier instead of `(int->str lnum cs)'. (make-line-mark): Take that identifier. * src/guile/skribilo/package/base.scm (mark): Use `gensym' to create an identifier rather than BS. (ref)[bib-ref]: Likewise. [url-ref]: Likewise. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-55
Diffstat (limited to 'src/guile/skribilo/prog.scm')
-rw-r--r--src/guile/skribilo/prog.scm15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/guile/skribilo/prog.scm b/src/guile/skribilo/prog.scm
index 6ef41ee..266d607 100644
--- a/src/guile/skribilo/prog.scm
+++ b/src/guile/skribilo/prog.scm
@@ -49,14 +49,14 @@
;*---------------------------------------------------------------------*/
;* *lines* ... */
;*---------------------------------------------------------------------*/
+;; FIXME: Removed that global. Rework the thing.
(define *lines* (make-hash-table))
;*---------------------------------------------------------------------*/
;* make-line-mark ... */
;*---------------------------------------------------------------------*/
-(define (make-line-mark m lnum b)
- (let* ((ls (number->string lnum))
- (n (list (mark ls) b)))
+(define (make-line-mark m line-ident b)
+ (let* ((n (list (mark line-ident) b)))
(hash-set! *lines* m n)
n))
@@ -209,10 +209,11 @@
(reverse! res)
(receive (m l)
(extract-mark (car lines) mark regexp)
- (let ((n (new markup
- (markup '&prog-line)
- (ident (and lnum-init (int->str lnum cs)))
- (body (if m (make-line-mark m lnum l) l)))))
+ (let* ((line-ident (symbol->string (gensym "&prog-line")))
+ (n (new markup
+ (markup '&prog-line)
+ (ident line-ident)
+ (body (if m (make-line-mark m line-ident l) l)))))
(loop (cdr lines)
(+ lnum 1)
(cons n res))))))))