# HG changeset patch
# User Kim Alvefur <zash@zash.se>
# Date 1399658389 -7200
# Node ID 46cb87d531a7d7c87c7c2f108de36db12ca77bb5
# Parent  dc3497041aca8e66619e4e304dd2f34246b1859d
configmanager: Delay importing LuaFileSystem until needed by an Include line

diff -r dc3497041aca -r 46cb87d531a7 core/configmanager.lua
--- a/core/configmanager.lua	Fri Apr 25 02:41:55 2014 +0200
+++ b/core/configmanager.lua	Fri May 09 19:59:49 2014 +0200
@@ -14,7 +14,7 @@
 local fire_event = prosody and prosody.events.fire_event or function () end;
 
 local envload = require"util.envload".envload;
-local lfs = require "lfs";
+local deps = require"util.dependencies";
 local path_sep = package.config:sub(1,1);
 
 module "configmanager"
@@ -214,6 +214,10 @@
 		
 		function env.Include(file)
 			if file:match("[*?]") then
+				local lfs = deps.softreq "lfs";
+				if not lfs then
+					error(format("Error expanding wildcard pattern in Include %q - LuaFileSystem not available", file));
+				end
 				local path_pos, glob = file:match("()([^"..path_sep.."]+)$");
 				local path = file:sub(1, math_max(path_pos-2,0));
 				local config_path = config_file:gsub("[^"..path_sep.."]+$", "");