#76: REPLACE on strings incorrect --------------------+------------------------------------------------------- Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 2013-03 Keywords: | --------------------+------------------------------------------------------- Consider: {{{ (defun zot (workspace s) (declare (simple-string workspace s)) (replace workspace s :start1 1 :end1 5 :start2 1 :end2 5))
(defparameter *r* (make-string 40 :initial-element #\A))
(compile 'zot) (zot *r* "a12345") }}}
After executing this, {{{*r*}}} should contain "A1234AAAA.." but it actually contains "a1234AAAA..". The {{{start1}}} and {{{start2}}} indices were not honored.
#76: REPLACE on strings incorrect ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: closed Priority: major | Milestone: Component: Core | Version: 2013-03 Resolution: fixed | Keywords: ---------------------+------------------------------------------------------ Changes (by toy.raymond@…):
* status: new => closed * resolution: => fixed
Comment:
commit 45fabc8f3fad8876627831708ec3c997d46ce4f8 Author: Raymond Toy toy.raymond@gmail.com Date: Wed Mar 6 00:27:44 2013 -0800
Fix ticket:76
Missed one place in DO-UNARY-BYTE-BASH to adjust the call to END-MASK to use a bit offset instead of a byte offset. This affects anything that was using DO-UNARY-BYTE-BASH, including REPLACE.