The following commit has been merged in the master branch:
commit f3ef0eebd81ee7fde724add9b1079bd8a840c22a
Author: Eugeniy Meshcheryakov <eu...@debian.org>
Date:   Thu Apr 7 00:22:21 2011 +0200

    * New patches:
      - python-string-regression-fix.diff - fix a regression in new version

diff --git a/debian/changelog b/debian/changelog
index f756a37..e9f8e8f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,13 +4,14 @@ coccinelle (0.2.5.deb-1) experimental; urgency=low
     - better handling of multiple declarations in one statement
       (Closes: #618555)
     - breaks some semantic pathes that use python, experimental for now
-  * New patch:
+  * New patches:
     - pycaml-build-check.diff - check for python version only if pycaml is not
       installed
+    - python-string-regression-fix.diff - fix a regression in new version
   * Do not pass "--with-python --without-trac" to configure, those options
     do not exist anymore
 
- -- Євгеній Мещеряков <eu...@debian.org>  Tue, 05 Apr 2011 21:58:39 +0200
+ -- Євгеній Мещеряков <eu...@debian.org>  Thu, 07 Apr 2011 00:21:45 +0200
 
 coccinelle (0.2.4.deb-3) unstable; urgency=low
 
diff --git a/debian/patches/python-string-regression-fix.diff 
b/debian/patches/python-string-regression-fix.diff
new file mode 100644
index 0000000..e3b693d
--- /dev/null
+++ b/debian/patches/python-string-regression-fix.diff
@@ -0,0 +1,52 @@
+From: Julia Lawall <ju...@diku.dk>
+Subject: Re: [Cocci] Trouble with python_regexp.cocci example
+
+On Tue, 5 Apr 2011, Eugeniy Meshcheryakov wrote:
+
+> Hello,
+> 
+> I'm trying to check if new version of coccinelle (0.2.5) works correctly,
+> and got strange results with python_regexp.cocci example:
+> 
+>    % spatch -sp_file /tmp/python_regexp.cocci python_regexp.c
+>    init_defs_builtins: /usr/share/coccinelle/standard.h
+>    File "/tmp/python_regexp.cocci", line 3, column 15,  charpos = 45
+>        around = '', whole content = m = re.compile('_new$')
+>    Fatal error: exception Failure("lexing: empty token")
+> 
+> Is it expected result, or is there something wrong with how I compile
+> the package? Other examples that use python seem to work fine (after
+> correcting syntax errors).
+
+A patch that fixes the problem is below.
+
+julia
+
+diff -u -p a/parsing_cocci/lexer_script.mll b/parsing_cocci/lexer_script.mll
+--- a/parsing_cocci/lexer_script.mll   2011-04-02 10:39:29.000000000 +0200
++++ b/parsing_cocci/lexer_script.mll   2011-04-05 22:03:04.000000000 +0200
+@@ -46,18 +46,15 @@ rule token = parse
+   | "/"  { TScriptData (tok lexbuf) }
+   | "//" [^ '\n']* { token lexbuf } (* skip SmPL comments *)
+   | '"'  { TScriptData (Printf.sprintf "\"%s\"" (string lexbuf)) }
+-  | "'"  { TScriptData (Printf.sprintf "'%s'" (char lexbuf)) }
++  | "'"  { TScriptData (Printf.sprintf "'%s'" (cstring lexbuf)) }
+   | eof  { EOF }
+   | _ { raise (Lexical ("unrecognised symbol, in token rule:"^tok lexbuf)) }
+ 
+ (* These are C strings.  Perhaps they require some adjustment. *)
+ and string  = parse
+   | '"'                 { "" }
+-  | (_ as x)            { Common.string_of_char x ^ string lexbuf }
+-  | ("\\" _) as x       { x ^ string lexbuf }
++  | (_ as x)            { (String.make 1 x) ^ string lexbuf }
+ 
+-and char = parse
+-  | (_ as x) "'"                                     { String.make 1 x }
+-  | (("\\" (oct | oct oct | oct oct oct)) as x  "'") { x }
+-  | (("\\x" (hex | hex hex)) as x  "'")       { x }
+-  | (("\\" _ ) as x "'") { x }
++and cstring  = parse
++  | "'"                 { "" }
++  | (_ as x)            { (String.make 1 x) ^ cstring lexbuf }
+
diff --git a/debian/patches/series b/debian/patches/series
index 9475bed..58bb5e3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 pycaml-build-check.diff
+python-string-regression-fix.diff

-- 
Debian packaging for coccinelle

_______________________________________________
Pkg-ocaml-maint-commits mailing list
Pkg-ocaml-maint-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-ocaml-maint-commits

Reply via email to