Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000476OCamlOCaml generalpublic2001-08-08 15:382001-08-08 17:21
Reporteradministrator 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000476: Petite erreur de doc sur String.create et String.make
DescriptionBonjour,

Une petite erreur dans la doc d'ocaml 3.02. Il y est dit que
String.create n et String.make n c lèvent Invalid_argument si n <=
0. Plus précisemment c'est pour n *<* 0, String.create 0 et String.make
0 c marchent et renvoient bien une chaîne nulle.


Par ailleurs, j'ai observé un résultat bizarre avec le toplevel :

pochi(mentre):~ [51] ocaml
        Objective Caml version 3.02

# String.create Sys.max_string_length;;
- : string = Uncaught exception: Invalid_argument("String.create")
pochi(mentre):~ [52]

On se retrouve sur le shell. Je pense que c'est dû à l'affichage de la
chaîne résultante qui contient des caractères de contrôle. Mais recevoir
une exception Invalid_argument est bizarre. Je ne sais pas trop si c'est
un bug ou une fonctionnalité. :)

Encore mille merci pour Caml,
Amicalement,
d.
--
 David.Mentre@inria.fr
 Opinions expressed here are only mine.

TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0000639)
administrator (administrator)
2001-08-08 16:24

Bonjour David,

> Une petite erreur dans la doc d'ocaml 3.02. Il y est dit que
> String.create n et String.make n c lèvent Invalid_argument si n <=
> 0. Plus précisemment c'est pour n *<* 0, String.create 0 et String.make
> 0 c marchent et renvoient bien une chaîne nulle.

Exact. Je vais corriger cela.

> Par ailleurs, j'ai observé un résultat bizarre avec le toplevel :
>
> pochi(mentre):~ [51] ocaml
> Objective Caml version 3.02
>
> # String.create Sys.max_string_length;;
> - : string = Uncaught exception: Invalid_argument("String.create")
> pochi(mentre):~ [52]
>
> On se retrouve sur le shell. Je pense que c'est dû à l'affichage de la
> chaîne résultante qui contient des caractères de contrôle. Mais recevoir
> une exception Invalid_argument est bizarre. Je ne sais pas trop si c'est
> un bug ou une fonctionnalité. :)

Non, c'est un bug. Le toplevel appelle String.escaped pour obtenir
une version de la chaîne où les caractères non imprimables sont "échappés".
Si la chaîne est de longueur Sys.max_string_length et contient au
moins un caractère de contrôle, String.escaped essaye de construire
une chaîne de longueur > Sys.max_string_length... Je vais corriger
cela aussi.

Merci pour le rapport de bug.

- Xavier

(0000640)
administrator (administrator)
2001-08-08 17:21

Fixed 2001-08-08 by XL.

- Issue History
Date Modified Username Field Change
2005-11-18 10:13 administrator New Issue


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker