123456789101112131415161718192021222324252627282930313233343536373839404142434445(************************************************************************)(* * The Coq Proof Assistant / The Coq Development Team *)(* v * Copyright INRIA, CNRS and contributors *)(* <O___,, * (see version control and CREDITS file for authors & dates) *)(* \VV/ **************************************************************)(* // * This file is distributed under the terms of the *)(* * GNU Lesser General Public License Version 2.1 *)(* * (see LICENSE file for the text of the license) *)(************************************************************************)let(/)s1s2=Filename.concats1s2(* Loading of the resource file.
rcfile is either $XDG_CONFIG_HOME/.coqrc.VERSION, or $XDG_CONFIG_HOME/.coqrc if the first one
does not exist. *)letrcdefaultname="coqrc"letload_rcfile~rcfile~state=trymatchrcfilewith|Somercfile->ifCUnix.file_readable_prcfilethenVernac.load_vernac~echo:false~interactive:false~check:true~statercfileelseraise(Sys_error("Cannot read rcfile: "^rcfile))|None->tryletwarnx=Feedback.msg_warning(Pp.strx)inletinferedrc=List.findCUnix.file_readable_p[Envars.xdg_config_homewarn/rcdefaultname^"."^Coq_config.version;Envars.xdg_config_homewarn/rcdefaultname;Envars.home~warn/"."^rcdefaultname^"."^Coq_config.version;Envars.home~warn/"."^rcdefaultname]inVernac.load_vernac~echo:false~interactive:false~check:true~stateinferedrcwithNot_found->state(*
Flags.if_verbose
mSGNL (str ("No coqrc or coqrc."^Coq_config.version^
" found. Skipping rcfile loading."))
*)withreraise->letreraise=Exninfo.capturereraiseinlet()=Feedback.msg_info(Pp.str"Load of rcfile failed.")inExninfo.iraisereraise