scheme crash with (custom) renumber refdes hook
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gEDA |
Fix Released
|
High
|
Unassigned |
Bug Description
Crash when copying a component with a custom scheme hook loaded. (The hook is to un-number the named component you copy).
Hook is loaded from /home/pcjc2/
(load-from-path "/home/
(add-hook! copy-component-hook unnumber-refdes)
Output:
gschem
WARNING: (gschem keymap): imported module (srfi srfi-69) overrides core binding `make-hash-table'
WARNING: (gschem keymap): imported module (srfi srfi-69) overrides core binding `hash-table?'
Backtrace:
In unknown file:
?: 0* [#<procedure #f (lst)> (# # #)]
In /home/pcjc2/
267: 1* (if (not (hook-empty? tgt-hook)) (for-each (lambda (obj) (if # #)) lst))
268: 2 [for-each #<procedure #f (obj)> (# # #)]
In unknown file:
?: 3* [#<procedure #f (obj)> #<geda-object 0x190b0b0>]
In /home/pcjc2/
270: 4* (if (filter? obj) (run-hook tgt-hook (append! # #)))
271: 5 [run-hook #<hook 1 7f4f357615d0 unnumber-refdes> (# # # #)]
In unknown file:
?: 6* [unnumber-refdes (# # # #)]
?: 7* (letrec (# #) (for-each # attribs))
In /home/pcjc2/
34: 8 [for-each #<procedure #f (attrib)> (# # # #)]
In unknown file:
?: 9* [#<procedure #f (attrib)> #<geda-object 0x18d8eb0>]
In /home/pcjc2/
36: 10* (let* (# # #) (if # #))
39: 11 (if (string=? name "refdes") (set-attribute-
In /home/pcjc2/
...
133: 12 (let ((params #) (name-value #)) (list-set! params 3 ...) ...)
135: 13* [list-set! ((56200 . 54300) lower-left 0 ...) 3 ...
135: 14* [simple-format {"~A=~A"} "refdes" "CONN?"]
/home/pcjc2/
/home/pcjc2/
Changed in geda: | |
assignee: | Peter TB Brett (peter-b) → nobody |
Changed in geda: | |
status: | Fix Committed → Fix Released |
Please try this patch and see if it resolves your issue.
diff --git a/gschem/ scheme/ gschem/ deprecated. scm b/gschem/ scheme/ gschem/ deprecated. scm scheme/ gschem/ deprecated. scm scheme/ gschem/ deprecated. scm value! attrib value)
(name- value (parse-attrib attrib)))
index bb69407..33b7776 100644
--- a/gschem/
+++ b/gschem/
@@ -132,7 +132,7 @@
(define-public (set-attribute-
(let ((params (text-info attrib))
- (list-set! params 3 (simple-format "~A=~A" (car name-value) value))
+ (list-set! params 3 (simple-format #f "~A=~A" (car name-value) value))
(apply set-text! attrib params)))
;; get-objects-in-page page