Just a bit nicyfied again, easier to use then to explain...
Now !Edi.Lua comes with a keyword index in filesystem.
Could be expanded to an encycomedy...
--If You need to <escape> file_browser() !! (empty file A/Z/!.I does that, too.)
If no file is chosen with <set>, <menu> breaks script.
I think, file_browser() should return with nil.
Edits gone to digital nirvana... Fixed in r5493 
On some cams is an issue with short file names or surprising upcasing.
On (e.g.?) Ixus870 You can´t create the filetree, (Edit: Break after 64 lines), but it can be copied to sd´s root.
Edit2: S90 & Ix200,300 mix sfn & lfn, Break after ~220 lines (all 3 same line).
Edit: It´an Option to do that on cam, You can run -- HostLuaPortable Makro <local> instead.
&& Always needs included Keywords.Lua & Clouds.txt in /A/CHDK/BOOKS
...