<rdar://problem/13147878>
authorEnrico Granata <egranata@apple.com>
Tue, 19 Feb 2013 22:34:01 +0000 (22:34 +0000)
committerEnrico Granata <egranata@apple.com>
Tue, 19 Feb 2013 22:34:01 +0000 (22:34 +0000)
Be more user-friendly about not having scripting enabled:
a) if Python was built-out then tell people about it explicitly
b) if we are told to use none as a scripting language, then tell people about that too

This should limit the cases where the semi-cryptic error message "there is no embedded script interpreter in this mode." actually shows

llvm-svn: 175570

lldb/source/Interpreter/CommandObjectScript.cpp

index a757817..e74c1f9 100644 (file)
@@ -51,6 +51,19 @@ CommandObjectScript::DoExecute
     CommandReturnObject &result
 )
 {
+#ifdef LLDB_DISABLE_PYTHON
+    // if we ever support languages other than Python this simple #ifdef won't work
+    result.AppendError("your copy of LLDB does not support scripting.")
+    result.SetStatus (eReturnStatusFailed);
+    return false;
+#else
+    if (m_interpreter.GetDebugger().GetScriptLanguage() == lldb::eScriptLanguageNone)
+    {
+        result.AppendError("the script-lang setting is set to none - scripting not available");
+        result.SetStatus (eReturnStatusFailed);
+        return false;
+    }
+    
     ScriptInterpreter *script_interpreter = m_interpreter.GetScriptInterpreter ();
 
     if (script_interpreter == NULL)
@@ -76,4 +89,5 @@ CommandObjectScript::DoExecute
         result.SetStatus(eReturnStatusFailed);
 
     return result.Succeeded();
+#endif
 }