diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..a3e24ba82 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# To work around MDX issues +README.md text eol=lf diff --git a/README.md b/README.md index a32e3701d..2ab47fcef 100644 --- a/README.md +++ b/README.md @@ -752,12 +752,17 @@ Eio.Io Net Connection_failure Refused Unix_error (Connection refused, "connect", ``` If we ran this using another backend, the `Unix_error` part might change. -To avoid this problem, you can use `Eio.Exn.Backend.show` to hide the backend-specific part of errors: +To avoid this problem, you can use `Eio.Exn.Backend.show` ```ocaml # Eio.Exn.Backend.show := false;; - : unit = () +``` + +to hide the backend-specific part of errors: + +```ocaml # Eio_main.run @@ fun env -> let net = Eio.Stdenv.net env in Switch.run @@ fun sw -> @@ -842,7 +847,8 @@ let try_mkdir path = The checks also apply to following symlinks: ```ocaml -# Unix.symlink "dir1" "link-to-dir1"; Unix.symlink "/tmp" "link-to-tmp";; +# Unix.symlink "dir1" "link-to-dir1"; + Unix.symlink (Filename.get_temp_dir_name ()) "link-to-tmp";; - : unit = () # Eio_main.run @@ fun env -> @@ -881,6 +887,7 @@ perhaps with `open_dir` to constrain all access to be within that directory. Spawning a child process can be done using the [Eio.Process][] module: + ```ocaml # Eio_main.run @@ fun env -> let proc_mgr = Eio.Stdenv.process_mgr env in @@ -892,6 +899,7 @@ hello There are various optional arguments for setting the process's current directory or connecting up the standard streams. For example, we can use `tr` to convert some text to upper-case: + ```ocaml # Eio_main.run @@ fun env -> let proc_mgr = Eio.Stdenv.process_mgr env in @@ -904,6 +912,7 @@ ONE TWO THREE If you want to capture the output of a process, you can provide a suitable `Eio.Flow.sink` as the `stdout` argument, or use the `parse_out` convenience wrapper: + ```ocaml # Eio_main.run @@ fun env -> let proc_mgr = Eio.Stdenv.process_mgr env in @@ -913,6 +922,7 @@ or use the `parse_out` convenience wrapper: All process functions either return the exit status or check that it was zero (success): + ```ocaml # Eio_main.run @@ fun env -> let proc_mgr = Eio.Stdenv.process_mgr env in diff --git a/dune b/dune index e3e6643d1..60c8c18b0 100644 --- a/dune +++ b/dune @@ -2,5 +2,4 @@ (package eio_main) (deps (package eio_main) (env_var "EIO_BACKEND")) (preludes doc/prelude.ml) - (enabled_if (<> %{os_type} "Win32")) (files README.md)) diff --git a/lib_eio_windows/dune b/lib_eio_windows/dune index cb4d98b69..879134229 100644 --- a/lib_eio_windows/dune +++ b/lib_eio_windows/dune @@ -1,12 +1,13 @@ (library (name eio_windows) (public_name eio_windows) - (library_flags :standard -ccopt -lbcrypt -ccopt -lntdll) + (library_flags :standard -cclib -lbcrypt -cclib -lntdll) (enabled_if (= %{os_type} "Win32")) (foreign_stubs (language c) (include_dirs ../lib_eio/unix/include) (names eio_windows_stubs eio_windows_cstruct_stubs)) + (c_library_flags :standard -lbcrypt -lntdll) (libraries eio eio.unix eio.utils fmt)) (rule