Revert "Fix order of result content"

Julien LepillerThu Jul 29 18:46:06+0200 2021

57961c9

Revert "Fix order of result content" This reverts commit 680cac2714765a5b0e5b11300305d2a308ce8053.

modules/nani/result/jibiki.scm

125125
          (match (car lst)
126126
            ((? string? s)
127127
             (update-source source
128-
               #:content (append (source-content source) (list s))))
128+
               #:content (cons s (source-content source))))
129129
            (('lang . l)
130130
             (update-source source #:lang l))
131131
            ((? list? l)

141141
            (#f meaning)
142142
            (('n . _) meaning)
143143
            (('info . info) (update-meaning meaning
144-
                              #:infos
145-
                              (append (meaning-infos meaning) (list info))))
144+
                              #:infos (cons info (meaning-infos meaning))))
146145
            (('content . c) (update-meaning meaning
147146
                              #:glosses (append
148-
                                          (meaning-glosses meaning)
149-
                                          (string-split c #\,))))
147+
                                          (map string-downcase
148+
					       (string-split c #\,))
149+
                                          (meaning-glosses meaning))))
150150
            ((? source? s)
151151
             (update-meaning meaning
152-
               #:sources (append (meaning-sources meaning) (lit s))))
152+
               #:sources (cons s (meaning-sources meaning))))
153153
            ((? string? _) meaning)
154154
            ((? list? l) (loop l meaning)))))))
155155

166166
            (('kanji . k)
167167
             (loop (cdr lst)
168168
                   (update-result result
169-
                     #:kanjis (append (result-kanjis result) (list k)))
169+
                     #:kanjis (cons k (result-kanjis result)))
170170
                   infos
171171
                   sources))
172172
            ((? reading? r)
173173
             (loop
174174
               (cdr lst)
175175
               (update-result result
176-
                 #:readings (append (result-readings result) (list r)))
176+
                 #:readings (cons r (result-readings result)))
177177
               infos
178178
               sources))
179179
            ((? meaning? s)
180180
             (loop
181181
               (cdr lst)
182182
               (update-result result
183-
                 #:meanings (append (result-meanings result) (list s)))
183+
                 #:meanings (cons s (result-meanings result)))
184184
               infos
185185
               sources))
186186
            ((? source? s)
187-
             (loop (cdr lst) result infos (append sources (list s))))
187+
             (loop (cdr lst) result infos (cons s sources)))
188188
            (('info . info)
189189
             (loop (cdr lst)
190190
                   result
191-
                   (append infos (list info))
191+
                   (cons info infos)
192192
                   sources))
193193
            ((? list? l)
194194
             (match (loop l result infos sources)

modules/nani/result/jmdict.scm

3434
      reading
3535
      (loop
3636
        (match (car lst)
37-
          (('reading r) (update-reading reading #:readings
38-
                                        (append (reading-readings reading) (list r))))
39-
          (('info r) (update-reading reading #:info
40-
                                     (append (reading-info reading) (list r))))
41-
          (('limit r) (update-reading reading #:kanjis
42-
                                      (append (reading-kanjis reading) (list r))))
37+
          (('reading r) (update-reading reading #:readings (cons r (reading-readings reading))))
38+
          (('info r) (update-reading reading #:info (cons r (reading-info reading))))
39+
          (('limit r) (update-reading reading #:kanjis (cons r (reading-kanjis reading))))
4340
          (((? symbol? s) v) (throw 'unknown-content s v))
4441
          ((? string? _) reading))
4542
        (cdr lst)))))

5047
      source
5148
      (loop
5249
        (match (car lst)
53-
          (('content c) (update-source source #:content
54-
                                       (append (source-content source) (list c))))
50+
          (('content c) (update-source source #:content (cons c (source-content source))))
5551
          (('ls_wasei _) (update-source source #:wasei? #t))
5652
          (('ls_type t) source); type is always "part" or nothing
5753
          ((('xml . 'lang) l) (update-source source #:lang l))
5854
          (((? symbol? s) v) (throw 'unknown-content s v))
5955
          ((? list? l) (loop source l))
6056
          ((? string? c) (update-source source #:content
61-
                                        (append (source-content source) (list c)))))
57+
                                        (cons c (source-content source)))))
6258
        (cdr lst)))))
6359
6460
(define (sxml->meaning lst)

6763
      meaning
6864
      (loop
6965
        (match (car lst)
70-
          (('ref (? string? r))
71-
           (update-meaning meaning #:references
72-
                           (append (meaning-references meaning) (list r))))
73-
          (('limit (? string? r))
74-
           (update-meaning meaning #:limits
75-
                           (append (meaning-limits meaning) (list r))))
76-
          (('info (? string? r))
77-
           (update-meaning meaning #:infos
78-
                           (append (meaning-infos meaning) (list r))))
79-
          ((? source? s)
80-
           (update-meaning meaning #:sources
81-
                           (append (meaning-sources meaning) (list s))))
82-
          (('info (? string? r))
83-
           (update-meaning meaning #:infos
84-
                           (append (meaning-infos meaning) (list r))))
85-
          (('gloss (? string? r))
86-
           (update-meaning meaning #:glosses
87-
                           (append (meaning-glosses meaning) (list r))))
66+
          (('ref (? string? r)) (update-meaning meaning #:references (cons r (meaning-references meaning))))
67+
          (('limit (? string? r)) (update-meaning meaning #:limits (cons r (meaning-limits meaning))))
68+
          (('info (? string? r)) (update-meaning meaning #:infos (cons r (meaning-infos meaning))))
69+
          ((? source? s) (update-meaning meaning #:sources (cons s (meaning-sources meaning))))
70+
          (('info (? string? r)) (update-meaning meaning #:infos (cons r (meaning-infos meaning))))
71+
          (('gloss (? string? r)) (update-meaning meaning
72+
                                    #:glosses
73+
                                    (cons (string-downcase r)
74+
                                          (meaning-glosses meaning))))
8875
          ((('xml . 'lang) (? string? l)) (update-meaning meaning #:language l))
8976
          (((? symbol? s) v) (throw 'unknown-content s v))
9077
          ((? list? l) (loop meaning l))

9986
            (loop
10087
              (match (car lst)
10188
                (('kanji kanji)
102-
                 (update-result result #:kanjis
103-
                                (append (result-kanjis result) (list kanji))))
89+
                 (update-result result #:kanjis (cons kanji (result-kanjis result))))
10490
                ((? reading? r)
105-
                 (update-result result #:readings
106-
                                (append (result-readings result) (list r))))
91+
                 (update-result result #:readings (cons r (result-readings result))))
10792
                ((? meaning? s)
108-
                 (update-result result #:meanings
109-
                                (append (result-meanings result) (list s))))
93+
                 (update-result result #:meanings (cons s (result-meanings result))))
11094
                ((? string? _) result))
11195
              (cdr lst))))))
11296
    (let* ((word (if (null? (result-kanjis result))

modules/nani/result/wadoku.scm

6767
          ((? meaning? s)
6868
           (merge-meanings s meaning))
6969
          ((? source? s)
70-
           (update-meaning meaning #:sources
71-
                           (append (meaning-sources meaning) (list s))))
70+
           (update-meaning meaning #:sources (cons s (meaning-sources meaning))))
7271
          (('ref (? string? r))
73-
           (update-meaning meaning #:references
74-
                           (append (meaning-references meaning) (list r))))
72+
           (update-meaning meaning #:references (cons r (meaning-references meaning))))
7573
          (('info (? string? r))
76-
           (update-meaning meaning #:infos
77-
                           (append (meaning-infos meaning) (list r))))
74+
           (update-meaning meaning #:infos (cons r (meaning-infos meaning))))
7875
          (('infos (? string? r))
79-
           (update-meaning meaning #:infos
80-
                           (append (meaning-infos meaning) (list r))))
76+
           (update-meaning meaning #:infos (cons r (meaning-infos meaning))))
8177
          (('infos (? list? r))
8278
           (update-meaning meaning #:infos (append r (meaning-infos meaning))))
8379
          (('trans (? string? r))
84-
           (update-meaning meaning #:glosses
85-
                           (append (meaning-glosses meaning) (list r))))
80+
           (update-meaning meaning #:glosses (cons (string-downcase r)
81+
                                               (meaning-glosses meaning))))
8682
          (('related . _) meaning)
8783
          (('transcr . _) meaning)
8884
          (('pitch . _) meaning)

121117
          (('foreign foreign)
122118
           (update-source source
123119
             #:content (if (list? foreign)
124-
                           (append (source-content source) foreign)
125-
                           (append (source-content source) (list foreign)))))
120+
                           (append foreign (source-content source))
121+
                           (cons foreign (source-content source)))))
126122
          ((? list? l) (loop source l))
127123
          (_ source))
128124
        (cdr lst)))))

134130
      (loop
135131
        (match (car lst)
136132
          (('reading r)
137-
           (update-reading reading #:readings
138-
                           (append (reading-readings reading) (list r))))
133+
           (update-reading reading #:readings (cons r (reading-readings reading))))
139134
          (_ reading))
140135
        (cdr lst)))))
141136

147142
        (match (car lst)
148143
          (('kanji kanji)
149144
           (loop
150-
             (update-result result #:kanjis
151-
                            (append (result-kanjis result) (list kanji)))
145+
             (update-result result #:kanjis (cons kanji (result-kanjis result)))
152146
             last-source (cdr lst)))
153147
          ((? reading? reading)
154148
           (loop
155-
             (update-result result #:readings
156-
                            (append (result-readings result) (list reading)))
149+
             (update-result result #:readings (cons reading (result-readings result)))
157150
             last-source (cdr lst)))
158151
          ((? meaning? meaning)
159152
           (loop
160153
             (update-result result
161154
               #:meanings
162-
               (append
163-
                 (result-meanings result)
164-
                 (list
165-
                   (if last-source
166-
                       (update-meaning meaning
167-
                         #:sources
168-
                         (append (meaning-sources meaning) (list last-source)))
169-
                       meaning))))
155+
               (cons
156+
                 (if last-source
157+
                     (update-meaning meaning
158+
                       #:sources (cons last-source (meaning-sources meaning)))
159+
                     meaning)
160+
                 (result-meanings result)))
170161
             last-source (cdr lst)))
171162
          ((? list? l)
172163
           (loop (loop result last-source l) last-source (cdr lst)))

341332
       ;(loop (cons `(info ,genki) infos) result lst))
342333
       (loop infos result lst))
343334
      ((('jlpt . jlpt) lst ...)
344-
       (loop (append infos `((info ,(string-append "jlpt-" jlpt)))) result lst))
335+
       (loop (cons `(info ,(string-append "jlpt-" jlpt)) infos) result lst))
345336
      ((('ref . (? string? ref)) lst ...)
346-
       (loop (append infos `((ref ,ref))) result lst))
337+
       (loop (cons `(ref ,ref) infos) result lst))
347338
      ((('ref (? string? ref)) lst ...)
348-
       (loop (append infos `((ref ,ref))) result lst))
339+
       (loop (cons `(ref ,ref) infos) result lst))
349340
      ((('jap l) lst ...)
350341
       (sub-loop loop infos result lst l))
351342
      ((('foreign l) lst ...)