diff options
author | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2010-02-28 13:59:43 (GMT) |
---|---|---|
committer | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2010-02-28 13:59:43 (GMT) |
commit | 496d236903f399dd54f1073e20e899e49aa48c1f (patch) | |
tree | adb299455d62fa6a6177e1600eb09c26d4c087b8 | |
parent | d3329838b4d948455277caa3c24df4b7b50fabb2 (diff) |
Clifford Wolf:
Some fixes regarding 'use <filename>'
git-svn-id: http://svn.clifford.at/openscad/trunk@460 b57f626f-c46c-0410-a088-ec61d464b74c
-rw-r--r-- | RELEASE_NOTES | 2 | ||||
-rw-r--r-- | src/lexer.l | 2 | ||||
-rw-r--r-- | src/parser.y | 5 |
3 files changed, 6 insertions, 3 deletions
diff --git a/RELEASE_NOTES b/RELEASE_NOTES index e1c06b8..be07670 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -7,6 +7,8 @@ OpenSCAD 2010.03 - Added abs() function - Added exp(x), log(b, x), log(x) and ln(x) functions - Added minkowski() statement for 3d minkowski sums + o Added 'include <filename>' and 'use <filename>' statements + - Old implicit '<filename>' include statement is now obsolete o Some bugs fixed, maybe some new bugs added OpenSCAD 2010.02 diff --git a/src/lexer.l b/src/lexer.l index c4406b6..48729c8 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -106,7 +106,7 @@ use[ \t\r\n>]*"<"[^ \t\r\n>]+">" { finfo = QFileInfo(QDir(librarydir), filename); } - PRINTF("WARNING: The use of implicit include is depricated. Use `include <filename>' instead."); + PRINTF("WARNING: Support for implicit include will be removed in future releases. Use `include <filename>' instead."); handle_dep(finfo.absoluteFilePath()); yyin = fopen(finfo.absoluteFilePath().toLocal8Bit(), "r"); if (!yyin) { diff --git a/src/parser.y b/src/parser.y index 81f691d..4bae6a3 100644 --- a/src/parser.y +++ b/src/parser.y @@ -597,6 +597,7 @@ AbstractModule *parse(const char *text, const char *path, int debug) module->usedlibs[i.key()] = Module::compile_library(i.key()); if (!module->usedlibs[i.key()]) { PRINTF("WARNING: Failed to compile library `%s'.", i.key().toUtf8().data()); + module->usedlibs.remove(i.key()); } } @@ -616,7 +617,7 @@ Module *Module::compile_library(QString filename) cache_id.sprintf("%x.%x", (int)st.st_mtime, (int)st.st_size); if (libs_cache.contains(filename) && libs_cache[filename].cache_id == cache_id) { - PRINT(libs_cache[cache_id].msg); + PRINT(libs_cache[filename].msg); return &(*libs_cache[filename].mod); } @@ -630,7 +631,7 @@ Module *Module::compile_library(QString filename) print_messages_push(); PRINTF("Compiling library `%s'.", filename.toUtf8().data()); - libs_cache_ent e = { NULL, cache_id, QString("WARNING: Library `%1' tries to recursively use itself!\n").arg(filename) }; + libs_cache_ent e = { NULL, cache_id, QString("WARNING: Library `%1' tries to recursively use itself!").arg(filename) }; if (libs_cache.contains(filename)) delete libs_cache[filename].mod; libs_cache[filename] = e; |