Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005090OCamlCamlp4public2010-07-01 08:512014-05-25 20:20
Reporterdim 
Assigned Tohongboz 
PrioritynormalSeverityminorReproducibilityalways
StatusacknowledgedResolutionreopened 
PlatformOSOS Version
Product Version3.12.0+beta1 or 3.12.0+rc1 
Target VersionlaterFixed in Version 
Summary0005090: Strange camlp4 behavior in the toplevel.
DescriptionCamlp4 seems to not recognize correctly phrase in the toplevel with ocaml 3.12. For example:

# #load "dynlink.cma";;
# #load "camlp4o.cma";;
# 1;;
  (* Nothing happens here *)
  2;;
- : int = 1
#
Tagspatch
Attached Filespatch file icon xstream.patch [^] (4,345 bytes) 2012-12-06 01:31 [Show Content]
patch file icon xstreami.patch [^] (1,454 bytes) 2012-12-06 01:31 [Show Content]

- Relationships
related to 0005142closedxclerc wrong error locations and ghost locations 

-  Notes
(0005597)
Yoric (reporter)
2010-07-09 15:51

Can't remember the detail but there's a workaround in Batteries for this kind of thing. Essentially, when Camlp4 is involved, loading is order dependent.
(0005619)
hcarty (reporter)
2010-07-23 19:31

This error still exists in 3.12.0+rc1

It doesn't seem to be related to any work-around in Batteries, as it occurs in a bare toplevel + camlp4 as well as with toplevel + camlp4 + Batteries + extensions.
(0005629)
doligez (administrator)
2010-07-29 11:54

Nicolas and I are working on this. It will be fixed before we release 3.12.0.
(0005632)
doligez (administrator)
2010-07-30 15:21

To everyone monitoring this issue:

I've made a temporary fix for this problem, but my fix is likely to impact locations (and error reporting) in all camlp4 parsers. I would appreciate if some of you could check out "version/3.12" in revision 10639 and test it, particularly with respect to error reports inside and outside quotations, with the default parsers or your own parsers. I've done some light testing, but I'm not a heavy camlp4 user, so I may have missed some major problem.

If you could do this within a few days, that would be good. Please report here or directly to <damien.doligez@inria.fr>.
(0005633)
dim (developer)
2010-08-02 13:02

I tried with my projects using camlp4 and it seems to be OK.
(0005865)
till (reporter)
2011-04-07 17:52
edited on: 2011-04-07 21:37

This actually caused PR#5142. PR#5142 seems fixed in the SVN branch of 3.12.

(0008573)
hongboz (developer)
2012-12-06 01:29

This fix is buggy, the token stream will be duplicated when do the backtracking, that's to say it will not work well with TRY
(0008574)
hongboz (developer)
2012-12-06 01:30

here we only need to make sure 'get_prev_loc' won't peek, I changed stream to store the last junked item, this fix will work well
(0008575)
hongboz (developer)
2012-12-06 01:33

will anyone take a look at my patch on stream?
I tested on my branch of p4, it works pretty well,
---
let get_prev_loc strm =
  match XStream.get_last strm with
  [Some (_,{cur_loc=l;_}) -> l
  |None -> begin
      FanLoc.ghost end];
----
The data type of token stream can also be simplified, since there's no need to keep the previous token any more
(0009716)
hongboz (developer)
2013-07-07 16:41

@doligez, what do you think my suggestion above, I would commit a cleaner fix next weekend if you agree. Thanks

- Issue History
Date Modified Username Field Change
2010-07-01 08:51 dim New Issue
2010-07-01 08:51 dim Status new => assigned
2010-07-01 08:51 dim Assigned To => ertai
2010-07-09 15:51 Yoric Note Added: 0005597
2010-07-23 19:31 hcarty Note Added: 0005619
2010-07-29 11:54 doligez Note Added: 0005629
2010-07-30 15:21 doligez Note Added: 0005632
2010-07-30 15:21 doligez Status assigned => feedback
2010-08-02 13:02 dim Note Added: 0005633
2011-04-07 17:52 till Note Added: 0005865
2011-04-07 21:37 till Note Edited: 0005865
2011-10-26 08:41 ertai Status feedback => assigned
2011-10-26 08:41 ertai Assigned To ertai => xclerc
2012-07-04 13:30 doligez Relationship added related to 0005142
2012-07-04 17:13 doligez Target Version => 4.00.0+dev
2012-07-09 11:07 xclerc Status assigned => closed
2012-07-09 11:07 xclerc Resolution open => no change required
2012-12-06 01:29 hongboz Note Added: 0008573
2012-12-06 01:29 hongboz Status closed => feedback
2012-12-06 01:29 hongboz Resolution no change required => reopened
2012-12-06 01:30 hongboz Note Added: 0008574
2012-12-06 01:31 hongboz File Added: xstream.patch
2012-12-06 01:31 hongboz File Added: xstreami.patch
2012-12-06 01:33 hongboz Note Added: 0008575
2013-07-07 16:41 hongboz Note Added: 0009716
2013-07-07 16:42 hongboz Assigned To xclerc => hongboz
2013-07-07 16:42 hongboz Status feedback => acknowledged
2013-07-07 16:42 hongboz Severity major => minor
2013-09-05 23:29 doligez Tag Attached: patch
2014-05-25 20:20 doligez Target Version 4.00.0+dev => later


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker