- (stripped-name
- (cond
- ((and
- (char= (char name 0) #\%)
- (string= "_p" name :start2 (- (length name) 2)))
- (subseq name 1 (- (length name) 2)))
- ((char= (char name 0) #\%)
- (subseq name 1))
- ((string= "_p" name :start2 (- (length name) 2))
- (subseq name 0 (- (length name) 2)))
- (name)))
+ (start (position-if-not #'(lambda (char) (char= char #\%)) name))
+ (end (if (string= "_p" name :start2 (- (length name) 2))
+ (- (length name) 2)
+ (length name)))
+ (stripped-name (subseq name start end))