Gabriel Scherer
3ffa399b37
Use a nominal datatype for CamlinternalFormat.format6
...
This should make the type-checking of formats simpler and more robust:
instead of trying to find a pair as previously, we can now use the
path of the format6 type directly.
A nice side-effect of the change is that the internal definition of
formats (as a pair) is not printed in error messages anymore.
Because format6 is in fact defined in the CamlinternalFormatBasics
submodule of Pervasives, and has an alias at the toplevel of
Pervasives, error messages still expand the definition:
> Error: This expression has type
> ('a, 'b, 'c, 'd, 'd, 'a) format6 =
> ('a, 'b, 'c, 'd, 'd, 'a) CamlinternalFormatBasics.format6
> but an expression was expected of type ...
Passing the option `-short-paths` does avoid this expansion and
returns exactly the same error message as 4.01:
> Error: This expression has type ('a, 'b, 'c, 'd, 'd, 'a) format6
> but an expression was expected of type ...
(To get this error message without -short-paths, one would need to
define format6 directly in Pervasives; but this type is mutually
recursive with several GADT types that we don't want to add in the
Pervasives namespace unqualified. This is why I'll keep the alias
for now.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14868 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-14 15:07:13 +00:00
Gabriel Scherer
72669307e8
second part of Benoît Vaugon's format+gadts patch
...
To finish the bootstrap cycle, run:
make library-cross
make promote
make partialclean
make core
make library-cross
make promote-cross
make partialclean
make ocamlc ocamllex ocamltools
make library-cross
make promote
make partialclean
make core
make compare
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14810 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:37:37 +00:00
Damien Doligez
5b8df637d2
merge branch "safe-string"
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-29 11:56:17 +00:00
Xavier Leroy
1353262558
PR#5739: Printf.printf "%F" and nan/infinity/neg_infinity.
...
(Reflecting commit r13910 on version/4.01)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13911 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-19 09:07:54 +00:00
Pierre Weis
626c696aee
Wrong quoting chase.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13717 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-29 18:03:55 +00:00
Pierre Weis
3e110da03d
Details.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13608 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-25 09:11:44 +00:00
Pierre Weis
a79b51b675
Complete rewriting of Format.mk_printf. Convergence between Printf and Format codes.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13606 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-24 14:56:25 +00:00
Pierre Weis
a2c500f8bc
Details.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13413 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-19 08:06:06 +00:00
Damien Doligez
c63f9e0957
fix a few problems with whitespace and over-long lines
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-09 22:38:52 +00:00
Damien Doligez
def31744f9
remove all $Id keywords
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Pierre Weis
1d690696e9
Introducing ikfprintf.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12343 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-11 18:01:02 +00:00
Damien Doligez
b4ccb873a6
PR#5380: copy fix from 3.12 branch
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12014 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-11 15:22:51 +00:00
Damien Doligez
cca0035fbb
continuing to change the name to OCaml
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11922 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 15:37:54 +00:00
Damien Doligez
3b507dd1aa
renaming of Objective Caml to OCaml and cleanup of copyright headers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez
c91db736b1
merge changes from 3.12.0 to 3.12.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Pierre Weis
c5289420e9
Module Printf, Format, and Scanf are printed in -w A warning mode. This found an old and subtle bug in Format; for other modules, the code is clearer and cleaner!
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11100 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-06-20 21:46:20 +00:00
Pierre Weis
e5ecb27dab
Documenting that +int is now a valid token, hence %F can support a sign indication.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9463 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-12-09 08:28:59 +00:00
Pierre Weis
7ad9cd975b
To deal with printf output for %F format, adding a unary + operator.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9454 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-12-07 16:40:39 +00:00
Pierre Weis
41d5f40413
Introducing nop format delimiter %,
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9429 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-11-30 21:49:25 +00:00
Pierre Weis
0ae5a2decf
Spell-check.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9355 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-09-25 08:01:40 +00:00
Pierre Weis
318bab1553
Correcting the F specification with/without widths.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9345 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-09-23 11:18:23 +00:00
Damien Doligez
ed32f569e3
merge changes from ocaml3110 to ocaml3111rc0
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9270 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-05-20 11:52:42 +00:00
Pierre Weis
e1556cf9da
option -C is a gnuism that is not portable: use cd instead!
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9227 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-04-06 22:23:23 +00:00
Pierre Weis
785a6d9748
A simple fix to BR#4756
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9191 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-03-28 14:24:53 +00:00
Pierre Weis
579eb1e41e
Documentation.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9040 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-09-27 20:50:01 +00:00
Damien Doligez
f855dcf49a
PR#4321 bug with positional parameters
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9017 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-09-10 15:34:51 +00:00
Pierre Weis
9be355c716
Various explanations and typos.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-01 12:47:39 +00:00
Pierre Weis
10b38811b6
Support for tk8.5: correcting tk_incs.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8899 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-01 09:55:52 +00:00
Pierre Weis
fd31a59856
Indentation was erroneous.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8410 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-04 21:00:51 +00:00
Pierre Weis
236baa6ee4
Encapsulation of system specific exports in module Printf.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7735 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-11-17 08:34:05 +00:00
Pierre Weis
6d958f53fd
New type ac (argument counting for format strings). New function ac_of_format.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7722 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-11-06 10:22:42 +00:00
Pierre Weis
044ac2610c
New function ifprintf that does not print. (See request #0004031.)
...
Ifprintf is a one-liner using implementation tools from Printf, whereas it is
not possible to write it in pure Caml.
Useful to conditionally ignore printing.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7717 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-11-06 09:12:53 +00:00
Pierre Weis
5f5211a849
Better calculation of format argument number.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7708 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-27 09:13:40 +00:00
Pierre Weis
5770271304
Typechecking of user's defined readers.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-24 22:07:47 +00:00
Pierre Weis
fa5b7ef147
Sub module Sformat now deals with format6.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7703 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-24 21:11:48 +00:00
Pierre Weis
5c04d6cade
Bug report 0004119: Issue with Scanf.Scanning.from_file
...
Bumping the version sub number and date.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7678 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-04 10:02:01 +00:00
Pierre Weis
cf0590146f
Code review before adding new typing of format string.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7396 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-05-04 12:52:22 +00:00
Damien Doligez
1279ab4b76
fusion des changements 3.09.1 -> 3.09.2
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-16 23:28:22 +00:00
Pierre Weis
cd49f2b781
Dead code removed + typos.
...
cvs: ----------------------------------------------------------------------
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7375 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-05 15:39:10 +00:00
Pierre Weis
176b3c0da8
Module Sformat is internal to printf. Better typing specifications of functions working with format strings.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7374 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-05 11:49:07 +00:00
Pierre Weis
dca5609f32
Importing the 3.09 debugging version of Printf.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7333 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-24 11:12:26 +00:00
Pierre Weis
129535d070
Correcting bug for %{ conversions.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7300 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-04 08:50:40 +00:00
Damien Doligez
0e5ca9dca5
nettoyage
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-10-25 18:34:07 +00:00
Pierre Weis
19096f90f3
Hard bug in printf: when the first argument to print was a floating point
...
number, the printing process failed and we had a fatal error.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7095 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-30 16:15:18 +00:00
Pierre Weis
922746e675
Implementing positional parameters in format string. First step:
...
runtime implementation for printf-like functions.
Revising printf documentation and adding something for positional
parameters.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7082 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-26 10:12:01 +00:00
Pierre Weis
339b08f82f
Closing a long standing bug in the implementation of printf-like
...
functions: partially applied printf functions were printing material
as soon as the first argument was applied (and even before: printing
started as soon as the format string was provided).
This is the first step towards the implementation of $ formats
(i.e. formats that can access directly to any of their arguments,
using a $n notation to denote the nth argument (``a la Yacc'')). This
is supposed to be mandatory to internationalisation of messages.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-20 17:18:03 +00:00
Pierre Weis
32e84c0515
Homogènésation des interfaces de printf et format: kprintf est marquée
...
obsolète au profit de ksprintf; on introduit kfprintf.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6979 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-22 12:21:02 +00:00
Pierre Weis
280dcb3097
Correcting bug about erroneous erro reporting in case of wrong
...
conversions in format strings.
Static and dynamic messages about wrong format strings are now very
similar in printf.ml, scanf.ml, and typecore.ml.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6802 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-04 14:51:31 +00:00
Pierre Weis
53c525611e
Invalid format string error report is more uniform.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6726 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-12-07 06:17:12 +00:00
Pierre Weis
09b2253f0e
Doc (typos).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6677 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-16 10:25:59 +00:00