textwrap tested
authorStefan Israelsson Tampe <stefan.itampe@gmail.com>
Thu, 16 Aug 2018 16:24:32 +0000 (18:24 +0200)
committerStefan Israelsson Tampe <stefan.itampe@gmail.com>
Thu, 16 Aug 2018 16:24:32 +0000 (18:24 +0200)
modules/language/python/module/re.scm
modules/language/python/module/textwrap.py

index edd869df6634d16b3da3b643aa78372d085e24c8..c19ebc443874bb7a4f8be0f33616e565a097bc39 100644 (file)
   (if (isinstance re str)
       (match- (Regexp re) s flags)
       (begin
-       (set-flags flags)
+       (set-flags (logior (ref re 'flags) flags))
        (let ((m (parse s (f-seq e-start (ref re '__re) e-end))))
          (if m
              (ReMatch m re (gs) (ge) s)
   (if (isinstance re str)
       (search- (Regexp re) s flags)
       (begin
-       (set-flags flags)
+       (set-flags (logior flags (ref re 'flags)))
        (let ((m (parse s (e-search (ref re '__re)))))
          (if m
              (ReMatch m re (gs) (ge) s)
   (if (isinstance re str)
       (fullmatch- (Regexp re) ss flags)
       (begin
-       (set-flags flags)
+       (set-flags (logior (ref re 'flags) flags))
        (let ((m (parse ss (e-fullmatch (ref re '__re)))))
          (if m
              (ReMatch m re (gs) (ge) ss)
   (if (not (isinstance re Regexp))
       (split- (Regexp re) ss #:maxsplit maxsplit #:flags flags)
       (begin        
-       (set-flags    flags)
+       (set-flags    (logior (ref re 'flags) flags))
        (set-maxsplit maxsplit)
        (let ((m (parse ss (ff* (f-seq! e-maxsplit
                                        (e-search (ref re '__re))
   (if (isinstance re str)
       (finditer- (Regexp re) s flags)
       (let ((e (ref re '__re)))
-       (set-flags flags)
+       (set-flags (logior (ref re 'flags) flags))
        ((make-generator ()
           (lambda (yield)              
             (parse s
                       (f-or!
                        (f-seq! e-start (f-and! e) e-end
                                (f-ftr (lambda (c)
-                                         (yield (ReMatch c re (gs) (ge) s))
+                                         (yield
+                                          (ReMatch c re (gs) (ge) s))
                                          '())))
-                       (f-seq (f-reg ".")))
+                       (f-seq (f-reg "."))
+                        f-nl)
                       (Ds (lp)))))))))))
 
 (define finditer finditer-)
index 8c23431b24c86e29ebc565d2bac4acceb1ade624..150e3f934b108453c617e626e17f35c08b307f62 100644 (file)
@@ -430,6 +430,7 @@ def dedent(text):
     margin = None
     text = _whitespace_only_re.sub('', text)
     indents = _leading_whitespace_re.findall(text)
+
     for indent in indents:
         if margin is None:
             margin = indent