Index: src/main/morph.lsp =================================================================== RCS file: /lingo/CVS/newlkb/src/main/morph.lsp,v retrieving revision 1.24 diff -i -w -c -r1.24 morph.lsp *** src/main/morph.lsp 21 Sep 2005 19:16:26 -0000 1.24 --- src/main/morph.lsp 30 Jan 2006 19:00:29 -0000 *************** *** 604,611 **** ;;; When we are generating, we accept the first matching subrule only. (let* ((input-chars (coerce string 'list)) (rule (find rule-name *morph-rule-set* :key #'morph-rule-name)) ! (rule-class (morph-rule-class rule)) (suffix-p (eql rule-class 'suffix))) (dolist (subrule (morph-rule-subrules rule)) (multiple-value-bind (matchp unmatched bindings) (match-rule-letters (if suffix-p (reverse input-chars) input-chars) --- 604,612 ---- ;;; When we are generating, we accept the first matching subrule only. (let* ((input-chars (coerce string 'list)) (rule (find rule-name *morph-rule-set* :key #'morph-rule-name)) ! (rule-class (and rule (morph-rule-class rule))) (suffix-p (eql rule-class 'suffix))) + (if rule (dolist (subrule (morph-rule-subrules rule)) (multiple-value-bind (matchp unmatched bindings) (match-rule-letters (if suffix-p (reverse input-chars) input-chars) *************** *** 616,619 **** (create-other-morph-form unmatched (morph-subrule-surface subrule) bindings suffix-p))) ! (return new-form))))))) --- 617,621 ---- (create-other-morph-form unmatched (morph-subrule-surface subrule) bindings suffix-p))) ! (return new-form))))) ! string)))