;; Copyright (C) 2008 Peter Clifton ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA (use-modules (srfi srfi-13) (srfi srfi-14)) (define (unnumber-refdes attribs) ;; Function to strip digit suffixes (define (strip-digit-suffix string) (string-trim-right string char-set:digit) ) (define (unnumbered-refdes oldrefdes) (if (string-suffix? "?" oldrefdes) oldrefdes (string-append (strip-digit-suffix oldrefdes) "?") ) ) (for-each (lambda (attrib) (let* ((name-value (get-attribute-name-value attrib)) (name (car name-value)) (value (cdr name-value))) (if (string=? name "refdes") (set-attribute-value! attrib (unnumbered-refdes value))) ) ) attribs ) )