From 4901580f449aa13851543d83fe9d4996ed8f1b72 Mon Sep 17 00:00:00 2001 From: Ludovic Courtes Date: Sun, 3 Sep 2006 11:43:09 +0000 Subject: 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 --- src/guile/skribilo/package/base.scm | 8 ++++---- src/guile/skribilo/prog.scm | 15 ++++++++------- 2 files changed, 12 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/guile/skribilo/package/base.scm b/src/guile/skribilo/package/base.scm index ce40fc1..8ba9024 100644 --- a/src/guile/skribilo/package/base.scm +++ b/src/guile/skribilo/package/base.scm @@ -988,7 +988,7 @@ (let* ((bs (ast->string bd)) (n (new markup (markup 'mark) - (ident bs) + (ident (symbol->string (gensym bs))) (class class) (options (the-options opts :ident :class :text)) (body text)))) @@ -1095,7 +1095,7 @@ (if s (new markup (markup 'ref) - (ident (symbol->string 'indent-ref)) + (ident (symbol->string (gensym "ident-ref"))) (class class) (required-options '(:text)) (options `((kind ,kind) @@ -1127,7 +1127,7 @@ (if s (let* ((n (new markup (markup 'bib-ref) - (ident (symbol->string 'bib-ref)) + (ident (symbol->string (gensym "bib-ref"))) (class class) (required-options '(:text)) (options (the-options opts :ident :class)) @@ -1151,7 +1151,7 @@ (define (url-ref) (new markup (markup 'url-ref) - (ident (symbol->string 'url-ref)) + (ident (symbol->string (gensym "url-ref"))) (class class) (required-options '(:url :text)) (options (the-options opts :ident :class)))) 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)))))))) -- cgit v1.2.3