14685 lines
589 KiB
Diff
14685 lines
589 KiB
Diff
diff -ru rstudio-0.98.1103/src/cpp/core/Assert.cpp rstudio-0.98.1103-fix/src/cpp/core/Assert.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/Assert.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/Assert.cpp 2015-03-08 22:23:10.820944068 +0100
|
|
@@ -37,7 +37,7 @@
|
|
|
|
// always log the failure
|
|
std::string msg = "ASSERTION FAILED: " + std::string(expr);
|
|
- core::log::logWarningMessage(msg, location);
|
|
+ ::core::log::logWarningMessage(msg, location);
|
|
|
|
#ifndef NDEBUG
|
|
#ifdef _WIN32
|
|
@@ -61,7 +61,7 @@
|
|
// always log the failure
|
|
std::string message = "ASSERTION FAILED: " + std::string(expr) +
|
|
" - " + std::string(msg);
|
|
- core::log::logWarningMessage(message, location);
|
|
+ ::core::log::logWarningMessage(message, location);
|
|
|
|
#ifndef NDEBUG
|
|
#ifdef _WIN32
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/Base64.cpp rstudio-0.98.1103-fix/src/cpp/core/Base64.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/Base64.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/Base64.cpp 2015-03-08 22:23:10.732944053 +0100
|
|
@@ -61,7 +61,7 @@
|
|
Error encode(const FilePath& inputFile, std::string* pOutput)
|
|
{
|
|
std::string contents;
|
|
- Error error = core::readStringFromFile(inputFile, &contents);
|
|
+ Error error = ::core::readStringFromFile(inputFile, &contents);
|
|
if (error)
|
|
return error;
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/dev/Main.cpp rstudio-0.98.1103-fix/src/cpp/core/dev/Main.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/dev/Main.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/dev/Main.cpp 2015-03-08 22:23:10.613944033 +0100
|
|
@@ -32,14 +32,14 @@
|
|
try
|
|
{
|
|
// setup log
|
|
- initializeStderrLog("coredev", core::system::kLogLevelWarning);
|
|
+ initializeStderrLog("coredev", ::core::system::kLogLevelWarning);
|
|
|
|
// ignore sigpipe
|
|
- Error error = core::system::ignoreSignal(core::system::SigPipe);
|
|
+ Error error = ::core::system::ignoreSignal(::core::system::SigPipe);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
- using namespace core::r_util;
|
|
+ using namespace ::core::r_util;
|
|
|
|
std::vector<RVersionNumber> vers;
|
|
vers.push_back(RVersionNumber::parse("3.0"));
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/FileLock.cpp rstudio-0.98.1103-fix/src/cpp/core/FileLock.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/FileLock.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/FileLock.cpp 2015-03-08 22:23:10.745944056 +0100
|
|
@@ -90,7 +90,7 @@
|
|
// make sure the lock file exists
|
|
if (!lockFilePath.exists())
|
|
{
|
|
- Error error = core::writeStringToFile(lockFilePath, "");
|
|
+ Error error = ::core::writeStringToFile(lockFilePath, "");
|
|
if (error)
|
|
return error;
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/FileLogWriter.cpp rstudio-0.98.1103-fix/src/cpp/core/FileLogWriter.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/FileLogWriter.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/FileLogWriter.cpp 2015-03-08 22:23:10.749944056 +0100
|
|
@@ -36,7 +36,7 @@
|
|
if (!logFile_.exists())
|
|
{
|
|
// swallow errors -- we can't log so it doesn't matter
|
|
- core::appendToFile(logFile_, "");
|
|
+ ::core::appendToFile(logFile_, "");
|
|
}
|
|
}
|
|
|
|
@@ -51,14 +51,14 @@
|
|
}
|
|
}
|
|
|
|
-void FileLogWriter::log(core::system::LogLevel logLevel,
|
|
+void FileLogWriter::log(::core::system::LogLevel logLevel,
|
|
const std::string& message)
|
|
{
|
|
log(programIdentity_, logLevel, message);
|
|
}
|
|
|
|
void FileLogWriter::log(const std::string& programIdentity,
|
|
- core::system::LogLevel logLevel,
|
|
+ ::core::system::LogLevel logLevel,
|
|
const std::string& message)
|
|
{
|
|
if (logLevel > logLevel_)
|
|
@@ -67,7 +67,7 @@
|
|
rotateLogFile();
|
|
|
|
// Swallow errors--we can't do anything anyway
|
|
- core::appendToFile(logFile_, formatLogEntry(programIdentity, message));
|
|
+ ::core::appendToFile(logFile_, formatLogEntry(programIdentity, message));
|
|
}
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/FilePath.cpp rstudio-0.98.1103-fix/src/cpp/core/FilePath.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/FilePath.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/FilePath.cpp 2015-03-08 22:23:10.542944021 +0100
|
|
@@ -159,7 +159,7 @@
|
|
// take the user home path from the system
|
|
FilePath safePath = revertToPath;
|
|
if (!safePath.exists())
|
|
- safePath = core::system::userHomePath();
|
|
+ safePath = ::core::system::userHomePath();
|
|
|
|
Error error = safePath.makeCurrentPath();
|
|
if (error)
|
|
@@ -1155,11 +1155,11 @@
|
|
namespace {
|
|
void logError(path_t path,
|
|
const boost::filesystem::filesystem_error& e,
|
|
- const core::ErrorLocation& errorLocation)
|
|
+ const ::core::ErrorLocation& errorLocation)
|
|
{
|
|
Error error(e.code(), errorLocation) ;
|
|
addErrorProperties(path, &error) ;
|
|
- core::log::logError(error, errorLocation) ;
|
|
+ ::core::log::logError(error, errorLocation) ;
|
|
}
|
|
|
|
void addErrorProperties(path_t path, Error* pError)
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/FileSerializer.cpp rstudio-0.98.1103-fix/src/cpp/core/FileSerializer.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/FileSerializer.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/FileSerializer.cpp 2015-03-08 22:23:10.628944036 +0100
|
|
@@ -34,7 +34,7 @@
|
|
return pair.first + "=\"" + string_utils::jsonLiteralEscape(pair.second) + "\"" ;
|
|
}
|
|
|
|
-Error writeStringMapToFile(const core::FilePath& filePath,
|
|
+Error writeStringMapToFile(const ::core::FilePath& filePath,
|
|
const std::map<std::string,std::string>& map)
|
|
{
|
|
return writeCollectionToFile<std::map<std::string,std::string> >(
|
|
@@ -74,7 +74,7 @@
|
|
}
|
|
|
|
|
|
-Error readStringMapFromFile(const core::FilePath& filePath,
|
|
+Error readStringMapFromFile(const ::core::FilePath& filePath,
|
|
std::map<std::string,std::string>* pMap)
|
|
{
|
|
return readCollectionFromFile<std::map<std::string,std::string> >(
|
|
@@ -90,7 +90,7 @@
|
|
}
|
|
|
|
|
|
-Error writeStringVectorToFile(const core::FilePath& filePath,
|
|
+Error writeStringVectorToFile(const ::core::FilePath& filePath,
|
|
const std::vector<std::string>& vector)
|
|
{
|
|
return writeCollectionToFile<std::vector<std::string> >(filePath,
|
|
@@ -106,7 +106,7 @@
|
|
return ReadCollectionAddLine ;
|
|
}
|
|
|
|
-Error readStringVectorFromFile(const core::FilePath& filePath,
|
|
+Error readStringVectorFromFile(const ::core::FilePath& filePath,
|
|
std::vector<std::string>* pVector,
|
|
bool trimAndIgnoreBlankLines)
|
|
{
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/FileUtils.cpp rstudio-0.98.1103-fix/src/cpp/core/FileUtils.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/FileUtils.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/FileUtils.cpp 2015-03-08 22:23:10.607944032 +0100
|
|
@@ -27,7 +27,7 @@
|
|
for (int i=0; i<100; i++)
|
|
{
|
|
// get a shortened uuid
|
|
- std::string shortentedUuid = core::system::generateShortenedUuid();
|
|
+ std::string shortentedUuid = ::core::system::generateShortenedUuid();
|
|
|
|
// form full path
|
|
FilePath uniqueDir = parent.childPath(prefix + shortentedUuid);
|
|
@@ -38,7 +38,7 @@
|
|
}
|
|
|
|
// if we didn't succeed then return prefix + uuid
|
|
- return parent.childPath(prefix + core::system::generateUuid(false));
|
|
+ return parent.childPath(prefix + ::core::system::generateUuid(false));
|
|
}
|
|
|
|
} // namespace file_utils
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/gwt/GwtFileHandler.cpp rstudio-0.98.1103-fix/src/cpp/core/gwt/GwtFileHandler.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/gwt/GwtFileHandler.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/gwt/GwtFileHandler.cpp 2015-03-08 22:23:10.558944024 +0100
|
|
@@ -45,7 +45,7 @@
|
|
|
|
// calculate "real" wwwPath
|
|
FilePath wwwRealPath;
|
|
- Error error = core::system::realPath(wwwLocalPath, &wwwRealPath);
|
|
+ Error error = ::core::system::realPath(wwwLocalPath, &wwwRealPath);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -55,7 +55,7 @@
|
|
// calculate "real" requested path
|
|
FilePath realRequestedPath;
|
|
FilePath requestedPath = wwwRealPath.complete(relativePath);
|
|
- error = core::system::realPath(requestedPath.absolutePath(),
|
|
+ error = ::core::system::realPath(requestedPath.absolutePath(),
|
|
&realRequestedPath);
|
|
if (error)
|
|
{
|
|
@@ -91,7 +91,7 @@
|
|
|
|
void handleFileRequest(const std::string& wwwLocalPath,
|
|
const std::string& baseUri,
|
|
- core::http::UriFilterFunction mainPageFilter,
|
|
+ ::core::http::UriFilterFunction mainPageFilter,
|
|
const std::string& initJs,
|
|
bool useEmulatedStack,
|
|
const http::Request& request,
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/gwt/GwtLogHandler.cpp rstudio-0.98.1103-fix/src/cpp/core/gwt/GwtLogHandler.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/gwt/GwtLogHandler.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/gwt/GwtLogHandler.cpp 2015-03-08 22:23:10.555944023 +0100
|
|
@@ -172,7 +172,7 @@
|
|
% log::cleanDelims(userAgent));
|
|
|
|
// log it
|
|
- core::system::log(core::system::kLogLevelError, logEntry);
|
|
+ ::core::system::log(::core::system::kLogLevelError, logEntry);
|
|
|
|
|
|
// set void result
|
|
@@ -196,7 +196,7 @@
|
|
}
|
|
|
|
// convert level to appropriate enum and str
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
LogLevel logLevel;
|
|
std::string logLevelStr;
|
|
switch(level)
|
|
@@ -231,7 +231,7 @@
|
|
|
|
userAgent);
|
|
// log it
|
|
- core::system::log(logLevel, logEntry);
|
|
+ ::core::system::log(logLevel, logEntry);
|
|
|
|
// set void result
|
|
json::setVoidJsonRpcResult(pResponse);
|
|
@@ -240,7 +240,7 @@
|
|
|
|
} // anonymous namespace
|
|
|
|
-void initializeSymbolMaps(const core::FilePath& symbolMapsPath)
|
|
+void initializeSymbolMaps(const ::core::FilePath& symbolMapsPath)
|
|
{
|
|
// allocate this on the heap so that order of C++ static destruction
|
|
// issues don't cause a crash during shutdown
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/HtmlUtils.cpp rstudio-0.98.1103-fix/src/cpp/core/HtmlUtils.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/HtmlUtils.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/HtmlUtils.cpp 2015-03-08 22:23:10.778944061 +0100
|
|
@@ -62,7 +62,7 @@
|
|
boost::algorithm::starts_with(imagePath.mimeContentType(), "image/"))
|
|
{
|
|
std::string imageBase64;
|
|
- Error error = core::base64::encode(imagePath, &imageBase64);
|
|
+ Error error = ::core::base64::encode(imagePath, &imageBase64);
|
|
if (!error)
|
|
{
|
|
imgRef = "data:" + imagePath.mimeContentType() + ";base64,";
|
|
@@ -97,7 +97,7 @@
|
|
if (urlPath.exists() && (ext == ".ttf" || ext == ".otf"))
|
|
{
|
|
std::string fontBase64;
|
|
- Error error = core::base64::encode(urlPath, &fontBase64);
|
|
+ Error error = ::core::base64::encode(urlPath, &fontBase64);
|
|
if (!error)
|
|
{
|
|
// return base64 encoded font
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/http/Response.cpp rstudio-0.98.1103-fix/src/cpp/core/http/Response.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/http/Response.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/http/Response.cpp 2015-03-08 22:23:10.589944029 +0100
|
|
@@ -128,7 +128,7 @@
|
|
const Request& request)
|
|
{
|
|
std::string content;
|
|
- Error error = core::readStringFromFile(filePath, &content);
|
|
+ Error error = ::core::readStringFromFile(filePath, &content);
|
|
if (error)
|
|
return error;
|
|
|
|
@@ -155,7 +155,7 @@
|
|
{
|
|
// read the file in from disk
|
|
std::string contents;
|
|
- Error error = core::readStringFromFile(filePath, &contents);
|
|
+ Error error = ::core::readStringFromFile(filePath, &contents);
|
|
if (error)
|
|
{
|
|
setError(error);
|
|
@@ -299,7 +299,7 @@
|
|
|
|
std::string Response::eTagForContent(const std::string& content)
|
|
{
|
|
- return core::hash::crc32Hash(content);
|
|
+ return ::core::hash::crc32Hash(content);
|
|
}
|
|
|
|
void Response::appendFirstLineBuffers(
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/http/SocketProxy.cpp rstudio-0.98.1103-fix/src/cpp/core/http/SocketProxy.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/http/SocketProxy.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/http/SocketProxy.cpp 2015-03-08 22:23:10.568944026 +0100
|
|
@@ -145,13 +145,13 @@
|
|
namespace {
|
|
|
|
#ifndef _WIN32
|
|
-bool isSslShutdownError(const core::Error& error)
|
|
+bool isSslShutdownError(const ::core::Error& error)
|
|
{
|
|
return error.code().category() == boost::asio::error::get_ssl_category() &&
|
|
error.code().value() == ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ);
|
|
}
|
|
#else
|
|
-bool isSslShutdownError(const core::Error& error)
|
|
+bool isSslShutdownError(const ::core::Error& error)
|
|
{
|
|
return false;
|
|
}
|
|
@@ -159,7 +159,7 @@
|
|
} // anonymous namespace
|
|
|
|
void SocketProxy::handleError(const boost::system::error_code& e,
|
|
- const core::ErrorLocation& location)
|
|
+ const ::core::ErrorLocation& location)
|
|
{
|
|
// log the error if it wasn't connection terminated
|
|
Error error(e, location);
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/Error.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/Error.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/Error.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/Error.hpp 2015-03-08 22:23:10.835944071 +0100
|
|
@@ -172,7 +172,7 @@
|
|
|
|
} // namespace core
|
|
|
|
-#define ERROR_LOCATION core::ErrorLocation( \
|
|
+#define ERROR_LOCATION ::core::ErrorLocation( \
|
|
BOOST_CURRENT_FUNCTION,__FILE__,__LINE__)
|
|
|
|
#define CATCH_UNEXPECTED_EXCEPTION \
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/Exec.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/Exec.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/Exec.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/Exec.hpp 2015-03-08 22:23:11.054944108 +0100
|
|
@@ -27,7 +27,7 @@
|
|
class ExecBlock
|
|
{
|
|
public:
|
|
- typedef boost::function<core::Error()> Function ;
|
|
+ typedef boost::function< ::core::Error()> Function ;
|
|
|
|
public:
|
|
ExecBlock() {}
|
|
@@ -42,10 +42,10 @@
|
|
EasyInit addFunctions() { return EasyInit(this); }
|
|
|
|
// execute the block
|
|
- core::Error execute() const;
|
|
+ ::core::Error execute() const;
|
|
|
|
- // allow an ExecBlock to act as a boost::function<core::Error()>
|
|
- core::Error operator()() const;
|
|
+ // allow an ExecBlock to act as a boost::function< ::core::Error()>
|
|
+ ::core::Error operator()() const;
|
|
|
|
public:
|
|
// easy init helper class
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/FileLogWriter.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/FileLogWriter.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/FileLogWriter.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/FileLogWriter.hpp 2015-03-08 22:23:10.833944071 +0100
|
|
@@ -29,10 +29,10 @@
|
|
const FilePath& logDir);
|
|
virtual ~FileLogWriter();
|
|
|
|
- virtual void log(core::system::LogLevel level,
|
|
+ virtual void log(::core::system::LogLevel level,
|
|
const std::string& message);
|
|
virtual void log(const std::string& programIdentity,
|
|
- core::system::LogLevel level,
|
|
+ ::core::system::LogLevel level,
|
|
const std::string& message);
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/FilePath.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/FilePath.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/FilePath.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/FilePath.hpp 2015-03-08 22:23:11.133944121 +0100
|
|
@@ -49,7 +49,7 @@
|
|
|
|
static Error makeCurrent(const std::string& path);
|
|
|
|
- static std::string createAliasedPath(const core::FilePath& path,
|
|
+ static std::string createAliasedPath(const ::core::FilePath& path,
|
|
const FilePath& userHomePath);
|
|
static FilePath resolveAliasedPath(const std::string& aliasedPath,
|
|
const FilePath& userHomePath) ;
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/FileSerializer.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/FileSerializer.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/FileSerializer.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/FileSerializer.hpp 2015-03-08 22:23:11.120944119 +0100
|
|
@@ -37,7 +37,7 @@
|
|
|
|
template <typename CollectionType>
|
|
Error writeCollectionToFile(
|
|
- const core::FilePath& filePath,
|
|
+ const ::core::FilePath& filePath,
|
|
const CollectionType& collection,
|
|
boost::function<std::string(
|
|
const typename CollectionType::value_type&)>
|
|
@@ -86,7 +86,7 @@
|
|
|
|
template <typename CollectionType>
|
|
Error readCollectionFromFile(
|
|
- const core::FilePath& filePath,
|
|
+ const ::core::FilePath& filePath,
|
|
CollectionType* pCollection,
|
|
boost::function<ReadCollectionAction(const std::string& line,
|
|
typename CollectionType::value_type* pValue)>
|
|
@@ -156,7 +156,7 @@
|
|
}
|
|
|
|
template <typename ContentType>
|
|
-Error appendToFile(const core::FilePath& filePath,
|
|
+Error appendToFile(const ::core::FilePath& filePath,
|
|
const ContentType& content)
|
|
{
|
|
using namespace boost::system::errc ;
|
|
@@ -189,7 +189,7 @@
|
|
}
|
|
|
|
template <typename T>
|
|
-Error appendStructToFile(const core::FilePath& filePath,
|
|
+Error appendStructToFile(const ::core::FilePath& filePath,
|
|
const T& data)
|
|
{
|
|
using namespace boost::system::errc ;
|
|
@@ -222,7 +222,7 @@
|
|
}
|
|
|
|
template <typename T>
|
|
-Error readStructVectorFromFile(const core::FilePath& filePath,
|
|
+Error readStructVectorFromFile(const ::core::FilePath& filePath,
|
|
std::vector<T>* pVector)
|
|
{
|
|
using namespace boost::system::errc ;
|
|
@@ -266,26 +266,26 @@
|
|
std::string stringifyString(const std::string& str);
|
|
|
|
|
|
-Error writeStringMapToFile(const core::FilePath& filePath,
|
|
+Error writeStringMapToFile(const ::core::FilePath& filePath,
|
|
const std::map<std::string,std::string>& map) ;
|
|
|
|
-Error readStringMapFromFile(const core::FilePath& filePath,
|
|
+Error readStringMapFromFile(const ::core::FilePath& filePath,
|
|
std::map<std::string,std::string>* pMap) ;
|
|
|
|
-Error writeStringVectorToFile(const core::FilePath& filePath,
|
|
+Error writeStringVectorToFile(const ::core::FilePath& filePath,
|
|
const std::vector<std::string>& vector);
|
|
|
|
-Error readStringVectorFromFile(const core::FilePath& filePath,
|
|
+Error readStringVectorFromFile(const ::core::FilePath& filePath,
|
|
std::vector<std::string>* pVector,
|
|
bool trimAndIgnoreBlankLines=true);
|
|
|
|
// lineEnding is the type of line ending you want to end up on disk
|
|
-Error writeStringToFile(const core::FilePath& filePath,
|
|
+Error writeStringToFile(const ::core::FilePath& filePath,
|
|
const std::string& str,
|
|
string_utils::LineEnding lineEnding=string_utils::LineEndingPassthrough);
|
|
|
|
// lineEnding is the type of line ending you want the resulting string to have
|
|
-Error readStringFromFile(const core::FilePath& filePath,
|
|
+Error readStringFromFile(const ::core::FilePath& filePath,
|
|
std::string* pStr,
|
|
string_utils::LineEnding lineEnding=string_utils::LineEndingPassthrough,
|
|
int startLine = 0,
|
|
@@ -296,7 +296,7 @@
|
|
// read a string from a file with a filter
|
|
template <typename Filter>
|
|
Error readStringFromFile(
|
|
- const core::FilePath& filePath,
|
|
+ const ::core::FilePath& filePath,
|
|
const Filter& filter,
|
|
std::string* pContents,
|
|
string_utils::LineEnding lineEnding=string_utils::LineEndingPassthrough)
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/FileUtils.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/FileUtils.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/FileUtils.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/FileUtils.hpp 2015-03-08 22:23:11.071944111 +0100
|
|
@@ -26,7 +26,7 @@
|
|
|
|
namespace file_utils {
|
|
|
|
-FilePath uniqueFilePath(const core::FilePath& parent,
|
|
+FilePath uniqueFilePath(const ::core::FilePath& parent,
|
|
const std::string& prefix = "");
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/gwt/GwtLogHandler.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/gwt/GwtLogHandler.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/gwt/GwtLogHandler.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/gwt/GwtLogHandler.hpp 2015-03-08 22:23:10.857944074 +0100
|
|
@@ -30,7 +30,7 @@
|
|
namespace gwt {
|
|
|
|
|
|
-void initializeSymbolMaps(const core::FilePath& symbolMapsPath);
|
|
+void initializeSymbolMaps(const ::core::FilePath& symbolMapsPath);
|
|
|
|
void handleLogRequest(const std::string& username,
|
|
const http::Request& request,
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/http/AsyncClient.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/http/AsyncClient.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/http/AsyncClient.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/http/AsyncClient.hpp 2015-03-08 22:23:10.917944085 +0100
|
|
@@ -56,7 +56,7 @@
|
|
namespace http {
|
|
|
|
typedef boost::function<void(const http::Response&)> ResponseHandler;
|
|
-typedef boost::function<void(const core::Error&)> ErrorHandler;
|
|
+typedef boost::function<void(const ::core::Error&)> ErrorHandler;
|
|
|
|
|
|
template <typename SocketService>
|
|
@@ -136,7 +136,7 @@
|
|
void close()
|
|
{
|
|
Error error = closeSocket(socket().lowest_layer());
|
|
- if (error && !core::http::isConnectionTerminatedError(error))
|
|
+ if (error && !::core::http::isConnectionTerminatedError(error))
|
|
logError(error);
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/http/AsyncConnectionImpl.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/http/AsyncConnectionImpl.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/http/AsyncConnectionImpl.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/http/AsyncConnectionImpl.hpp 2015-03-08 22:23:10.884944079 +0100
|
|
@@ -143,7 +143,7 @@
|
|
virtual void close()
|
|
{
|
|
Error error = closeSocket(socket_);
|
|
- if (error && !core::http::isConnectionTerminatedError(error))
|
|
+ if (error && !::core::http::isConnectionTerminatedError(error))
|
|
LOG_ERROR(error);
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/http/AsyncServerImpl.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/http/AsyncServerImpl.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/http/AsyncServerImpl.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/http/AsyncServerImpl.hpp 2015-03-08 22:23:10.903944082 +0100
|
|
@@ -156,7 +156,7 @@
|
|
|
|
// block all signals for the creation of the thread pool
|
|
// (prevents signals from occurring on any of the handler threads)
|
|
- core::system::SignalBlocker signalBlocker;
|
|
+ ::core::system::SignalBlocker signalBlocker;
|
|
Error error = signalBlocker.blockAll();
|
|
if (error)
|
|
return error ;
|
|
@@ -410,23 +410,23 @@
|
|
}
|
|
|
|
void maybeAbortServer(const std::string& message,
|
|
- const core::ErrorLocation& location)
|
|
+ const ::core::ErrorLocation& location)
|
|
{
|
|
if (abortOnResourceError_)
|
|
{
|
|
- core::log::logErrorMessage("(ABORTING SERVER): " + message, location);
|
|
+ ::core::log::logErrorMessage("(ABORTING SERVER): " + message, location);
|
|
::abort();
|
|
}
|
|
else
|
|
{
|
|
- core::log::logWarningMessage(
|
|
+ ::core::log::logWarningMessage(
|
|
"Resource exhaustion error occurred (continuing to run)",
|
|
location);
|
|
}
|
|
}
|
|
|
|
void checkForResourceExhaustion(const boost::system::error_code& ec,
|
|
- const core::ErrorLocation& location)
|
|
+ const ::core::ErrorLocation& location)
|
|
{
|
|
if ( ec.category() == boost::system::get_system_category() &&
|
|
(ec.value() == boost::system::errc::too_many_files_open ||
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/http/LocalStreamAsyncClient.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/http/LocalStreamAsyncClient.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/http/LocalStreamAsyncClient.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/http/LocalStreamAsyncClient.hpp 2015-03-08 22:23:10.881944079 +0100
|
|
@@ -97,7 +97,7 @@
|
|
|
|
private:
|
|
boost::asio::local::stream_protocol::socket socket_;
|
|
- core::FilePath localStreamPath_;
|
|
+ ::core::FilePath localStreamPath_;
|
|
};
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/http/LocalStreamAsyncServer.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/http/LocalStreamAsyncServer.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/http/LocalStreamAsyncServer.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/http/LocalStreamAsyncServer.hpp 2015-03-08 22:23:10.868944076 +0100
|
|
@@ -32,7 +32,7 @@
|
|
public:
|
|
LocalStreamAsyncServer(const std::string& serverName,
|
|
const std::string& baseUri,
|
|
- core::system::FileMode fileMode)
|
|
+ ::core::system::FileMode fileMode)
|
|
: AsyncServerImpl<boost::asio::local::stream_protocol>(serverName, baseUri),
|
|
fileMode_(fileMode)
|
|
{
|
|
@@ -60,7 +60,7 @@
|
|
|
|
|
|
public:
|
|
- Error init(const core::FilePath& localStreamPath)
|
|
+ Error init(const ::core::FilePath& localStreamPath)
|
|
{
|
|
// set stream path
|
|
localStreamPath_ = localStreamPath;
|
|
@@ -86,8 +86,8 @@
|
|
http::Request* pRequest)
|
|
{
|
|
// get peer identity
|
|
- core::system::user::UserIdentity peerIdentity;
|
|
- Error error = core::system::user::socketPeerIdentity(pSocket->native(),
|
|
+ ::core::system::user::UserIdentity peerIdentity;
|
|
+ Error error = ::core::system::user::socketPeerIdentity(pSocket->native(),
|
|
&peerIdentity);
|
|
if (error)
|
|
{
|
|
@@ -114,8 +114,8 @@
|
|
}
|
|
|
|
private:
|
|
- core::system::FileMode fileMode_;
|
|
- core::FilePath localStreamPath_;
|
|
+ ::core::system::FileMode fileMode_;
|
|
+ ::core::FilePath localStreamPath_;
|
|
|
|
};
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/http/LocalStreamSocketUtils.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/http/LocalStreamSocketUtils.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/http/LocalStreamSocketUtils.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/http/LocalStreamSocketUtils.hpp 2015-03-08 22:23:10.914944084 +0100
|
|
@@ -48,8 +48,8 @@
|
|
|
|
inline Error initLocalStreamAcceptor(
|
|
SocketAcceptorService<boost::asio::local::stream_protocol>& acceptorService,
|
|
- const core::FilePath& localStreamPath,
|
|
- core::system::FileMode fileMode)
|
|
+ const ::core::FilePath& localStreamPath,
|
|
+ ::core::system::FileMode fileMode)
|
|
{
|
|
// initialize endpoint
|
|
using boost::asio::local::stream_protocol;
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/http/SocketProxy.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/http/SocketProxy.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/http/SocketProxy.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/http/SocketProxy.hpp 2015-03-08 22:23:10.907944083 +0100
|
|
@@ -32,8 +32,8 @@
|
|
class SocketProxy : public boost::enable_shared_from_this<SocketProxy>
|
|
{
|
|
public:
|
|
- static void create(boost::shared_ptr<core::http::Socket> ptrClient,
|
|
- boost::shared_ptr<core::http::Socket> ptrServer)
|
|
+ static void create(boost::shared_ptr< ::core::http::Socket> ptrClient,
|
|
+ boost::shared_ptr< ::core::http::Socket> ptrServer)
|
|
{
|
|
boost::shared_ptr<SocketProxy> pProxy(new SocketProxy(ptrClient,
|
|
ptrServer));
|
|
@@ -42,8 +42,8 @@
|
|
}
|
|
|
|
private:
|
|
- SocketProxy(boost::shared_ptr<core::http::Socket> ptrClient,
|
|
- boost::shared_ptr<core::http::Socket> ptrServer)
|
|
+ SocketProxy(boost::shared_ptr< ::core::http::Socket> ptrClient,
|
|
+ boost::shared_ptr< ::core::http::Socket> ptrServer)
|
|
: ptrClient_(ptrClient), ptrServer_(ptrServer)
|
|
{
|
|
}
|
|
@@ -60,13 +60,13 @@
|
|
void handleServerWrite(const boost::system::error_code& e,
|
|
std::size_t bytesTransferred);
|
|
void handleError(const boost::system::error_code& e,
|
|
- const core::ErrorLocation& location);
|
|
+ const ::core::ErrorLocation& location);
|
|
|
|
void close();
|
|
|
|
private:
|
|
- boost::shared_ptr<core::http::Socket> ptrClient_;
|
|
- boost::shared_ptr<core::http::Socket> ptrServer_;
|
|
+ boost::shared_ptr< ::core::http::Socket> ptrClient_;
|
|
+ boost::shared_ptr< ::core::http::Socket> ptrServer_;
|
|
boost::array<char, 8192> clientBuffer_;
|
|
boost::array<char, 8192> serverBuffer_;
|
|
boost::mutex socketMutex_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/http/SocketUtils.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/http/SocketUtils.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/http/SocketUtils.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/http/SocketUtils.hpp 2015-03-08 22:23:10.888944080 +0100
|
|
@@ -47,7 +47,7 @@
|
|
return Success() ;
|
|
}
|
|
|
|
-inline bool isConnectionTerminatedError(const core::Error& error)
|
|
+inline bool isConnectionTerminatedError(const ::core::Error& error)
|
|
{
|
|
// look for errors that indicate the client closing the connection
|
|
bool timedOut = error.code() == boost::asio::error::timed_out;
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/http/TcpIpAsyncConnector.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/http/TcpIpAsyncConnector.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/http/TcpIpAsyncConnector.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/http/TcpIpAsyncConnector.hpp 2015-03-08 22:23:10.895944081 +0100
|
|
@@ -48,7 +48,7 @@
|
|
{
|
|
public:
|
|
typedef boost::function<void()> ConnectedHandler;
|
|
- typedef boost::function<void(const core::Error&)> ErrorHandler;
|
|
+ typedef boost::function<void(const ::core::Error&)> ErrorHandler;
|
|
|
|
public:
|
|
TcpIpAsyncConnector(boost::asio::io_service& ioService,
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/json/JsonRpc.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/json/JsonRpc.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/json/JsonRpc.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/json/JsonRpc.hpp 2015-03-08 22:23:10.966944093 +0100
|
|
@@ -62,7 +62,7 @@
|
|
namespace boost {
|
|
namespace system {
|
|
template <>
|
|
-struct is_error_code_enum<core::json::errc::errc_t>
|
|
+struct is_error_code_enum< ::core::json::errc::errc_t>
|
|
{ static const bool value = true; };
|
|
} // namespace system
|
|
} // namespace boost
|
|
@@ -157,12 +157,12 @@
|
|
//
|
|
|
|
|
|
-inline core::Error readParam(const json::Array& params,
|
|
+inline ::core::Error readParam(const json::Array& params,
|
|
unsigned int index,
|
|
json::Value* pValue)
|
|
{
|
|
if (index >= params.size())
|
|
- return core::Error(errc::ParamMissing, ERROR_LOCATION);
|
|
+ return ::core::Error(errc::ParamMissing, ERROR_LOCATION);
|
|
|
|
*pValue = params[index] ;
|
|
return Success();
|
|
@@ -172,10 +172,10 @@
|
|
core::Error readParam(const json::Array& params, unsigned int index, T* pValue)
|
|
{
|
|
if (index >= params.size())
|
|
- return core::Error(errc::ParamMissing, ERROR_LOCATION);
|
|
+ return ::core::Error(errc::ParamMissing, ERROR_LOCATION);
|
|
|
|
if (!isType<T>(params[index]))
|
|
- return core::Error(errc::ParamTypeMismatch, ERROR_LOCATION) ;
|
|
+ return ::core::Error(errc::ParamTypeMismatch, ERROR_LOCATION) ;
|
|
|
|
*pValue = params[index].get_value<T>();
|
|
|
|
@@ -191,7 +191,7 @@
|
|
template <typename T1, typename T2>
|
|
core::Error readParams(const json::Array& params, T1* pValue1, T2* pValue2)
|
|
{
|
|
- core::Error error = readParam(params, 0, pValue1) ;
|
|
+ ::core::Error error = readParam(params, 0, pValue1) ;
|
|
if (error)
|
|
return error ;
|
|
|
|
@@ -204,7 +204,7 @@
|
|
T2* pValue2,
|
|
T3* pValue3)
|
|
{
|
|
- core::Error error = readParams(params, pValue1, pValue2) ;
|
|
+ ::core::Error error = readParams(params, pValue1, pValue2) ;
|
|
if (error)
|
|
return error ;
|
|
|
|
@@ -218,7 +218,7 @@
|
|
T3* pValue3,
|
|
T4* pValue4)
|
|
{
|
|
- core::Error error = readParams(params, pValue1, pValue2, pValue3) ;
|
|
+ ::core::Error error = readParams(params, pValue1, pValue2, pValue3) ;
|
|
if (error)
|
|
return error ;
|
|
|
|
@@ -234,7 +234,7 @@
|
|
T4* pValue4,
|
|
T5* pValue5)
|
|
{
|
|
- core::Error error = readParams(params, pValue1, pValue2, pValue3, pValue4) ;
|
|
+ ::core::Error error = readParams(params, pValue1, pValue2, pValue3, pValue4) ;
|
|
if (error)
|
|
return error ;
|
|
|
|
@@ -251,7 +251,7 @@
|
|
T5* pValue5,
|
|
T6* pValue6)
|
|
{
|
|
- core::Error error = readParams(params,
|
|
+ ::core::Error error = readParams(params,
|
|
pValue1,
|
|
pValue2,
|
|
pValue3,
|
|
@@ -274,7 +274,7 @@
|
|
T6* pValue6,
|
|
T7* pValue7)
|
|
{
|
|
- core::Error error = readParams(params,
|
|
+ ::core::Error error = readParams(params,
|
|
pValue1,
|
|
pValue2,
|
|
pValue3,
|
|
@@ -299,7 +299,7 @@
|
|
T7* pValue7,
|
|
T8* pValue8)
|
|
{
|
|
- core::Error error = readParams(params,
|
|
+ ::core::Error error = readParams(params,
|
|
pValue1,
|
|
pValue2,
|
|
pValue3,
|
|
@@ -326,7 +326,7 @@
|
|
T8* pValue8,
|
|
T9* pValue9)
|
|
{
|
|
- core::Error error = readParams(params,
|
|
+ ::core::Error error = readParams(params,
|
|
pValue1,
|
|
pValue2,
|
|
pValue3,
|
|
@@ -355,7 +355,7 @@
|
|
T9* pValue9,
|
|
T10* pValue10)
|
|
{
|
|
- core::Error error = readParams(params,
|
|
+ ::core::Error error = readParams(params,
|
|
pValue1,
|
|
pValue2,
|
|
pValue3,
|
|
@@ -386,7 +386,7 @@
|
|
T10* pValue10,
|
|
T11* pValue11)
|
|
{
|
|
- core::Error error = readParams(params,
|
|
+ ::core::Error error = readParams(params,
|
|
pValue1,
|
|
pValue2,
|
|
pValue3,
|
|
@@ -914,9 +914,9 @@
|
|
return response_[kRpcResult];
|
|
}
|
|
|
|
- void setError(const core::Error& error);
|
|
+ void setError(const ::core::Error& error);
|
|
|
|
- void setError(const core::Error& error, const json::Value& clientInfo);
|
|
+ void setError(const ::core::Error& error, const json::Value& clientInfo);
|
|
|
|
void setError(const boost::system::error_code& ec);
|
|
|
|
@@ -983,7 +983,7 @@
|
|
}
|
|
|
|
template <typename T>
|
|
-void setJsonRpcError(const T& error, core::http::Response* pResponse)
|
|
+void setJsonRpcError(const T& error, ::core::http::Response* pResponse)
|
|
{
|
|
JsonRpcResponse jsonRpcResponse ;
|
|
jsonRpcResponse.setError(error);
|
|
@@ -992,9 +992,9 @@
|
|
|
|
|
|
// convenience typedefs for managing a map of json rpc functions
|
|
-typedef boost::function<core::Error(const core::json::JsonRpcRequest&, core::json::JsonRpcResponse*)>
|
|
+typedef boost::function< ::core::Error(const ::core::json::JsonRpcRequest&, ::core::json::JsonRpcResponse*)>
|
|
JsonRpcFunction ;
|
|
-typedef std::pair<std::string,core::json::JsonRpcFunction>
|
|
+typedef std::pair<std::string,::core::json::JsonRpcFunction>
|
|
JsonRpcMethod ;
|
|
typedef boost::unordered_map<std::string,JsonRpcFunction>
|
|
JsonRpcMethods;
|
|
@@ -1009,9 +1009,9 @@
|
|
|
|
// JsonRpcFunctionContinuation is what a JsonRpcAsyncFunction needs to call
|
|
// when its work is complete
|
|
-typedef boost::function<void(const core::Error&, core::json::JsonRpcResponse*)>
|
|
+typedef boost::function<void(const ::core::Error&, ::core::json::JsonRpcResponse*)>
|
|
JsonRpcFunctionContinuation ;
|
|
-typedef boost::function<void(const core::json::JsonRpcRequest&, const JsonRpcFunctionContinuation&)>
|
|
+typedef boost::function<void(const ::core::json::JsonRpcRequest&, const JsonRpcFunctionContinuation&)>
|
|
JsonRpcAsyncFunction ;
|
|
// The bool in the next two typedefs specifies whether the function wants the
|
|
// HTTP connection to stay open until the method finishes executing (direct return),
|
|
@@ -1020,7 +1020,7 @@
|
|
// return). Direct return provides lower latency for short operations, and indirect
|
|
// return must be used for longer-running operations to prevent the browser from
|
|
// being starved of available HTTP connections to the server.
|
|
-typedef std::pair<std::string,std::pair<bool, core::json::JsonRpcAsyncFunction> >
|
|
+typedef std::pair<std::string,std::pair<bool, ::core::json::JsonRpcAsyncFunction> >
|
|
JsonRpcAsyncMethod ;
|
|
typedef boost::unordered_map<std::string,std::pair<bool, JsonRpcAsyncFunction> >
|
|
JsonRpcAsyncMethods ;
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/Log.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/Log.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/Log.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/Log.hpp 2015-03-08 22:23:11.128944120 +0100
|
|
@@ -49,18 +49,18 @@
|
|
// Macros for automatic inclusion of ERROR_LOCATION and easy ability to
|
|
// compile out logging calls
|
|
|
|
-#define LOG_ERROR(error) core::log::logError(error, ERROR_LOCATION)
|
|
+#define LOG_ERROR(error) ::core::log::logError(error, ERROR_LOCATION)
|
|
|
|
-#define LOG_ERROR_MESSAGE(message) core::log::logErrorMessage(message, \
|
|
+#define LOG_ERROR_MESSAGE(message) ::core::log::logErrorMessage(message, \
|
|
ERROR_LOCATION)
|
|
|
|
-#define LOG_WARNING_MESSAGE(message) core::log::logWarningMessage( \
|
|
+#define LOG_WARNING_MESSAGE(message) ::core::log::logWarningMessage( \
|
|
message, \
|
|
ERROR_LOCATION)
|
|
|
|
-#define LOG_INFO_MESSAGE(message) core::log::logInfoMessage(message)
|
|
+#define LOG_INFO_MESSAGE(message) ::core::log::logInfoMessage(message)
|
|
|
|
-#define LOG_DEBUG_MESSAGE(message) core::log::logDebugMessage(message)
|
|
+#define LOG_DEBUG_MESSAGE(message) ::core::log::logDebugMessage(message)
|
|
|
|
#endif // CORE_LOG_HPP
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/LogWriter.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/LogWriter.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/LogWriter.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/LogWriter.hpp 2015-03-08 22:23:11.046944107 +0100
|
|
@@ -25,11 +25,11 @@
|
|
public:
|
|
virtual ~LogWriter() {}
|
|
|
|
- virtual void log(core::system::LogLevel level,
|
|
+ virtual void log(::core::system::LogLevel level,
|
|
const std::string& message) = 0;
|
|
|
|
virtual void log(const std::string& programIdentity,
|
|
- core::system::LogLevel level,
|
|
+ ::core::system::LogLevel level,
|
|
const std::string& message) = 0;
|
|
|
|
// for subclasses that can do automatic chaining to stderr
|
|
@@ -47,7 +47,7 @@
|
|
|
|
void setLogToStderr(bool logToStderr);
|
|
|
|
-void addLogWriter(boost::shared_ptr<core::LogWriter> pLogWriter);
|
|
+void addLogWriter(boost::shared_ptr< ::core::LogWriter> pLogWriter);
|
|
|
|
} // namespace system
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/PerformanceTimer.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/PerformanceTimer.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/PerformanceTimer.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/PerformanceTimer.hpp 2015-03-08 22:23:11.082944113 +0100
|
|
@@ -58,7 +58,7 @@
|
|
|
|
} // namespace core
|
|
|
|
-#define TIME_FUNCTION core::PerformanceTimer t(BOOST_CURRENT_FUNCTION);
|
|
+#define TIME_FUNCTION ::core::PerformanceTimer t(BOOST_CURRENT_FUNCTION);
|
|
|
|
#endif // CORE_PERFORMANCE_TIMER_HPP
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/r_util/REnvironment.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/r_util/REnvironment.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/r_util/REnvironment.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/r_util/REnvironment.hpp 2015-03-08 22:23:11.093944115 +0100
|
|
@@ -40,7 +40,7 @@
|
|
|
|
void setREnvironmentVars(const EnvironmentVars& vars);
|
|
void setREnvironmentVars(const EnvironmentVars& vars,
|
|
- core::system::Options* pEnv);
|
|
+ ::core::system::Options* pEnv);
|
|
|
|
std::string rLibraryPath(const FilePath& rHomePath,
|
|
const FilePath& rLibPath,
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/r_util/RSessionLaunchProfile.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/r_util/RSessionLaunchProfile.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/r_util/RSessionLaunchProfile.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/r_util/RSessionLaunchProfile.hpp 2015-03-08 22:23:11.111944118 +0100
|
|
@@ -30,7 +30,7 @@
|
|
std::string username;
|
|
std::string password;
|
|
std::string executablePath;
|
|
- core::system::ProcessConfig config;
|
|
+ ::core::system::ProcessConfig config;
|
|
};
|
|
|
|
json::Object sessionLaunchProfileToJson(const SessionLaunchProfile& profile);
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/r_util/RSourceIndex.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/r_util/RSourceIndex.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/r_util/RSourceIndex.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/r_util/RSourceIndex.hpp 2015-03-08 22:23:11.091944114 +0100
|
|
@@ -120,8 +120,8 @@
|
|
const std::string& name() const { return name_; }
|
|
const std::vector<RS4MethodParam>& signature() const { return signature_; }
|
|
const int braceLevel() const { return braceLevel_; }
|
|
- int line() const { return core::safe_convert::numberTo<int>(line_,0); }
|
|
- int column() const { return core::safe_convert::numberTo<int>(column_,0); }
|
|
+ int line() const { return ::core::safe_convert::numberTo<int>(line_,0); }
|
|
+ int column() const { return ::core::safe_convert::numberTo<int>(column_,0); }
|
|
|
|
// support for RSourceIndex::search
|
|
|
|
@@ -192,7 +192,7 @@
|
|
OutputIterator out) const
|
|
{
|
|
// perform the copy and transform to include context
|
|
- core::algorithm::copy_transformed_if(
|
|
+ ::core::algorithm::copy_transformed_if(
|
|
items_.begin(),
|
|
items_.end(),
|
|
out,
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/r_util/RToolsInfo.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/r_util/RToolsInfo.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/r_util/RToolsInfo.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/r_util/RToolsInfo.hpp 2015-03-08 22:23:11.108944117 +0100
|
|
@@ -68,7 +68,7 @@
|
|
{
|
|
std::string path = it->absolutePath();
|
|
boost::algorithm::replace_all(path, "/", "\\");
|
|
- core::system::addToPath(pTarget, path, true);
|
|
+ ::core::system::addToPath(pTarget, path, true);
|
|
}
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/r_util/RVersionsPosix.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/r_util/RVersionsPosix.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/r_util/RVersionsPosix.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/r_util/RVersionsPosix.hpp 2015-03-08 22:23:11.103944116 +0100
|
|
@@ -33,11 +33,11 @@
|
|
RVersion() : isDefault(false) {}
|
|
bool isDefault;
|
|
std::string number;
|
|
- core::system::Options environment;
|
|
+ ::core::system::Options environment;
|
|
|
|
FilePath homeDir() const
|
|
{
|
|
- return FilePath(core::system::getenv(environment, "R_HOME"));
|
|
+ return FilePath(::core::system::getenv(environment, "R_HOME"));
|
|
}
|
|
};
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/spelling/HunspellCustomDictionaries.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/spelling/HunspellCustomDictionaries.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/spelling/HunspellCustomDictionaries.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/spelling/HunspellCustomDictionaries.hpp 2015-03-08 22:23:11.037944105 +0100
|
|
@@ -48,7 +48,7 @@
|
|
Error remove(const std::string& name) const;
|
|
|
|
private:
|
|
- core::FilePath customDictionariesDir_;
|
|
+ ::core::FilePath customDictionariesDir_;
|
|
};
|
|
|
|
} // namespace spelling
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/spelling/HunspellDictionaryManager.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/spelling/HunspellDictionaryManager.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/spelling/HunspellDictionaryManager.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/spelling/HunspellDictionaryManager.hpp 2015-03-08 22:23:11.039944105 +0100
|
|
@@ -83,7 +83,7 @@
|
|
|
|
bool allLanguagesInstalled() const { return allLanguagesDir().exists(); }
|
|
|
|
- core::Error availableLanguages(
|
|
+ ::core::Error availableLanguages(
|
|
std::vector<HunspellDictionary>* pDictionaries) const;
|
|
|
|
HunspellDictionary dictionaryForLanguageId(const std::string& langId) const;
|
|
@@ -91,12 +91,12 @@
|
|
const HunspellCustomDictionaries& custom() const;
|
|
|
|
private:
|
|
- core::FilePath allLanguagesDir() const;
|
|
- core::FilePath userLanguagesDir() const;
|
|
+ ::core::FilePath allLanguagesDir() const;
|
|
+ ::core::FilePath userLanguagesDir() const;
|
|
|
|
private:
|
|
- core::FilePath coreLanguagesDir_;
|
|
- core::FilePath userDir_;
|
|
+ ::core::FilePath coreLanguagesDir_;
|
|
+ ::core::FilePath userDir_;
|
|
HunspellCustomDictionaries customDicts_;
|
|
};
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/spelling/HunspellSpellingEngine.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/spelling/HunspellSpellingEngine.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/spelling/HunspellSpellingEngine.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/spelling/HunspellSpellingEngine.hpp 2015-03-08 22:23:11.044944106 +0100
|
|
@@ -29,7 +29,7 @@
|
|
|
|
namespace spelling {
|
|
|
|
-typedef boost::function<core::Error(const std::string&,
|
|
+typedef boost::function< ::core::Error(const std::string&,
|
|
const std::string&,
|
|
const std::string&,
|
|
bool,
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/StderrLogWriter.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/StderrLogWriter.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/StderrLogWriter.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/StderrLogWriter.hpp 2015-03-08 22:23:11.117944118 +0100
|
|
@@ -26,11 +26,11 @@
|
|
StderrLogWriter(const std::string& programIdentity, int logLevel);
|
|
virtual ~StderrLogWriter();
|
|
|
|
- virtual void log(core::system::LogLevel level,
|
|
+ virtual void log(::core::system::LogLevel level,
|
|
const std::string& message);
|
|
|
|
virtual void log(const std::string& programIdentity,
|
|
- core::system::LogLevel level,
|
|
+ ::core::system::LogLevel level,
|
|
const std::string& message);
|
|
|
|
private:
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/SyslogLogWriter.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/SyslogLogWriter.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/SyslogLogWriter.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/SyslogLogWriter.hpp 2015-03-08 22:23:11.088944114 +0100
|
|
@@ -25,10 +25,10 @@
|
|
public:
|
|
SyslogLogWriter(const std::string& programIdentity, int logLevel);
|
|
virtual ~SyslogLogWriter();
|
|
- virtual void log(core::system::LogLevel level,
|
|
+ virtual void log(::core::system::LogLevel level,
|
|
const std::string& message);
|
|
virtual void log(const std::string& programIdentity,
|
|
- core::system::LogLevel level,
|
|
+ ::core::system::LogLevel level,
|
|
const std::string& message);
|
|
|
|
virtual void setLogToStderr(bool logToStderr)
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/system/FileChangeEvent.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/system/FileChangeEvent.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/system/FileChangeEvent.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/system/FileChangeEvent.hpp 2015-03-08 22:23:11.011944101 +0100
|
|
@@ -44,7 +44,7 @@
|
|
};
|
|
|
|
public:
|
|
- FileChangeEvent(Type type, const core::FileInfo& fileInfo)
|
|
+ FileChangeEvent(Type type, const ::core::FileInfo& fileInfo)
|
|
: type_(type), fileInfo_(fileInfo)
|
|
{
|
|
}
|
|
@@ -67,7 +67,7 @@
|
|
|
|
private:
|
|
Type type_;
|
|
- core::FileInfo fileInfo_;
|
|
+ ::core::FileInfo fileInfo_;
|
|
};
|
|
|
|
inline std::ostream& operator << (std::ostream& ostr,
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/system/FileMonitor.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/system/FileMonitor.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/system/FileMonitor.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/system/FileMonitor.hpp 2015-03-08 22:23:10.991944097 +0100
|
|
@@ -59,7 +59,7 @@
|
|
}
|
|
|
|
explicit Handle(void* pData)
|
|
- : id(core::system::generateUuid()),
|
|
+ : id(::core::system::generateUuid()),
|
|
pData(pData)
|
|
{
|
|
}
|
|
@@ -89,11 +89,11 @@
|
|
boost::function<void(Handle, const tree<FileInfo>&)> onRegistered;
|
|
|
|
// callback which occurs if a registration error occurs
|
|
- boost::function<void(const core::Error&)> onRegistrationError;
|
|
+ boost::function<void(const ::core::Error&)> onRegistrationError;
|
|
|
|
// callback which occurs if an error occurs during monitoring (the
|
|
// monitor is automatically unregistered if a monitoring error occurs)
|
|
- boost::function<void(const core::Error&)> onMonitoringError;
|
|
+ boost::function<void(const ::core::Error&)> onMonitoringError;
|
|
|
|
// callback which occurs when files change
|
|
boost::function<void(const std::vector<FileChangeEvent>&)> onFilesChanged;
|
|
@@ -115,7 +115,7 @@
|
|
// guarantee that the deletion of your shared_ptr object is invoked on the same
|
|
// thread that called registerMonitor you should also bind a function to
|
|
// onUnregistered (otherwise the delete will occur on the file monitoring thread)
|
|
-void registerMonitor(const core::FilePath& filePath,
|
|
+void registerMonitor(const ::core::FilePath& filePath,
|
|
bool recursive,
|
|
const boost::function<bool(const FileInfo&)>& filter,
|
|
const Callbacks& callbacks);
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/system/PosixSystem.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/system/PosixSystem.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/system/PosixSystem.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/system/PosixSystem.hpp 2015-03-08 22:23:11.009944100 +0100
|
|
@@ -151,8 +151,8 @@
|
|
: stdStreamBehavior(StdStreamInherit)
|
|
{
|
|
}
|
|
- core::system::Options args;
|
|
- core::system::Options environment;
|
|
+ ::core::system::Options args;
|
|
+ ::core::system::Options environment;
|
|
std::string stdInput;
|
|
StdStreamBehavior stdStreamBehavior;
|
|
ProcessLimits limits;
|
|
@@ -165,7 +165,7 @@
|
|
ProcessConfig config,
|
|
PidType* pProcessId ) ;
|
|
|
|
-bool isUserNotFoundError(const core::Error& error);
|
|
+bool isUserNotFoundError(const ::core::Error& error);
|
|
|
|
core::Error userBelongsToGroup(const user::User& user,
|
|
const std::string& groupName,
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/system/Process.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/system/Process.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/system/Process.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/system/Process.hpp 2015-03-08 22:23:11.020944102 +0100
|
|
@@ -110,14 +110,14 @@
|
|
// (respectively) should be redirected to. Note that this ONLY works
|
|
// if you use runCommand, not runProgram, as we use the shell to do
|
|
// the redirection.
|
|
- core::FilePath stdOutFile;
|
|
- core::FilePath stdErrFile;
|
|
+ ::core::FilePath stdOutFile;
|
|
+ ::core::FilePath stdErrFile;
|
|
|
|
// function to run within the child process immediately after the fork
|
|
// NOTE: only supported on posix as there is no fork on Win32
|
|
boost::function<void()> onAfterFork;
|
|
|
|
- core::FilePath workingDir;
|
|
+ ::core::FilePath workingDir;
|
|
};
|
|
|
|
// Struct for returning output and exit status from a process
|
|
@@ -245,7 +245,7 @@
|
|
const std::string& input,
|
|
const boost::function<void(const ProcessResult&)>& onCompleted,
|
|
const boost::function<void(const Error&)>& onError=
|
|
- boost::function<void(const core::Error&)>());
|
|
+ boost::function<void(const ::core::Error&)>());
|
|
|
|
// Process supervisor
|
|
class ProcessSupervisor : boost::noncopyable
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/system/RegistryKey.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/system/RegistryKey.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/system/RegistryKey.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/system/RegistryKey.hpp 2015-03-08 22:23:11.004944099 +0100
|
|
@@ -37,12 +37,12 @@
|
|
RegistryKey();
|
|
virtual ~RegistryKey();
|
|
|
|
- core::Error open(HKEY hKey, std::string subKey, REGSAM samDesired);
|
|
+ ::core::Error open(HKEY hKey, std::string subKey, REGSAM samDesired);
|
|
bool isOpen();
|
|
|
|
HKEY handle();
|
|
|
|
- core::Error getStringValue(std::string name, std::string* pValue);
|
|
+ ::core::Error getStringValue(std::string name, std::string* pValue);
|
|
std::string getStringValue(std::string name, std::string defaultValue);
|
|
|
|
std::vector<std::string> keyNames();
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/system/ShellUtils.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/system/ShellUtils.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/system/ShellUtils.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/system/ShellUtils.hpp 2015-03-08 22:23:10.995944098 +0100
|
|
@@ -53,7 +53,7 @@
|
|
class ShellCommand
|
|
{
|
|
public:
|
|
- explicit ShellCommand(const core::FilePath& filePath)
|
|
+ explicit ShellCommand(const ::core::FilePath& filePath)
|
|
: escapeMode_(EscapeAll)
|
|
{
|
|
output_ = escape(string_utils::utf8ToSystem(filePath.absolutePath()));
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/include/core/Trace.hpp rstudio-0.98.1103-fix/src/cpp/core/include/core/Trace.hpp
|
|
--- rstudio-0.98.1103/src/cpp/core/include/core/Trace.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/include/core/Trace.hpp 2015-03-08 22:23:11.050944107 +0100
|
|
@@ -30,7 +30,7 @@
|
|
} // namespace core
|
|
|
|
#define TRACE_CURRENT_METHOD \
|
|
- core::trace::add(this, BOOST_CURRENT_FUNCTION);
|
|
+ ::core::trace::add(this, BOOST_CURRENT_FUNCTION);
|
|
|
|
#endif // CORE_PERFORMANCE_TIMER_HPP
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/json/JsonRpc.cpp rstudio-0.98.1103-fix/src/cpp/core/json/JsonRpc.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/json/JsonRpc.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/json/JsonRpc.cpp 2015-03-08 22:23:10.625944035 +0100
|
|
@@ -242,8 +242,8 @@
|
|
setField(kRpcAsyncHandle, handle);
|
|
}
|
|
|
|
-void setJsonRpcResponse(const core::json::JsonRpcResponse& jsonRpcResponse,
|
|
- core::http::Response* pResponse)
|
|
+void setJsonRpcResponse(const ::core::json::JsonRpcResponse& jsonRpcResponse,
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
// no cache!
|
|
pResponse->setNoCacheHeaders();
|
|
@@ -349,13 +349,13 @@
|
|
namespace {
|
|
|
|
void runSynchronousFunction(const JsonRpcFunction& func,
|
|
- const core::json::JsonRpcRequest& request,
|
|
+ const ::core::json::JsonRpcRequest& request,
|
|
const JsonRpcFunctionContinuation& continuation)
|
|
{
|
|
- core::json::JsonRpcResponse response;
|
|
+ ::core::json::JsonRpcResponse response;
|
|
if (request.isBackgroundConnection)
|
|
response.setSuppressDetectChanges(true);
|
|
- core::Error error = func(request, &response);
|
|
+ ::core::Error error = func(request, &response);
|
|
continuation(error, &response);
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/markdown/Markdown.cpp rstudio-0.98.1103-fix/src/cpp/core/markdown/Markdown.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/markdown/Markdown.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/markdown/Markdown.cpp 2015-03-08 22:23:10.597944031 +0100
|
|
@@ -321,7 +321,7 @@
|
|
if (error)
|
|
return error;
|
|
|
|
- return core::writeStringToFile(htmlFile,
|
|
+ return ::core::writeStringToFile(htmlFile,
|
|
markdownOutput,
|
|
string_utils::LineEndingNative);
|
|
}
|
|
@@ -333,7 +333,7 @@
|
|
std::string* pHTMLOutput)
|
|
{
|
|
std::string markdownInput;
|
|
- Error error = core::readStringFromFile(markdownFile,
|
|
+ Error error = ::core::readStringFromFile(markdownFile,
|
|
&markdownInput,
|
|
string_utils::LineEndingPosix);
|
|
if (error)
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/markdown/MathJax.cpp rstudio-0.98.1103-fix/src/cpp/core/markdown/MathJax.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/markdown/MathJax.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/markdown/MathJax.cpp 2015-03-08 22:23:10.600944031 +0100
|
|
@@ -228,7 +228,7 @@
|
|
}
|
|
else
|
|
{
|
|
- std::string guid = core::system::generateUuid(false);
|
|
+ std::string guid = ::core::system::generateUuid(false);
|
|
std::string suffix = (match.size() > 2) ? std::string(match[2]) : "";
|
|
pMathBlocks->insert(std::make_pair(guid, MathBlock(equation,suffix)));
|
|
return guid;
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/ProgramOptions.cpp rstudio-0.98.1103-fix/src/cpp/core/ProgramOptions.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/ProgramOptions.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/ProgramOptions.cpp 2015-03-08 22:23:10.752944057 +0100
|
|
@@ -60,19 +60,19 @@
|
|
|
|
void reportError(const std::string& errorMessage, const ErrorLocation& location)
|
|
{
|
|
- if (core::system::stderrIsTerminal())
|
|
+ if (::core::system::stderrIsTerminal())
|
|
std::cerr << errorMessage << std::endl;
|
|
else
|
|
- core::log::logErrorMessage(errorMessage, location);
|
|
+ ::core::log::logErrorMessage(errorMessage, location);
|
|
}
|
|
|
|
void reportWarnings(const std::string& warningMessages,
|
|
const ErrorLocation& location)
|
|
{
|
|
- if (core::system::stderrIsTerminal())
|
|
+ if (::core::system::stderrIsTerminal())
|
|
std::cerr << "WARNINGS: " << warningMessages << std::endl;
|
|
else
|
|
- core::log::logWarningMessage(warningMessages, location);
|
|
+ ::core::log::logWarningMessage(warningMessages, location);
|
|
}
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/r_util/REnvironmentPosix.cpp rstudio-0.98.1103-fix/src/cpp/core/r_util/REnvironmentPosix.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/r_util/REnvironmentPosix.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/r_util/REnvironmentPosix.cpp 2015-03-08 22:23:10.814944067 +0100
|
|
@@ -49,7 +49,7 @@
|
|
if (rScriptPath.exists() && !rScriptPath.isDirectory())
|
|
{
|
|
// verify that the alias points to a real version of R
|
|
- Error error = core::system::realPath(*it, &rScriptPath);
|
|
+ Error error = ::core::system::realPath(*it, &rScriptPath);
|
|
if (!error)
|
|
{
|
|
return rScriptPath;
|
|
@@ -192,7 +192,7 @@
|
|
// run script to capture paths
|
|
std::string command = ldPathsScript.absolutePath() + " " + rHome;
|
|
system::ProcessResult result;
|
|
- Error error = runCommand(command, core::system::ProcessOptions(), &result);
|
|
+ Error error = runCommand(command, ::core::system::ProcessOptions(), &result);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
std::string libraryPaths = result.stdOut;
|
|
@@ -204,8 +204,8 @@
|
|
{
|
|
// ask system which R to use
|
|
system::ProcessResult result;
|
|
- Error error = core::system::runCommand("which R",
|
|
- core::system::ProcessOptions(),
|
|
+ Error error = ::core::system::runCommand("which R",
|
|
+ ::core::system::ProcessOptions(),
|
|
&result);
|
|
std::string whichR = result.stdOut;
|
|
boost::algorithm::trim(whichR);
|
|
@@ -255,12 +255,12 @@
|
|
// (the normal semantics of invoking the R script are that it overwrites
|
|
// R_HOME and prints a warning -- this warning is co-mingled with the
|
|
// output of "R RHOME" and messes up our parsing)
|
|
- core::system::setenv("R_HOME", "");
|
|
+ ::core::system::setenv("R_HOME", "");
|
|
|
|
// run R script to detect R home
|
|
std::string command = rScriptPath.absolutePath() + " RHOME";
|
|
system::ProcessResult result;
|
|
- Error error = runCommand(command, core::system::ProcessOptions(), &result);
|
|
+ Error error = runCommand(command, ::core::system::ProcessOptions(), &result);
|
|
if (error)
|
|
{
|
|
*pErrMsg = "Error running R (" + rScriptPath.absolutePath() + "): " +
|
|
@@ -288,7 +288,7 @@
|
|
{
|
|
// get realpath
|
|
FilePath rBinaryPath;
|
|
- Error error = core::system::realPath(rScriptPath, &rBinaryPath);
|
|
+ Error error = ::core::system::realPath(rScriptPath, &rBinaryPath);
|
|
if (error)
|
|
{
|
|
*pErrMsg = "Unable to determine real path of R script " +
|
|
@@ -461,7 +461,7 @@
|
|
// (the normal semantics of invoking the R script are that it overwrites
|
|
// R_HOME and prints a warning -- this warning is co-mingled with the
|
|
// output of R and messes up our parsing)
|
|
- core::system::setenv("R_HOME", "");
|
|
+ ::core::system::setenv("R_HOME", "");
|
|
|
|
// call R to determine the locations
|
|
std::string command = rScriptPath +
|
|
@@ -692,18 +692,18 @@
|
|
it != vars.end();
|
|
++it)
|
|
{
|
|
- core::system::setenv(it->first, it->second);
|
|
+ ::core::system::setenv(it->first, it->second);
|
|
}
|
|
}
|
|
|
|
void setREnvironmentVars(const EnvironmentVars& vars,
|
|
- core::system::Options* pEnv)
|
|
+ ::core::system::Options* pEnv)
|
|
{
|
|
for (EnvironmentVars::const_iterator it = vars.begin();
|
|
it != vars.end();
|
|
++it)
|
|
{
|
|
- core::system::setenv(pEnv, it->first, it->second);
|
|
+ ::core::system::setenv(pEnv, it->first, it->second);
|
|
}
|
|
}
|
|
|
|
@@ -713,7 +713,7 @@
|
|
const std::string& ldLibraryPath)
|
|
{
|
|
// determine library path (existing + r lib dir + r extra lib dirs)
|
|
- std::string libraryPath = core::system::getenv(kLibraryPathEnvVariable);
|
|
+ std::string libraryPath = ::core::system::getenv(kLibraryPathEnvVariable);
|
|
#ifdef __APPLE__
|
|
// if this isn't set explicitly then initalize it with the default
|
|
// of $HOME/lib:/usr/local/lib:/usr/lib. See documentation here:
|
|
@@ -721,7 +721,7 @@
|
|
if (libraryPath.empty())
|
|
{
|
|
boost::format fmt("%1%/lib:/usr/local/lib:/usr/lib");
|
|
- libraryPath = boost::str(fmt % core::system::getenv("HOME"));
|
|
+ libraryPath = boost::str(fmt % ::core::system::getenv("HOME"));
|
|
}
|
|
#endif
|
|
if (!libraryPath.empty())
|
|
@@ -742,13 +742,13 @@
|
|
std::string* pVersion)
|
|
{
|
|
// determine the R version
|
|
- core::system::ProcessOptions options;
|
|
- core::system::Options env;
|
|
- core::system::environment(&env);
|
|
- core::system::setenv(&env, "R_HOME", rHomePath.absolutePath());
|
|
+ ::core::system::ProcessOptions options;
|
|
+ ::core::system::Options env;
|
|
+ ::core::system::environment(&env);
|
|
+ ::core::system::setenv(&env, "R_HOME", rHomePath.absolutePath());
|
|
options.environment = env;
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runCommand(rScriptPath.absolutePath() +
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runCommand(rScriptPath.absolutePath() +
|
|
" --slave --vanilla --version",
|
|
options,
|
|
&result);
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/r_util/RPackageInfo.cpp rstudio-0.98.1103-fix/src/cpp/core/r_util/RPackageInfo.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/r_util/RPackageInfo.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/r_util/RPackageInfo.cpp 2015-03-08 22:23:10.796944064 +0100
|
|
@@ -46,7 +46,7 @@
|
|
// parse DCF file
|
|
FilePath descFilePath = packageDir.childPath("DESCRIPTION");
|
|
if (!descFilePath.exists())
|
|
- return core::fileNotFoundError(descFilePath, ERROR_LOCATION);
|
|
+ return ::core::fileNotFoundError(descFilePath, ERROR_LOCATION);
|
|
std::string errMsg;
|
|
std::map<std::string,std::string> fields;
|
|
Error error = text::parseDcfFile(descFilePath, true, &fields, &errMsg);
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/r_util/RSessionContext.cpp rstudio-0.98.1103-fix/src/cpp/core/r_util/RSessionContext.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/r_util/RSessionContext.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/r_util/RSessionContext.cpp 2015-03-08 22:23:10.794944064 +0100
|
|
@@ -44,7 +44,7 @@
|
|
if (!homePath.empty())
|
|
dirs.homePath = homePath;
|
|
else
|
|
- dirs.homePath = core::system::userHomePath("R_USER|HOME").absolutePath();
|
|
+ dirs.homePath = ::core::system::userHomePath("R_USER|HOME").absolutePath();
|
|
|
|
// compute user scratch path
|
|
std::string scratchPathName;
|
|
@@ -53,7 +53,7 @@
|
|
else
|
|
scratchPathName = "RStudio";
|
|
|
|
- dirs.scratchPath = core::system::userSettingsPath(
|
|
+ dirs.scratchPath = ::core::system::userSettingsPath(
|
|
FilePath(dirs.homePath),
|
|
scratchPathName).absolutePath();
|
|
|
|
@@ -77,7 +77,7 @@
|
|
if (readPath.exists())
|
|
{
|
|
std::string value;
|
|
- Error error = core::readStringFromFile(readPath, &value);
|
|
+ Error error = ::core::readStringFromFile(readPath, &value);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -97,7 +97,7 @@
|
|
const std::string& value)
|
|
{
|
|
FilePath writePath = settingsPath.complete(settingName);
|
|
- Error error = core::writeStringToFile(writePath, value);
|
|
+ Error error = ::core::writeStringToFile(writePath, value);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -122,12 +122,12 @@
|
|
kLastProjectPath);
|
|
|
|
// read environment variables derived from startup file associations
|
|
- std::string initialProjPath = core::system::getenv(kRStudioInitialProject);
|
|
- std::string initialWDPath = core::system::getenv(kRStudioInitialWorkingDir);
|
|
+ std::string initialProjPath = ::core::system::getenv(kRStudioInitialProject);
|
|
+ std::string initialWDPath = ::core::system::getenv(kRStudioInitialWorkingDir);
|
|
|
|
// read the always restore last project user setting
|
|
bool alwaysRestoreLastProject = false;
|
|
- core::Settings uSettings;
|
|
+ ::core::Settings uSettings;
|
|
FilePath userSettingsPath = userScratchPath.childPath(kUserSettings);
|
|
Error error = uSettings.initialize(userSettingsPath);
|
|
if (error)
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/r_util/RSessionLaunchProfile.cpp rstudio-0.98.1103-fix/src/cpp/core/r_util/RSessionLaunchProfile.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/r_util/RSessionLaunchProfile.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/r_util/RSessionLaunchProfile.cpp 2015-03-08 22:23:10.804944066 +0100
|
|
@@ -28,10 +28,10 @@
|
|
|
|
namespace {
|
|
|
|
-json::Object optionsAsJson(const core::system::Options& options)
|
|
+json::Object optionsAsJson(const ::core::system::Options& options)
|
|
{
|
|
json::Object optionsJson;
|
|
- BOOST_FOREACH(const core::system::Option& option, options)
|
|
+ BOOST_FOREACH(const ::core::system::Option& option, options)
|
|
{
|
|
optionsJson[option.first] = option.second;
|
|
}
|
|
@@ -40,7 +40,7 @@
|
|
|
|
core::system::Options optionsFromJson(const json::Object& optionsJson)
|
|
{
|
|
- core::system::Options options;
|
|
+ ::core::system::Options options;
|
|
BOOST_FOREACH(const json::Member& member, optionsJson)
|
|
{
|
|
std::string name = member.first;
|
|
@@ -52,7 +52,7 @@
|
|
}
|
|
|
|
Error cpuAffinityFromJson(const json::Array& affinityJson,
|
|
- core::system::CpuAffinity* pAffinity)
|
|
+ ::core::system::CpuAffinity* pAffinity)
|
|
{
|
|
pAffinity->clear();
|
|
|
|
@@ -138,7 +138,7 @@
|
|
LOG_ERROR(error);
|
|
|
|
// read and convert cpu affinity
|
|
- core::system::CpuAffinity cpuAffinity;
|
|
+ ::core::system::CpuAffinity cpuAffinity;
|
|
json::Array cpuAffinityJson;
|
|
error = json::readObject(configJson,
|
|
"cpuAffinity", &cpuAffinityJson);
|
|
@@ -156,7 +156,7 @@
|
|
profile.config.environment = optionsFromJson(envJson);
|
|
profile.config.stdInput = stdInput;
|
|
profile.config.stdStreamBehavior =
|
|
- static_cast<core::system::StdStreamBehavior>(stdStreamBehavior);
|
|
+ static_cast< ::core::system::StdStreamBehavior>(stdStreamBehavior);
|
|
profile.config.limits.priority = priority;
|
|
profile.config.limits.memoryLimitBytes = memoryLimitBytes;
|
|
profile.config.limits.stackLimitBytes = stackLimitBytes;
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/r_util/RToolsInfo.cpp rstudio-0.98.1103-fix/src/cpp/core/r_util/RToolsInfo.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/r_util/RToolsInfo.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/r_util/RToolsInfo.cpp 2015-03-08 22:23:10.788944063 +0100
|
|
@@ -121,7 +121,7 @@
|
|
{
|
|
// strip period from name
|
|
std::string ver = boost::algorithm::replace_all_copy(name(), ".", "");
|
|
- std::string url = core::http::URL::complete(
|
|
+ std::string url = ::core::http::URL::complete(
|
|
repos, "bin/windows/Rtools/Rtools" + ver + ".exe");
|
|
return url;
|
|
}
|
|
@@ -139,7 +139,7 @@
|
|
|
|
Error scanRegistryForRTools(std::vector<RToolsInfo>* pRTools)
|
|
{
|
|
- core::system::RegistryKey regKey;
|
|
+ ::core::system::RegistryKey regKey;
|
|
Error error = regKey.open(HKEY_LOCAL_MACHINE,
|
|
"Software\\R-core\\Rtools",
|
|
KEY_READ | KEY_WOW64_32KEY);
|
|
@@ -155,7 +155,7 @@
|
|
for (int i = 0; i < keys.size(); i++)
|
|
{
|
|
std::string name = keys.at(i);
|
|
- core::system::RegistryKey verKey;
|
|
+ ::core::system::RegistryKey verKey;
|
|
error = verKey.open(regKey.handle(),
|
|
name,
|
|
KEY_READ | KEY_WOW64_32KEY);
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/r_util/RVersionsPosix.cpp rstudio-0.98.1103-fix/src/cpp/core/r_util/RVersionsPosix.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/r_util/RVersionsPosix.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/r_util/RVersionsPosix.cpp 2015-03-08 22:23:10.801944065 +0100
|
|
@@ -57,7 +57,7 @@
|
|
os << " [default]";
|
|
os << std::endl;
|
|
os << version.homeDir() << std::endl;
|
|
- BOOST_FOREACH(const core::system::Option& option, version.environment)
|
|
+ BOOST_FOREACH(const ::core::system::Option& option, version.environment)
|
|
{
|
|
os << option.first << "=" << option.second << std::endl;
|
|
}
|
|
@@ -113,7 +113,7 @@
|
|
BOOST_FOREACH(const FilePath& rScriptPath, rScriptPaths)
|
|
{
|
|
std::string rDiscoveredScriptPath, rVersion, errMsg;
|
|
- core::system::Options env;
|
|
+ ::core::system::Options env;
|
|
if (detectREnvironment(rScriptPath,
|
|
ldPathsScript,
|
|
ldLibraryPath,
|
|
@@ -147,27 +147,27 @@
|
|
{
|
|
if (!versionPath.isHidden() && (versionPath.filename() != "Current"))
|
|
{
|
|
- using namespace core::system;
|
|
- core::system::Options env;
|
|
+ using namespace ::core::system;
|
|
+ ::core::system::Options env;
|
|
FilePath rHomePath = versionPath.childPath("Resources");
|
|
FilePath rLibPath = rHomePath.childPath("lib");
|
|
- core::system::setenv(&env, "R_HOME", rHomePath.absolutePath());
|
|
- core::system::setenv(&env,
|
|
+ ::core::system::setenv(&env, "R_HOME", rHomePath.absolutePath());
|
|
+ ::core::system::setenv(&env,
|
|
"R_SHARE_DIR",
|
|
rHomePath.childPath("share").absolutePath());
|
|
- core::system::setenv(&env,
|
|
+ ::core::system::setenv(&env,
|
|
"R_INCLUDE_DIR",
|
|
rHomePath.childPath("include").absolutePath());
|
|
- core::system::setenv(&env,
|
|
+ ::core::system::setenv(&env,
|
|
"R_DOC_DIR",
|
|
rHomePath.childPath("doc").absolutePath());
|
|
- core::system::setenv(&env,
|
|
+ ::core::system::setenv(&env,
|
|
"DYLD_FALLBACK_LIBRARY_PATH",
|
|
r_util::rLibraryPath(rHomePath,
|
|
rLibPath,
|
|
ldPathsScript,
|
|
ldLibraryPath));
|
|
- core::system::setenv(&env, "R_ARCH", "/x86_64");
|
|
+ ::core::system::setenv(&env, "R_ARCH", "/x86_64");
|
|
|
|
RVersion version;
|
|
version.number = versionPath.filename();
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/Settings.cpp rstudio-0.98.1103-fix/src/cpp/core/Settings.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/Settings.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/Settings.cpp 2015-03-08 22:23:10.756944058 +0100
|
|
@@ -38,7 +38,7 @@
|
|
{
|
|
settingsFile_ = filePath ;
|
|
settingsMap_.clear() ;
|
|
- Error error = core::readStringMapFromFile(settingsFile_, &settingsMap_) ;
|
|
+ Error error = ::core::readStringMapFromFile(settingsFile_, &settingsMap_) ;
|
|
if (error)
|
|
{
|
|
// we don't consider file-not-found and error because it is a
|
|
@@ -135,7 +135,7 @@
|
|
void Settings::writeSettings()
|
|
{
|
|
isDirty_ = false;
|
|
- Error error = core::writeStringMapToFile(settingsFile_, settingsMap_) ;
|
|
+ Error error = ::core::writeStringMapToFile(settingsFile_, settingsMap_) ;
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/spelling/HunspellDictionaryManager.cpp rstudio-0.98.1103-fix/src/cpp/core/spelling/HunspellDictionaryManager.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/spelling/HunspellDictionaryManager.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/spelling/HunspellDictionaryManager.cpp 2015-03-08 22:23:10.739944055 +0100
|
|
@@ -95,7 +95,7 @@
|
|
if (error)
|
|
return error;
|
|
|
|
- core::algorithm::copy_if(children.begin(),
|
|
+ ::core::algorithm::copy_if(children.begin(),
|
|
children.end(),
|
|
std::back_inserter(*pAffFiles),
|
|
isDictionaryAff);
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/spelling/HunspellSpellingEngine.cpp rstudio-0.98.1103-fix/src/cpp/core/spelling/HunspellSpellingEngine.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/spelling/HunspellSpellingEngine.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/spelling/HunspellSpellingEngine.cpp 2015-03-08 22:23:10.736944054 +0100
|
|
@@ -160,9 +160,9 @@
|
|
{
|
|
// validate that dictionaries exist
|
|
if (!dictionary.affPath().exists())
|
|
- return core::fileNotFoundError(dictionary.affPath(), ERROR_LOCATION);
|
|
+ return ::core::fileNotFoundError(dictionary.affPath(), ERROR_LOCATION);
|
|
if (!dictionary.dicPath().exists())
|
|
- return core::fileNotFoundError(dictionary.dicPath(), ERROR_LOCATION);
|
|
+ return ::core::fileNotFoundError(dictionary.dicPath(), ERROR_LOCATION);
|
|
|
|
// convert paths to system encoding before sending to external API
|
|
std::string systemAffPath = string_utils::utf8ToSystem(
|
|
@@ -228,10 +228,10 @@
|
|
|
|
// read the file and strip the BOM
|
|
std::string contents;
|
|
- Error error = core::readStringFromFile(dicDeltaPath, &contents);
|
|
+ Error error = ::core::readStringFromFile(dicDeltaPath, &contents);
|
|
if (error)
|
|
return error;
|
|
- core::stripBOM(&contents);
|
|
+ ::core::stripBOM(&contents);
|
|
|
|
// split into lines
|
|
std::vector<std::string> lines;
|
|
@@ -355,7 +355,7 @@
|
|
bool *pAdded)
|
|
{
|
|
if (!dicPath.exists())
|
|
- return core::fileNotFoundError(dicPath, ERROR_LOCATION);
|
|
+ return ::core::fileNotFoundError(dicPath, ERROR_LOCATION);
|
|
|
|
// Convert path to system encoding before sending to external api
|
|
std::string systemDicPath = string_utils::utf8ToSystem(dicPath.absolutePath());
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/StderrLogWriter.cpp rstudio-0.98.1103-fix/src/cpp/core/StderrLogWriter.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/StderrLogWriter.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/StderrLogWriter.cpp 2015-03-08 22:23:10.816944068 +0100
|
|
@@ -41,14 +41,14 @@
|
|
}
|
|
}
|
|
|
|
-void StderrLogWriter::log(core::system::LogLevel logLevel,
|
|
+void StderrLogWriter::log(::core::system::LogLevel logLevel,
|
|
const std::string& message)
|
|
{
|
|
log(programIdentity_, logLevel, message);
|
|
}
|
|
|
|
void StderrLogWriter::log(const std::string& programIdentity,
|
|
- core::system::LogLevel logLevel,
|
|
+ ::core::system::LogLevel logLevel,
|
|
const std::string& message)
|
|
{
|
|
if (logLevel > logLevel_)
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/StringUtils.cpp rstudio-0.98.1103-fix/src/cpp/core/StringUtils.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/StringUtils.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/StringUtils.cpp 2015-03-08 22:23:10.782944062 +0100
|
|
@@ -315,7 +315,7 @@
|
|
|
|
for (size_t i = 0; i < chunks.size() && i < 4; i++)
|
|
{
|
|
- uint16_t value = core::safe_convert::stringTo<uint16_t>(
|
|
+ uint16_t value = ::core::safe_convert::stringTo<uint16_t>(
|
|
chunks[i], std::numeric_limits<uint16_t>::max());
|
|
if (value == std::numeric_limits<uint16_t>::max())
|
|
return false;
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/SyslogLogWriter.cpp rstudio-0.98.1103-fix/src/cpp/core/SyslogLogWriter.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/SyslogLogWriter.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/SyslogLogWriter.cpp 2015-03-08 22:23:10.550944023 +0100
|
|
@@ -27,7 +27,7 @@
|
|
|
|
int logPriority(int logLevel)
|
|
{
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
|
|
// map universal log entry type to posix constant
|
|
switch(logLevel)
|
|
@@ -67,7 +67,7 @@
|
|
SyslogLogWriter::SyslogLogWriter(const std::string& programIdentity,
|
|
int logLevel)
|
|
: programIdentity_(programIdentity),
|
|
- logToStderr_(core::system::stderrIsTerminal())
|
|
+ logToStderr_(::core::system::stderrIsTerminal())
|
|
{
|
|
// copy program identity into new string whose buffer will stay
|
|
// around long enough to successfully register with openlog
|
|
@@ -82,7 +82,7 @@
|
|
::setlogmask(LOG_UPTO(logPriority(logLevel)));
|
|
}
|
|
|
|
-void SyslogLogWriter::log(core::system::LogLevel logLevel,
|
|
+void SyslogLogWriter::log(::core::system::LogLevel logLevel,
|
|
const std::string& message)
|
|
{
|
|
if (logToStderr_)
|
|
@@ -99,7 +99,7 @@
|
|
}
|
|
|
|
void SyslogLogWriter::log(const std::string&,
|
|
- core::system::LogLevel logLevel,
|
|
+ ::core::system::LogLevel logLevel,
|
|
const std::string& message)
|
|
{
|
|
log(logLevel, message);
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/Environment.cpp rstudio-0.98.1103-fix/src/cpp/core/system/Environment.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/Environment.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/Environment.cpp 2015-03-08 22:23:10.669944043 +0100
|
|
@@ -52,10 +52,10 @@
|
|
|
|
void getModifiedEnv(const Options& extraVars, Options* pEnv)
|
|
{
|
|
- core::system::environment(pEnv);
|
|
+ ::core::system::environment(pEnv);
|
|
BOOST_FOREACH(const Option& var, extraVars)
|
|
{
|
|
- core::system::setenv(pEnv, var.first, var.second);
|
|
+ ::core::system::setenv(pEnv, var.first, var.second);
|
|
}
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/file_monitor/FileMonitor.cpp rstudio-0.98.1103-fix/src/cpp/core/system/file_monitor/FileMonitor.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/file_monitor/FileMonitor.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/file_monitor/FileMonitor.cpp 2015-03-08 22:23:10.685944045 +0100
|
|
@@ -86,7 +86,7 @@
|
|
|
|
bool notHidden(const FileInfo& fileInfo)
|
|
{
|
|
- return !core::system::isHiddenFile(fileInfo);
|
|
+ return !::core::system::isHiddenFile(fileInfo);
|
|
}
|
|
|
|
bool shouldTraverse(const FileInfo& fileInfo)
|
|
@@ -394,7 +394,7 @@
|
|
void run(const boost::function<void()>& checkForInput);
|
|
|
|
// register a new file monitor
|
|
-Handle registerMonitor(const core::FilePath& filePath,
|
|
+Handle registerMonitor(const ::core::FilePath& filePath,
|
|
bool recursive,
|
|
const boost::function<bool(const FileInfo&)>& filter,
|
|
const Callbacks& callbacks);
|
|
@@ -422,7 +422,7 @@
|
|
{
|
|
}
|
|
|
|
- RegistrationCommand(const core::FilePath& filePath,
|
|
+ RegistrationCommand(const ::core::FilePath& filePath,
|
|
bool recursive,
|
|
const boost::function<bool(const FileInfo&)>& filter,
|
|
const Callbacks& callbacks)
|
|
@@ -441,7 +441,7 @@
|
|
|
|
Type type() const { return type_; }
|
|
|
|
- const core::FilePath& filePath() const { return filePath_; }
|
|
+ const ::core::FilePath& filePath() const { return filePath_; }
|
|
bool recursive() const { return recursive_; }
|
|
const boost::function<bool(const FileInfo&)>& filter() const
|
|
{
|
|
@@ -459,7 +459,7 @@
|
|
Type type_;
|
|
|
|
// register command data
|
|
- core::FilePath filePath_;
|
|
+ ::core::FilePath filePath_;
|
|
bool recursive_;
|
|
boost::function<bool(const FileInfo&)> filter_;
|
|
Callbacks callbacks_;
|
|
@@ -468,18 +468,18 @@
|
|
Handle handle_;
|
|
};
|
|
|
|
-typedef core::thread::ThreadsafeQueue<RegistrationCommand>
|
|
+typedef ::core::thread::ThreadsafeQueue<RegistrationCommand>
|
|
RegistrationCommandQueue;
|
|
RegistrationCommandQueue& registrationCommandQueue()
|
|
{
|
|
- static core::thread::ThreadsafeQueue<RegistrationCommand> instance;
|
|
+ static ::core::thread::ThreadsafeQueue<RegistrationCommand> instance;
|
|
return instance;
|
|
}
|
|
|
|
-typedef core::thread::ThreadsafeQueue<boost::function<void()> > CallbackQueue;
|
|
+typedef ::core::thread::ThreadsafeQueue<boost::function<void()> > CallbackQueue;
|
|
CallbackQueue& callbackQueue()
|
|
{
|
|
- static core::thread::ThreadsafeQueue<boost::function<void()> > instance;
|
|
+ static ::core::thread::ThreadsafeQueue<boost::function<void()> > instance;
|
|
return instance;
|
|
}
|
|
|
|
@@ -622,7 +622,7 @@
|
|
void initialize()
|
|
{
|
|
s_pActiveHandles = new std::list<Handle>();
|
|
- core::thread::safeLaunchThread(fileMonitorThreadMain, &s_fileMonitorThread);
|
|
+ ::core::thread::safeLaunchThread(fileMonitorThreadMain, &s_fileMonitorThread);
|
|
}
|
|
|
|
void stop()
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/file_monitor/LinuxFileMonitor.cpp rstudio-0.98.1103-fix/src/cpp/core/system/file_monitor/LinuxFileMonitor.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/file_monitor/LinuxFileMonitor.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/file_monitor/LinuxFileMonitor.cpp 2015-03-08 22:23:10.675944044 +0100
|
|
@@ -435,7 +435,7 @@
|
|
namespace detail {
|
|
|
|
// register a new file monitor
|
|
-Handle registerMonitor(const core::FilePath& filePath,
|
|
+Handle registerMonitor(const ::core::FilePath& filePath,
|
|
bool recursive,
|
|
const boost::function<bool(const FileInfo&)>& filter,
|
|
const Callbacks& callbacks)
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/file_monitor/MacFileMonitor.cpp rstudio-0.98.1103-fix/src/cpp/core/system/file_monitor/MacFileMonitor.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/file_monitor/MacFileMonitor.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/file_monitor/MacFileMonitor.cpp 2015-03-08 22:23:10.679944044 +0100
|
|
@@ -245,7 +245,7 @@
|
|
}
|
|
|
|
// scan the files
|
|
- core::system::FileScannerOptions options;
|
|
+ ::core::system::FileScannerOptions options;
|
|
options.recursive = recursive;
|
|
options.yield = true;
|
|
options.filter = filter;
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/file_monitor/Win32FileMonitor.cpp rstudio-0.98.1103-fix/src/cpp/core/system/file_monitor/Win32FileMonitor.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/file_monitor/Win32FileMonitor.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/file_monitor/Win32FileMonitor.cpp 2015-03-08 22:23:10.690944046 +0100
|
|
@@ -492,7 +492,7 @@
|
|
namespace detail {
|
|
|
|
// register a new file monitor
|
|
-Handle registerMonitor(const core::FilePath& filePath,
|
|
+Handle registerMonitor(const ::core::FilePath& filePath,
|
|
bool recursive,
|
|
const boost::function<bool(const FileInfo&)>& filter,
|
|
const Callbacks& callbacks)
|
|
@@ -551,7 +551,7 @@
|
|
::InterlockedIncrement(&s_activeRequests);
|
|
|
|
// scan the files
|
|
- core::system::FileScannerOptions options;
|
|
+ ::core::system::FileScannerOptions options;
|
|
options.recursive = recursive;
|
|
options.yield = true;
|
|
options.filter = filter;
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/PosixChildProcess.cpp rstudio-0.98.1103-fix/src/cpp/core/system/PosixChildProcess.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/PosixChildProcess.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/PosixChildProcess.cpp 2015-03-08 22:23:10.724944052 +0100
|
|
@@ -465,7 +465,7 @@
|
|
}
|
|
|
|
// clear the child signal mask
|
|
- Error error = core::system::clearSignalMask();
|
|
+ Error error = ::core::system::clearSignalMask();
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -524,7 +524,7 @@
|
|
}
|
|
|
|
// close all open file descriptors other than std streams
|
|
- error = core::system::closeNonStdFileDescriptors();
|
|
+ error = ::core::system::closeNonStdFileDescriptors();
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -544,7 +544,7 @@
|
|
std::vector<std::string> args;
|
|
args.push_back(exe_);
|
|
args.insert(args.end(), args_.begin(), args_.end());
|
|
- using core::system::ProcessArgs;
|
|
+ using ::core::system::ProcessArgs;
|
|
ProcessArgs* pProcessArgs = new ProcessArgs(args);
|
|
|
|
if (options_.environment)
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/PosixOutputCapture.cpp rstudio-0.98.1103-fix/src/cpp/core/system/PosixOutputCapture.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/PosixOutputCapture.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/PosixOutputCapture.cpp 2015-03-08 22:23:10.664944042 +0100
|
|
@@ -155,7 +155,7 @@
|
|
{
|
|
// block all signals for launch of background thread (will cause it
|
|
// to never receive signals)
|
|
- core::system::SignalBlocker signalBlocker;
|
|
+ ::core::system::SignalBlocker signalBlocker;
|
|
Error error = signalBlocker.blockAll();
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/PosixParentProcessMonitor.cpp rstudio-0.98.1103-fix/src/cpp/core/system/PosixParentProcessMonitor.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/PosixParentProcessMonitor.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/PosixParentProcessMonitor.cpp 2015-03-08 22:23:10.667944042 +0100
|
|
@@ -41,7 +41,7 @@
|
|
char* result = ::getenv(name.c_str());
|
|
if (!result)
|
|
return defaultVal;
|
|
- return core::safe_convert::stringTo(result, defaultVal);
|
|
+ return ::core::safe_convert::stringTo(result, defaultVal);
|
|
}
|
|
|
|
void exitHandler()
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/PosixShellUtils.cpp rstudio-0.98.1103-fix/src/cpp/core/system/PosixShellUtils.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/PosixShellUtils.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/PosixShellUtils.cpp 2015-03-08 22:23:10.662944042 +0100
|
|
@@ -27,7 +27,7 @@
|
|
return "\"" + regex_replace(arg, pattern, "\\$1") + "\"";
|
|
}
|
|
|
|
-std::string escape(const core::FilePath &path)
|
|
+std::string escape(const ::core::FilePath &path)
|
|
{
|
|
return escape(string_utils::utf8ToSystem(path.absolutePath()));
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/PosixSystem.cpp rstudio-0.98.1103-fix/src/cpp/core/system/PosixSystem.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/PosixSystem.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/PosixSystem.cpp 2015-03-08 22:23:10.653944040 +0100
|
|
@@ -214,7 +214,7 @@
|
|
s_pLogWriter->setLogToStderr(logToStderr);
|
|
}
|
|
|
|
-void addLogWriter(boost::shared_ptr<core::LogWriter> pLogWriter)
|
|
+void addLogWriter(boost::shared_ptr< ::core::LogWriter> pLogWriter)
|
|
{
|
|
s_logWriters.push_back(pLogWriter);
|
|
}
|
|
@@ -477,7 +477,7 @@
|
|
|
|
namespace {
|
|
|
|
-// NOTE: this function is duplicated between here and core::system
|
|
+// NOTE: this function is duplicated between here and ::core::system
|
|
// Did this to prevent the "system" interface from allowing Posix
|
|
// constructs with Win32 no-ops to creep in (since this is used on
|
|
// Posix for forking and has no purpose on Win32)
|
|
@@ -554,8 +554,8 @@
|
|
|
|
void setStandardStreamsToDevNull()
|
|
{
|
|
- core::system::closeStdFileDescriptors();
|
|
- core::system::attachStdFileDescriptorsToDevNull();
|
|
+ ::core::system::closeStdFileDescriptors();
|
|
+ ::core::system::attachStdFileDescriptorsToDevNull();
|
|
std::ios::sync_with_stdio();
|
|
}
|
|
|
|
@@ -724,7 +724,7 @@
|
|
return error;
|
|
|
|
// attach file descriptors 0, 1, and 2 to /dev/null
|
|
- core::system::attachStdFileDescriptorsToDevNull();
|
|
+ ::core::system::attachStdFileDescriptorsToDevNull();
|
|
|
|
// note: ignoring of terminal signals are handled by an optional
|
|
// separate call (ignoreTerminalSignals)
|
|
@@ -888,9 +888,9 @@
|
|
{
|
|
// use pidof to capture pids
|
|
std::string cmd = "pidof " + process;
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runCommand(cmd,
|
|
- core::system::ProcessOptions(),
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runCommand(cmd,
|
|
+ ::core::system::ProcessOptions(),
|
|
&result);
|
|
if (error)
|
|
return error;
|
|
@@ -936,7 +936,7 @@
|
|
|
|
// read the cmdline
|
|
std::string cmdline;
|
|
- Error error = core::readStringFromFile(cmdlineFile, &cmdline);
|
|
+ Error error = ::core::readStringFromFile(cmdlineFile, &cmdline);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -968,8 +968,8 @@
|
|
}
|
|
|
|
// get the username
|
|
- core::system::user::User user;
|
|
- Error error = core::system::user::userFromId(st.st_uid, &user);
|
|
+ ::core::system::user::User user;
|
|
+ Error error = ::core::system::user::userFromId(st.st_uid, &user);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -998,9 +998,9 @@
|
|
// use ps to capture pids
|
|
std::string cmd = "ps acx | awk \"{if (\\$5==\\\"" +
|
|
process + "\\\") print \\$1}\"";
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runCommand(cmd,
|
|
- core::system::ProcessOptions(),
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runCommand(cmd,
|
|
+ ::core::system::ProcessOptions(),
|
|
&result);
|
|
if (error)
|
|
return error;
|
|
@@ -1080,7 +1080,7 @@
|
|
Error restrictCoreDumps()
|
|
{
|
|
// set allowed size of core dumps to 0 bytes
|
|
- Error error = setResourceLimit(core::system::CoreLimit, 0);
|
|
+ Error error = setResourceLimit(::core::system::CoreLimit, 0);
|
|
if (error)
|
|
return error;
|
|
|
|
@@ -1102,7 +1102,7 @@
|
|
|
|
// ulimit
|
|
RLimitType rLimitSoft, rLimitHard;
|
|
- Error error = getResourceLimit(core::system::CoreLimit,
|
|
+ Error error = getResourceLimit(::core::system::CoreLimit,
|
|
&rLimitSoft, &rLimitHard);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
@@ -1194,12 +1194,12 @@
|
|
}
|
|
|
|
void copyEnvironmentVar(const std::string& name,
|
|
- core::system::Options* pVars,
|
|
+ ::core::system::Options* pVars,
|
|
bool evenIfEmpty = false)
|
|
{
|
|
- std::string value = core::system::getenv(name);
|
|
+ std::string value = ::core::system::getenv(name);
|
|
if (!value.empty() || evenIfEmpty)
|
|
- core::system::setenv(pVars, name, value);
|
|
+ ::core::system::setenv(pVars, name, value);
|
|
}
|
|
|
|
}
|
|
@@ -1308,7 +1308,7 @@
|
|
|
|
// clear the signal mask so the child process can handle whatever
|
|
// signals it wishes to
|
|
- Error error = core::system::clearSignalMask();
|
|
+ Error error = ::core::system::clearSignalMask();
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -1337,12 +1337,12 @@
|
|
switch(config.stdStreamBehavior)
|
|
{
|
|
case StdStreamClose:
|
|
- core::system::closeStdFileDescriptors();
|
|
+ ::core::system::closeStdFileDescriptors();
|
|
break;
|
|
|
|
case StdStreamDevNull:
|
|
- core::system::closeStdFileDescriptors();
|
|
- core::system::attachStdFileDescriptorsToDevNull();
|
|
+ ::core::system::closeStdFileDescriptors();
|
|
+ ::core::system::attachStdFileDescriptorsToDevNull();
|
|
break;
|
|
|
|
case StdStreamInherit:
|
|
@@ -1352,21 +1352,21 @@
|
|
}
|
|
|
|
// setup environment
|
|
- core::system::Options env;
|
|
+ ::core::system::Options env;
|
|
copyEnvironmentVar("PATH", &env);
|
|
copyEnvironmentVar("MANPATH", &env);
|
|
copyEnvironmentVar("LANG", &env);
|
|
- core::system::setenv(&env, "USER", user.username);
|
|
- core::system::setenv(&env, "LOGNAME", user.username);
|
|
- core::system::setenv(&env, "HOME", user.homeDirectory);
|
|
+ ::core::system::setenv(&env, "USER", user.username);
|
|
+ ::core::system::setenv(&env, "LOGNAME", user.username);
|
|
+ ::core::system::setenv(&env, "HOME", user.homeDirectory);
|
|
copyEnvironmentVar("SHELL", &env);
|
|
|
|
// add custom environment vars (overriding as necessary)
|
|
- for (core::system::Options::const_iterator it = config.environment.begin();
|
|
+ for (::core::system::Options::const_iterator it = config.environment.begin();
|
|
it != config.environment.end();
|
|
++it)
|
|
{
|
|
- core::system::setenv(&env, it->first, it->second);
|
|
+ ::core::system::setenv(&env, it->first, it->second);
|
|
}
|
|
|
|
// NOTE: this implemenentation ignores the config.stdInput field (that
|
|
@@ -1375,7 +1375,7 @@
|
|
// format as ProcessArgs expects
|
|
boost::format fmt("%1%=%2%");
|
|
std::vector<std::string> envVars;
|
|
- for(core::system::Options::const_iterator it = env.begin();
|
|
+ for(::core::system::Options::const_iterator it = env.begin();
|
|
it != env.end();
|
|
++it)
|
|
{
|
|
@@ -1384,13 +1384,13 @@
|
|
|
|
// create environment args (allocate on heap so memory stays around
|
|
// after we exec (some systems including OSX seem to require this)
|
|
- core::system::ProcessArgs* pEnvironment = new core::system::ProcessArgs(
|
|
+ ::core::system::ProcessArgs* pEnvironment = new ::core::system::ProcessArgs(
|
|
envVars);
|
|
|
|
// build process args
|
|
std::vector<std::string> argVector;
|
|
argVector.push_back(path);
|
|
- for (core::system::Options::const_iterator it = config.args.begin();
|
|
+ for (::core::system::Options::const_iterator it = config.args.begin();
|
|
it != config.args.end();
|
|
++it)
|
|
{
|
|
@@ -1401,7 +1401,7 @@
|
|
|
|
// allocate ProcessArgs on heap so memory stays around after we exec
|
|
// (some systems including OSX seem to require this)
|
|
- core::system::ProcessArgs* pProcessArgs = new core::system::ProcessArgs(
|
|
+ ::core::system::ProcessArgs* pProcessArgs = new ::core::system::ProcessArgs(
|
|
argVector);
|
|
|
|
// execute child
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/System.cpp rstudio-0.98.1103-fix/src/cpp/core/system/System.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/System.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/System.cpp 2015-03-08 22:23:10.658944041 +0100
|
|
@@ -65,14 +65,14 @@
|
|
|
|
int exitFailure(const Error& error, const ErrorLocation& loggedFromLocation)
|
|
{
|
|
- core::log::logError(error, loggedFromLocation);
|
|
+ ::core::log::logError(error, loggedFromLocation);
|
|
return EXIT_FAILURE;
|
|
}
|
|
|
|
int exitFailure(const std::string& errMsg,
|
|
const ErrorLocation& loggedFromLocation)
|
|
{
|
|
- core::log::logErrorMessage(errMsg, loggedFromLocation);
|
|
+ ::core::log::logErrorMessage(errMsg, loggedFromLocation);
|
|
return EXIT_FAILURE;
|
|
}
|
|
|
|
@@ -83,8 +83,8 @@
|
|
|
|
std::string generateShortenedUuid()
|
|
{
|
|
- std::string uuid = core::system::generateUuid(false);
|
|
- return core::hash::crc32HexHash(uuid);
|
|
+ std::string uuid = ::core::system::generateUuid(false);
|
|
+ return ::core::hash::crc32HexHash(uuid);
|
|
}
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/Win32FileScanner.cpp rstudio-0.98.1103-fix/src/cpp/core/system/Win32FileScanner.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/Win32FileScanner.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/Win32FileScanner.cpp 2015-03-08 22:23:10.692944047 +0100
|
|
@@ -70,7 +70,7 @@
|
|
// interfere with the caller getting a listing of everything else
|
|
// and proceeding with its work
|
|
Error scanFiles(const tree<FileInfo>::iterator_base& fromNode,
|
|
- const core::system::FileScannerOptions& options,
|
|
+ const ::core::system::FileScannerOptions& options,
|
|
tree<FileInfo>* pTree)
|
|
{
|
|
// clear all existing
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/Win32ShellUtils.cpp rstudio-0.98.1103-fix/src/cpp/core/system/Win32ShellUtils.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/Win32ShellUtils.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/Win32ShellUtils.cpp 2015-03-08 22:23:10.671944043 +0100
|
|
@@ -30,7 +30,7 @@
|
|
return "\"" + arg + "\"";
|
|
}
|
|
|
|
-std::string escape(const core::FilePath& path)
|
|
+std::string escape(const ::core::FilePath& path)
|
|
{
|
|
return escape(string_utils::utf8ToSystem(path.absolutePath()));
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/system/Win32System.cpp rstudio-0.98.1103-fix/src/cpp/core/system/Win32System.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/system/Win32System.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/system/Win32System.cpp 2015-03-08 22:23:10.705944049 +0100
|
|
@@ -203,7 +203,7 @@
|
|
s_pLogWriter->setLogToStderr(logToStderr);
|
|
}
|
|
|
|
-void addLogWriter(boost::shared_ptr<core::LogWriter> pLogWriter)
|
|
+void addLogWriter(boost::shared_ptr< ::core::LogWriter> pLogWriter)
|
|
{
|
|
s_logWriters.push_back(pLogWriter);
|
|
}
|
|
@@ -323,8 +323,8 @@
|
|
|
|
FilePath homepathHomePath()
|
|
{
|
|
- std::string homeDrive = core::system::getenv("HOMEDRIVE");
|
|
- std::string homePath = core::system::getenv("HOMEPATH");
|
|
+ std::string homeDrive = ::core::system::getenv("HOMEDRIVE");
|
|
+ std::string homePath = ::core::system::getenv("HOMEPATH");
|
|
if (!homeDrive.empty() && !homePath.empty())
|
|
return FilePath(homeDrive + homePath);
|
|
else
|
|
@@ -333,7 +333,7 @@
|
|
|
|
FilePath homedriveHomePath()
|
|
{
|
|
- std::string homeDrive = core::system::getenv("HOMEDRIVE");
|
|
+ std::string homeDrive = ::core::system::getenv("HOMEDRIVE");
|
|
if (homeDrive.empty())
|
|
homeDrive = "C:";
|
|
return FilePath(homeDrive);
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/tex/TexLogParser.cpp rstudio-0.98.1103-fix/src/cpp/core/tex/TexLogParser.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/tex/TexLogParser.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/tex/TexLogParser.cpp 2015-03-08 22:23:10.762944058 +0100
|
|
@@ -291,7 +291,7 @@
|
|
|
|
FilePath path = compileDir.complete(logPath);
|
|
FilePath realPath;
|
|
- Error error = core::system::realPath(path, &realPath);
|
|
+ Error error = ::core::system::realPath(path, &realPath);
|
|
if (error)
|
|
{
|
|
// log any error which isn't no such file or directory
|
|
@@ -512,7 +512,7 @@
|
|
|
|
// get the lines
|
|
std::vector<std::string> lines;
|
|
- Error error = core::readStringVectorFromFile(logFilePath, &lines, false);
|
|
+ Error error = ::core::readStringVectorFromFile(logFilePath, &lines, false);
|
|
if (error)
|
|
return error;
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/tex/TexMagicComment.cpp rstudio-0.98.1103-fix/src/cpp/core/tex/TexMagicComment.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/tex/TexMagicComment.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/tex/TexMagicComment.cpp 2015-03-08 22:23:10.764944059 +0100
|
|
@@ -31,7 +31,7 @@
|
|
TexMagicComments* pComments)
|
|
{
|
|
std::vector<std::string> lines;
|
|
- Error error = core::readStringVectorFromFile(texFile, &lines);
|
|
+ Error error = ::core::readStringVectorFromFile(texFile, &lines);
|
|
if (error)
|
|
return error;
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/tex/TexSynctex.cpp rstudio-0.98.1103-fix/src/cpp/core/tex/TexSynctex.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/tex/TexSynctex.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/tex/TexSynctex.cpp 2015-03-08 22:23:10.767944059 +0100
|
|
@@ -99,7 +99,7 @@
|
|
|
|
bool Synctex::parse(const FilePath& pdfPath)
|
|
{
|
|
- using namespace core::string_utils;
|
|
+ using namespace ::core::string_utils;
|
|
pImpl_->pdfPath = pdfPath;
|
|
std::string path = utf8ToSystem(pdfPath.absolutePath());
|
|
std::string buildDir = utf8ToSystem(pdfPath.parent().absolutePath());
|
|
@@ -158,7 +158,7 @@
|
|
FilePath filePath = pImpl_->pdfPath.parent().complete(adjustedName);
|
|
|
|
// fully normalize
|
|
- Error error = core::system::realPath(filePath, &filePath);
|
|
+ Error error = ::core::system::realPath(filePath, &filePath);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/core/Thread.cpp rstudio-0.98.1103-fix/src/cpp/core/Thread.cpp
|
|
--- rstudio-0.98.1103/src/cpp/core/Thread.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/core/Thread.cpp 2015-03-08 22:23:10.552944023 +0100
|
|
@@ -27,7 +27,7 @@
|
|
{
|
|
// block all signals for launch of background thread (will cause it
|
|
// to never receive signals)
|
|
- core::system::SignalBlocker signalBlocker;
|
|
+ ::core::system::SignalBlocker signalBlocker;
|
|
Error error = signalBlocker.blockAll();
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopChooseRHome.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopChooseRHome.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopChooseRHome.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopChooseRHome.cpp 2015-03-08 22:23:09.905943913 +0100
|
|
@@ -54,7 +54,7 @@
|
|
pOK_(NULL)
|
|
{
|
|
ui->setupUi(this);
|
|
- if (!core::system::isWin64())
|
|
+ if (!::core::system::isWin64())
|
|
ui->radioDefault64->setVisible(false);
|
|
|
|
setWindowIcon(QIcon(QString::fromAscii(":/icons/RStudio.ico")));
|
|
@@ -98,7 +98,7 @@
|
|
{
|
|
if (lastDir_.isEmpty())
|
|
{
|
|
- lastDir_ = QString::fromLocal8Bit(core::system::getenv("ProgramFiles").c_str());
|
|
+ lastDir_ = QString::fromLocal8Bit(::core::system::getenv("ProgramFiles").c_str());
|
|
}
|
|
|
|
QString dir = QFileDialog::getExistingDirectory(
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopGwtCallback.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopGwtCallback.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopGwtCallback.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopGwtCallback.cpp 2015-03-08 22:23:09.803943896 +0100
|
|
@@ -119,7 +119,7 @@
|
|
|
|
FilePath userHomePath()
|
|
{
|
|
- return core::system::userHomePath("R_USER|HOME");
|
|
+ return ::core::system::userHomePath("R_USER|HOME");
|
|
}
|
|
|
|
QString createAliasedPath(const QString& path)
|
|
@@ -839,10 +839,10 @@
|
|
QString extraPathEntries)
|
|
{
|
|
// append extra path entries to our path before launching
|
|
- std::string path = core::system::getenv("PATH");
|
|
+ std::string path = ::core::system::getenv("PATH");
|
|
std::string previousPath = path;
|
|
- core::system::addToPath(&path, extraPathEntries.toStdString());
|
|
- core::system::setenv("PATH", path);
|
|
+ ::core::system::addToPath(&path, extraPathEntries.toStdString());
|
|
+ ::core::system::setenv("PATH", path);
|
|
|
|
#if defined(Q_WS_MACX)
|
|
|
|
@@ -873,9 +873,9 @@
|
|
else
|
|
{
|
|
// set HOME to USERPROFILE so msys ssh can find our keys
|
|
- std::string previousHome = core::system::getenv("HOME");
|
|
- std::string userProfile = core::system::getenv("USERPROFILE");
|
|
- core::system::setenv("HOME", userProfile);
|
|
+ std::string previousHome = ::core::system::getenv("HOME");
|
|
+ std::string userProfile = ::core::system::getenv("USERPROFILE");
|
|
+ ::core::system::setenv("HOME", userProfile);
|
|
|
|
// run the process
|
|
QProcess::startDetached(QString::fromAscii("cmd.exe"),
|
|
@@ -883,7 +883,7 @@
|
|
resolveAliasedPath(workingDirectory));
|
|
|
|
// revert to previous home
|
|
- core::system::setenv("HOME", previousHome);
|
|
+ ::core::system::setenv("HOME", previousHome);
|
|
}
|
|
|
|
|
|
@@ -909,7 +909,7 @@
|
|
#endif
|
|
|
|
// restore previous path
|
|
- core::system::setenv("PATH", previousPath);
|
|
+ ::core::system::setenv("PATH", previousPath);
|
|
}
|
|
|
|
bool isProportionalFont(QString fontFamily)
|
|
@@ -1068,7 +1068,7 @@
|
|
args.push_back(QString::fromAscii("/SILENT"));
|
|
|
|
// custom install directory
|
|
- std::string systemDrive = core::system::getenv("SYSTEMDRIVE");
|
|
+ std::string systemDrive = ::core::system::getenv("SYSTEMDRIVE");
|
|
if (!systemDrive.empty() && FilePath(systemDrive).exists())
|
|
{
|
|
std::string dir = systemDrive + "\\RBuildTools\\" + version.toStdString();
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopMain.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopMain.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopMain.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopMain.cpp 2015-03-08 22:23:09.912943915 +0100
|
|
@@ -54,7 +54,7 @@
|
|
+ QString::number(rand())
|
|
+ QString::number(rand());
|
|
std::string value = sharedSecret.toUtf8().constData();
|
|
- core::system::setenv("RS_SHARED_SECRET", value);
|
|
+ ::core::system::setenv("RS_SHARED_SECRET", value);
|
|
}
|
|
|
|
void initializeWorkingDirectory(int argc,
|
|
@@ -82,7 +82,7 @@
|
|
{
|
|
// get current path
|
|
FilePath currentPath = FilePath::safeCurrentPath(
|
|
- core::system::userHomePath());
|
|
+ ::core::system::userHomePath());
|
|
|
|
#if defined(_WIN32) || defined(__APPLE__)
|
|
|
|
@@ -93,7 +93,7 @@
|
|
// wd to the current path
|
|
|
|
FilePath exePath;
|
|
- Error error = core::system::executablePath(argv[0], &exePath);
|
|
+ Error error = ::core::system::executablePath(argv[0], &exePath);
|
|
if (!error)
|
|
{
|
|
if (!exePath.isWithin(currentPath))
|
|
@@ -108,8 +108,8 @@
|
|
|
|
// on linux we take the current working dir if we were launched
|
|
// from within a terminal
|
|
- if (core::system::stdoutIsTerminal() &&
|
|
- (currentPath != core::system::userHomePath()))
|
|
+ if (::core::system::stdoutIsTerminal() &&
|
|
+ (currentPath != ::core::system::userHomePath()))
|
|
{
|
|
workingDir = currentPath.absolutePath();
|
|
}
|
|
@@ -120,12 +120,12 @@
|
|
|
|
// set the working dir if we have one
|
|
if (!workingDir.empty())
|
|
- core::system::setenv(kRStudioInitialWorkingDir, workingDir);
|
|
+ ::core::system::setenv(kRStudioInitialWorkingDir, workingDir);
|
|
}
|
|
|
|
void setInitialProject(const FilePath& projectFile, QString* pFilename)
|
|
{
|
|
- core::system::setenv(kRStudioInitialProject, projectFile.absolutePath());
|
|
+ ::core::system::setenv(kRStudioInitialProject, projectFile.absolutePath());
|
|
pFilename->clear();
|
|
}
|
|
|
|
@@ -157,7 +157,7 @@
|
|
}
|
|
else if (ext == ".rdata" || ext == ".rda")
|
|
{
|
|
- core::system::setenv(kRStudioInitialEnvironment, filePath.absolutePath());
|
|
+ ::core::system::setenv(kRStudioInitialEnvironment, filePath.absolutePath());
|
|
pFilename->clear();
|
|
}
|
|
|
|
@@ -189,7 +189,7 @@
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
- core::system::initHook();
|
|
+ ::core::system::initHook();
|
|
|
|
try
|
|
{
|
|
@@ -197,12 +197,12 @@
|
|
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
|
|
|
|
// initialize log
|
|
- core::system::initializeLog("rdesktop",
|
|
- core::system::kLogLevelWarning,
|
|
+ ::core::system::initializeLog("rdesktop",
|
|
+ ::core::system::kLogLevelWarning,
|
|
desktop::userLogPath());
|
|
|
|
// ignore SIGPIPE
|
|
- Error error = core::system::ignoreSignal(core::system::SigPipe);
|
|
+ Error error = ::core::system::ignoreSignal(::core::system::SigPipe);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
@@ -265,7 +265,7 @@
|
|
if (desktop::options().runDiagnostics())
|
|
{
|
|
desktop::reattachConsoleIfNecessary();
|
|
- initializeStderrLog("rdesktop", core::system::kLogLevelWarning);
|
|
+ initializeStderrLog("rdesktop", ::core::system::kLogLevelWarning);
|
|
}
|
|
|
|
pApp->setAttribute(Qt::AA_MacDontSwapCtrlAndMeta);
|
|
@@ -280,7 +280,7 @@
|
|
|
|
// get install path
|
|
FilePath installPath;
|
|
- error = core::system::installPath("..", argv[0], &installPath);
|
|
+ error = ::core::system::installPath("..", argv[0], &installPath);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -331,7 +331,7 @@
|
|
}
|
|
#endif
|
|
}
|
|
- core::system::fixupExecutablePath(&sessionPath);
|
|
+ ::core::system::fixupExecutablePath(&sessionPath);
|
|
|
|
// set the scripts path in options
|
|
desktop::options().setScriptsPath(scriptsPath);
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopNetworkReply.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopNetworkReply.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopNetworkReply.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopNetworkReply.cpp 2015-03-08 22:23:09.775943891 +0100
|
|
@@ -274,7 +274,7 @@
|
|
if ((networkError.code() != boost::asio::error::operation_aborted) &&
|
|
(networkError.code() != boost::asio::error::broken_pipe) &&
|
|
(networkError.code() != boost::asio::error::eof) &&
|
|
- !core::isPathNotFoundError(networkError) )
|
|
+ !::core::isPathNotFoundError(networkError) )
|
|
{
|
|
LOG_ERROR(networkError);
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopNetworkReply.hpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopNetworkReply.hpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopNetworkReply.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopNetworkReply.hpp 2015-03-08 22:23:09.854943905 +0100
|
|
@@ -57,10 +57,10 @@
|
|
qint64 readData(char *data, qint64 maxSize);
|
|
|
|
private:
|
|
- void onResponse(const core::http::Response& response);
|
|
- void onError(const core::Error& error);
|
|
+ void onResponse(const ::core::http::Response& response);
|
|
+ void onError(const ::core::Error& error);
|
|
|
|
- void executeRequest(const core::http::Request& request);
|
|
+ void executeRequest(const ::core::http::Request& request);
|
|
|
|
private:
|
|
struct Impl;
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopOptions.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopOptions.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopOptions.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopOptions.cpp 2015-03-08 22:23:09.780943892 +0100
|
|
@@ -81,7 +81,7 @@
|
|
{
|
|
// Use a random-ish port number to avoid collisions between different
|
|
// instances of rdesktop-launched rsessions
|
|
- int base = std::abs(core::random::uniformRandomInteger<int>());
|
|
+ int base = std::abs(::core::random::uniformRandomInteger<int>());
|
|
portNumber_ = QString::number((base % 40000) + 8080);
|
|
|
|
// recalculate the local peer and set RS_LOCAL_PEER so that
|
|
@@ -95,7 +95,7 @@
|
|
QString::fromAscii("-rsession");
|
|
#endif
|
|
localPeer_ = localPeer.toUtf8().constData();
|
|
- core::system::setenv("RS_LOCAL_PEER", localPeer_);
|
|
+ ::core::system::setenv("RS_LOCAL_PEER", localPeer_);
|
|
}
|
|
|
|
return portNumber_;
|
|
@@ -246,7 +246,7 @@
|
|
|
|
bool Options::preferR64() const
|
|
{
|
|
- if (!core::system::isWin64())
|
|
+ if (!::core::system::isWin64())
|
|
return false;
|
|
|
|
if (!settings_.contains(QString::fromAscii("PreferR64")))
|
|
@@ -275,7 +275,7 @@
|
|
{
|
|
if (executablePath_.empty())
|
|
{
|
|
- Error error = core::system::executablePath(QApplication::arguments().at(0).toUtf8(),
|
|
+ Error error = ::core::system::executablePath(QApplication::arguments().at(0).toUtf8(),
|
|
&executablePath_);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
@@ -288,7 +288,7 @@
|
|
if (supportingFilePath_.empty())
|
|
{
|
|
// default to install path
|
|
- core::system::installPath("..",
|
|
+ ::core::system::installPath("..",
|
|
QApplication::arguments().at(0).toUtf8(),
|
|
&supportingFilePath_);
|
|
|
|
@@ -350,14 +350,14 @@
|
|
settings_.setValue(QString::fromAscii("ignoredUpdateVersions"), ignoredVersions);
|
|
}
|
|
|
|
-core::FilePath Options::scratchTempDir(core::FilePath defaultPath)
|
|
+core::FilePath Options::scratchTempDir(::core::FilePath defaultPath)
|
|
{
|
|
- core::FilePath dir(scratchPath.toUtf8().constData());
|
|
+ ::core::FilePath dir(scratchPath.toUtf8().constData());
|
|
|
|
if (!dir.empty() && dir.exists())
|
|
{
|
|
dir = dir.childPath("tmp");
|
|
- core::Error error = dir.ensureDirectory();
|
|
+ ::core::Error error = dir.ensureDirectory();
|
|
if (!error)
|
|
return dir;
|
|
}
|
|
@@ -366,7 +366,7 @@
|
|
|
|
void Options::cleanUpScratchTempDir()
|
|
{
|
|
- core::FilePath temp = scratchTempDir(core::FilePath());
|
|
+ ::core::FilePath temp = scratchTempDir(::core::FilePath());
|
|
if (!temp.empty())
|
|
temp.removeIfExists();
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopOptions.hpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopOptions.hpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopOptions.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopOptions.hpp 2015-03-08 22:23:09.837943902 +0100
|
|
@@ -65,23 +65,23 @@
|
|
void setPreferR64(bool preferR64);
|
|
#endif
|
|
|
|
- core::FilePath scriptsPath() const;
|
|
- void setScriptsPath(const core::FilePath& scriptsPath);
|
|
+ ::core::FilePath scriptsPath() const;
|
|
+ void setScriptsPath(const ::core::FilePath& scriptsPath);
|
|
|
|
- core::FilePath executablePath() const;
|
|
- core::FilePath supportingFilePath() const;
|
|
+ ::core::FilePath executablePath() const;
|
|
+ ::core::FilePath supportingFilePath() const;
|
|
|
|
- core::FilePath wwwDocsPath() const;
|
|
+ ::core::FilePath wwwDocsPath() const;
|
|
|
|
#ifdef _WIN32
|
|
- core::FilePath urlopenerPath() const;
|
|
- core::FilePath rsinversePath() const;
|
|
+ ::core::FilePath urlopenerPath() const;
|
|
+ ::core::FilePath rsinversePath() const;
|
|
#endif
|
|
|
|
QStringList ignoredUpdateVersions() const;
|
|
void setIgnoredUpdateVersions(const QStringList& ignoredVersions);
|
|
|
|
- core::FilePath scratchTempDir(core::FilePath defaultPath=core::FilePath());
|
|
+ ::core::FilePath scratchTempDir(::core::FilePath defaultPath=::core::FilePath());
|
|
void cleanUpScratchTempDir();
|
|
|
|
bool webkitDevTools();
|
|
@@ -98,9 +98,9 @@
|
|
friend Options& options();
|
|
|
|
QSettings settings_;
|
|
- core::FilePath scriptsPath_;
|
|
- mutable core::FilePath executablePath_;
|
|
- mutable core::FilePath supportingFilePath_;
|
|
+ ::core::FilePath scriptsPath_;
|
|
+ mutable ::core::FilePath executablePath_;
|
|
+ mutable ::core::FilePath supportingFilePath_;
|
|
mutable QString portNumber_;
|
|
mutable std::string localPeer_;
|
|
bool runDiagnostics_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopPosixDetectRHome.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopPosixDetectRHome.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopPosixDetectRHome.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopPosixDetectRHome.cpp 2015-03-08 22:23:09.895943912 +0100
|
|
@@ -52,7 +52,7 @@
|
|
{
|
|
// check for which R override
|
|
FilePath rWhichRPath;
|
|
- std::string whichROverride = core::system::getenv("RSTUDIO_WHICH_R");
|
|
+ std::string whichROverride = ::core::system::getenv("RSTUDIO_WHICH_R");
|
|
if (!whichROverride.empty())
|
|
rWhichRPath = FilePath(whichROverride);
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopRVersion.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopRVersion.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopRVersion.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopRVersion.cpp 2015-03-08 22:23:09.828943900 +0100
|
|
@@ -213,7 +213,7 @@
|
|
|
|
void enumRegistry(Architecture architecture, QList<RVersion>* pResults)
|
|
{
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
|
|
REGSAM flags;
|
|
switch (architecture)
|
|
@@ -261,7 +261,7 @@
|
|
void enumRegistry(QList<RVersion>* pResults)
|
|
{
|
|
enumRegistry(ArchX86, pResults);
|
|
- if (core::system::isWin64())
|
|
+ if (::core::system::isWin64())
|
|
enumRegistry(ArchX64, pResults);
|
|
}
|
|
|
|
@@ -295,7 +295,7 @@
|
|
|
|
RVersion detectPreferredFromRegistry(Architecture architecture)
|
|
{
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
|
|
REGSAM flags;
|
|
switch (architecture)
|
|
@@ -496,7 +496,7 @@
|
|
{
|
|
QString result;
|
|
|
|
- if (core::system::isWin64())
|
|
+ if (::core::system::isWin64())
|
|
{
|
|
if (architecture() == ArchX64)
|
|
result.append(QString::fromUtf8("[64-bit] "));
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopSessionLauncher.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopSessionLauncher.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopSessionLauncher.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopSessionLauncher.cpp 2015-03-08 22:23:09.909943914 +0100
|
|
@@ -61,7 +61,7 @@
|
|
|
|
void logEnvVar(const std::string& name)
|
|
{
|
|
- std::string value = core::system::getenv(name);
|
|
+ std::string value = ::core::system::getenv(name);
|
|
if (!value.empty())
|
|
RUN_DIAGNOSTICS_LOG(" " + name + "=" + value);
|
|
}
|
|
@@ -302,7 +302,7 @@
|
|
FilePath abendLog = abendLogPath();
|
|
if (abendLog.exists())
|
|
{
|
|
- Error error = core::readStringFromFile(abendLog, &contents);
|
|
+ Error error = ::core::readStringFromFile(abendLog, &contents);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopSessionLauncher.hpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopSessionLauncher.hpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopSessionLauncher.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopSessionLauncher.hpp 2015-03-08 22:23:09.871943908 +0100
|
|
@@ -32,8 +32,8 @@
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
- SessionLauncher(const core::FilePath& sessionPath,
|
|
- const core::FilePath& confPath)
|
|
+ SessionLauncher(const ::core::FilePath& sessionPath,
|
|
+ const ::core::FilePath& confPath)
|
|
: confPath_(confPath),
|
|
sessionPath_(sessionPath),
|
|
pAppLaunch_(NULL),
|
|
@@ -42,10 +42,10 @@
|
|
{
|
|
}
|
|
|
|
- core::Error launchFirstSession(const QString& filename,
|
|
+ ::core::Error launchFirstSession(const QString& filename,
|
|
ApplicationLaunch* pAppLaunch);
|
|
|
|
- core::Error launchNextSession(bool reload);
|
|
+ ::core::Error launchNextSession(bool reload);
|
|
|
|
QString launchFailedErrorMessage() const;
|
|
|
|
@@ -61,7 +61,7 @@
|
|
|
|
void closeAllSatillites();
|
|
|
|
- core::Error launchSession(const QStringList& argList,
|
|
+ ::core::Error launchSession(const QStringList& argList,
|
|
QProcess** ppRSessionProcess);
|
|
|
|
void buildLaunchContext(QString* pHost,
|
|
@@ -71,8 +71,8 @@
|
|
|
|
|
|
private:
|
|
- core::FilePath confPath_;
|
|
- core::FilePath sessionPath_;
|
|
+ ::core::FilePath confPath_;
|
|
+ ::core::FilePath sessionPath_;
|
|
ApplicationLaunch* pAppLaunch_;
|
|
MainWindow* pMainWindow_;
|
|
QProcess* pRSessionProcess_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopSynctex.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopSynctex.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopSynctex.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopSynctex.cpp 2015-03-08 22:23:09.863943906 +0100
|
|
@@ -56,9 +56,9 @@
|
|
SynctexViewerInfo discoverViewer()
|
|
{
|
|
// probe for evince version
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runCommand("evince --version",
|
|
- core::system::ProcessOptions(),
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runCommand("evince --version",
|
|
+ ::core::system::ProcessOptions(),
|
|
&result);
|
|
if (error)
|
|
{
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopUtils.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopUtils.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopUtils.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopUtils.cpp 2015-03-08 22:23:09.835943901 +0100
|
|
@@ -60,8 +60,8 @@
|
|
// SessionOptions.hpp although the code path isn't exactly the same)
|
|
FilePath userLogPath()
|
|
{
|
|
- FilePath userHomePath = core::system::userHomePath("R_USER|HOME");
|
|
- FilePath logPath = core::system::userSettingsPath(
|
|
+ FilePath userHomePath = ::core::system::userHomePath("R_USER|HOME");
|
|
+ FilePath logPath = ::core::system::userSettingsPath(
|
|
userHomePath,
|
|
"RStudio-Desktop").childPath("log");
|
|
return logPath;
|
|
@@ -254,15 +254,15 @@
|
|
}
|
|
else
|
|
{
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.breakawayFromJob = true;
|
|
options.detachProcess = true;
|
|
|
|
std::vector<std::string> args;
|
|
args.push_back(url.toString().toStdString());
|
|
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runProgram(
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runProgram(
|
|
desktop::options().urlopenerPath().absolutePath(),
|
|
args,
|
|
"",
|
|
@@ -283,7 +283,7 @@
|
|
QFileDialog::Options standardFileDialogOptions()
|
|
{
|
|
bool isWindowsXP = QSysInfo::windowsVersion() == QSysInfo::WV_XP;
|
|
- if (isWindowsXP || core::system::isWin64())
|
|
+ if (isWindowsXP || ::core::system::isWin64())
|
|
return 0;
|
|
else
|
|
return QFileDialog::DontUseNativeDialog;
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopWebView.cpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopWebView.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopWebView.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopWebView.cpp 2015-03-08 22:23:09.859943906 +0100
|
|
@@ -38,7 +38,7 @@
|
|
dpiZoomScaling_(getDpiZoomScaling())
|
|
{
|
|
#ifdef Q_WS_X11
|
|
- if (!core::system::getenv("KDE_FULL_SESSION").empty())
|
|
+ if (!::core::system::getenv("KDE_FULL_SESSION").empty())
|
|
setStyle(new QPlastiqueStyle());
|
|
#endif
|
|
pWebPage_ = new WebPage(baseUrl, this);
|
|
@@ -191,7 +191,7 @@
|
|
if (contentType.contains(QRegExp(QString::fromAscii("^\\s*application/pdf($|;)"),
|
|
Qt::CaseInsensitive)))
|
|
{
|
|
- core::FilePath dir(options().scratchTempDir());
|
|
+ ::core::FilePath dir(options().scratchTempDir());
|
|
|
|
QTemporaryFile pdfFile(QString::fromUtf8(
|
|
dir.childPath("rstudio-XXXXXX.pdf").absolutePath().c_str()));
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/DesktopWordViewer.hpp rstudio-0.98.1103-fix/src/cpp/desktop/DesktopWordViewer.hpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/DesktopWordViewer.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/DesktopWordViewer.hpp 2015-03-08 22:23:09.788943893 +0100
|
|
@@ -29,16 +29,16 @@
|
|
public:
|
|
WordViewer();
|
|
~WordViewer();
|
|
- core::Error showDocument(QString& path);
|
|
- core::Error closeLastViewedDocument();
|
|
+ ::core::Error showDocument(QString& path);
|
|
+ ::core::Error closeLastViewedDocument();
|
|
|
|
private:
|
|
- core::Error openDocument(QString& path, IDispatch* idispDocs,
|
|
+ ::core::Error openDocument(QString& path, IDispatch* idispDocs,
|
|
IDispatch** pidispDoc);
|
|
- core::Error showWord();
|
|
- core::Error getDocumentPosition(IDispatch* idispPos, int* pxPos, int* pyPos);
|
|
- core::Error setDocumentPosition(IDispatch* idispPos, int xPos, int yPos);
|
|
- core::Error getDocumentByPath(QString& path, IDispatch** pidispDoc);
|
|
+ ::core::Error showWord();
|
|
+ ::core::Error getDocumentPosition(IDispatch* idispPos, int* pxPos, int* pyPos);
|
|
+ ::core::Error setDocumentPosition(IDispatch* idispPos, int xPos, int yPos);
|
|
+ ::core::Error getDocumentByPath(QString& path, IDispatch** pidispDoc);
|
|
IDispatch* idispWord_;
|
|
int docScrollX_;
|
|
int docScrollY_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/synctex/evince/EvinceSynctex.cpp rstudio-0.98.1103-fix/src/cpp/desktop/synctex/evince/EvinceSynctex.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/synctex/evince/EvinceSynctex.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/synctex/evince/EvinceSynctex.cpp 2015-03-08 22:23:09.750943887 +0100
|
|
@@ -41,7 +41,7 @@
|
|
std::string msg = boost::str(fmt % error.type() %
|
|
error.name().toStdString() %
|
|
error.message().toStdString());
|
|
- core::log::logErrorMessage(msg, location);
|
|
+ ::core::log::logErrorMessage(msg, location);
|
|
}
|
|
|
|
} // anonymous namespace
|
|
@@ -160,7 +160,7 @@
|
|
QDBusPendingReply<> reply = pWindow->SyncView(
|
|
srcFile,
|
|
srcLoc,
|
|
- core::date_time::secondsSinceEpoch());
|
|
+ ::core::date_time::secondsSinceEpoch());
|
|
|
|
// wait for the results asynchronously
|
|
QDBusPendingCallWatcher* pWatcher = new QDBusPendingCallWatcher(reply,
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/synctex/rsinverse/RsInverseMain.cpp rstudio-0.98.1103-fix/src/cpp/desktop/synctex/rsinverse/RsInverseMain.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/synctex/rsinverse/RsInverseMain.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/synctex/rsinverse/RsInverseMain.cpp 2015-03-08 22:23:09.745943886 +0100
|
|
@@ -44,10 +44,10 @@
|
|
try
|
|
{
|
|
// initialize log
|
|
- initializeSystemLog("rsinverse", core::system::kLogLevelWarning);
|
|
+ initializeSystemLog("rsinverse", ::core::system::kLogLevelWarning);
|
|
|
|
// ignore SIGPIPE
|
|
- Error error = core::system::ignoreSignal(core::system::SigPipe);
|
|
+ Error error = ::core::system::ignoreSignal(::core::system::SigPipe);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
@@ -75,7 +75,7 @@
|
|
"line of code to navigate to");
|
|
|
|
// define program options (allow positional specification)
|
|
- core::program_options::OptionsDescription optDesc("rsinverse");
|
|
+ ::core::program_options::OptionsDescription optDesc("rsinverse");
|
|
optDesc.commandLine.add(rsinverseOptions);
|
|
optDesc.positionalOptions.add("hwnd", 1);
|
|
optDesc.positionalOptions.add("port", 1);
|
|
@@ -84,7 +84,7 @@
|
|
optDesc.positionalOptions.add("line", 1);
|
|
|
|
// read options
|
|
- ProgramStatus status = core::program_options::read(optDesc, argc, argv);
|
|
+ ProgramStatus status = ::core::program_options::read(optDesc, argc, argv);
|
|
if (status.exit())
|
|
return status.exitCode();
|
|
|
|
@@ -105,7 +105,7 @@
|
|
|
|
// enocde the source file and line as a query string
|
|
std::string requestBody;
|
|
- core::http::Fields args;
|
|
+ ::core::http::Fields args;
|
|
args.push_back(std::make_pair("source-file", sourceFile));
|
|
args.push_back(std::make_pair("line",
|
|
safe_convert::numberToString(line)));
|
|
@@ -127,7 +127,7 @@
|
|
|
|
// send it
|
|
http::Response response;
|
|
- std::string pipeName = core::system::getenv("RS_LOCAL_PEER");
|
|
+ std::string pipeName = ::core::system::getenv("RS_LOCAL_PEER");
|
|
error = http::sendRequest(pipeName,
|
|
request,
|
|
http::ConnectionRetryProfile(
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/synctex/sumatra/SumatraSynctex.cpp rstudio-0.98.1103-fix/src/cpp/desktop/synctex/sumatra/SumatraSynctex.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/synctex/sumatra/SumatraSynctex.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/synctex/sumatra/SumatraSynctex.cpp 2015-03-08 22:23:09.763943889 +0100
|
|
@@ -68,7 +68,7 @@
|
|
|
|
// shared secret
|
|
cmdFormat.append(
|
|
- QString::fromStdString(core::system::getenv("RS_SHARED_SECRET")));
|
|
+ QString::fromStdString(::core::system::getenv("RS_SHARED_SECRET")));
|
|
cmdFormat.append(space);
|
|
|
|
// file and line placeholders
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop/urlopener/UrlOpenerMain.cpp rstudio-0.98.1103-fix/src/cpp/desktop/urlopener/UrlOpenerMain.cpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop/urlopener/UrlOpenerMain.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop/urlopener/UrlOpenerMain.cpp 2015-03-08 22:23:09.818943899 +0100
|
|
@@ -27,7 +27,7 @@
|
|
try
|
|
{
|
|
// initialize log
|
|
- initializeSystemLog("urlopener", core::system::kLogLevelWarning);
|
|
+ initializeSystemLog("urlopener", ::core::system::kLogLevelWarning);
|
|
|
|
// check arguments
|
|
if (argc < 2)
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop-mac/Options.hpp rstudio-0.98.1103-fix/src/cpp/desktop-mac/Options.hpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop-mac/Options.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop-mac/Options.hpp 2015-03-08 22:23:09.920943916 +0100
|
|
@@ -52,13 +52,13 @@
|
|
int zoomLevel() const;
|
|
void setZoomLevel(int zoomLevel);
|
|
|
|
- core::FilePath scriptsPath() const;
|
|
- void setScriptsPath(const core::FilePath& scriptsPath);
|
|
+ ::core::FilePath scriptsPath() const;
|
|
+ void setScriptsPath(const ::core::FilePath& scriptsPath);
|
|
|
|
- core::FilePath executablePath() const;
|
|
- core::FilePath supportingFilePath() const;
|
|
+ ::core::FilePath executablePath() const;
|
|
+ ::core::FilePath supportingFilePath() const;
|
|
|
|
- core::FilePath wwwDocsPath() const;
|
|
+ ::core::FilePath wwwDocsPath() const;
|
|
|
|
std::vector<std::string> ignoredUpdateVersions() const;
|
|
void setIgnoredUpdateVersions(const std::vector<std::string>& ignored);
|
|
@@ -67,9 +67,9 @@
|
|
|
|
private:
|
|
std::string sharedSecret_;
|
|
- core::FilePath scriptsPath_;
|
|
- mutable core::FilePath executablePath_;
|
|
- mutable core::FilePath supportingFilePath_;
|
|
+ ::core::FilePath scriptsPath_;
|
|
+ mutable ::core::FilePath executablePath_;
|
|
+ mutable ::core::FilePath supportingFilePath_;
|
|
mutable std::string portNumber_;
|
|
bool runDiagnostics_;
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/desktop-mac/SessionLauncher.hpp rstudio-0.98.1103-fix/src/cpp/desktop-mac/SessionLauncher.hpp
|
|
--- rstudio-0.98.1103/src/cpp/desktop-mac/SessionLauncher.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/desktop-mac/SessionLauncher.hpp 2015-03-08 22:23:09.922943916 +0100
|
|
@@ -48,14 +48,14 @@
|
|
friend SessionLauncher& sessionLauncher();
|
|
|
|
public:
|
|
- void init(const core::FilePath& sessionPath,
|
|
- const core::FilePath& confPath);
|
|
+ void init(const ::core::FilePath& sessionPath,
|
|
+ const ::core::FilePath& confPath);
|
|
|
|
bool sessionProcessActive() { return sessionProcessActive_; }
|
|
|
|
void setPendingQuit(PendingQuit pendingQuit);
|
|
|
|
- core::Error launchFirstSession(const std::string& filename);
|
|
+ ::core::Error launchFirstSession(const std::string& filename);
|
|
|
|
void launchNextSession(bool reload);
|
|
|
|
@@ -72,20 +72,20 @@
|
|
std::vector<std::string>* pArgList,
|
|
std::string* pUrl) const;
|
|
|
|
- core::Error launchSession(const std::string& host,
|
|
+ ::core::Error launchSession(const std::string& host,
|
|
const std::string& port,
|
|
std::vector<std::string> args);
|
|
|
|
|
|
- void onRSessionExited(const core::system::ProcessResult& result);
|
|
+ void onRSessionExited(const ::core::system::ProcessResult& result);
|
|
|
|
std::string collectAbendLogMessage();
|
|
|
|
void closeAllWindows();
|
|
|
|
private:
|
|
- core::FilePath confPath_;
|
|
- core::FilePath sessionPath_;
|
|
+ ::core::FilePath confPath_;
|
|
+ ::core::FilePath sessionPath_;
|
|
std::string sessionStderr_;
|
|
PendingQuit pendingQuit_;
|
|
bool sessionProcessActive_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/diagnostics/DiagnosticsMain.cpp rstudio-0.98.1103-fix/src/cpp/diagnostics/DiagnosticsMain.cpp
|
|
--- rstudio-0.98.1103/src/cpp/diagnostics/DiagnosticsMain.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/diagnostics/DiagnosticsMain.cpp 2015-03-08 22:23:09.713943881 +0100
|
|
@@ -32,14 +32,14 @@
|
|
|
|
FilePath homePath()
|
|
{
|
|
- return core::system::userHomePath("R_USER|HOME");
|
|
+ return ::core::system::userHomePath("R_USER|HOME");
|
|
}
|
|
|
|
// NOTE: this code is duplicated in diagnostics as well (and also in
|
|
// SessionOptions.hpp although the code path isn't exactly the same)
|
|
FilePath userLogPath()
|
|
{
|
|
- FilePath logPath = core::system::userSettingsPath(
|
|
+ FilePath logPath = ::core::system::userSettingsPath(
|
|
homePath(),
|
|
"RStudio-Desktop"
|
|
).childPath("log");
|
|
@@ -56,7 +56,7 @@
|
|
if (logFilePath.exists())
|
|
{
|
|
std::string contents;
|
|
- Error error = core::readStringFromFile(logFilePath, &contents);
|
|
+ Error error = ::core::readStringFromFile(logFilePath, &contents);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
if (contents.empty())
|
|
@@ -76,16 +76,16 @@
|
|
|
|
int main(int argc, char** argv)
|
|
{
|
|
- core::system::initializeStderrLog("rstudio-diagnostics",
|
|
- core::system::kLogLevelWarning);
|
|
+ ::core::system::initializeStderrLog("rstudio-diagnostics",
|
|
+ ::core::system::kLogLevelWarning);
|
|
|
|
// ignore SIGPIPE
|
|
- Error error = core::system::ignoreSignal(core::system::SigPipe);
|
|
+ Error error = ::core::system::ignoreSignal(::core::system::SigPipe);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
writeLogFile("rdesktop.log", std::cout);
|
|
- writeLogFile("rsession-" + core::system::username() + ".log", std::cout);
|
|
+ writeLogFile("rsession-" + ::core::system::username() + ".log", std::cout);
|
|
|
|
return EXIT_SUCCESS;
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/monitor/events/Event.cpp rstudio-0.98.1103-fix/src/cpp/monitor/events/Event.cpp
|
|
--- rstudio-0.98.1103/src/cpp/monitor/events/Event.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/monitor/events/Event.cpp 2015-03-08 22:23:11.313944152 +0100
|
|
@@ -69,7 +69,7 @@
|
|
|
|
ostr << " - ";
|
|
ostr << event.username() << " [" << event.pid() << "] - ";
|
|
- ostr << core::http::util::httpDate(event.timestamp());
|
|
+ ostr << ::core::http::util::httpDate(event.timestamp());
|
|
if (!event.data().empty())
|
|
{
|
|
ostr << " - " << event.data();
|
|
diff -ru rstudio-0.98.1103/src/cpp/monitor/include/monitor/events/Event.hpp rstudio-0.98.1103-fix/src/cpp/monitor/include/monitor/events/Event.hpp
|
|
--- rstudio-0.98.1103/src/cpp/monitor/include/monitor/events/Event.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/monitor/include/monitor/events/Event.hpp 2015-03-08 22:23:11.320944153 +0100
|
|
@@ -50,8 +50,8 @@
|
|
Event(EventScope scope,
|
|
int id,
|
|
const std::string& data = std::string(),
|
|
- const std::string& username = core::system::username(),
|
|
- PidType pid = core::system::currentProcessId(),
|
|
+ const std::string& username = ::core::system::username(),
|
|
+ PidType pid = ::core::system::currentProcessId(),
|
|
boost::posix_time::ptime timestamp =
|
|
boost::posix_time::microsec_clock::universal_time())
|
|
: empty_(false),
|
|
diff -ru rstudio-0.98.1103/src/cpp/monitor/include/monitor/metrics/Metric.hpp rstudio-0.98.1103-fix/src/cpp/monitor/include/monitor/metrics/Metric.hpp
|
|
--- rstudio-0.98.1103/src/cpp/monitor/include/monitor/metrics/Metric.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/monitor/include/monitor/metrics/Metric.hpp 2015-03-08 22:23:11.326944154 +0100
|
|
@@ -147,11 +147,11 @@
|
|
|
|
// json serialization
|
|
core::json::Object metricToJson(const Metric& metric);
|
|
-core::Error metricFromJson(const core::json::Object& metricJson,
|
|
+core::Error metricFromJson(const ::core::json::Object& metricJson,
|
|
Metric* pMetric);
|
|
|
|
core::json::Object metricToJson(const MultiMetric& multiMetric);
|
|
-core::Error metricFromJson(const core::json::Object& multiMetricJson,
|
|
+core::Error metricFromJson(const ::core::json::Object& multiMetricJson,
|
|
MultiMetric* pMultiMetric);
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/monitor/include/monitor/MonitorClient.hpp rstudio-0.98.1103-fix/src/cpp/monitor/include/monitor/MonitorClient.hpp
|
|
--- rstudio-0.98.1103/src/cpp/monitor/include/monitor/MonitorClient.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/monitor/include/monitor/MonitorClient.hpp 2015-03-08 22:23:11.324944154 +0100
|
|
@@ -44,10 +44,10 @@
|
|
virtual ~Client() {}
|
|
|
|
virtual void logMessage(const std::string& programIdentity,
|
|
- core::system::LogLevel level,
|
|
+ ::core::system::LogLevel level,
|
|
const std::string& message) = 0;
|
|
|
|
- boost::shared_ptr<core::LogWriter> createLogWriter(
|
|
+ boost::shared_ptr< ::core::LogWriter> createLogWriter(
|
|
const std::string& programIdentity);
|
|
|
|
virtual void sendMetrics(const std::vector<metrics::Metric>& metrics) = 0;
|
|
diff -ru rstudio-0.98.1103/src/cpp/monitor/MonitorClient.cpp rstudio-0.98.1103-fix/src/cpp/monitor/MonitorClient.cpp
|
|
--- rstudio-0.98.1103/src/cpp/monitor/MonitorClient.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/monitor/MonitorClient.cpp 2015-03-08 22:23:11.315944152 +0100
|
|
@@ -21,7 +21,7 @@
|
|
|
|
namespace {
|
|
|
|
-class MonitorLogWriter : public core::LogWriter
|
|
+class MonitorLogWriter : public ::core::LogWriter
|
|
{
|
|
public:
|
|
MonitorLogWriter(const std::string& programIdentity)
|
|
@@ -29,13 +29,13 @@
|
|
{
|
|
}
|
|
|
|
- virtual void log(core::system::LogLevel level, const std::string& message)
|
|
+ virtual void log(::core::system::LogLevel level, const std::string& message)
|
|
{
|
|
log(programIdentity_, level, message);
|
|
}
|
|
|
|
virtual void log(const std::string& programIdentity,
|
|
- core::system::LogLevel level,
|
|
+ ::core::system::LogLevel level,
|
|
const std::string& message)
|
|
{
|
|
client().logMessage(programIdentity, level, message);
|
|
@@ -51,10 +51,10 @@
|
|
|
|
} // anonymous namespace
|
|
|
|
-boost::shared_ptr<core::LogWriter> Client::createLogWriter(
|
|
+boost::shared_ptr< ::core::LogWriter> Client::createLogWriter(
|
|
const std::string& programIdentity)
|
|
{
|
|
- return boost::shared_ptr<core::LogWriter>(
|
|
+ return boost::shared_ptr< ::core::LogWriter>(
|
|
new MonitorLogWriter(programIdentity));
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/monitor/MonitorClientImpl.hpp rstudio-0.98.1103-fix/src/cpp/monitor/MonitorClientImpl.hpp
|
|
--- rstudio-0.98.1103/src/cpp/monitor/MonitorClientImpl.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/monitor/MonitorClientImpl.hpp 2015-03-08 22:23:11.309944151 +0100
|
|
@@ -30,7 +30,7 @@
|
|
}
|
|
|
|
void logMessage(const std::string& programIdentity,
|
|
- core::system::LogLevel level,
|
|
+ ::core::system::LogLevel level,
|
|
const std::string& message);
|
|
|
|
void sendMetrics(const std::vector<metrics::Metric>& metrics);
|
|
@@ -52,7 +52,7 @@
|
|
}
|
|
|
|
void logMessage(const std::string& programIdentity,
|
|
- core::system::LogLevel level,
|
|
+ ::core::system::LogLevel level,
|
|
const std::string& message);
|
|
|
|
void sendMetrics(const std::vector<metrics::Metric>& metrics);
|
|
diff -ru rstudio-0.98.1103/src/cpp/monitor/MonitorClientOverlay.cpp rstudio-0.98.1103-fix/src/cpp/monitor/MonitorClientOverlay.cpp
|
|
--- rstudio-0.98.1103/src/cpp/monitor/MonitorClientOverlay.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/monitor/MonitorClientOverlay.cpp 2015-03-08 22:23:11.311944151 +0100
|
|
@@ -19,7 +19,7 @@
|
|
namespace monitor {
|
|
|
|
void SyncClient::logMessage(const std::string& programIdentity,
|
|
- core::system::LogLevel level,
|
|
+ ::core::system::LogLevel level,
|
|
const std::string& message)
|
|
{
|
|
}
|
|
@@ -34,7 +34,7 @@
|
|
}
|
|
|
|
void AsyncClient::logMessage(const std::string& programIdentity,
|
|
- core::system::LogLevel level,
|
|
+ ::core::system::LogLevel level,
|
|
const std::string& message)
|
|
{
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/RErrorCategory.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/RErrorCategory.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/RErrorCategory.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/RErrorCategory.hpp 2015-03-08 22:23:11.300944150 +0100
|
|
@@ -68,14 +68,14 @@
|
|
|
|
|
|
core::Error rCodeExecutionError(const std::string& errMsg,
|
|
- const core::ErrorLocation& location);
|
|
+ const ::core::ErrorLocation& location);
|
|
|
|
-bool isCodeExecutionError(const core::Error& error,
|
|
+bool isCodeExecutionError(const ::core::Error& error,
|
|
std::string* pErrMsg = NULL);
|
|
|
|
// use the error message generated by R for code execution errors,
|
|
// otherwise use error.message()
|
|
-std::string endUserErrorMessage(const core::Error& error);
|
|
+std::string endUserErrorMessage(const ::core::Error& error);
|
|
|
|
|
|
} // namespace r
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/RExec.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/RExec.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/RExec.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/RExec.hpp 2015-03-08 22:23:11.267944144 +0100
|
|
@@ -80,7 +80,7 @@
|
|
{
|
|
sexp::Protect rProtect;
|
|
SEXP valueSEXP ;
|
|
- core::Error error = evaluateString(str, &valueSEXP, &rProtect);
|
|
+ ::core::Error error = evaluateString(str, &valueSEXP, &rProtect);
|
|
if (error)
|
|
return error ;
|
|
|
|
@@ -174,27 +174,27 @@
|
|
params_.push_back(Param(name, paramSEXP));
|
|
}
|
|
|
|
- core::Error call(SEXP evalNS = R_GlobalEnv, bool safely = true);
|
|
- core::Error callUnsafe();
|
|
+ ::core::Error call(SEXP evalNS = R_GlobalEnv, bool safely = true);
|
|
+ ::core::Error callUnsafe();
|
|
|
|
- core::Error call(SEXP* pResultSEXP, sexp::Protect* pProtect);
|
|
- core::Error call(SEXP evalNS, SEXP* pResultSEXP, sexp::Protect* pProtect);
|
|
- core::Error call(SEXP evalNS, bool safely, SEXP* pResultSEXP,
|
|
+ ::core::Error call(SEXP* pResultSEXP, sexp::Protect* pProtect);
|
|
+ ::core::Error call(SEXP evalNS, SEXP* pResultSEXP, sexp::Protect* pProtect);
|
|
+ ::core::Error call(SEXP evalNS, bool safely, SEXP* pResultSEXP,
|
|
sexp::Protect* pProtect);
|
|
|
|
template <typename T>
|
|
- core::Error call(T* pValue)
|
|
+ ::core::Error call(T* pValue)
|
|
{
|
|
return call(R_GlobalEnv, pValue);
|
|
}
|
|
|
|
template <typename T>
|
|
- core::Error call(SEXP evalNS, T* pValue)
|
|
+ ::core::Error call(SEXP evalNS, T* pValue)
|
|
{
|
|
// call the function
|
|
sexp::Protect rProtect;
|
|
SEXP resultSEXP ;
|
|
- core::Error error = call(evalNS, &resultSEXP, &rProtect);
|
|
+ ::core::Error error = call(evalNS, &resultSEXP, &rProtect);
|
|
if (error)
|
|
return error ;
|
|
|
|
@@ -274,7 +274,7 @@
|
|
virtual ~IgnoreInterruptsScope();
|
|
private:
|
|
bool previousInterruptsSuspended_ ;
|
|
- boost::scoped_ptr<core::system::SignalBlocker> pSignalBlocker_;
|
|
+ boost::scoped_ptr< ::core::system::SignalBlocker> pSignalBlocker_;
|
|
};
|
|
|
|
// returns true if the global context is on the top (i.e. the context stack is
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/RJson.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/RJson.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/RJson.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/RJson.hpp 2015-03-08 22:23:11.278944146 +0100
|
|
@@ -31,10 +31,10 @@
|
|
namespace r {
|
|
namespace json {
|
|
|
|
-core::Error jsonValueFromScalar(SEXP scalarSEXP, core::json::Value* pValue);
|
|
-core::Error jsonValueFromVector(SEXP vectorSEXP, core::json::Value* pValue);
|
|
-core::Error jsonValueFromList(SEXP listSEXP, core::json::Value* pValue);
|
|
-core::Error jsonValueFromObject(SEXP objectSEXP, core::json::Value* pValue);
|
|
+core::Error jsonValueFromScalar(SEXP scalarSEXP, ::core::json::Value* pValue);
|
|
+core::Error jsonValueFromVector(SEXP vectorSEXP, ::core::json::Value* pValue);
|
|
+core::Error jsonValueFromList(SEXP listSEXP, ::core::json::Value* pValue);
|
|
+core::Error jsonValueFromObject(SEXP objectSEXP, ::core::json::Value* pValue);
|
|
|
|
} // namespace json
|
|
} // namesapce r
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/RJsonRpc.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/RJsonRpc.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/RJsonRpc.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/RJsonRpc.hpp 2015-03-08 22:23:11.272944145 +0100
|
|
@@ -30,7 +30,7 @@
|
|
namespace r {
|
|
namespace json {
|
|
|
|
-core::Error getRpcMethods(core::json::JsonRpcMethods* pMethods);
|
|
+core::Error getRpcMethods(::core::json::JsonRpcMethods* pMethods);
|
|
|
|
} // namespace json
|
|
} // namesapce r
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/ROptions.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/ROptions.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/ROptions.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/ROptions.hpp 2015-03-08 22:23:11.304944150 +0100
|
|
@@ -35,8 +35,8 @@
|
|
namespace r {
|
|
namespace options {
|
|
|
|
-core::Error saveOptions(const core::FilePath& filePath);
|
|
-core::Error restoreOptions(const core::FilePath& filePath);
|
|
+core::Error saveOptions(const ::core::FilePath& filePath);
|
|
+core::Error restoreOptions(const ::core::FilePath& filePath);
|
|
|
|
// console width
|
|
extern const int kDefaultWidth;
|
|
@@ -60,7 +60,7 @@
|
|
if (valueSEXP != R_NilValue)
|
|
{
|
|
T value;
|
|
- core::Error error = sexp::extract(valueSEXP, &value);
|
|
+ ::core::Error error = sexp::extract(valueSEXP, &value);
|
|
if (error)
|
|
{
|
|
error.addProperty("symbol (option)", name);
|
|
@@ -72,7 +72,7 @@
|
|
}
|
|
else
|
|
{
|
|
- core::Error error(errc::SymbolNotFoundError, ERROR_LOCATION);
|
|
+ ::core::Error error(errc::SymbolNotFoundError, ERROR_LOCATION);
|
|
error.addProperty("symbol (option)", name);
|
|
if (logNotFound)
|
|
LOG_ERROR(error);
|
|
@@ -85,7 +85,7 @@
|
|
{
|
|
r::exec::RFunction optionsFunction("options");
|
|
optionsFunction.addParam(name, value);
|
|
- core::Error error = optionsFunction.call();
|
|
+ ::core::Error error = optionsFunction.call();
|
|
if (error)
|
|
{
|
|
error.addProperty("option-name", name);
|
|
@@ -93,7 +93,7 @@
|
|
}
|
|
else
|
|
{
|
|
- return core::Success();
|
|
+ return ::core::Success();
|
|
}
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/RSexp.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/RSexp.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/RSexp.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/RSexp.hpp 2015-03-08 22:23:11.307944151 +0100
|
|
@@ -103,7 +103,7 @@
|
|
core::Error extract(SEXP valueSEXP, std::vector<std::string>* pVector);
|
|
|
|
// create SEXP from c++ type
|
|
-SEXP create(const core::json::Value& value, Protect* pProtect);
|
|
+SEXP create(const ::core::json::Value& value, Protect* pProtect);
|
|
SEXP create(const char* value, Protect* pProtect);
|
|
SEXP create(const std::string& value, Protect* pProtect);
|
|
SEXP create(int value, Protect* pProtect);
|
|
@@ -118,15 +118,15 @@
|
|
|
|
SEXP create(const std::vector<std::pair<std::string,std::string> >& value,
|
|
Protect* pProtect);
|
|
-SEXP create(const core::json::Array& value, Protect* pProtect);
|
|
-SEXP create(const core::json::Object& value, Protect* pProtect);
|
|
+SEXP create(const ::core::json::Array& value, Protect* pProtect);
|
|
+SEXP create(const ::core::json::Object& value, Protect* pProtect);
|
|
|
|
|
|
inline int indexOfElementNamed(SEXP listSEXP, const std::string& name)
|
|
{
|
|
// get the names so we can determine which slot the element is in are in
|
|
std::vector<std::string> names;
|
|
- core::Error error = r::sexp::getNames(listSEXP, &names);
|
|
+ ::core::Error error = r::sexp::getNames(listSEXP, &names);
|
|
if (error)
|
|
return -1;
|
|
|
|
@@ -155,7 +155,7 @@
|
|
T* pValue)
|
|
{
|
|
SEXP valueSEXP;
|
|
- core::Error error = getNamedListSEXP(listSEXP, name, &valueSEXP);
|
|
+ ::core::Error error = getNamedListSEXP(listSEXP, name, &valueSEXP);
|
|
if (error)
|
|
return error;
|
|
else
|
|
@@ -168,13 +168,13 @@
|
|
T* pValue,
|
|
const T& defaultValue)
|
|
{
|
|
- core:: Error error = getNamedListElement(listSEXP, name, pValue);
|
|
+ ::core:: Error error = getNamedListElement(listSEXP, name, pValue);
|
|
if (error)
|
|
{
|
|
if (error.code() == r::errc::ListElementNotFoundError)
|
|
{
|
|
*pValue = defaultValue;
|
|
- return core::Success();
|
|
+ return ::core::Success();
|
|
}
|
|
else
|
|
{
|
|
@@ -183,7 +183,7 @@
|
|
}
|
|
else
|
|
{
|
|
- return core::Success();
|
|
+ return ::core::Success();
|
|
}
|
|
}
|
|
|
|
@@ -232,12 +232,12 @@
|
|
{
|
|
// set the appropriate value and return success
|
|
SET_VECTOR_ELT(listSEXP, valueIndex, valueSEXP);
|
|
- return core::Success();
|
|
+ return ::core::Success();
|
|
}
|
|
else
|
|
{
|
|
// otherwise an error
|
|
- core::Error error(r::errc::ListElementNotFoundError, ERROR_LOCATION);
|
|
+ ::core::Error error(r::errc::ListElementNotFoundError, ERROR_LOCATION);
|
|
error.addProperty("element", name);
|
|
return error;
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/RSourceManager.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/RSourceManager.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/RSourceManager.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/RSourceManager.hpp 2015-03-08 22:23:11.280944146 +0100
|
|
@@ -48,10 +48,10 @@
|
|
bool autoReload() const { return autoReload_; }
|
|
void setAutoReload(bool autoReload) { autoReload_ = autoReload; }
|
|
|
|
- core::Error sourceTools(const core::FilePath& filePath);
|
|
+ ::core::Error sourceTools(const ::core::FilePath& filePath);
|
|
void ensureToolsLoaded();
|
|
|
|
- core::Error sourceLocal(const core::FilePath& filePath);
|
|
+ ::core::Error sourceLocal(const ::core::FilePath& filePath);
|
|
|
|
void reloadIfNecessary();
|
|
|
|
@@ -71,15 +71,15 @@
|
|
typedef boost::unordered_map<std::string, SourcedFileInfo> SourcedFileMap;
|
|
|
|
// helper functions
|
|
- core::Error source(const core::FilePath& filePath, bool local);
|
|
- void reSourceTools(const core::FilePath& filePath);
|
|
- void recordSourcedFile(const core::FilePath& filePath, bool local);
|
|
+ ::core::Error source(const ::core::FilePath& filePath, bool local);
|
|
+ void reSourceTools(const ::core::FilePath& filePath);
|
|
+ void recordSourcedFile(const ::core::FilePath& filePath, bool local);
|
|
void reloadSourceIfNecessary(const SourcedFileMap::value_type& value);
|
|
|
|
// members
|
|
bool autoReload_ ;
|
|
SourcedFileMap sourcedFiles_ ;
|
|
- std::vector<core::FilePath> toolsFilePaths_;
|
|
+ std::vector< ::core::FilePath> toolsFilePaths_;
|
|
};
|
|
|
|
} // namespace r
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/session/RClientState.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RClientState.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/session/RClientState.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RClientState.hpp 2015-03-08 22:23:11.287944147 +0100
|
|
@@ -52,41 +52,41 @@
|
|
|
|
void putTemporary(const std::string& scope,
|
|
const std::string& name,
|
|
- const core::json::Value& value);
|
|
+ const ::core::json::Value& value);
|
|
|
|
- void putTemporary(const core::json::Object& temporaryState);
|
|
+ void putTemporary(const ::core::json::Object& temporaryState);
|
|
|
|
void putPersistent(const std::string& scope,
|
|
const std::string& name,
|
|
- const core::json::Value& value);
|
|
+ const ::core::json::Value& value);
|
|
|
|
- void putPersistent(const core::json::Object& persistentState);
|
|
+ void putPersistent(const ::core::json::Object& persistentState);
|
|
|
|
void putProjectPersistent(const std::string& scope,
|
|
const std::string& name,
|
|
- const core::json::Value& value);
|
|
+ const ::core::json::Value& value);
|
|
|
|
- void putProjectPersistent(const core::json::Object& projectPersistentState);
|
|
- core::json::Value getProjectPersistent(std::string scope,
|
|
+ void putProjectPersistent(const ::core::json::Object& projectPersistentState);
|
|
+ ::core::json::Value getProjectPersistent(std::string scope,
|
|
std::string name);
|
|
|
|
- core::Error commit(ClientStateCommitType commitType,
|
|
- const core::FilePath& stateDir,
|
|
- const core::FilePath& projectStateDir);
|
|
+ ::core::Error commit(ClientStateCommitType commitType,
|
|
+ const ::core::FilePath& stateDir,
|
|
+ const ::core::FilePath& projectStateDir);
|
|
|
|
- core::Error restore(const core::FilePath& stateDir,
|
|
- const core::FilePath& projectStateDir);
|
|
+ ::core::Error restore(const ::core::FilePath& stateDir,
|
|
+ const ::core::FilePath& projectStateDir);
|
|
|
|
- void currentState(core::json::Object* pCurrentState) const;
|
|
+ void currentState(::core::json::Object* pCurrentState) const;
|
|
|
|
private:
|
|
- void restoreGlobalState(const core::FilePath& stateFile);
|
|
- void restoreProjectState(const core::FilePath& stateFile);
|
|
+ void restoreGlobalState(const ::core::FilePath& stateFile);
|
|
+ void restoreProjectState(const ::core::FilePath& stateFile);
|
|
|
|
private:
|
|
- core::json::Object temporaryState_ ;
|
|
- core::json::Object persistentState_ ;
|
|
- core::json::Object projectPersistentState_;
|
|
+ ::core::json::Object temporaryState_ ;
|
|
+ ::core::json::Object persistentState_ ;
|
|
+ ::core::json::Object projectPersistentState_;
|
|
};
|
|
|
|
} // namespace session
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/session/RConsoleActions.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RConsoleActions.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/session/RConsoleActions.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RConsoleActions.hpp 2015-03-08 22:23:11.293944148 +0100
|
|
@@ -59,17 +59,17 @@
|
|
|
|
// get actions in their wire-representation (two identically sized arrays,
|
|
// one for type and one for data)
|
|
- void asJson(core::json::Object* pActions) const;
|
|
+ void asJson(::core::json::Object* pActions) const;
|
|
|
|
- core::Error loadFromFile(const core::FilePath& filePath);
|
|
- core::Error saveToFile(const core::FilePath& filePath) const;
|
|
+ ::core::Error loadFromFile(const ::core::FilePath& filePath);
|
|
+ ::core::Error saveToFile(const ::core::FilePath& filePath) const;
|
|
|
|
private:
|
|
// protect data using a mutex because background threads (e.g.
|
|
// console output capture threads) can interact with console actions
|
|
mutable boost::mutex mutex_;
|
|
- boost::circular_buffer<core::json::Value> actionsType_;
|
|
- boost::circular_buffer<core::json::Value> actionsData_;
|
|
+ boost::circular_buffer< ::core::json::Value> actionsType_;
|
|
+ boost::circular_buffer< ::core::json::Value> actionsData_;
|
|
std::vector<std::string> pendingInput_;
|
|
};
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/session/RConsoleHistory.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RConsoleHistory.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/session/RConsoleHistory.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RConsoleHistory.hpp 2015-03-08 22:23:11.291944148 +0100
|
|
@@ -78,10 +78,10 @@
|
|
int endIndex, // exclusive,
|
|
std::vector<std::string>* pEntries) const;
|
|
|
|
- void asJson(core::json::Array* pHistoryArray) const;
|
|
+ void asJson(::core::json::Array* pHistoryArray) const;
|
|
|
|
- core::Error loadFromFile(const core::FilePath& filePath, bool verifyFile);
|
|
- core::Error saveToFile(const core::FilePath& filePath) const;
|
|
+ ::core::Error loadFromFile(const ::core::FilePath& filePath, bool verifyFile);
|
|
+ ::core::Error saveToFile(const ::core::FilePath& filePath) const;
|
|
|
|
boost::signals::connection connectOnAdd(
|
|
const AddSignal::slot_function_type& slot)
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/session/RGraphics.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RGraphics.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/session/RGraphics.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RGraphics.hpp 2015-03-08 22:23:11.296944149 +0100
|
|
@@ -70,7 +70,7 @@
|
|
struct DisplayState
|
|
{
|
|
DisplayState(const std::string& imageFilename,
|
|
- const core::json::Value& manipulatorJson,
|
|
+ const ::core::json::Value& manipulatorJson,
|
|
int width,
|
|
int height,
|
|
int activePlotIndex,
|
|
@@ -85,7 +85,7 @@
|
|
}
|
|
|
|
std::string imageFilename;
|
|
- core::json::Value manipulatorJson;
|
|
+ ::core::json::Value manipulatorJson;
|
|
int width;
|
|
int height;
|
|
int activePlotIndex;
|
|
@@ -107,24 +107,24 @@
|
|
|
|
// plot list
|
|
virtual int plotCount() const = 0 ;
|
|
- virtual core::Error plotImageFilename(int index,
|
|
+ virtual ::core::Error plotImageFilename(int index,
|
|
std::string* pImageFilename) const = 0;
|
|
virtual int activePlotIndex() const = 0;
|
|
- virtual core::Error setActivePlot(int index) = 0;
|
|
- virtual core::Error removePlot(int index) = 0;
|
|
+ virtual ::core::Error setActivePlot(int index) = 0;
|
|
+ virtual ::core::Error removePlot(int index) = 0;
|
|
|
|
// actions on active plot
|
|
- virtual core::Error savePlotAsImage(const core::FilePath& filePath,
|
|
+ virtual ::core::Error savePlotAsImage(const ::core::FilePath& filePath,
|
|
const std::string& format,
|
|
int widthPx,
|
|
int heightPx) = 0;
|
|
|
|
- virtual core::Error savePlotAsPdf(const core::FilePath& filePath,
|
|
+ virtual ::core::Error savePlotAsPdf(const ::core::FilePath& filePath,
|
|
double widthInches,
|
|
double heightInches,
|
|
bool useCairoPdf) = 0;
|
|
|
|
- virtual core::Error savePlotAsMetafile(const core::FilePath& filePath,
|
|
+ virtual ::core::Error savePlotAsMetafile(const ::core::FilePath& filePath,
|
|
int widthPx,
|
|
int heightPx) = 0;
|
|
|
|
@@ -138,7 +138,7 @@
|
|
virtual void refresh() = 0;
|
|
|
|
// retrieve image path based on filename
|
|
- virtual core::FilePath imagePath(const std::string& imageFilename) const = 0;
|
|
+ virtual ::core::FilePath imagePath(const std::string& imageFilename) const = 0;
|
|
|
|
// clear the display (closes the device)
|
|
virtual void clear() = 0;
|
|
@@ -147,7 +147,7 @@
|
|
virtual boost::signal<void ()>& onShowManipulator() = 0;
|
|
|
|
// set manipulator values
|
|
- virtual void setPlotManipulatorValues(const core::json::Object& values) = 0;
|
|
+ virtual void setPlotManipulatorValues(const ::core::json::Object& values) = 0;
|
|
virtual void manipulatorPlotClicked(int x, int y) = 0;
|
|
|
|
// notify that we are about to execute code
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/session/RSession.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RSession.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/session/RSession.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RSession.hpp 2015-03-08 22:23:11.289944148 +0100
|
|
@@ -58,17 +58,17 @@
|
|
rProfileOnResume(false)
|
|
{
|
|
}
|
|
- core::FilePath userHomePath;
|
|
- core::FilePath userScratchPath;
|
|
- core::FilePath scopedScratchPath;
|
|
- core::FilePath logPath;
|
|
- core::FilePath startupEnvironmentFilePath;
|
|
+ ::core::FilePath userHomePath;
|
|
+ ::core::FilePath userScratchPath;
|
|
+ ::core::FilePath scopedScratchPath;
|
|
+ ::core::FilePath logPath;
|
|
+ ::core::FilePath startupEnvironmentFilePath;
|
|
std::string sessionPort;
|
|
- boost::function<core::Settings&()> persistentState;
|
|
- boost::function<core::FilePath()> rEnvironmentDir;
|
|
- boost::function<core::FilePath()> rHistoryDir;
|
|
+ boost::function< ::core::Settings&()> persistentState;
|
|
+ boost::function< ::core::FilePath()> rEnvironmentDir;
|
|
+ boost::function< ::core::FilePath()> rHistoryDir;
|
|
boost::function<bool()> alwaysSaveHistory;
|
|
- core::FilePath rSourcePath;
|
|
+ ::core::FilePath rSourcePath;
|
|
std::string rLibsUser;
|
|
std::string rCRANRepos;
|
|
bool useInternet2;
|
|
@@ -116,16 +116,16 @@
|
|
struct RSuspendOptions;
|
|
struct RCallbacks
|
|
{
|
|
- boost::function<core::Error(const RInitInfo&)> init ;
|
|
+ boost::function< ::core::Error(const RInitInfo&)> init ;
|
|
boost::function<bool(const std::string&,bool,RConsoleInput*)> consoleRead;
|
|
boost::function<void(const std::string&)> browseURL;
|
|
- boost::function<void(const core::FilePath&)> browseFile;
|
|
+ boost::function<void(const ::core::FilePath&)> browseFile;
|
|
boost::function<void(const std::string&)> showHelp;
|
|
- boost::function<void(const std::string&, core::FilePath&, bool)> showFile;
|
|
+ boost::function<void(const std::string&, ::core::FilePath&, bool)> showFile;
|
|
boost::function<void(const std::string&, int)> consoleWrite;
|
|
boost::function<void()> consoleHistoryReset;
|
|
boost::function<bool(double*,double*)> locator;
|
|
- boost::function<core::FilePath(bool)> chooseFile;
|
|
+ boost::function< ::core::FilePath(bool)> chooseFile;
|
|
boost::function<int(const std::string&)> editFile;
|
|
boost::function<void(const std::string&)> showMessage ;
|
|
boost::function<void(bool)> busy;
|
|
@@ -136,7 +136,7 @@
|
|
boost::function<void()> quit;
|
|
boost::function<void(const std::string&)> suicide;
|
|
boost::function<void(bool)> cleanup;
|
|
- boost::function<void(int,const core::FilePath&)> serialization;
|
|
+ boost::function<void(int,const ::core::FilePath&)> serialization;
|
|
};
|
|
|
|
// run the session
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/include/r/session/RSessionUtils.hpp rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RSessionUtils.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/include/r/session/RSessionUtils.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/include/r/session/RSessionUtils.hpp 2015-03-08 22:23:11.298944149 +0100
|
|
@@ -35,7 +35,7 @@
|
|
bool isDefaultPrompt(const std::string& prompt);
|
|
|
|
// user home path
|
|
-const core::FilePath& userHomePath();
|
|
+const ::core::FilePath& userHomePath();
|
|
|
|
core::FilePath safeCurrentPath();
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/RErrorCategory.cpp rstudio-0.98.1103-fix/src/cpp/r/RErrorCategory.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/RErrorCategory.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/RErrorCategory.cpp 2015-03-08 22:23:11.148944124 +0100
|
|
@@ -81,15 +81,15 @@
|
|
}
|
|
|
|
core::Error rCodeExecutionError(const std::string& errMsg,
|
|
- const core::ErrorLocation& location)
|
|
+ const ::core::ErrorLocation& location)
|
|
{
|
|
- core::Error error(errc::CodeExecutionError, location);
|
|
+ ::core::Error error(errc::CodeExecutionError, location);
|
|
error.addProperty("errormsg", errMsg);
|
|
return error;
|
|
}
|
|
|
|
|
|
-bool isCodeExecutionError(const core::Error& error, std::string* pErrMsg)
|
|
+bool isCodeExecutionError(const ::core::Error& error, std::string* pErrMsg)
|
|
{
|
|
if (error.code() == r::errc::CodeExecutionError)
|
|
{
|
|
@@ -103,7 +103,7 @@
|
|
}
|
|
}
|
|
|
|
-std::string endUserErrorMessage(const core::Error& error)
|
|
+std::string endUserErrorMessage(const ::core::Error& error)
|
|
{
|
|
std::string errMsg;
|
|
if (isCodeExecutionError(error, &errMsg))
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/RExec.cpp rstudio-0.98.1103-fix/src/cpp/r/RExec.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/RExec.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/RExec.cpp 2015-03-08 22:23:11.251944141 +0100
|
|
@@ -480,7 +480,7 @@
|
|
}
|
|
|
|
IgnoreInterruptsScope::IgnoreInterruptsScope()
|
|
- : pSignalBlocker_(new core::system::SignalBlocker())
|
|
+ : pSignalBlocker_(new ::core::system::SignalBlocker())
|
|
{
|
|
// save suspend state and set suspend flag
|
|
previousInterruptsSuspended_ = (R_interrupts_suspended == TRUE);
|
|
@@ -490,7 +490,7 @@
|
|
setInterruptsPending(false);
|
|
|
|
// enable signal blocker
|
|
- Error error = pSignalBlocker_->block(core::system::SigInt);
|
|
+ Error error = pSignalBlocker_->block(::core::system::SigInt);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/RJson.cpp rstudio-0.98.1103-fix/src/cpp/r/RJson.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/RJson.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/RJson.cpp 2015-03-08 22:23:11.256944142 +0100
|
|
@@ -66,7 +66,7 @@
|
|
|
|
Error jsonValueFromVectorElement(SEXP vectorSEXP,
|
|
int i,
|
|
- core::json::Value* pValue)
|
|
+ ::core::json::Value* pValue)
|
|
{
|
|
// NOTE: currently NaN is represented in json as null. this is problematic
|
|
// as parsing routines (such as JS overlay types in GWT) won't handle
|
|
@@ -81,14 +81,14 @@
|
|
// and also make sure they are distinguished for other types
|
|
|
|
// default to null
|
|
- *pValue = core::json::Value();
|
|
+ *pValue = ::core::json::Value();
|
|
|
|
// check for underlying value
|
|
switch(TYPEOF(vectorSEXP))
|
|
{
|
|
case NILSXP:
|
|
{
|
|
- *pValue = core::json::Value();
|
|
+ *pValue = ::core::json::Value();
|
|
break;
|
|
}
|
|
case STRSXP:
|
|
@@ -131,7 +131,7 @@
|
|
double imaginary = COMPLEX(vectorSEXP)[i].i;
|
|
if ( !ISNAN(real) && !ISNAN(imaginary))
|
|
{
|
|
- core::json::Object jsonComplex ;
|
|
+ ::core::json::Object jsonComplex ;
|
|
jsonComplex["r"] = real;
|
|
jsonComplex["i"] = imaginary;
|
|
*pValue = jsonComplex;
|
|
@@ -153,10 +153,10 @@
|
|
}
|
|
|
|
|
|
-Error jsonValueArrayFromList(SEXP listSEXP, core::json::Value* pValue)
|
|
+Error jsonValueArrayFromList(SEXP listSEXP, ::core::json::Value* pValue)
|
|
{
|
|
// value array to return
|
|
- core::json::Array jsonValueArray;
|
|
+ ::core::json::Array jsonValueArray;
|
|
|
|
// return a value for each list item
|
|
int listLength = Rf_length(listSEXP);
|
|
@@ -166,7 +166,7 @@
|
|
SEXP valueSEXP = VECTOR_ELT(listSEXP, i);
|
|
|
|
// extract the value
|
|
- core::json::Value jsonValue ;
|
|
+ ::core::json::Value jsonValue ;
|
|
Error error = jsonValueFromObject(valueSEXP, &jsonValue);
|
|
if (error)
|
|
return error;
|
|
@@ -197,7 +197,7 @@
|
|
return false ;
|
|
int nameCount = std::count_if(fieldNames.begin(),
|
|
fieldNames.end(),
|
|
- &core::string_utils::stringNotEmpty);
|
|
+ &::core::string_utils::stringNotEmpty);
|
|
if (nameCount != listLength)
|
|
return false;
|
|
|
|
@@ -208,20 +208,20 @@
|
|
Error jsonObjectFromListElement(SEXP listSEXP,
|
|
const std::vector<std::string>& fieldNames,
|
|
int index,
|
|
- core::json::Value* pValue)
|
|
+ ::core::json::Value* pValue)
|
|
{
|
|
// note list length
|
|
int listLength = Rf_length(listSEXP);
|
|
|
|
// compose an object by iterating through the fields
|
|
- core::json::Object jsonObject ;
|
|
+ ::core::json::Object jsonObject ;
|
|
for (int f=0; f<listLength; f++)
|
|
{
|
|
// get the field
|
|
SEXP fieldSEXP = VECTOR_ELT(listSEXP, f);
|
|
|
|
// extract the value
|
|
- core::json::Value fieldValue ;
|
|
+ ::core::json::Value fieldValue ;
|
|
switch(TYPEOF(fieldSEXP))
|
|
{
|
|
case VECSXP:
|
|
@@ -258,7 +258,7 @@
|
|
// NOTE: this function assumes that isNamedList has been called
|
|
// and returned true for this list (validates a name for each element)
|
|
//
|
|
-Error jsonObjectFromList(SEXP listSEXP, core::json::Value* pValue)
|
|
+Error jsonObjectFromList(SEXP listSEXP, ::core::json::Value* pValue)
|
|
{
|
|
// get the names of the list elements
|
|
std::vector<std::string> fieldNames ;
|
|
@@ -267,13 +267,13 @@
|
|
return error;
|
|
|
|
// compose object
|
|
- core::json::Object object ;
|
|
+ ::core::json::Object object ;
|
|
int fields = Rf_length(listSEXP);
|
|
for (int i=0; i<fields; i++)
|
|
{
|
|
SEXP fieldSEXP = VECTOR_ELT(listSEXP, i);
|
|
|
|
- core::json::Value objectValue ;
|
|
+ ::core::json::Value objectValue ;
|
|
error = jsonValueFromObject(fieldSEXP, &objectValue);
|
|
if (error)
|
|
return error ;
|
|
@@ -290,7 +290,7 @@
|
|
// NOTE: this function assumes that isNamedList has been called
|
|
// and returned true for this list (validates a name for each element)
|
|
//
|
|
-Error jsonObjectArrayFromDataFrame(SEXP listSEXP, core::json::Value* pValue)
|
|
+Error jsonObjectArrayFromDataFrame(SEXP listSEXP, ::core::json::Value* pValue)
|
|
{
|
|
// get the names of the list elements
|
|
std::vector<std::string> fieldNames ;
|
|
@@ -299,13 +299,13 @@
|
|
return error;
|
|
|
|
// object array to return
|
|
- core::json::Array jsonObjectArray ;
|
|
+ ::core::json::Array jsonObjectArray ;
|
|
|
|
// iterate through the values
|
|
int values = Rf_length(VECTOR_ELT(listSEXP, 0));
|
|
for (int v=0; v<values; v++)
|
|
{
|
|
- core::json::Value objectValue ;
|
|
+ ::core::json::Value objectValue ;
|
|
error = jsonObjectFromListElement(listSEXP, fieldNames, v, &objectValue);
|
|
if (error)
|
|
return error ;
|
|
@@ -320,7 +320,7 @@
|
|
|
|
} // anonymous namespace
|
|
|
|
-Error jsonValueFromScalar(SEXP scalarSEXP, core::json::Value* pValue)
|
|
+Error jsonValueFromScalar(SEXP scalarSEXP, ::core::json::Value* pValue)
|
|
{
|
|
// verify length
|
|
if (sexp::length(scalarSEXP) != 1)
|
|
@@ -331,7 +331,7 @@
|
|
}
|
|
|
|
|
|
-Error jsonValueFromVector(SEXP vectorSEXP, core::json::Value* pValue)
|
|
+Error jsonValueFromVector(SEXP vectorSEXP, ::core::json::Value* pValue)
|
|
{
|
|
int vectorLength = Rf_length(vectorSEXP);
|
|
|
|
@@ -342,15 +342,15 @@
|
|
else
|
|
{
|
|
// return null
|
|
- *pValue = core::json::Value();
|
|
+ *pValue = ::core::json::Value();
|
|
return Success();
|
|
}
|
|
}
|
|
|
|
- core::json::Array vectorValues ;
|
|
+ ::core::json::Array vectorValues ;
|
|
for (int i=0; i<vectorLength; i++)
|
|
{
|
|
- core::json::Value elementValue ;
|
|
+ ::core::json::Value elementValue ;
|
|
Error error = jsonValueFromVectorElement(vectorSEXP, i, &elementValue);
|
|
if (error)
|
|
return error;
|
|
@@ -363,7 +363,7 @@
|
|
}
|
|
|
|
|
|
-Error jsonValueFromList(SEXP listSEXP, core::json::Value* pValue)
|
|
+Error jsonValueFromList(SEXP listSEXP, ::core::json::Value* pValue)
|
|
{
|
|
if (isNamedList(listSEXP))
|
|
{
|
|
@@ -379,7 +379,7 @@
|
|
}
|
|
|
|
|
|
-Error jsonValueFromObject(SEXP objectSEXP, core::json::Value* pValue)
|
|
+Error jsonValueFromObject(SEXP objectSEXP, ::core::json::Value* pValue)
|
|
{
|
|
// NOTE: a few additional types/scenarios we could support are:
|
|
// - special handling for array
|
|
@@ -392,7 +392,7 @@
|
|
{
|
|
case NILSXP:
|
|
{
|
|
- *pValue = core::json::Value();
|
|
+ *pValue = ::core::json::Value();
|
|
return Success();
|
|
}
|
|
case VECSXP:
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/RJsonRpc.cpp rstudio-0.98.1103-fix/src/cpp/r/RJsonRpc.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/RJsonRpc.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/RJsonRpc.cpp 2015-03-08 22:23:11.258944142 +0100
|
|
@@ -64,10 +64,10 @@
|
|
|
|
namespace {
|
|
|
|
-Error setJsonResult(SEXP resultSEXP, core::json::JsonRpcResponse* pResponse)
|
|
+Error setJsonResult(SEXP resultSEXP, ::core::json::JsonRpcResponse* pResponse)
|
|
{
|
|
// get the result
|
|
- core::json::Value resultValue ;
|
|
+ ::core::json::Value resultValue ;
|
|
Error error = jsonValueFromObject(resultSEXP, &resultValue);
|
|
if (error)
|
|
return error ;
|
|
@@ -78,7 +78,7 @@
|
|
}
|
|
|
|
Error callRHandler(const std::string& functionName,
|
|
- const core::json::JsonRpcRequest& request,
|
|
+ const ::core::json::JsonRpcRequest& request,
|
|
SEXP* pResult,
|
|
sexp::Protect* pProtect)
|
|
{
|
|
@@ -86,13 +86,13 @@
|
|
r::exec::RFunction rFunction(functionName);
|
|
|
|
// add params
|
|
- const core::json::Array& params = request.params;
|
|
- for (core::json::Array::size_type i=0; i<params.size(); i++)
|
|
+ const ::core::json::Array& params = request.params;
|
|
+ for (::core::json::Array::size_type i=0; i<params.size(); i++)
|
|
rFunction.addParam(params[i]);
|
|
|
|
// add kwparams
|
|
- const core::json::Object& kwparams = request.kwparams;
|
|
- for (core::json::Object::const_iterator
|
|
+ const ::core::json::Object& kwparams = request.kwparams;
|
|
+ for (::core::json::Object::const_iterator
|
|
it = kwparams.begin();
|
|
it != kwparams.end();
|
|
++it)
|
|
@@ -105,8 +105,8 @@
|
|
}
|
|
|
|
Error handleRequest(const std::string& rFunctionName,
|
|
- const core::json::JsonRpcRequest& request,
|
|
- core::json::JsonRpcResponse* pResponse)
|
|
+ const ::core::json::JsonRpcRequest& request,
|
|
+ ::core::json::JsonRpcResponse* pResponse)
|
|
{
|
|
// call the function
|
|
sexp::Protect rProtect;
|
|
@@ -122,7 +122,7 @@
|
|
} // anonymous namespace
|
|
|
|
|
|
-Error getRpcMethods(core::json::JsonRpcMethods* pMethods)
|
|
+Error getRpcMethods(::core::json::JsonRpcMethods* pMethods)
|
|
{
|
|
// find all of the rpc handlers
|
|
std::vector<std::string> rpcHandlers;
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/RSexp.cpp rstudio-0.98.1103-fix/src/cpp/r/RSexp.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/RSexp.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/RSexp.cpp 2015-03-08 22:23:11.262944143 +0100
|
|
@@ -284,12 +284,12 @@
|
|
{
|
|
// get the appropriate value
|
|
*pValueSEXP = VECTOR_ELT(listSEXP, valueIndex);
|
|
- return core::Success();
|
|
+ return ::core::Success();
|
|
}
|
|
else
|
|
{
|
|
// otherwise an error
|
|
- core::Error error(r::errc::ListElementNotFoundError, ERROR_LOCATION);
|
|
+ ::core::Error error(r::errc::ListElementNotFoundError, ERROR_LOCATION);
|
|
error.addProperty("element", name);
|
|
return error;
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/RSourceManager.cpp rstudio-0.98.1103-fix/src/cpp/r/RSourceManager.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/RSourceManager.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/RSourceManager.cpp 2015-03-08 22:23:11.139944122 +0100
|
|
@@ -37,7 +37,7 @@
|
|
return instance ;
|
|
}
|
|
|
|
-Error SourceManager::sourceTools(const core::FilePath& filePath)
|
|
+Error SourceManager::sourceTools(const ::core::FilePath& filePath)
|
|
{
|
|
Error error = sourceLocal(filePath);
|
|
if (error)
|
|
@@ -85,7 +85,7 @@
|
|
}
|
|
|
|
|
|
-void SourceManager::reSourceTools(const core::FilePath& filePath)
|
|
+void SourceManager::reSourceTools(const ::core::FilePath& filePath)
|
|
{
|
|
Error error = source(filePath, true);
|
|
if (error)
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsDevice.cpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsDevice.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsDevice.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsDevice.cpp 2015-03-08 22:23:11.210944134 +0100
|
|
@@ -600,8 +600,8 @@
|
|
*y = grconvertY(*y, "device", "ndc");
|
|
}
|
|
|
|
-Error saveSnapshot(const core::FilePath& snapshotFile,
|
|
- const core::FilePath& imageFile)
|
|
+Error saveSnapshot(const ::core::FilePath& snapshotFile,
|
|
+ const ::core::FilePath& imageFile)
|
|
{
|
|
// ensure we are active
|
|
Error error = makeActive();
|
|
@@ -619,7 +619,7 @@
|
|
return handler::writeToPNG(imageFile, pDC);
|
|
}
|
|
|
|
-Error restoreSnapshot(const core::FilePath& snapshotFile)
|
|
+Error restoreSnapshot(const ::core::FilePath& snapshotFile)
|
|
{
|
|
// ensure we are active
|
|
Error error = makeActive();
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsDevice.hpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsDevice.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsDevice.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsDevice.hpp 2015-03-08 22:23:11.192944131 +0100
|
|
@@ -33,7 +33,7 @@
|
|
|
|
// initialize
|
|
core::Error initialize(
|
|
- const core::FilePath& graphicsPath,
|
|
+ const ::core::FilePath& graphicsPath,
|
|
const boost::function<bool(double*,double*)>& locatorFunction);
|
|
|
|
// device size
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsHandler.cpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsHandler.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsHandler.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsHandler.cpp 2015-03-08 22:23:11.172944128 +0100
|
|
@@ -31,7 +31,7 @@
|
|
void (*onBeforeAddDevice)(DeviceContext* pDC);
|
|
void (*onAfterAddDevice)(DeviceContext* pDC);
|
|
|
|
-core::Error (*writeToPNG)(const core::FilePath& targetPath,
|
|
+core::Error (*writeToPNG)(const ::core::FilePath& targetPath,
|
|
DeviceContext* pDC);
|
|
|
|
void (*circle)(double x,
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsHandler.hpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsHandler.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsHandler.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsHandler.hpp 2015-03-08 22:23:11.187944131 +0100
|
|
@@ -47,7 +47,7 @@
|
|
void* pDeviceSpecific;
|
|
|
|
// file info
|
|
- core::FilePath targetPath;
|
|
+ ::core::FilePath targetPath;
|
|
int width;
|
|
int height;
|
|
|
|
@@ -67,7 +67,7 @@
|
|
extern void (*onBeforeAddDevice)(DeviceContext* pDC);
|
|
extern void (*onAfterAddDevice)(DeviceContext* pDC);
|
|
|
|
-extern core::Error (*writeToPNG)(const core::FilePath& targetPath,
|
|
+extern ::core::Error (*writeToPNG)(const ::core::FilePath& targetPath,
|
|
DeviceContext* pDC);
|
|
|
|
extern void (*circle)(double x,
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlot.cpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlot.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlot.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlot.cpp 2015-03-08 22:23:11.182944130 +0100
|
|
@@ -129,7 +129,7 @@
|
|
}
|
|
|
|
// generate a new storage uuid
|
|
- std::string storageUuid = core::system::generateUuid();
|
|
+ std::string storageUuid = ::core::system::generateUuid();
|
|
|
|
// generate snapshot and image files
|
|
Error error = graphicsDevice_.saveSnapshot(snapshotFilePath(storageUuid),
|
|
@@ -163,7 +163,7 @@
|
|
return Success();
|
|
|
|
// generate a new storage uuid
|
|
- std::string storageUuid = core::system::generateUuid();
|
|
+ std::string storageUuid = ::core::system::generateUuid();
|
|
|
|
// generate snapshot file
|
|
FilePath snapshotFile = snapshotFilePath(storageUuid);
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlot.hpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlot.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlot.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlot.hpp 2015-03-08 22:23:11.196944132 +0100
|
|
@@ -43,11 +43,11 @@
|
|
{
|
|
public:
|
|
Plot(const GraphicsDeviceFunctions& graphicsDevice,
|
|
- const core::FilePath& baseDirPath,
|
|
+ const ::core::FilePath& baseDirPath,
|
|
SEXP manipulatorSEXP);
|
|
|
|
Plot(const GraphicsDeviceFunctions& graphicsDevice,
|
|
- const core::FilePath& baseDirPath,
|
|
+ const ::core::FilePath& baseDirPath,
|
|
const std::string& storageUuid,
|
|
const DisplaySize& renderedSize);
|
|
|
|
@@ -57,36 +57,36 @@
|
|
|
|
bool hasManipulator() const;
|
|
SEXP manipulatorSEXP() const;
|
|
- void manipulatorAsJson(core::json::Value* pValue) const;
|
|
+ void manipulatorAsJson(::core::json::Value* pValue) const;
|
|
void saveManipulator() const;
|
|
|
|
void invalidate();
|
|
|
|
- core::Error renderFromDisplay();
|
|
- core::Error renderFromDisplaySnapshot(SEXP snapshot);
|
|
+ ::core::Error renderFromDisplay();
|
|
+ ::core::Error renderFromDisplaySnapshot(SEXP snapshot);
|
|
std::string imageFilename() const;
|
|
|
|
- core::Error renderToDisplay();
|
|
+ ::core::Error renderToDisplay();
|
|
|
|
- core::Error removeFiles();
|
|
+ ::core::Error removeFiles();
|
|
|
|
void purgeInMemoryResources();
|
|
|
|
private:
|
|
bool hasStorage() const;
|
|
|
|
- core::FilePath snapshotFilePath() const ;
|
|
- core::FilePath snapshotFilePath(const std::string& storageUuid) const;
|
|
- core::FilePath imageFilePath(const std::string& storageUuid) const;
|
|
+ ::core::FilePath snapshotFilePath() const ;
|
|
+ ::core::FilePath snapshotFilePath(const std::string& storageUuid) const;
|
|
+ ::core::FilePath imageFilePath(const std::string& storageUuid) const;
|
|
|
|
bool hasManipulatorFile() const;
|
|
- core::FilePath manipulatorFilePath(const std::string& storageUuid) const;
|
|
+ ::core::FilePath manipulatorFilePath(const std::string& storageUuid) const;
|
|
void loadManipulatorIfNecessary() const;
|
|
void saveManipulator(const std::string& storageUuid) const;
|
|
|
|
private:
|
|
GraphicsDeviceFunctions graphicsDevice_;
|
|
- core::FilePath baseDirPath_;
|
|
+ ::core::FilePath baseDirPath_;
|
|
std::string storageUuid_ ;
|
|
DisplaySize renderedSize_ ;
|
|
bool needsUpdate_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp 2015-03-08 22:23:11.177944129 +0100
|
|
@@ -374,7 +374,7 @@
|
|
}
|
|
|
|
|
|
-Error PlotManager::savePlotAsMetafile(const core::FilePath& filePath,
|
|
+Error PlotManager::savePlotAsMetafile(const ::core::FilePath& filePath,
|
|
int widthPx,
|
|
int heightPx)
|
|
{
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp 2015-03-08 22:23:11.185944130 +0100
|
|
@@ -61,30 +61,30 @@
|
|
public:
|
|
virtual ~PlotManager() {}
|
|
|
|
- core::Error initialize(const core::FilePath& graphicsPath,
|
|
+ ::core::Error initialize(const ::core::FilePath& graphicsPath,
|
|
const GraphicsDeviceFunctions& graphicsDevice,
|
|
GraphicsDeviceEvents* pEvents);
|
|
|
|
// plot list
|
|
virtual int plotCount() const;
|
|
- virtual core::Error plotImageFilename(int index,
|
|
+ virtual ::core::Error plotImageFilename(int index,
|
|
std::string* pImageFilename) const;
|
|
virtual int activePlotIndex() const;
|
|
- virtual core::Error setActivePlot(int index) ;
|
|
- virtual core::Error removePlot(int index);
|
|
+ virtual ::core::Error setActivePlot(int index) ;
|
|
+ virtual ::core::Error removePlot(int index);
|
|
|
|
// actions on active plot
|
|
- virtual core::Error savePlotAsImage(const core::FilePath& filePath,
|
|
+ virtual ::core::Error savePlotAsImage(const ::core::FilePath& filePath,
|
|
const std::string& format,
|
|
int widthPx,
|
|
int heightPx);
|
|
|
|
- virtual core::Error savePlotAsPdf(const core::FilePath& filePath,
|
|
+ virtual ::core::Error savePlotAsPdf(const ::core::FilePath& filePath,
|
|
double widthInches,
|
|
double heightInches,
|
|
bool useCairoPdf);
|
|
|
|
- virtual core::Error savePlotAsMetafile(const core::FilePath& filePath,
|
|
+ virtual ::core::Error savePlotAsMetafile(const ::core::FilePath& filePath,
|
|
int widthPx,
|
|
int heightPx);
|
|
|
|
@@ -98,23 +98,23 @@
|
|
virtual void refresh() ;
|
|
|
|
// retrieve image path based on filename
|
|
- virtual core::FilePath imagePath(const std::string& imageFilename) const;
|
|
+ virtual ::core::FilePath imagePath(const std::string& imageFilename) const;
|
|
|
|
virtual void clear();
|
|
|
|
virtual boost::signal<void ()>& onShowManipulator() ;
|
|
- virtual void setPlotManipulatorValues(const core::json::Object& values);
|
|
+ virtual void setPlotManipulatorValues(const ::core::json::Object& values);
|
|
virtual void manipulatorPlotClicked(int x, int y);
|
|
|
|
virtual void onBeforeExecute();
|
|
|
|
// manipulate persistent state
|
|
- core::Error savePlotsState();
|
|
- core::Error restorePlotsState();
|
|
+ ::core::Error savePlotsState();
|
|
+ ::core::Error restorePlotsState();
|
|
|
|
// fully serialize and deserialize to an external directory
|
|
- core::Error serialize(const core::FilePath& saveToPath);
|
|
- core::Error deserialize(const core::FilePath& restoreFromPath);
|
|
+ ::core::Error serialize(const ::core::FilePath& saveToPath);
|
|
+ ::core::Error deserialize(const ::core::FilePath& restoreFromPath);
|
|
|
|
private:
|
|
|
|
@@ -145,26 +145,26 @@
|
|
void renderActivePlotToDisplay();
|
|
|
|
// render active plot file file
|
|
- core::Error savePlotAsFile(const boost::function<core::Error()>&
|
|
+ ::core::Error savePlotAsFile(const boost::function< ::core::Error()>&
|
|
deviceCreationFunction);
|
|
- core::Error savePlotAsFile(const std::string& fileDeviceCreationCode);
|
|
+ ::core::Error savePlotAsFile(const std::string& fileDeviceCreationCode);
|
|
|
|
- core::Error savePlotAsBitmapFile(const core::FilePath& targetPath,
|
|
+ ::core::Error savePlotAsBitmapFile(const ::core::FilePath& targetPath,
|
|
const std::string& bitmapFileType,
|
|
int width,
|
|
int height);
|
|
|
|
- core::Error savePlotAsSvg(const core::FilePath& targetPath,
|
|
+ ::core::Error savePlotAsSvg(const ::core::FilePath& targetPath,
|
|
int width,
|
|
int height);
|
|
|
|
- core::Error savePlotAsPostscript(const core::FilePath& targetPath,
|
|
+ ::core::Error savePlotAsPostscript(const ::core::FilePath& targetPath,
|
|
int width,
|
|
int height);
|
|
|
|
|
|
// error helpers
|
|
- core::Error plotIndexError(int index, const core::ErrorLocation& location)
|
|
+ ::core::Error plotIndexError(int index, const ::core::ErrorLocation& location)
|
|
const;
|
|
|
|
std::string emptyImageFilename() const ;
|
|
@@ -173,8 +173,8 @@
|
|
friend class SuppressDeviceEventsScope;
|
|
|
|
// storage paths
|
|
- core::FilePath plotsStateFile_;
|
|
- core::FilePath graphicsPath_;
|
|
+ ::core::FilePath plotsStateFile_;
|
|
+ ::core::FilePath graphicsPath_;
|
|
|
|
// interface to graphics device
|
|
GraphicsDeviceFunctions graphicsDevice_ ;
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlotManipulator.cpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlotManipulator.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlotManipulator.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlotManipulator.cpp 2015-03-08 22:23:11.216944135 +0100
|
|
@@ -78,12 +78,12 @@
|
|
return Success();
|
|
}
|
|
|
|
-void PlotManipulator::asJson(core::json::Value* pValue) const
|
|
+void PlotManipulator::asJson(::core::json::Value* pValue) const
|
|
{
|
|
if (!empty())
|
|
{
|
|
// build manipulator json
|
|
- core::json::Object manipulator;
|
|
+ ::core::json::Object manipulator;
|
|
|
|
// meta-info
|
|
manipulator["id"] = getAsJson(".id");
|
|
@@ -91,7 +91,7 @@
|
|
manipulator["variables"] = getAsJson(".variables");
|
|
|
|
// variable values
|
|
- core::json::Value valuesJson;
|
|
+ ::core::json::Value valuesJson;
|
|
SEXP valuesSEXP = getUserVisibleValuesList();
|
|
Error error = r::json::jsonValueFromObject(valuesSEXP, &valuesJson);
|
|
if (error)
|
|
@@ -103,7 +103,7 @@
|
|
}
|
|
else
|
|
{
|
|
- *pValue = core::json::Value();
|
|
+ *pValue = ::core::json::Value();
|
|
}
|
|
}
|
|
|
|
@@ -140,7 +140,7 @@
|
|
|
|
core::json::Value PlotManipulator::getAsJson(const std::string& name) const
|
|
{
|
|
- core::json::Value value;
|
|
+ ::core::json::Value value;
|
|
Error error = r::json::jsonValueFromObject(get(name), &value);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
@@ -155,11 +155,11 @@
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
- return core::json::Object();
|
|
+ return ::core::json::Object();
|
|
}
|
|
|
|
// json object to return
|
|
- core::json::Object control;
|
|
+ ::core::json::Object control;
|
|
|
|
int length = r::sexp::length(controlSEXP);
|
|
for (int i=0; i<length; i++)
|
|
@@ -173,12 +173,12 @@
|
|
|
|
// get json for field
|
|
SEXP fieldSEXP = VECTOR_ELT(controlSEXP, i);
|
|
- core::json::Value fieldValue;
|
|
+ ::core::json::Value fieldValue;
|
|
Error error = r::json::jsonValueFromObject(fieldSEXP, &fieldValue);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
- return core::json::Object();
|
|
+ return ::core::json::Object();
|
|
}
|
|
|
|
// set the field
|
|
@@ -208,11 +208,11 @@
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
- return core::json::Object();
|
|
+ return ::core::json::Object();
|
|
}
|
|
|
|
// json object to return
|
|
- core::json::Object controls;
|
|
+ ::core::json::Object controls;
|
|
|
|
int length = r::sexp::length(controlsSEXP);
|
|
for (int i=0; i<length; i++)
|
|
@@ -228,12 +228,12 @@
|
|
}
|
|
else
|
|
{
|
|
- return core::json::Object();
|
|
+ return ::core::json::Object();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
- return core::json::Object();
|
|
+ return ::core::json::Object();
|
|
}
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlotManipulator.hpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlotManipulator.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlotManipulator.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlotManipulator.hpp 2015-03-08 22:23:11.214944135 +0100
|
|
@@ -42,18 +42,18 @@
|
|
|
|
void clear();
|
|
|
|
- core::Error save(const core::FilePath& filePath) const;
|
|
- core::Error load(const core::FilePath& filePath);
|
|
+ ::core::Error save(const ::core::FilePath& filePath) const;
|
|
+ ::core::Error load(const ::core::FilePath& filePath);
|
|
|
|
- void asJson(core::json::Value* pValue) const;
|
|
+ void asJson(::core::json::Value* pValue) const;
|
|
|
|
SEXP sexp() const;
|
|
|
|
private:
|
|
SEXP get(const std::string& name) const;
|
|
- core::json::Value getAsJson(const std::string& name) const;
|
|
- core::json::Object getControlAsJson(SEXP controlSEXP) const;
|
|
- core::json::Object getControlsAsJson() const;
|
|
+ ::core::json::Value getAsJson(const std::string& name) const;
|
|
+ ::core::json::Object getControlAsJson(SEXP controlSEXP) const;
|
|
+ ::core::json::Object getControlsAsJson() const;
|
|
SEXP getUserVisibleValuesList() const;
|
|
|
|
private:
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp 2015-03-08 22:23:11.194944132 +0100
|
|
@@ -48,10 +48,10 @@
|
|
virtual ~PlotManipulatorManager() {}
|
|
|
|
public:
|
|
- core::Error initialize(const UnitConversionFunctions& convert);
|
|
+ ::core::Error initialize(const UnitConversionFunctions& convert);
|
|
|
|
boost::signal<void ()>& onShowManipulator() ;
|
|
- void setPlotManipulatorValues(const core::json::Object& values);
|
|
+ void setPlotManipulatorValues(const ::core::json::Object& values);
|
|
void manipulatorPlotClicked(int x, int y);
|
|
|
|
void executeAndAttachManipulator(SEXP manipulatorSEXP);
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsTypes.hpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsTypes.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsTypes.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsTypes.hpp 2015-03-08 22:23:11.223944137 +0100
|
|
@@ -63,9 +63,9 @@
|
|
boost::function<bool()> isActive;
|
|
boost::function<DisplaySize()> displaySize;
|
|
UnitConversionFunctions convert;
|
|
- boost::function<core::Error(const core::FilePath&,
|
|
- const core::FilePath&)> saveSnapshot;
|
|
- boost::function<core::Error(const core::FilePath&)> restoreSnapshot;
|
|
+ boost::function< ::core::Error(const ::core::FilePath&,
|
|
+ const ::core::FilePath&)> saveSnapshot;
|
|
+ boost::function< ::core::Error(const ::core::FilePath&)> restoreSnapshot;
|
|
boost::function<void()> copyToActiveDevice;
|
|
boost::function<std::string()> imageFileExtension;
|
|
boost::function<void()> close;
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsUtils.cpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsUtils.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsUtils.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsUtils.cpp 2015-03-08 22:23:11.202944133 +0100
|
|
@@ -201,7 +201,7 @@
|
|
}
|
|
}
|
|
|
|
-void reportError(const core::Error& error)
|
|
+void reportError(const ::core::Error& error)
|
|
{
|
|
std::string endUserMessage = r::endUserErrorMessage(error);
|
|
std::string errmsg = ("Graphics error: " + endUserMessage + "\n");
|
|
@@ -211,7 +211,7 @@
|
|
void logAndReportError(const Error& error, const ErrorLocation& location)
|
|
{
|
|
// log
|
|
- core::log::logError(error, location);
|
|
+ ::core::log::logError(error, location);
|
|
|
|
// report to user
|
|
reportError(error);
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsUtils.hpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsUtils.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RGraphicsUtils.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RGraphicsUtils.hpp 2015-03-08 22:23:11.212944135 +0100
|
|
@@ -44,10 +44,10 @@
|
|
boost::shared_ptr<Impl> pImpl_;
|
|
};
|
|
|
|
-void reportError(const core::Error& error);
|
|
+void reportError(const ::core::Error& error);
|
|
|
|
-void logAndReportError(const core::Error& error,
|
|
- const core::ErrorLocation& location);
|
|
+void logAndReportError(const ::core::Error& error,
|
|
+ const ::core::ErrorLocation& location);
|
|
|
|
} // namespace graphics
|
|
} // namespace session
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/graphics/RShadowPngGraphicsHandler.cpp rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RShadowPngGraphicsHandler.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/graphics/RShadowPngGraphicsHandler.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/graphics/RShadowPngGraphicsHandler.cpp 2015-03-08 22:23:11.205944134 +0100
|
|
@@ -157,7 +157,7 @@
|
|
FilePath tempFile(const std::string& extension)
|
|
{
|
|
FilePath tempFileDir(string_utils::systemToUtf8(R_TempDir));
|
|
- FilePath tempFilePath = tempFileDir.complete(core::system::generateUuid(false) +
|
|
+ FilePath tempFilePath = tempFileDir.complete(::core::system::generateUuid(false) +
|
|
"." + extension);
|
|
return tempFilePath;
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RClientMetrics.hpp rstudio-0.98.1103-fix/src/cpp/r/session/RClientMetrics.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RClientMetrics.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RClientMetrics.hpp 2015-03-08 22:23:11.227944137 +0100
|
|
@@ -29,8 +29,8 @@
|
|
|
|
RClientMetrics get();
|
|
void set(const RClientMetrics& metrics);
|
|
-void save(core::Settings* pSettings);
|
|
-void restore(const core::Settings& settings);
|
|
+void save(::core::Settings* pSettings);
|
|
+void restore(const ::core::Settings& settings);
|
|
|
|
} // namespace client_metrics
|
|
} // namespace session
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RClientState.cpp rstudio-0.98.1103-fix/src/cpp/r/session/RClientState.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RClientState.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RClientState.cpp 2015-03-08 22:23:11.236944139 +0100
|
|
@@ -83,7 +83,7 @@
|
|
|
|
void commitState(const json::Object& stateContainer,
|
|
const std::string& fileExt,
|
|
- const core::FilePath& stateDir)
|
|
+ const ::core::FilePath& stateDir)
|
|
{
|
|
for (json::Object::const_iterator
|
|
it = stateContainer.begin(); it != stateContainer.end(); ++it)
|
|
@@ -100,7 +100,7 @@
|
|
}
|
|
}
|
|
|
|
-void restoreState(const core::FilePath& stateFilePath,
|
|
+void restoreState(const ::core::FilePath& stateFilePath,
|
|
json::Object* pStateContainer)
|
|
{
|
|
// read the contents of the file
|
|
@@ -248,7 +248,7 @@
|
|
}
|
|
else
|
|
{
|
|
- if (!json::isType<core::json::Object>(i->second))
|
|
+ if (!json::isType< ::core::json::Object>(i->second))
|
|
return json::Value();
|
|
json::Object& scopeObject = (i->second).get_obj();
|
|
return scopeObject[name];
|
|
@@ -263,8 +263,8 @@
|
|
|
|
|
|
Error ClientState::commit(ClientStateCommitType commitType,
|
|
- const core::FilePath& stateDir,
|
|
- const core::FilePath& projectStateDir)
|
|
+ const ::core::FilePath& stateDir,
|
|
+ const ::core::FilePath& projectStateDir)
|
|
{
|
|
// remove and re-create the stateDirs
|
|
Error error = removeAndRecreateStateDir(stateDir);
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RConsoleActions.cpp rstudio-0.98.1103-fix/src/cpp/r/session/RConsoleActions.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RConsoleActions.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RConsoleActions.cpp 2015-03-08 22:23:11.168944127 +0100
|
|
@@ -214,7 +214,7 @@
|
|
return Success();
|
|
}
|
|
|
|
-Error ConsoleActions::saveToFile(const core::FilePath& filePath) const
|
|
+Error ConsoleActions::saveToFile(const ::core::FilePath& filePath) const
|
|
{
|
|
// write actions
|
|
json::Object actionsObject;
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RConsoleHistory.cpp rstudio-0.98.1103-fix/src/cpp/r/session/RConsoleHistory.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RConsoleHistory.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RConsoleHistory.cpp 2015-03-08 22:23:11.165944127 +0100
|
|
@@ -50,7 +50,7 @@
|
|
|
|
void ConsoleHistory::setCapacityFromRHistsize()
|
|
{
|
|
- std::string histSize = core::system::getenv("R_HISTSIZE");
|
|
+ std::string histSize = ::core::system::getenv("R_HISTSIZE");
|
|
if (!histSize.empty())
|
|
{
|
|
setCapacity(
|
|
@@ -154,10 +154,10 @@
|
|
// tolerate file not found -- the user may not have any prior history
|
|
if (filePath.exists())
|
|
{
|
|
- return core::readCollectionFromFile<boost::circular_buffer<std::string> >(
|
|
+ return ::core::readCollectionFromFile<boost::circular_buffer<std::string> >(
|
|
filePath,
|
|
&historyBuffer_,
|
|
- core::parseString);
|
|
+ ::core::parseString);
|
|
}
|
|
else if (verifyFile)
|
|
{
|
|
@@ -172,10 +172,10 @@
|
|
|
|
Error ConsoleHistory::saveToFile(const FilePath& filePath) const
|
|
{
|
|
- return core::writeCollectionToFile<boost::circular_buffer<std::string> >(
|
|
+ return ::core::writeCollectionToFile<boost::circular_buffer<std::string> >(
|
|
filePath,
|
|
historyBuffer_,
|
|
- core::stringifyString);
|
|
+ ::core::stringifyString);
|
|
}
|
|
|
|
void ConsoleHistory::safeRemove(int index)
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RDiscovery.cpp rstudio-0.98.1103-fix/src/cpp/r/session/RDiscovery.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RDiscovery.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RDiscovery.cpp 2015-03-08 22:23:11.242944140 +0100
|
|
@@ -56,16 +56,16 @@
|
|
Error discoverR(RLocations* pLocations)
|
|
{
|
|
// rhome
|
|
- std::string rHome = core::system::getenv("R_HOME");
|
|
+ std::string rHome = ::core::system::getenv("R_HOME");
|
|
if (rHome.empty() || !FilePath(rHome).exists())
|
|
- return core::pathNotFoundError(rHome, ERROR_LOCATION);
|
|
+ return ::core::pathNotFoundError(rHome, ERROR_LOCATION);
|
|
else
|
|
pLocations->homePath = rHome;
|
|
|
|
// rdocdir
|
|
- std::string rDocDir = core::system::getenv("R_DOC_DIR");
|
|
+ std::string rDocDir = ::core::system::getenv("R_DOC_DIR");
|
|
if (rDocDir.empty() || !FilePath(rDocDir).exists())
|
|
- return core::pathNotFoundError(rDocDir, ERROR_LOCATION);
|
|
+ return ::core::pathNotFoundError(rDocDir, ERROR_LOCATION);
|
|
else
|
|
pLocations->docPath = rDocDir;
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/REmbedded.hpp rstudio-0.98.1103-fix/src/cpp/r/session/REmbedded.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/REmbedded.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/REmbedded.hpp 2015-03-08 22:23:11.150944124 +0100
|
|
@@ -61,8 +61,8 @@
|
|
void (*cleanUp)(SA_TYPE, int, int);
|
|
};
|
|
|
|
-void runEmbeddedR(const core::FilePath& rHome,
|
|
- const core::FilePath& userHome,
|
|
+void runEmbeddedR(const ::core::FilePath& rHome,
|
|
+ const ::core::FilePath& userHome,
|
|
bool quiet,
|
|
bool loadInitFile,
|
|
SA_TYPE defaultSaveAction,
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/REmbeddedPosix.cpp rstudio-0.98.1103-fix/src/cpp/r/session/REmbeddedPosix.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/REmbeddedPosix.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/REmbeddedPosix.cpp 2015-03-08 22:23:11.230944138 +0100
|
|
@@ -45,8 +45,8 @@
|
|
namespace r {
|
|
namespace session {
|
|
|
|
-void runEmbeddedR(const core::FilePath& /*rHome*/, // ignored on posix
|
|
- const core::FilePath& /*userHome*/, // ignored on posix
|
|
+void runEmbeddedR(const ::core::FilePath& /*rHome*/, // ignored on posix
|
|
+ const ::core::FilePath& /*userHome*/, // ignored on posix
|
|
bool quiet,
|
|
bool loadInitFile,
|
|
SA_TYPE defaultSaveAction,
|
|
@@ -185,7 +185,7 @@
|
|
char* dlError = ::dlerror();
|
|
if (dlError)
|
|
errmsg += ": " + std::string(dlError);
|
|
- core::log::logErrorMessage(errmsg, location);
|
|
+ ::core::log::logErrorMessage(errmsg, location);
|
|
}
|
|
|
|
// Note that when we passed QCF_SET_FRONT to QuartzCocoa_SetupEventLoop
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/REmbeddedWin32.cpp rstudio-0.98.1103-fix/src/cpp/r/session/REmbeddedWin32.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/REmbeddedWin32.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/REmbeddedWin32.cpp 2015-03-08 22:23:11.233944138 +0100
|
|
@@ -127,8 +127,8 @@
|
|
|
|
}
|
|
|
|
-void runEmbeddedR(const core::FilePath& rHome,
|
|
- const core::FilePath& userHome,
|
|
+void runEmbeddedR(const ::core::FilePath& rHome,
|
|
+ const ::core::FilePath& userHome,
|
|
bool quiet,
|
|
bool loadInitFile,
|
|
SA_TYPE defaultSaveAction,
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RRestartContext.hpp rstudio-0.98.1103-fix/src/cpp/r/session/RRestartContext.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RRestartContext.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RRestartContext.hpp 2015-03-08 22:23:11.244944140 +0100
|
|
@@ -35,23 +35,23 @@
|
|
|
|
public:
|
|
|
|
- void initialize(const core::FilePath& scopePath,
|
|
+ void initialize(const ::core::FilePath& scopePath,
|
|
const std::string& contextId);
|
|
|
|
bool hasSessionState() const;
|
|
|
|
bool rProfileOnRestore() const;
|
|
|
|
- core::FilePath sessionStatePath() const;
|
|
+ ::core::FilePath sessionStatePath() const;
|
|
|
|
void removeSessionState();
|
|
|
|
- static core::FilePath createSessionStatePath(
|
|
- const core::FilePath& scopePath,
|
|
+ static ::core::FilePath createSessionStatePath(
|
|
+ const ::core::FilePath& scopePath,
|
|
const std::string& contextId);
|
|
|
|
private:
|
|
- core::FilePath sessionStatePath_;
|
|
+ ::core::FilePath sessionStatePath_;
|
|
};
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RSearchPath.cpp rstudio-0.98.1103-fix/src/cpp/r/session/RSearchPath.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RSearchPath.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RSearchPath.cpp 2015-03-08 22:23:11.247944141 +0100
|
|
@@ -72,7 +72,7 @@
|
|
// add context to error and log it
|
|
Error restoreError = error ;
|
|
restoreError.addProperty("context", message);
|
|
- core::log::logError(restoreError, location);
|
|
+ ::core::log::logError(restoreError, location);
|
|
|
|
// notify end-user
|
|
std::string report = message + ": " + error.code().message() + "\n";
|
|
@@ -86,7 +86,7 @@
|
|
return executeSafely(boost::bind(R_SaveGlobalEnvToFile, envPath.c_str()));
|
|
}
|
|
|
|
-Error restoreGlobalEnvironment(const core::FilePath& environmentFile)
|
|
+Error restoreGlobalEnvironment(const ::core::FilePath& environmentFile)
|
|
{
|
|
// tolerate no environment saved
|
|
if (!environmentFile.exists())
|
|
@@ -282,7 +282,7 @@
|
|
|
|
if (!path.empty())
|
|
{
|
|
- path = core::string_utils::systemToUtf8(path);
|
|
+ path = ::core::string_utils::systemToUtf8(path);
|
|
packagePaths[name] = path;
|
|
}
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RSearchPath.hpp rstudio-0.98.1103-fix/src/cpp/r/session/RSearchPath.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RSearchPath.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RSearchPath.hpp 2015-03-08 22:23:11.160944126 +0100
|
|
@@ -25,9 +25,9 @@
|
|
namespace session {
|
|
namespace search_path {
|
|
|
|
-core::Error save(const core::FilePath& statePath);
|
|
-core::Error saveGlobalEnvironment(const core::FilePath& statePath);
|
|
-core::Error restore(const core::FilePath& statePath);
|
|
+core::Error save(const ::core::FilePath& statePath);
|
|
+core::Error saveGlobalEnvironment(const ::core::FilePath& statePath);
|
|
+core::Error restore(const ::core::FilePath& statePath);
|
|
|
|
} // namespace search_path
|
|
} // namespace session
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RSession.cpp rstudio-0.98.1103-fix/src/cpp/r/session/RSession.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RSession.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RSession.cpp 2015-03-08 22:23:11.158944126 +0100
|
|
@@ -110,7 +110,7 @@
|
|
|
|
FilePath rHistoryFilePath()
|
|
{
|
|
- std::string histFile = core::system::getenv("R_HISTFILE");
|
|
+ std::string histFile = ::core::system::getenv("R_HISTFILE");
|
|
boost::algorithm::trim(histFile);
|
|
if (histFile.empty())
|
|
histFile = ".Rhistory";
|
|
@@ -403,7 +403,7 @@
|
|
else
|
|
{
|
|
graphicsPath = r::session::utils::tempDir().complete(
|
|
- "rs-graphics-" + core::system::generateUuid());
|
|
+ "rs-graphics-" + ::core::system::generateUuid());
|
|
}
|
|
|
|
error = graphics::device::initialize(graphicsPath,
|
|
@@ -517,7 +517,7 @@
|
|
{
|
|
FilePath abendLogPath = s_options.logPath.complete(
|
|
"rsession_abort_msg.log");
|
|
- Error error = core::writeStringToFile(abendLogPath, msg);
|
|
+ Error error = ::core::writeStringToFile(abendLogPath, msg);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -531,7 +531,7 @@
|
|
// provide error message if the error was unexpected
|
|
std::string msg;
|
|
if (!error.expected())
|
|
- msg = core::log::errorAsLogEntry(error);
|
|
+ msg = ::core::log::errorAsLogEntry(error);
|
|
|
|
rSuicide(msg);
|
|
}
|
|
@@ -959,13 +959,13 @@
|
|
|
|
// transform into FilePath
|
|
std::string path = URL.substr(filePrefix.length());
|
|
- path = core::http::util::urlDecode(path);
|
|
+ path = ::core::http::util::urlDecode(path);
|
|
FilePath filePath(r::util::fixPath(path));
|
|
|
|
// sometimes R passes short paths (like for files within the
|
|
// R home directory). Convert these to long paths
|
|
#ifdef _WIN32
|
|
- core::system::ensureLongPath(&filePath);
|
|
+ ::core::system::ensureLongPath(&filePath);
|
|
#endif
|
|
|
|
// fire browseFile
|
|
@@ -992,7 +992,7 @@
|
|
SEXP rs_createUUID()
|
|
{
|
|
r::sexp::Protect rProtect;
|
|
- return r::sexp::create(core::system::generateUuid(false), &rProtect);
|
|
+ return r::sexp::create(::core::system::generateUuid(false), &rProtect);
|
|
}
|
|
|
|
SEXP rs_loadHistory(SEXP sFile)
|
|
@@ -1314,14 +1314,14 @@
|
|
return error;
|
|
|
|
// R_HOME
|
|
- core::system::setenv("R_HOME", rLocations.homePath);
|
|
+ ::core::system::setenv("R_HOME", rLocations.homePath);
|
|
|
|
// R_DOC_DIR (required by help-links.sh)
|
|
- core::system::setenv("R_DOC_DIR", rLocations.docPath);
|
|
+ ::core::system::setenv("R_DOC_DIR", rLocations.docPath);
|
|
|
|
// R_LIBS_USER
|
|
if (!s_options.rLibsUser.empty())
|
|
- core::system::setenv("R_LIBS_USER", s_options.rLibsUser);
|
|
+ ::core::system::setenv("R_LIBS_USER", s_options.rLibsUser);
|
|
|
|
// set compatible graphics engine version
|
|
int engineVersion = s_options.rCompatibleGraphicsEngineVersion;
|
|
@@ -1635,7 +1635,7 @@
|
|
|
|
bool isPackratModeOn()
|
|
{
|
|
- return !core::system::getenv("R_PACKRAT_MODE").empty();
|
|
+ return !::core::system::getenv("R_PACKRAT_MODE").empty();
|
|
}
|
|
|
|
bool isDefaultPrompt(const std::string& prompt)
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RSessionState.cpp rstudio-0.98.1103-fix/src/cpp/r/session/RSessionState.cpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RSessionState.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RSessionState.cpp 2015-03-08 22:23:11.240944139 +0100
|
|
@@ -90,16 +90,16 @@
|
|
Error error = envFile.removeIfExists();
|
|
if (error)
|
|
return error;
|
|
- core::Settings envSettings;
|
|
+ ::core::Settings envSettings;
|
|
error = envSettings.initialize(envFile);
|
|
if (error)
|
|
return error;
|
|
|
|
// get environment and write it to the file
|
|
- core::system::Options env;
|
|
- core::system::environment(&env);
|
|
+ ::core::system::Options env;
|
|
+ ::core::system::environment(&env);
|
|
envSettings.beginUpdate();
|
|
- BOOST_FOREACH(const core::system::Option& var, env)
|
|
+ BOOST_FOREACH(const ::core::system::Option& var, env)
|
|
{
|
|
envSettings.set(var.first, var.second);
|
|
}
|
|
@@ -110,7 +110,7 @@
|
|
|
|
void setEnvVar(const std::string& name, const std::string& value)
|
|
{
|
|
- core::system::setenv(name, value);
|
|
+ ::core::system::setenv(name, value);
|
|
}
|
|
|
|
Error restoreEnvironmentVars(const FilePath& envFile)
|
|
@@ -119,7 +119,7 @@
|
|
return Success();
|
|
|
|
// read settings file
|
|
- core::Settings envSettings;
|
|
+ ::core::Settings envSettings;
|
|
Error error = envSettings.initialize(envFile);
|
|
if (error)
|
|
return error;
|
|
@@ -163,7 +163,7 @@
|
|
// add context to error and log it
|
|
Error serializationError = error ;
|
|
serializationError.addProperty("context", message);
|
|
- core::log::logError(serializationError, location);
|
|
+ ::core::log::logError(serializationError, location);
|
|
|
|
// notify end-user
|
|
std::string report = message + ": " + error.code().message() + "\n";
|
|
@@ -370,7 +370,7 @@
|
|
}
|
|
|
|
|
|
-bool saveMinimal(const core::FilePath& statePath,
|
|
+bool saveMinimal(const ::core::FilePath& statePath,
|
|
bool saveGlobalEnvironment)
|
|
{
|
|
// initialize context
|
|
@@ -414,7 +414,7 @@
|
|
|
|
namespace {
|
|
|
|
-bool getBoolSetting(const core::FilePath& statePath,
|
|
+bool getBoolSetting(const ::core::FilePath& statePath,
|
|
const std::string& name,
|
|
bool defaultValue)
|
|
{
|
|
@@ -431,12 +431,12 @@
|
|
|
|
} // anonymous namespace
|
|
|
|
-bool rProfileOnRestore(const core::FilePath& statePath)
|
|
+bool rProfileOnRestore(const ::core::FilePath& statePath)
|
|
{
|
|
return getBoolSetting(statePath, kRProfileOnRestore, true);
|
|
}
|
|
|
|
-bool packratModeEnabled(const core::FilePath& statePath)
|
|
+bool packratModeEnabled(const ::core::FilePath& statePath)
|
|
{
|
|
return getBoolSetting(statePath, kPackratModeOn, false);
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/r/session/RSessionState.hpp rstudio-0.98.1103-fix/src/cpp/r/session/RSessionState.hpp
|
|
--- rstudio-0.98.1103/src/cpp/r/session/RSessionState.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/r/session/RSessionState.hpp 2015-03-08 22:23:11.225944137 +0100
|
|
@@ -30,25 +30,25 @@
|
|
namespace session {
|
|
namespace state {
|
|
|
|
-bool save(const core::FilePath& statePath,
|
|
+bool save(const ::core::FilePath& statePath,
|
|
bool serverMode,
|
|
bool excludePackages,
|
|
bool disableSaveCompression);
|
|
|
|
-bool saveMinimal(const core::FilePath& statePath,
|
|
+bool saveMinimal(const ::core::FilePath& statePath,
|
|
bool saveGlobalEnvironment);
|
|
|
|
|
|
-bool rProfileOnRestore(const core::FilePath& statePath);
|
|
+bool rProfileOnRestore(const ::core::FilePath& statePath);
|
|
|
|
-bool packratModeEnabled(const core::FilePath& statePath);
|
|
+bool packratModeEnabled(const ::core::FilePath& statePath);
|
|
|
|
-bool restore(const core::FilePath& statePath,
|
|
+bool restore(const ::core::FilePath& statePath,
|
|
bool serverMode,
|
|
- boost::function<core::Error()>* pDeferredRestoreAction,
|
|
+ boost::function< ::core::Error()>* pDeferredRestoreAction,
|
|
std::string* pErrorMessages);
|
|
|
|
-bool destroy(const core::FilePath& statePath);
|
|
+bool destroy(const ::core::FilePath& statePath);
|
|
|
|
} // namespace state
|
|
} // namespace session
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/auth/ServerAuthHandler.cpp rstudio-0.98.1103-fix/src/cpp/server/auth/ServerAuthHandler.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/auth/ServerAuthHandler.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/auth/ServerAuthHandler.cpp 2015-03-08 22:23:09.679943875 +0100
|
|
@@ -36,7 +36,7 @@
|
|
Handler s_handler;
|
|
|
|
void updateCredentialsNotSupported(
|
|
- boost::shared_ptr<core::http::AsyncConnection> pConnection)
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> pConnection)
|
|
{
|
|
// alias response
|
|
http::Response* pResponse = &(pConnection->response());
|
|
@@ -60,7 +60,7 @@
|
|
const char * const kRefreshCredentialsAndContinue = "/auth-refresh-credentials";
|
|
|
|
|
|
-std::string getUserIdentifier(const core::http::Request& request)
|
|
+std::string getUserIdentifier(const ::core::http::Request& request)
|
|
{
|
|
return s_handler.getUserIdentifier(request);
|
|
}
|
|
@@ -70,20 +70,20 @@
|
|
return s_handler.userIdentifierToLocalUsername(userIdentifier);
|
|
}
|
|
|
|
-bool mainPageFilter(const core::http::Request& request,
|
|
- core::http::Response* pResponse)
|
|
+bool mainPageFilter(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
return s_handler.mainPageFilter(request, pResponse);
|
|
}
|
|
|
|
-void signInThenContinue(const core::http::Request& request,
|
|
- core::http::Response* pResponse)
|
|
+void signInThenContinue(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
s_handler.signInThenContinue(request, pResponse);
|
|
}
|
|
|
|
void refreshCredentialsThenContinue(
|
|
- boost::shared_ptr<core::http::AsyncConnection> pConnection)
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> pConnection)
|
|
{
|
|
s_handler.refreshCredentialsThenContinue(pConnection);
|
|
}
|
|
@@ -122,10 +122,10 @@
|
|
return !s_handler.setSignInCookies.empty();
|
|
}
|
|
|
|
-void setSignInCookies(const core::http::Request& request,
|
|
+void setSignInCookies(const ::core::http::Request& request,
|
|
const std::string& username,
|
|
bool persist,
|
|
- core::http::Response* pResponse)
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
s_handler.setSignInCookies(request, username, persist, pResponse);
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/auth/ServerSecureCookie.cpp rstudio-0.98.1103-fix/src/cpp/server/auth/ServerSecureCookie.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/auth/ServerSecureCookie.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/auth/ServerSecureCookie.cpp 2015-03-08 22:23:09.682943876 +0100
|
|
@@ -65,18 +65,18 @@
|
|
|
|
// compute hmac for the message
|
|
std::vector<unsigned char> hmac;
|
|
- Error error = core::system::crypto::HMAC_SHA1(message, cookieKey, &hmac);
|
|
+ Error error = ::core::system::crypto::HMAC_SHA1(message, cookieKey, &hmac);
|
|
if (error)
|
|
return error;
|
|
|
|
// base 64 encode it
|
|
- return core::system::crypto::base64Encode(hmac, pHMAC);
|
|
+ return ::core::system::crypto::base64Encode(hmac, pHMAC);
|
|
}
|
|
|
|
http::Cookie createSecureCookie(
|
|
const std::string& name,
|
|
const std::string& value,
|
|
- const core::http::Request& request,
|
|
+ const ::core::http::Request& request,
|
|
const boost::posix_time::time_duration& validDuration,
|
|
const std::string& path)
|
|
{
|
|
@@ -115,7 +115,7 @@
|
|
|
|
} // anonymous namespace
|
|
|
|
-std::string readSecureCookie(const core::http::Request& request,
|
|
+std::string readSecureCookie(const ::core::http::Request& request,
|
|
const std::string& name)
|
|
{
|
|
// get the signed cookie value
|
|
@@ -219,7 +219,7 @@
|
|
void remove(const http::Request& request,
|
|
const std::string& name,
|
|
const std::string& path,
|
|
- core::http::Response* pResponse)
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
// create vanilla cookie (no need for secure cookie since we are removing)
|
|
http::Cookie cookie(request, name, std::string(), path);
|
|
@@ -235,7 +235,7 @@
|
|
{
|
|
// determine path to use for secure cookie key file
|
|
FilePath secureCookieKeyPath;
|
|
- if (core::system::effectiveUserIsRoot())
|
|
+ if (::core::system::effectiveUserIsRoot())
|
|
{
|
|
secureCookieKeyPath = FilePath("/etc/rstudio/secure-cookie-key");
|
|
if (!secureCookieKeyPath.exists())
|
|
@@ -269,7 +269,7 @@
|
|
else
|
|
{
|
|
// generate a new key
|
|
- std::string secureCookieKey = core::system::generateUuid(false);
|
|
+ std::string secureCookieKey = ::core::system::generateUuid(false);
|
|
|
|
// ensure the parent directory
|
|
Error error = secureCookieKeyPath.parent().ensureDirectory();
|
|
@@ -283,7 +283,7 @@
|
|
|
|
// change mode it so it is only readable and writeable by this user
|
|
if (changeFileMode(secureCookieKeyPath,
|
|
- core::system::UserReadWriteMode) < 0)
|
|
+ ::core::system::UserReadWriteMode) < 0)
|
|
{
|
|
return systemError(errno, ERROR_LOCATION);
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/auth/ServerValidateUser.cpp rstudio-0.98.1103-fix/src/cpp/server/auth/ServerValidateUser.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/auth/ServerValidateUser.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/auth/ServerValidateUser.cpp 2015-03-08 22:23:09.674943874 +0100
|
|
@@ -38,12 +38,12 @@
|
|
return true;
|
|
|
|
// get the user
|
|
- core::system::user::User user;
|
|
+ ::core::system::user::User user;
|
|
Error error = userFromUsername(username, &user);
|
|
if (error)
|
|
{
|
|
// log the error only if it is unexpected
|
|
- if (!core::system::isUserNotFoundError(error))
|
|
+ if (!::core::system::isUserNotFoundError(error))
|
|
LOG_ERROR(error);
|
|
|
|
// not found either due to non-existence or an unexpected error
|
|
@@ -55,7 +55,7 @@
|
|
{
|
|
// see if they are a member of the required group
|
|
bool belongsToGroup ;
|
|
- error = core::system::userBelongsToGroup(user,
|
|
+ error = ::core::system::userBelongsToGroup(user,
|
|
requiredGroup,
|
|
&belongsToGroup);
|
|
if (error)
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/include/server/auth/ServerAuthHandler.hpp rstudio-0.98.1103-fix/src/cpp/server/include/server/auth/ServerAuthHandler.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/include/server/auth/ServerAuthHandler.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/include/server/auth/ServerAuthHandler.hpp 2015-03-08 22:23:09.701943879 +0100
|
|
@@ -35,15 +35,15 @@
|
|
extern const char * const kRefreshCredentialsAndContinue;
|
|
|
|
// functions which can be called on the handler directly
|
|
-std::string getUserIdentifier(const core::http::Request& request);
|
|
+std::string getUserIdentifier(const ::core::http::Request& request);
|
|
|
|
std::string userIdentifierToLocalUsername(const std::string& userIdentifier);
|
|
|
|
-bool mainPageFilter(const core::http::Request& request,
|
|
- core::http::Response* pResponse);
|
|
+bool mainPageFilter(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
-void signInThenContinue(const core::http::Request& request,
|
|
- core::http::Response* pResponse);
|
|
+void signInThenContinue(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
// Special uri handler which attempts to refresh the user's
|
|
// credentials then continues on to the originally requested
|
|
@@ -51,26 +51,26 @@
|
|
// auth back-end doesn't support this behavior then it should
|
|
// redirect to the sign-in page
|
|
void refreshCredentialsThenContinue(
|
|
- boost::shared_ptr<core::http::AsyncConnection> pConnection);
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> pConnection);
|
|
|
|
|
|
// functions which must be provided by an auth handler
|
|
struct Handler
|
|
{
|
|
- boost::function<std::string(const core::http::Request&)> getUserIdentifier;
|
|
+ boost::function<std::string(const ::core::http::Request&)> getUserIdentifier;
|
|
boost::function<std::string(const std::string&)>
|
|
userIdentifierToLocalUsername;
|
|
- core::http::UriFilterFunction mainPageFilter;
|
|
- core::http::UriHandlerFunction signInThenContinue;
|
|
- core::http::AsyncUriHandlerFunction refreshCredentialsThenContinue;
|
|
- core::http::AsyncUriHandlerFunction updateCredentials;
|
|
- core::http::UriHandlerFunction signIn;
|
|
- core::http::UriHandlerFunction signOut;
|
|
+ ::core::http::UriFilterFunction mainPageFilter;
|
|
+ ::core::http::UriHandlerFunction signInThenContinue;
|
|
+ ::core::http::AsyncUriHandlerFunction refreshCredentialsThenContinue;
|
|
+ ::core::http::AsyncUriHandlerFunction updateCredentials;
|
|
+ ::core::http::UriHandlerFunction signIn;
|
|
+ ::core::http::UriHandlerFunction signOut;
|
|
|
|
- boost::function<void(const core::http::Request&,
|
|
+ boost::function<void(const ::core::http::Request&,
|
|
const std::string&,
|
|
bool,
|
|
- core::http::Response*)> setSignInCookies;
|
|
+ ::core::http::Response*)> setSignInCookies;
|
|
};
|
|
|
|
// register the auth handler
|
|
@@ -81,14 +81,14 @@
|
|
|
|
// set sign in cookies
|
|
bool canSetSignInCookies();
|
|
-void setSignInCookies(const core::http::Request& request,
|
|
+void setSignInCookies(const ::core::http::Request& request,
|
|
const std::string& username,
|
|
bool persist,
|
|
- core::http::Response* pResponse);
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
// sign out
|
|
-void signOut(const core::http::Request& request,
|
|
- core::http::Response* pResponse);
|
|
+void signOut(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
} // namespace handler
|
|
} // namespace auth
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/include/server/auth/ServerSecureCookie.hpp rstudio-0.98.1103-fix/src/cpp/server/include/server/auth/ServerSecureCookie.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/include/server/auth/ServerSecureCookie.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/include/server/auth/ServerSecureCookie.hpp 2015-03-08 22:23:09.705943880 +0100
|
|
@@ -34,7 +34,7 @@
|
|
namespace auth {
|
|
namespace secure_cookie {
|
|
|
|
-std::string readSecureCookie(const core::http::Request& request,
|
|
+std::string readSecureCookie(const ::core::http::Request& request,
|
|
const std::string& name);
|
|
|
|
void set(const std::string& name,
|
|
@@ -55,7 +55,7 @@
|
|
void remove(const http::Request& request,
|
|
const std::string& name,
|
|
const std::string& path,
|
|
- core::http::Response* pResponse);
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
core::Error initialize();
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/include/server/auth/ServerSecureUriHandler.hpp rstudio-0.98.1103-fix/src/cpp/server/include/server/auth/ServerSecureUriHandler.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/include/server/auth/ServerSecureUriHandler.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/include/server/auth/ServerSecureUriHandler.hpp 2015-03-08 22:23:09.703943879 +0100
|
|
@@ -33,12 +33,12 @@
|
|
|
|
typedef boost::function<void(
|
|
const std::string& username,
|
|
- const core::http::Request&,
|
|
- core::http::Response*)> SecureUriHandlerFunction ;
|
|
+ const ::core::http::Request&,
|
|
+ ::core::http::Response*)> SecureUriHandlerFunction ;
|
|
|
|
typedef boost::function<void(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection>)>
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection>)>
|
|
SecureAsyncUriHandlerFunction;
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/include/server/ServerErrorCategory.hpp rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerErrorCategory.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/include/server/ServerErrorCategory.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerErrorCategory.hpp 2015-03-08 22:23:09.696943878 +0100
|
|
@@ -60,9 +60,9 @@
|
|
} // namespace errc
|
|
|
|
|
|
-bool isAuthenticationError(const core::Error& error);
|
|
+bool isAuthenticationError(const ::core::Error& error);
|
|
|
|
-bool isSessionUnavailableError(const core::Error& error);
|
|
+bool isSessionUnavailableError(const ::core::Error& error);
|
|
|
|
} // namespace server
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/include/server/ServerOptions.hpp rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerOptions.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/include/server/ServerOptions.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerOptions.hpp 2015-03-08 22:23:09.708943880 +0100
|
|
@@ -45,7 +45,7 @@
|
|
|
|
public:
|
|
virtual ~Options() {}
|
|
- core::ProgramStatus read(int argc,
|
|
+ ::core::ProgramStatus read(int argc,
|
|
char * const argv[],
|
|
std::ostream& osWarnings);
|
|
|
|
@@ -99,9 +99,9 @@
|
|
return std::string(wwwLocalPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath wwwSymbolMapsPath() const
|
|
+ ::core::FilePath wwwSymbolMapsPath() const
|
|
{
|
|
- return core::FilePath(wwwSymbolMapsPath_.c_str());
|
|
+ return ::core::FilePath(wwwSymbolMapsPath_.c_str());
|
|
}
|
|
|
|
bool wwwUseEmulatedStack() const
|
|
@@ -188,7 +188,7 @@
|
|
|
|
private:
|
|
|
|
- void resolvePath(const core::FilePath& basePath,
|
|
+ void resolvePath(const ::core::FilePath& basePath,
|
|
std::string* pPath) const;
|
|
|
|
void addOverlayOptions(boost::program_options::options_description* pServer,
|
|
@@ -213,12 +213,12 @@
|
|
|
|
void setOverlayOption(const std::string& name, int value)
|
|
{
|
|
- setOverlayOption(name, core::safe_convert::numberToString(value));
|
|
+ setOverlayOption(name, ::core::safe_convert::numberToString(value));
|
|
}
|
|
|
|
|
|
private:
|
|
- core::FilePath installPath_;
|
|
+ ::core::FilePath installPath_;
|
|
bool verifyInstallation_;
|
|
std::string serverWorkingDir_;
|
|
std::string serverUser_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/include/server/ServerProcessSupervisor.hpp rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerProcessSupervisor.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/include/server/ServerProcessSupervisor.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerProcessSupervisor.hpp 2015-03-08 22:23:09.692943877 +0100
|
|
@@ -32,8 +32,8 @@
|
|
const std::string& executable,
|
|
const std::vector<std::string>& args,
|
|
const std::string& input,
|
|
- const core::system::ProcessOptions& options,
|
|
- const boost::function<void(const core::system::ProcessResult&)>& onCompleted);
|
|
+ const ::core::system::ProcessOptions& options,
|
|
+ const boost::function<void(const ::core::system::ProcessResult&)>& onCompleted);
|
|
|
|
core::Error initialize();
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/include/server/ServerScheduler.hpp rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerScheduler.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/include/server/ServerScheduler.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerScheduler.hpp 2015-03-08 22:23:09.690943877 +0100
|
|
@@ -27,7 +27,7 @@
|
|
//
|
|
// note that this function does not synchronize access to the list of
|
|
// scheduled commands so it should ONLY be called during server init
|
|
-void addCommand(boost::shared_ptr<core::ScheduledCommand> pCmd);
|
|
+void addCommand(boost::shared_ptr< ::core::ScheduledCommand> pCmd);
|
|
|
|
} // namespace scheduler
|
|
} // namespace server
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/include/server/ServerSessionManager.hpp rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerSessionManager.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/include/server/ServerSessionManager.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerSessionManager.hpp 2015-03-08 22:23:09.686943876 +0100
|
|
@@ -52,18 +52,18 @@
|
|
|
|
public:
|
|
// launching
|
|
- core::Error launchSession(const std::string& username);
|
|
+ ::core::Error launchSession(const std::string& username);
|
|
void removePendingLaunch(const std::string& username);
|
|
|
|
// set a custom session launcher
|
|
- typedef boost::function<core::Error(
|
|
- const core::r_util::SessionLaunchProfile&)>
|
|
+ typedef boost::function< ::core::Error(
|
|
+ const ::core::r_util::SessionLaunchProfile&)>
|
|
SessionLaunchFunction;
|
|
void setSessionLaunchFunction(const SessionLaunchFunction& launchFunction);
|
|
|
|
// set a launch profile filter
|
|
typedef boost::function<void(
|
|
- core::r_util::SessionLaunchProfile*)>
|
|
+ ::core::r_util::SessionLaunchProfile*)>
|
|
SessionLaunchProfileFilter;
|
|
void addSessionLaunchProfileFilter(const SessionLaunchProfileFilter& filter);
|
|
|
|
@@ -73,8 +73,8 @@
|
|
private:
|
|
// default session launcher -- runs the process then uses the
|
|
// ChildProcessTracker to track it's pid for later reaping
|
|
- core::Error launchAndTrackSession(
|
|
- const core::r_util::SessionLaunchProfile& profile);
|
|
+ ::core::Error launchAndTrackSession(
|
|
+ const ::core::r_util::SessionLaunchProfile& profile);
|
|
|
|
private:
|
|
// pending launches
|
|
@@ -89,13 +89,13 @@
|
|
std::vector<SessionLaunchProfileFilter> sessionLaunchProfileFilters_;
|
|
|
|
// child process tracker
|
|
- core::system::ChildProcessTracker processTracker_;
|
|
+ ::core::system::ChildProcessTracker processTracker_;
|
|
};
|
|
|
|
// Lower-level global functions for launching sessions. These are used
|
|
// internally by the SessionManager as well as for verify-installation
|
|
core::Error launchSession(const std::string& username,
|
|
- const core::system::Options& extraArgs,
|
|
+ const ::core::system::Options& extraArgs,
|
|
PidType* pPid);
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/include/server/ServerSessionProxy.hpp rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerSessionProxy.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/include/server/ServerSessionProxy.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerSessionProxy.hpp 2015-03-08 22:23:09.688943877 +0100
|
|
@@ -33,25 +33,25 @@
|
|
|
|
void proxyContentRequest(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection) ;
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection) ;
|
|
|
|
void proxyRpcRequest(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection) ;
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection) ;
|
|
|
|
void proxyEventsRequest(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection);
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection);
|
|
|
|
void proxyLocalhostRequest(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection);
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection);
|
|
|
|
-bool requiresSession(const core::http::Request& request);
|
|
+bool requiresSession(const ::core::http::Request& request);
|
|
|
|
typedef boost::function<bool(
|
|
const std::string&,
|
|
- boost::shared_ptr<core::http::AsyncConnection>)> ProxyFilter;
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection>)> ProxyFilter;
|
|
void setProxyFilter(ProxyFilter filter);
|
|
|
|
} // namespace session_proxy
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/include/server/ServerUriHandlers.hpp rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerUriHandlers.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/include/server/ServerUriHandlers.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/include/server/ServerUriHandlers.hpp 2015-03-08 22:23:09.694943878 +0100
|
|
@@ -26,17 +26,17 @@
|
|
|
|
// add async uri handler
|
|
void add(const std::string& prefix,
|
|
- const core::http::AsyncUriHandlerFunction& handler);
|
|
+ const ::core::http::AsyncUriHandlerFunction& handler);
|
|
|
|
// add blocking uri handler
|
|
void addBlocking(const std::string& prefix,
|
|
- const core::http::UriHandlerFunction& handler);
|
|
+ const ::core::http::UriHandlerFunction& handler);
|
|
|
|
// set async default handler
|
|
-void setDefault(const core::http::AsyncUriHandlerFunction& handler);
|
|
+void setDefault(const ::core::http::AsyncUriHandlerFunction& handler);
|
|
|
|
// set blocking default handler
|
|
-void setBlockingDefault(const core::http::UriHandlerFunction& handler);
|
|
+void setBlockingDefault(const ::core::http::UriHandlerFunction& handler);
|
|
|
|
} // namespace uri_handlers
|
|
} // namespace server
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/Main.cpp rstudio-0.98.1103-fix/src/cpp/server/Main.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/Main.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/Main.cpp 2015-03-08 22:23:09.614943864 +0100
|
|
@@ -19,7 +19,7 @@
|
|
|
|
int main(int argc, char * const argv[])
|
|
{
|
|
- core::system::initializeLog("rserver", 2);
|
|
+ ::core::system::initializeLog("rserver", 2);
|
|
|
|
LOG_WARNING_MESSAGE("hello cmake!");
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/pam/PamMain.cpp rstudio-0.98.1103-fix/src/cpp/server/pam/PamMain.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/pam/PamMain.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/pam/PamMain.cpp 2015-03-08 22:23:09.619943865 +0100
|
|
@@ -34,8 +34,8 @@
|
|
// log warning
|
|
boost::format fmt("Inappropriate use of pam helper binary (user=%1%)");
|
|
std::string msg = boost::str(
|
|
- fmt % core::system::user::currentUserIdentity().userId);
|
|
- core::log::logWarningMessage(msg, location);
|
|
+ fmt % ::core::system::user::currentUserIdentity().userId);
|
|
+ ::core::log::logWarningMessage(msg, location);
|
|
|
|
// additional notification to the user
|
|
std::cerr << "\nThis binary is not designed for running this way\n"
|
|
@@ -55,10 +55,10 @@
|
|
try
|
|
{
|
|
// initialize log
|
|
- initializeSystemLog("rserver-pam", core::system::kLogLevelWarning);
|
|
+ initializeSystemLog("rserver-pam", ::core::system::kLogLevelWarning);
|
|
|
|
// ignore SIGPIPE
|
|
- Error error = core::system::ignoreSignal(core::system::SigPipe);
|
|
+ Error error = ::core::system::ignoreSignal(::core::system::SigPipe);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
@@ -93,7 +93,7 @@
|
|
}
|
|
|
|
// verify password
|
|
- if (core::system::PAM("rstudio", false).login(username,
|
|
+ if (::core::system::PAM("rstudio", false).login(username,
|
|
password) == PAM_SUCCESS)
|
|
return EXIT_SUCCESS;
|
|
else
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerBrowser.hpp rstudio-0.98.1103-fix/src/cpp/server/ServerBrowser.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerBrowser.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerBrowser.hpp 2015-03-08 22:23:09.616943864 +0100
|
|
@@ -30,11 +30,11 @@
|
|
|
|
extern const char * const kBrowserUnsupported;
|
|
|
|
-bool supportedBrowserFilter(const core::http::Request& request,
|
|
- core::http::Response* pResponse);
|
|
+bool supportedBrowserFilter(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
-void handleBrowserUnsupportedRequest(const core::http::Request& request,
|
|
- core::http::Response* pResponse);
|
|
+void handleBrowserUnsupportedRequest(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
} // namespace browser
|
|
} // namespace server
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerErrorCategory.cpp rstudio-0.98.1103-fix/src/cpp/server/ServerErrorCategory.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerErrorCategory.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerErrorCategory.cpp 2015-03-08 22:23:09.640943869 +0100
|
|
@@ -57,7 +57,7 @@
|
|
}
|
|
|
|
|
|
-bool isAuthenticationError(const core::Error& error)
|
|
+bool isAuthenticationError(const ::core::Error& error)
|
|
{
|
|
if (error.code() == server::errc::AuthenticationError)
|
|
return true;
|
|
@@ -65,7 +65,7 @@
|
|
return false;
|
|
}
|
|
|
|
-bool isSessionUnavailableError(const core::Error& error)
|
|
+bool isSessionUnavailableError(const ::core::Error& error)
|
|
{
|
|
if (error.code() == server::errc::SessionUnavailableError)
|
|
return true;
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerEval.cpp rstudio-0.98.1103-fix/src/cpp/server/ServerEval.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerEval.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerEval.cpp 2015-03-08 22:23:09.656943871 +0100
|
|
@@ -32,8 +32,8 @@
|
|
namespace server {
|
|
namespace eval {
|
|
|
|
-bool expirationFilter(const core::http::Request& request,
|
|
- core::http::Response* pResponse)
|
|
+bool expirationFilter(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
// read the expiration date
|
|
std::string expires;
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerEval.hpp rstudio-0.98.1103-fix/src/cpp/server/ServerEval.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerEval.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerEval.hpp 2015-03-08 22:23:09.651943870 +0100
|
|
@@ -26,8 +26,8 @@
|
|
namespace server {
|
|
namespace eval {
|
|
|
|
-bool expirationFilter(const core::http::Request& request,
|
|
- core::http::Response* pResponse);
|
|
+bool expirationFilter(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
} // namespace eval
|
|
} // namespace server
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerInit.hpp rstudio-0.98.1103-fix/src/cpp/server/ServerInit.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerInit.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerInit.hpp 2015-03-08 22:23:09.647943870 +0100
|
|
@@ -28,7 +28,7 @@
|
|
namespace server {
|
|
|
|
core::http::AsyncServer* httpServerCreate();
|
|
-core::Error httpServerInit(core::http::AsyncServer* pAsyncServer);
|
|
+core::Error httpServerInit(::core::http::AsyncServer* pAsyncServer);
|
|
|
|
|
|
} // namespace server
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerMain.cpp rstudio-0.98.1103-fix/src/cpp/server/ServerMain.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerMain.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerMain.cpp 2015-03-08 22:23:09.629943867 +0100
|
|
@@ -77,8 +77,8 @@
|
|
|
|
namespace {
|
|
|
|
-bool mainPageFilter(const core::http::Request& request,
|
|
- core::http::Response* pResponse)
|
|
+bool mainPageFilter(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
return server::eval::expirationFilter(request, pResponse) &&
|
|
server::browser::supportedBrowserFilter(request, pResponse) &&
|
|
@@ -193,7 +193,7 @@
|
|
FilePath progressPagePath = wwwPath.complete("progress.htm");
|
|
uri_handlers::addBlocking("/progress",
|
|
secureHttpHandler(boost::bind(
|
|
- core::text::handleSecureTemplateRequest,
|
|
+ ::core::text::handleSecureTemplateRequest,
|
|
_1, progressPagePath, _2, _3)));
|
|
|
|
// establish browser unsupported handler
|
|
@@ -270,7 +270,7 @@
|
|
overlay::shutdown();
|
|
|
|
// clear the signal mask
|
|
- Error error = core::system::clearSignalMask();
|
|
+ Error error = ::core::system::clearSignalMask();
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
@@ -346,11 +346,11 @@
|
|
{
|
|
// initialize log
|
|
const char * const kProgramIdentity = "rserver";
|
|
- initializeSystemLog(kProgramIdentity, core::system::kLogLevelWarning);
|
|
+ initializeSystemLog(kProgramIdentity, ::core::system::kLogLevelWarning);
|
|
|
|
// ignore SIGPIPE (don't log error because we should never call
|
|
// syslog prior to daemonizing)
|
|
- core::system::ignoreSignal(core::system::SigPipe);
|
|
+ ::core::system::ignoreSignal(::core::system::SigPipe);
|
|
|
|
// read program options
|
|
std::ostringstream osWarnings;
|
|
@@ -368,16 +368,16 @@
|
|
// daemonize if requested
|
|
if (options.serverDaemonize())
|
|
{
|
|
- Error error = core::system::daemonize();
|
|
+ Error error = ::core::system::daemonize();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
- error = core::system::ignoreTerminalSignals();
|
|
+ error = ::core::system::ignoreTerminalSignals();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// set file creation mask to 022 (might have inherted 0 from init)
|
|
- setUMask(core::system::OthersNoWriteMask);
|
|
+ setUMask(::core::system::OthersNoWriteMask);
|
|
}
|
|
|
|
// wait until now to output options warnings (we need to wait for our
|
|
@@ -397,41 +397,41 @@
|
|
|
|
// increase the number of open files allowed (need more files
|
|
// so we can supports lots of concurrent connectins)
|
|
- if (core::system::realUserIsRoot())
|
|
+ if (::core::system::realUserIsRoot())
|
|
{
|
|
- Error error = setResourceLimit(core::system::FilesLimit, 4096);
|
|
+ Error error = setResourceLimit(::core::system::FilesLimit, 4096);
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
}
|
|
|
|
// set working directory
|
|
Error error = FilePath(options.serverWorkingDir()).makeCurrentPath();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// initialize crypto utils
|
|
- core::system::crypto::initialize();
|
|
+ ::core::system::crypto::initialize();
|
|
|
|
// initialize secure cookie module
|
|
error = auth::secure_cookie::initialize();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// initialize the session proxy
|
|
error = session_proxy::initialize();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// initialize http server
|
|
error = httpServerInit();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// initialize the process supervisor (needs to happen post http server
|
|
// init for access to the scheduled command list)
|
|
error = process_supervisor::initialize();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// initialize monitor (needs to happen post http server init for access
|
|
// to the server's io service)
|
|
@@ -440,13 +440,13 @@
|
|
s_pHttpServer->ioService());
|
|
|
|
// add a monitor log writer
|
|
- core::system::addLogWriter(
|
|
+ ::core::system::addLogWriter(
|
|
monitor::client().createLogWriter(kProgramIdentity));
|
|
|
|
// call overlay initialize
|
|
error = overlay::initialize();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// add handlers and initiliaze addins (offline has distinct behavior)
|
|
if (server::options().serverOffline())
|
|
@@ -461,14 +461,14 @@
|
|
// initialize addins
|
|
error = addins::initialize();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// initialize pam auth if we don't already have an auth handler
|
|
if (!auth::handler::isRegistered())
|
|
{
|
|
error = pam_auth::initialize();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
}
|
|
}
|
|
|
|
@@ -491,9 +491,9 @@
|
|
if (!runAsUser.empty())
|
|
{
|
|
// drop root priv
|
|
- Error error = core::system::temporarilyDropPriv(runAsUser);
|
|
+ Error error = ::core::system::temporarilyDropPriv(runAsUser);
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
}
|
|
|
|
// run special verify installation mode if requested
|
|
@@ -501,7 +501,7 @@
|
|
{
|
|
Error error = session_proxy::runVerifyInstallationSession();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
return EXIT_SUCCESS;
|
|
}
|
|
@@ -509,17 +509,17 @@
|
|
// call overlay startup
|
|
error = overlay::startup();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// run http server
|
|
error = s_pHttpServer->run(options.wwwThreadPoolSize());
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// wait for signals
|
|
error = waitForSignals();
|
|
if (error)
|
|
- return core::system::exitFailure(error, ERROR_LOCATION);
|
|
+ return ::core::system::exitFailure(error, ERROR_LOCATION);
|
|
|
|
// NOTE: we never get here because waitForSignals waits forever
|
|
return EXIT_SUCCESS;
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerMeta.cpp rstudio-0.98.1103-fix/src/cpp/server/ServerMeta.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerMeta.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerMeta.cpp 2015-03-08 22:23:09.710943880 +0100
|
|
@@ -36,8 +36,8 @@
|
|
} // anonymous namespace
|
|
|
|
void handleMetaRequest(const std::string& username,
|
|
- const core::http::Request& request,
|
|
- core::http::Response* pResponse)
|
|
+ const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
// parse request
|
|
json::JsonRpcRequest jsonRpcRequest;
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerMeta.hpp rstudio-0.98.1103-fix/src/cpp/server/ServerMeta.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerMeta.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerMeta.hpp 2015-03-08 22:23:09.672943874 +0100
|
|
@@ -29,8 +29,8 @@
|
|
namespace meta {
|
|
|
|
void handleMetaRequest(const std::string& username,
|
|
- const core::http::Request& request,
|
|
- core::http::Response* pResponse);
|
|
+ const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
} // namespace meta
|
|
} // namespace server
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerOptions.cpp rstudio-0.98.1103-fix/src/cpp/server/ServerOptions.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerOptions.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerOptions.cpp 2015-03-08 22:23:09.668943873 +0100
|
|
@@ -90,7 +90,7 @@
|
|
using namespace boost::program_options ;
|
|
|
|
// compute install path
|
|
- Error error = core::system::installPath("..", argv[0], &installPath_);
|
|
+ Error error = ::core::system::installPath("..", argv[0], &installPath_);
|
|
if (error)
|
|
{
|
|
LOG_ERROR_MESSAGE("Unable to determine install path: "+error.summary());
|
|
@@ -122,7 +122,7 @@
|
|
serverOffline_ = FilePath("/var/lib/rstudio-server/offline").exists();
|
|
|
|
// generate monitor shared secret
|
|
- monitorSharedSecret_ = core::system::generateUuid();
|
|
+ monitorSharedSecret_ = ::core::system::generateUuid();
|
|
|
|
// program - name and execution
|
|
options_description server("server");
|
|
@@ -135,7 +135,7 @@
|
|
"program user")
|
|
("server-daemonize",
|
|
value<bool>(&serverDaemonize_)->default_value(
|
|
- core::system::effectiveUserIsRoot()),
|
|
+ ::core::system::effectiveUserIsRoot()),
|
|
"run program as daemon")
|
|
("server-app-armor-enabled",
|
|
value<bool>(&serverAppArmorEnabled_)->default_value(1),
|
|
@@ -201,11 +201,11 @@
|
|
auth.add_options()
|
|
("auth-none",
|
|
value<bool>(&authNone_)->default_value(
|
|
- !core::system::effectiveUserIsRoot()),
|
|
+ !::core::system::effectiveUserIsRoot()),
|
|
"don't do any authentication")
|
|
("auth-validate-users",
|
|
value<bool>(&authValidateUsers_)->default_value(
|
|
- core::system::effectiveUserIsRoot()),
|
|
+ ::core::system::effectiveUserIsRoot()),
|
|
"validate that authenticated users exist on the target system")
|
|
("auth-encrypt-password",
|
|
value<bool>(&authEncryptPassword_)->default_value(true),
|
|
@@ -241,7 +241,7 @@
|
|
|
|
// read options
|
|
bool help = false;
|
|
- ProgramStatus status = core::program_options::read(optionsDesc,
|
|
+ ProgramStatus status = ::core::program_options::read(optionsDesc,
|
|
argc,
|
|
argv,
|
|
&help);
|
|
@@ -279,12 +279,12 @@
|
|
if (!serverUser_.empty())
|
|
{
|
|
// if we aren't running as root then forget the programUser
|
|
- if (!core::system::realUserIsRoot())
|
|
+ if (!::core::system::realUserIsRoot())
|
|
{
|
|
serverUser_ = "";
|
|
}
|
|
// if there is a program user specified and it doesn't exist....
|
|
- else if (!core::system::user::exists(serverUser_))
|
|
+ else if (!::core::system::user::exists(serverUser_))
|
|
{
|
|
if (serverUser_ == kDefaultProgramUser)
|
|
{
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerPAMAuth.cpp rstudio-0.98.1103-fix/src/cpp/server/ServerPAMAuth.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerPAMAuth.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerPAMAuth.cpp 2015-03-08 22:23:09.654943871 +0100
|
|
@@ -54,9 +54,9 @@
|
|
// running with geteuid != getuid (as is the case when we temporarily
|
|
// drop privileges). We've also seen kerberos on Ubuntu require
|
|
// priv to work correctly -- so, restore privilliges in the child
|
|
- if (core::system::realUserIsRoot())
|
|
+ if (::core::system::realUserIsRoot())
|
|
{
|
|
- Error error = core::system::restorePriv();
|
|
+ Error error = ::core::system::restorePriv();
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -112,10 +112,10 @@
|
|
return signInURL;
|
|
}
|
|
|
|
-std::string getUserIdentifier(const core::http::Request& request)
|
|
+std::string getUserIdentifier(const ::core::http::Request& request)
|
|
{
|
|
if (server::options().authNone())
|
|
- return core::system::username();
|
|
+ return ::core::system::username();
|
|
else
|
|
return auth::secure_cookie::readSecureCookie(request, kUserId);
|
|
}
|
|
@@ -142,14 +142,14 @@
|
|
}
|
|
}
|
|
|
|
-void signInThenContinue(const core::http::Request& request,
|
|
- core::http::Response* pResponse)
|
|
+void signInThenContinue(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
pResponse->setMovedTemporarily(request, applicationSignInURL(request, request.uri()));
|
|
}
|
|
|
|
void refreshCredentialsThenContinue(
|
|
- boost::shared_ptr<core::http::AsyncConnection> pConnection)
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> pConnection)
|
|
{
|
|
// no silent refresh possible so delegate to sign-in and continue
|
|
signInThenContinue(pConnection->request(),
|
|
@@ -195,16 +195,16 @@
|
|
http::Response* pResponse)
|
|
{
|
|
std::string exp, mod;
|
|
- core::system::crypto::rsaPublicKey(&exp, &mod);
|
|
+ ::core::system::crypto::rsaPublicKey(&exp, &mod);
|
|
pResponse->setNoCacheHeaders();
|
|
pResponse->setBody(exp + ":" + mod);
|
|
pResponse->setContentType("text/plain");
|
|
}
|
|
|
|
-void setSignInCookies(const core::http::Request& request,
|
|
+void setSignInCookies(const ::core::http::Request& request,
|
|
const std::string& username,
|
|
bool persist,
|
|
- core::http::Response* pResponse)
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
boost::optional<boost::gregorian::days> expiry;
|
|
if (persist)
|
|
@@ -240,7 +240,7 @@
|
|
{
|
|
std::string encryptedValue = request.formFieldValue("v");
|
|
std::string plainText;
|
|
- Error error = core::system::crypto::rsaPrivateDecrypt(encryptedValue,
|
|
+ Error error = ::core::system::crypto::rsaPrivateDecrypt(encryptedValue,
|
|
&plainText);
|
|
if (error)
|
|
{
|
|
@@ -351,12 +351,12 @@
|
|
args.push_back(username);
|
|
|
|
// options (assume priv after fork)
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.onAfterFork = assumeRootPriv;
|
|
|
|
// run pam helper
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runProgram(pamHelperPath.absolutePath(),
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runProgram(pamHelperPath.absolutePath(),
|
|
args,
|
|
password,
|
|
options,
|
|
@@ -392,7 +392,7 @@
|
|
uri_handlers::addBlocking(kPublicKey, publicKey);
|
|
|
|
// initialize crypto
|
|
- return core::system::crypto::rsaInit();
|
|
+ return ::core::system::crypto::rsaInit();
|
|
}
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerProcessSupervisor.cpp rstudio-0.98.1103-fix/src/cpp/server/ServerProcessSupervisor.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerProcessSupervisor.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerProcessSupervisor.cpp 2015-03-08 22:23:09.645943869 +0100
|
|
@@ -35,7 +35,7 @@
|
|
|
|
core::system::ProcessSupervisor& processSupervisor()
|
|
{
|
|
- static core::system::ProcessSupervisor instance;
|
|
+ static ::core::system::ProcessSupervisor instance;
|
|
return instance;
|
|
}
|
|
|
|
@@ -56,8 +56,8 @@
|
|
const std::string& executable,
|
|
const std::vector<std::string>& args,
|
|
const std::string& input,
|
|
- const core::system::ProcessOptions& options,
|
|
- const boost::function<void(const core::system::ProcessResult&)>& onCompleted)
|
|
+ const ::core::system::ProcessOptions& options,
|
|
+ const boost::function<void(const ::core::system::ProcessResult&)>& onCompleted)
|
|
{
|
|
LOCK_MUTEX(s_mutex)
|
|
{
|
|
@@ -70,7 +70,7 @@
|
|
END_LOCK_MUTEX
|
|
|
|
// fulfill closure and keep compiler happy
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
result.exitStatus = EXIT_FAILURE;
|
|
result.stdErr = "Thread resource error occurred while running program " +
|
|
executable;
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerREnvironment.cpp rstudio-0.98.1103-fix/src/cpp/server/ServerREnvironment.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerREnvironment.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerREnvironment.cpp 2015-03-08 22:23:09.670943874 +0100
|
|
@@ -66,8 +66,8 @@
|
|
return r_util::EnvironmentVars();
|
|
}
|
|
|
|
-bool detectREnvironment(const core::FilePath& rScriptPath,
|
|
- core::r_util::EnvironmentVars* pVars,
|
|
+bool detectREnvironment(const ::core::FilePath& rScriptPath,
|
|
+ ::core::r_util::EnvironmentVars* pVars,
|
|
std::string* pErrMsg)
|
|
{
|
|
// determine rLdPaths script location
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerREnvironment.hpp rstudio-0.98.1103-fix/src/cpp/server/ServerREnvironment.hpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerREnvironment.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerREnvironment.hpp 2015-03-08 22:23:09.621943865 +0100
|
|
@@ -33,8 +33,8 @@
|
|
|
|
std::vector<std::pair<std::string,std::string> > variables();
|
|
|
|
-bool detectREnvironment(const core::FilePath& filePath,
|
|
- core::r_util::EnvironmentVars* pVars,
|
|
+bool detectREnvironment(const ::core::FilePath& filePath,
|
|
+ ::core::r_util::EnvironmentVars* pVars,
|
|
std::string* pErrMsg);
|
|
|
|
} // namespace r_environment
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerSessionManager.cpp rstudio-0.98.1103-fix/src/cpp/server/ServerSessionManager.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerSessionManager.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerSessionManager.cpp 2015-03-08 22:23:09.632943867 +0100
|
|
@@ -47,11 +47,11 @@
|
|
|
|
core::system::ProcessConfig sessionProcessConfig(
|
|
const std::string& username,
|
|
- const core::system::Options& extraArgs = core::system::Options())
|
|
+ const ::core::system::Options& extraArgs = ::core::system::Options())
|
|
{
|
|
// prepare command line arguments
|
|
server::Options& options = server::options();
|
|
- core::system::Options args ;
|
|
+ ::core::system::Options args ;
|
|
|
|
// check for options-specified config file and add to command
|
|
// line if specified
|
|
@@ -64,13 +64,13 @@
|
|
username));
|
|
|
|
// allow session timeout to be overridden via environment variable
|
|
- std::string timeout = core::system::getenv("RSTUDIO_SESSION_TIMEOUT");
|
|
+ std::string timeout = ::core::system::getenv("RSTUDIO_SESSION_TIMEOUT");
|
|
if (!timeout.empty())
|
|
args.push_back(std::make_pair("--" kTimeoutSessionOption, timeout));
|
|
|
|
// pass our uid to instruct rsession to limit rpc clients to us and itself
|
|
- core::system::Options environment;
|
|
- uid_t uid = core::system::user::currentUserIdentity().userId;
|
|
+ ::core::system::Options environment;
|
|
+ uid_t uid = ::core::system::user::currentUserIdentity().userId;
|
|
environment.push_back(std::make_pair(
|
|
kRStudioLimitRpcClientUid,
|
|
safe_convert::numberToString(uid)));
|
|
@@ -79,7 +79,7 @@
|
|
std::copy(extraArgs.begin(), extraArgs.end(), std::back_inserter(args));
|
|
|
|
// append R environment variables
|
|
- core::system::Options rEnvVars = r_environment::variables();
|
|
+ ::core::system::Options rEnvVars = r_environment::variables();
|
|
environment.insert(environment.end(), rEnvVars.begin(), rEnvVars.end());
|
|
|
|
// add monitor shared secret
|
|
@@ -87,10 +87,10 @@
|
|
options.monitorSharedSecret()));
|
|
|
|
// build the config object and return it
|
|
- core::system::ProcessConfig config;
|
|
+ ::core::system::ProcessConfig config;
|
|
config.args = args;
|
|
config.environment = environment;
|
|
- config.stdStreamBehavior = core::system::StdStreamInherit;
|
|
+ config.stdStreamBehavior = ::core::system::StdStreamInherit;
|
|
return config;
|
|
}
|
|
|
|
@@ -172,10 +172,10 @@
|
|
// default session launcher -- does the launch then tracks the pid
|
|
// for later reaping
|
|
Error SessionManager::launchAndTrackSession(
|
|
- const core::r_util::SessionLaunchProfile& profile)
|
|
+ const ::core::r_util::SessionLaunchProfile& profile)
|
|
{
|
|
// if we are root then assume the identity of the user
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
std::string runAsUser = realUserIsRoot() ? profile.username : "";
|
|
|
|
// launch the session
|
|
@@ -224,17 +224,17 @@
|
|
|
|
// helper function for verify-installation
|
|
Error launchSession(const std::string& username,
|
|
- const core::system::Options& extraArgs,
|
|
+ const ::core::system::Options& extraArgs,
|
|
PidType* pPid)
|
|
{
|
|
// launch the session
|
|
std::string rsessionPath = server::options().rsessionPath();
|
|
- std::string runAsUser = core::system::realUserIsRoot() ? username : "";
|
|
- core::system::ProcessConfig config = sessionProcessConfig(username,
|
|
+ std::string runAsUser = ::core::system::realUserIsRoot() ? username : "";
|
|
+ ::core::system::ProcessConfig config = sessionProcessConfig(username,
|
|
extraArgs);
|
|
|
|
*pPid = -1;
|
|
- return core::system::launchChildProcess(rsessionPath,
|
|
+ return ::core::system::launchChildProcess(rsessionPath,
|
|
runAsUser,
|
|
config,
|
|
pPid);
|
|
diff -ru rstudio-0.98.1103/src/cpp/server/ServerSessionProxy.cpp rstudio-0.98.1103-fix/src/cpp/server/ServerSessionProxy.cpp
|
|
--- rstudio-0.98.1103/src/cpp/server/ServerSessionProxy.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/server/ServerSessionProxy.cpp 2015-03-08 22:23:09.612943864 +0100
|
|
@@ -96,7 +96,7 @@
|
|
|
|
bool applyProxyFilter(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection)
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection)
|
|
{
|
|
if (s_proxyFilter)
|
|
return s_proxyFilter(username, ptrConnection);
|
|
@@ -105,7 +105,7 @@
|
|
}
|
|
|
|
void handleProxyResponse(
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection,
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection,
|
|
std::string username,
|
|
const http::Response& response)
|
|
{
|
|
@@ -178,7 +178,7 @@
|
|
}
|
|
|
|
void handleLocalhostResponse(
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection,
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection,
|
|
boost::shared_ptr<LocalhostAsyncClient> ptrLocalhost,
|
|
const std::string& port,
|
|
const http::Response& response)
|
|
@@ -241,7 +241,7 @@
|
|
}
|
|
|
|
void handleLocalhostError(
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection,
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection,
|
|
const Error& error)
|
|
{
|
|
// if this request required a session then return a standard 503
|
|
@@ -270,7 +270,7 @@
|
|
}
|
|
|
|
void handleContentError(
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection,
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection,
|
|
std::string username,
|
|
const Error& error)
|
|
{
|
|
@@ -315,7 +315,7 @@
|
|
}
|
|
|
|
void handleRpcError(
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection,
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection,
|
|
std::string username,
|
|
const Error& error)
|
|
{
|
|
@@ -359,7 +359,7 @@
|
|
}
|
|
|
|
void handleEventsError(
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection,
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection,
|
|
const Error& error)
|
|
{
|
|
// NOTE: events requests don't initiate session launches so
|
|
@@ -395,7 +395,7 @@
|
|
|
|
void proxyRequest(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection,
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection,
|
|
const http::ErrorHandler& errorHandler,
|
|
const http::ConnectionRetryProfile& connectionRetryProfile)
|
|
{
|
|
@@ -461,26 +461,26 @@
|
|
Error runVerifyInstallationSession()
|
|
{
|
|
// get current user
|
|
- core::system::user::User user;
|
|
+ ::core::system::user::User user;
|
|
Error error = currentUser(&user);
|
|
if (error)
|
|
return error;
|
|
|
|
// launch verify installation session
|
|
- core::system::Options args;
|
|
- args.push_back(core::system::Option("--" kVerifyInstallationSessionOption, "1"));
|
|
+ ::core::system::Options args;
|
|
+ args.push_back(::core::system::Option("--" kVerifyInstallationSessionOption, "1"));
|
|
PidType sessionPid;
|
|
error = server::launchSession(user.username, args, &sessionPid);
|
|
if (error)
|
|
return error;
|
|
|
|
// wait for exit
|
|
- return core::system::waitForProcessExit(sessionPid);
|
|
+ return ::core::system::waitForProcessExit(sessionPid);
|
|
}
|
|
|
|
void proxyContentRequest(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection)
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection)
|
|
{
|
|
proxyRequest(username,
|
|
ptrConnection,
|
|
@@ -490,7 +490,7 @@
|
|
|
|
void proxyRpcRequest(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection)
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection)
|
|
{
|
|
// validate the user if this is client_init
|
|
if (boost::algorithm::ends_with(ptrConnection->request().uri(),
|
|
@@ -508,7 +508,7 @@
|
|
|
|
void proxyEventsRequest(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection)
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection)
|
|
{
|
|
// validate the user
|
|
if (!validateUser(ptrConnection, username))
|
|
@@ -522,7 +522,7 @@
|
|
|
|
void proxyLocalhostRequest(
|
|
const std::string& username,
|
|
- boost::shared_ptr<core::http::AsyncConnection> ptrConnection)
|
|
+ boost::shared_ptr< ::core::http::AsyncConnection> ptrConnection)
|
|
{
|
|
// apply optional proxy filter
|
|
if (applyProxyFilter(username, ptrConnection))
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/http/SessionHttpConnectionImpl.hpp rstudio-0.98.1103-fix/src/cpp/session/http/SessionHttpConnectionImpl.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/http/SessionHttpConnectionImpl.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/http/SessionHttpConnectionImpl.hpp 2015-03-08 22:23:10.376943993 +0100
|
|
@@ -75,25 +75,25 @@
|
|
public:
|
|
|
|
// request/resposne (used by Handler)
|
|
- virtual const core::http::Request& request() { return request_; }
|
|
+ virtual const ::core::http::Request& request() { return request_; }
|
|
|
|
- virtual void sendResponse(const core::http::Response &response)
|
|
+ virtual void sendResponse(const ::core::http::Response &response)
|
|
{
|
|
try
|
|
{
|
|
// write the response
|
|
boost::asio::write(socket_,
|
|
response.toBuffers(
|
|
- core::http::Header::connectionClose()));
|
|
+ ::core::http::Header::connectionClose()));
|
|
}
|
|
catch(const boost::system::system_error& e)
|
|
{
|
|
// establish error
|
|
- core::Error error = core::Error(e.code(), ERROR_LOCATION);
|
|
+ ::core::Error error = ::core::Error(e.code(), ERROR_LOCATION);
|
|
error.addProperty("request-uri", request_.uri());
|
|
|
|
// log the error if it wasn't connection terminated
|
|
- if (!core::http::isConnectionTerminatedError(error))
|
|
+ if (!::core::http::isConnectionTerminatedError(error))
|
|
LOG_ERROR(error);
|
|
}
|
|
CATCH_UNEXPECTED_EXCEPTION
|
|
@@ -111,7 +111,7 @@
|
|
virtual void close()
|
|
{
|
|
// always close connection
|
|
- core::Error error = core::http::closeSocket(socket_);
|
|
+ ::core::Error error = ::core::http::closeSocket(socket_);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -158,16 +158,16 @@
|
|
if (!e)
|
|
{
|
|
// parse next chunk
|
|
- core::http::RequestParser::status status = requestParser_.parse(
|
|
+ ::core::http::RequestParser::status status = requestParser_.parse(
|
|
request_,
|
|
buffer_.data(),
|
|
buffer_.data() + bytesTransferred);
|
|
|
|
// error - return bad request
|
|
- if (status == core::http::RequestParser::error)
|
|
+ if (status == ::core::http::RequestParser::error)
|
|
{
|
|
- core::http::Response response;
|
|
- response.setStatusCode(core::http::status::BadRequest);
|
|
+ ::core::http::Response response;
|
|
+ response.setStatusCode(::core::http::status::BadRequest);
|
|
sendResponse(response);
|
|
|
|
// no more async operations w/ shared_from_this() initiated so this
|
|
@@ -175,7 +175,7 @@
|
|
}
|
|
|
|
// incomplete -- keep reading
|
|
- else if (status == core::http::RequestParser::incomplete)
|
|
+ else if (status == ::core::http::RequestParser::incomplete)
|
|
{
|
|
readSome();
|
|
}
|
|
@@ -198,8 +198,8 @@
|
|
else // error reading
|
|
{
|
|
// log the error if it wasn't connection terminated
|
|
- core::Error error(e, ERROR_LOCATION);
|
|
- if (!core::http::isConnectionTerminatedError(error))
|
|
+ ::core::Error error(e, ERROR_LOCATION);
|
|
+ if (!::core::http::isConnectionTerminatedError(error))
|
|
LOG_ERROR(error);
|
|
|
|
// close the connection
|
|
@@ -215,8 +215,8 @@
|
|
private:
|
|
typename ProtocolType::socket socket_;
|
|
boost::array<char, 8192> buffer_ ;
|
|
- core::http::RequestParser requestParser_ ;
|
|
- core::http::Request request_;
|
|
+ ::core::http::RequestParser requestParser_ ;
|
|
+ ::core::http::Request request_;
|
|
std::string requestId_;
|
|
Handler handler_;
|
|
};
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/http/SessionHttpConnectionListenerImpl.hpp rstudio-0.98.1103-fix/src/cpp/session/http/SessionHttpConnectionListenerImpl.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/http/SessionHttpConnectionListenerImpl.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/http/SessionHttpConnectionListenerImpl.hpp 2015-03-08 22:23:10.382943994 +0100
|
|
@@ -80,10 +80,10 @@
|
|
// COPYING: boost::noncopyable
|
|
|
|
public:
|
|
- virtual core::Error start()
|
|
+ virtual ::core::Error start()
|
|
{
|
|
// cleanup any existing networking state
|
|
- core::Error error = cleanup();
|
|
+ ::core::Error error = cleanup();
|
|
if (error)
|
|
return error ;
|
|
|
|
@@ -97,7 +97,7 @@
|
|
|
|
// block all signals for launch of listener thread (will cause it
|
|
// to never receive signals)
|
|
- core::system::SignalBlocker signalBlocker;
|
|
+ ::core::system::SignalBlocker signalBlocker;
|
|
error = signalBlocker.blockAll();
|
|
if (error)
|
|
return error ;
|
|
@@ -113,11 +113,11 @@
|
|
// set started flag
|
|
started_ = true;
|
|
|
|
- return core::Success();
|
|
+ return ::core::Success();
|
|
}
|
|
catch(const boost::thread_resource_error& e)
|
|
{
|
|
- return core::Error(boost::thread_error::ec_from_exception(e),
|
|
+ return ::core::Error(boost::thread_error::ec_from_exception(e),
|
|
ERROR_LOCATION);
|
|
}
|
|
}
|
|
@@ -136,7 +136,7 @@
|
|
boost::system::error_code ec ;
|
|
acceptorService_.closeAcceptor(ec);
|
|
if (ec)
|
|
- LOG_ERROR(core::Error(ec, ERROR_LOCATION));
|
|
+ LOG_ERROR(::core::Error(ec, ERROR_LOCATION));
|
|
|
|
// stop the server
|
|
ioService().stop();
|
|
@@ -154,7 +154,7 @@
|
|
}
|
|
|
|
// allow subclass specific cleanup
|
|
- core::Error error = cleanup();
|
|
+ ::core::Error error = cleanup();
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -179,13 +179,13 @@
|
|
|
|
private:
|
|
// required subclass hooks
|
|
- virtual core::Error initializeAcceptor(
|
|
- core::http::SocketAcceptorService<ProtocolType>* pAcceptor) = 0;
|
|
+ virtual ::core::Error initializeAcceptor(
|
|
+ ::core::http::SocketAcceptorService<ProtocolType>* pAcceptor) = 0;
|
|
|
|
virtual bool validateConnection(
|
|
boost::shared_ptr<HttpConnectionImpl<ProtocolType> > ptrConnection) = 0;
|
|
|
|
- virtual core::Error cleanup() = 0 ;
|
|
+ virtual ::core::Error cleanup() = 0 ;
|
|
|
|
private:
|
|
boost::asio::io_service& ioService() { return acceptorService_.ioService(); }
|
|
@@ -234,7 +234,7 @@
|
|
// for errors, log and continue,but don't log errors caused
|
|
// by normal course of socket shutdown
|
|
if (!isShutdownError(ec))
|
|
- LOG_ERROR(core::Error(ec, ERROR_LOCATION)) ;
|
|
+ LOG_ERROR(::core::Error(ec, ERROR_LOCATION)) ;
|
|
}
|
|
}
|
|
catch(const boost::system::system_error& e)
|
|
@@ -262,7 +262,7 @@
|
|
|
|
if (!authenticate(ptrHttpConnection))
|
|
{
|
|
- core::http::Response response;
|
|
+ ::core::http::Response response;
|
|
response.setStatusCode(403);
|
|
response.setStatusMessage("Forbidden");
|
|
ptrConnection->sendResponse(response);
|
|
@@ -297,7 +297,7 @@
|
|
private:
|
|
|
|
// acceptor service (includes io service)
|
|
- core::http::SocketAcceptorService<ProtocolType> acceptorService_;
|
|
+ ::core::http::SocketAcceptorService<ProtocolType> acceptorService_;
|
|
|
|
// next connection
|
|
boost::shared_ptr<HttpConnectionImpl<ProtocolType> > ptrNextConnection_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/http/SessionHttpConnectionUtils.cpp rstudio-0.98.1103-fix/src/cpp/session/http/SessionHttpConnectionUtils.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/http/SessionHttpConnectionUtils.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/http/SessionHttpConnectionUtils.cpp 2015-03-08 22:23:10.364943991 +0100
|
|
@@ -37,31 +37,31 @@
|
|
|
|
namespace session {
|
|
|
|
-void HttpConnection::sendJsonRpcError(const core::Error& error)
|
|
+void HttpConnection::sendJsonRpcError(const ::core::Error& error)
|
|
{
|
|
- core::json::JsonRpcResponse jsonRpcResponse;
|
|
+ ::core::json::JsonRpcResponse jsonRpcResponse;
|
|
jsonRpcResponse.setError(error);
|
|
sendJsonRpcResponse(jsonRpcResponse);
|
|
}
|
|
|
|
void HttpConnection::sendJsonRpcResponse()
|
|
{
|
|
- core::json::JsonRpcResponse jsonRpcResponse ;
|
|
+ ::core::json::JsonRpcResponse jsonRpcResponse ;
|
|
sendJsonRpcResponse(jsonRpcResponse);
|
|
}
|
|
|
|
void HttpConnection::sendJsonRpcResponse(
|
|
- const core::json::JsonRpcResponse& jsonRpcResponse)
|
|
+ const ::core::json::JsonRpcResponse& jsonRpcResponse)
|
|
{
|
|
// setup response
|
|
- core::http::Response response ;
|
|
+ ::core::http::Response response ;
|
|
|
|
// automagic gzip support
|
|
- if (request().acceptsEncoding(core::http::kGzipEncoding))
|
|
- response.setContentEncoding(core::http::kGzipEncoding);
|
|
+ if (request().acceptsEncoding(::core::http::kGzipEncoding))
|
|
+ response.setContentEncoding(::core::http::kGzipEncoding);
|
|
|
|
// set response
|
|
- core::json::setJsonRpcResponse(jsonRpcResponse, &response);
|
|
+ ::core::json::setJsonRpcResponse(jsonRpcResponse, &response);
|
|
|
|
// send the response
|
|
sendResponse(response);
|
|
@@ -71,7 +71,7 @@
|
|
|
|
namespace connection {
|
|
|
|
-std::string rstudioRequestIdFromRequest(const core::http::Request& request)
|
|
+std::string rstudioRequestIdFromRequest(const ::core::http::Request& request)
|
|
{
|
|
return request.headerValue("X-RS-RID");
|
|
}
|
|
@@ -94,13 +94,13 @@
|
|
boost::shared_ptr<HttpConnection> ptrConnection)
|
|
{
|
|
std::string nextProj;
|
|
- core::json::JsonRpcRequest jsonRpcRequest;
|
|
- core::Error error = core::json::parseJsonRpcRequest(
|
|
+ ::core::json::JsonRpcRequest jsonRpcRequest;
|
|
+ ::core::Error error = ::core::json::parseJsonRpcRequest(
|
|
ptrConnection->request().body(),
|
|
&jsonRpcRequest);
|
|
if (!error)
|
|
{
|
|
- error = core::json::readParam(jsonRpcRequest.params, 0, &nextProj);
|
|
+ error = ::core::json::readParam(jsonRpcRequest.params, 0, &nextProj);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
@@ -111,13 +111,13 @@
|
|
// constants rather than code so that this code (which runs in
|
|
// a background thread) don't call into the projects module (which
|
|
// is designed to be foreground and single-threaded)
|
|
- core::FilePath userScratch = session::options().userScratchPath();
|
|
- core::FilePath settings = userScratch.complete(kProjectsSettings);
|
|
+ ::core::FilePath userScratch = session::options().userScratchPath();
|
|
+ ::core::FilePath settings = userScratch.complete(kProjectsSettings);
|
|
error = settings.ensureDirectory();
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
- core::FilePath writePath = settings.complete(kNextSessionProject);
|
|
- core::Error error = core::writeStringToFile(writePath, nextProj);
|
|
+ ::core::FilePath writePath = settings.complete(kNextSessionProject);
|
|
+ ::core::Error error = ::core::writeStringToFile(writePath, nextProj);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -185,12 +185,12 @@
|
|
|
|
bool checkForSuspend(boost::shared_ptr<HttpConnection> ptrConnection)
|
|
{
|
|
- using namespace core::json;
|
|
+ using namespace ::core::json;
|
|
if (isMethod(ptrConnection, "suspend_session"))
|
|
{
|
|
bool force = false;
|
|
JsonRpcRequest jsonRpcRequest;
|
|
- core::Error error = parseJsonRpcRequest(ptrConnection->request().body(),
|
|
+ ::core::Error error = parseJsonRpcRequest(ptrConnection->request().body(),
|
|
&jsonRpcRequest);
|
|
if (error)
|
|
{
|
|
@@ -203,7 +203,7 @@
|
|
else
|
|
{
|
|
// send a signal to this process to suspend
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
sendSignalToSelf(force ? SigUsr2 : SigUsr1);
|
|
|
|
// send response
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/http/SessionHttpConnectionUtils.hpp rstudio-0.98.1103-fix/src/cpp/session/http/SessionHttpConnectionUtils.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/http/SessionHttpConnectionUtils.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/http/SessionHttpConnectionUtils.hpp 2015-03-08 22:23:10.366943991 +0100
|
|
@@ -31,7 +31,7 @@
|
|
namespace session {
|
|
namespace connection {
|
|
|
|
-std::string rstudioRequestIdFromRequest(const core::http::Request& request);
|
|
+std::string rstudioRequestIdFromRequest(const ::core::http::Request& request);
|
|
|
|
bool isMethod(boost::shared_ptr<HttpConnection> ptrConnection,
|
|
const std::string& method);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/http/SessionLocalStreamHttpConnectionListener.hpp rstudio-0.98.1103-fix/src/cpp/session/http/SessionLocalStreamHttpConnectionListener.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/http/SessionLocalStreamHttpConnectionListener.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/http/SessionLocalStreamHttpConnectionListener.hpp 2015-03-08 22:23:10.371943992 +0100
|
|
@@ -35,7 +35,7 @@
|
|
{
|
|
public:
|
|
LocalStreamHttpConnectionListener(const FilePath& streamPath,
|
|
- core::system::FileMode streamFileMode,
|
|
+ ::core::system::FileMode streamFileMode,
|
|
const std::string& secret,
|
|
int limitRpcClientUid)
|
|
: localStreamPath_(streamPath),
|
|
@@ -45,7 +45,7 @@
|
|
if (limitRpcClientUid != -1)
|
|
{
|
|
// always add current user
|
|
- using namespace core::system::user;
|
|
+ using namespace ::core::system::user;
|
|
permittedClients_.push_back(currentUserIdentity().userId);
|
|
|
|
// also add rpc client
|
|
@@ -74,8 +74,8 @@
|
|
int socket = ptrConnection->socket().native();
|
|
|
|
// get client identity
|
|
- core::system::user::UserIdentity userIdentity;
|
|
- core::Error error = socketPeerIdentity(socket,&userIdentity);
|
|
+ ::core::system::user::UserIdentity userIdentity;
|
|
+ ::core::Error error = socketPeerIdentity(socket,&userIdentity);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -120,8 +120,8 @@
|
|
}
|
|
|
|
private:
|
|
- core::FilePath localStreamPath_;
|
|
- core::system::FileMode streamFileMode_;
|
|
+ ::core::FilePath localStreamPath_;
|
|
+ ::core::system::FileMode streamFileMode_;
|
|
|
|
// desktop shared secret
|
|
std::string secret_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/http/SessionNamedPipeHttpConnectionListener.hpp rstudio-0.98.1103-fix/src/cpp/session/http/SessionNamedPipeHttpConnectionListener.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/http/SessionNamedPipeHttpConnectionListener.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/http/SessionNamedPipeHttpConnectionListener.hpp 2015-03-08 22:23:10.386943995 +0100
|
|
@@ -84,7 +84,7 @@
|
|
|
|
bool readRequest()
|
|
{
|
|
- core::http::RequestParser parser;
|
|
+ ::core::http::RequestParser parser;
|
|
CHAR buff[kReadBufferSize];
|
|
DWORD bytesRead;
|
|
|
|
@@ -97,7 +97,7 @@
|
|
if (!result)
|
|
{
|
|
Error error = systemError(::GetLastError(), ERROR_LOCATION);
|
|
- if (!core::http::isConnectionTerminatedError(error))
|
|
+ if (!::core::http::isConnectionTerminatedError(error))
|
|
LOG_ERROR(error);
|
|
|
|
close();
|
|
@@ -111,8 +111,8 @@
|
|
{
|
|
LOG_WARNING_MESSAGE("ReadFile returned 0 bytes");
|
|
|
|
- core::http::Response response;
|
|
- response.setStatusCode(core::http::status::BadRequest);
|
|
+ ::core::http::Response response;
|
|
+ response.setStatusCode(::core::http::status::BadRequest);
|
|
sendResponse(response);
|
|
|
|
return false;
|
|
@@ -128,17 +128,17 @@
|
|
buff + bytesRead);
|
|
|
|
// error - return bad request
|
|
- if (status == core::http::RequestParser::error)
|
|
+ if (status == ::core::http::RequestParser::error)
|
|
{
|
|
- core::http::Response response;
|
|
- response.setStatusCode(core::http::status::BadRequest);
|
|
+ ::core::http::Response response;
|
|
+ response.setStatusCode(::core::http::status::BadRequest);
|
|
sendResponse(response);
|
|
|
|
return false;
|
|
}
|
|
|
|
// incomplete -- keep reading
|
|
- else if (status == core::http::RequestParser::incomplete)
|
|
+ else if (status == ::core::http::RequestParser::incomplete)
|
|
{
|
|
continue;
|
|
}
|
|
@@ -156,13 +156,13 @@
|
|
return false;
|
|
}
|
|
|
|
- virtual const core::http::Request& request() { return request_; }
|
|
+ virtual const ::core::http::Request& request() { return request_; }
|
|
|
|
- virtual void sendResponse(const core::http::Response &response)
|
|
+ virtual void sendResponse(const ::core::http::Response &response)
|
|
{
|
|
// get the buffers
|
|
std::vector<boost::asio::const_buffer> buffers =response.toBuffers(
|
|
- core::http::Header::connectionClose());
|
|
+ ::core::http::Header::connectionClose());
|
|
|
|
// write them
|
|
DWORD bytesWritten;
|
|
@@ -183,7 +183,7 @@
|
|
error.addProperty("request-uri", request_.uri());
|
|
|
|
// log the error if it wasn't connection terminated
|
|
- if (!core::http::isConnectionTerminatedError(error))
|
|
+ if (!::core::http::isConnectionTerminatedError(error))
|
|
LOG_ERROR(error);
|
|
|
|
// close and terminate
|
|
@@ -218,7 +218,7 @@
|
|
|
|
private:
|
|
HANDLE hPipe_;
|
|
- core::http::Request request_;
|
|
+ ::core::http::Request request_;
|
|
std::string requestId_;
|
|
};
|
|
|
|
@@ -236,7 +236,7 @@
|
|
|
|
virtual Error start()
|
|
{
|
|
- core::thread::safeLaunchThread(
|
|
+ ::core::thread::safeLaunchThread(
|
|
boost::bind(&NamedPipeHttpConnectionListener::listenerThread,
|
|
this));
|
|
|
|
@@ -286,7 +286,7 @@
|
|
|
|
// set pipe mode, specify rejection of remote clients if >= vista
|
|
DWORD dwPipeMode = PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT;
|
|
- if (core::system::isVistaOrLater())
|
|
+ if (::core::system::isVistaOrLater())
|
|
dwPipeMode |= PIPE_REJECT_REMOTE_CLIENTS;
|
|
|
|
// create pipe
|
|
@@ -345,7 +345,7 @@
|
|
|
|
if (!authenticate(ptrHttpConnection))
|
|
{
|
|
- core::http::Response response;
|
|
+ ::core::http::Response response;
|
|
response.setStatusCode(403);
|
|
response.setStatusMessage("Forbidden");
|
|
ptrConnection->sendResponse(response);
|
|
@@ -382,7 +382,7 @@
|
|
return connection::authenticate(ptrConnection, secret_);
|
|
}
|
|
|
|
- core::Error cleanup()
|
|
+ ::core::Error cleanup()
|
|
{
|
|
return Success();
|
|
}
|
|
@@ -419,13 +419,13 @@
|
|
}
|
|
}
|
|
|
|
- static core::Error logonSessionOnlyDescriptor(std::string* pDescriptor)
|
|
+ static ::core::Error logonSessionOnlyDescriptor(std::string* pDescriptor)
|
|
{
|
|
// token for current process
|
|
HANDLE hToken = NULL;
|
|
if (!OpenProcessToken(::GetCurrentProcess(), TOKEN_QUERY, &hToken))
|
|
return systemError(::GetLastError(), ERROR_LOCATION);
|
|
- core::system::CloseHandleOnExitScope tokenScope(&hToken, ERROR_LOCATION);
|
|
+ ::core::system::CloseHandleOnExitScope tokenScope(&hToken, ERROR_LOCATION);
|
|
|
|
// size of token groups structure (note that we exepct the error
|
|
// since we pass NULL for the token information buffer)
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/http/SessionPosixHttpConnectionListener.cpp rstudio-0.98.1103-fix/src/cpp/session/http/SessionPosixHttpConnectionListener.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/http/SessionPosixHttpConnectionListener.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/http/SessionPosixHttpConnectionListener.cpp 2015-03-08 22:23:10.379943994 +0100
|
|
@@ -44,13 +44,13 @@
|
|
|
|
if (options.programMode() == kSessionProgramModeDesktop)
|
|
{
|
|
- std::string localPeer = core::system::getenv("RS_LOCAL_PEER");
|
|
+ std::string localPeer = ::core::system::getenv("RS_LOCAL_PEER");
|
|
if (!localPeer.empty())
|
|
{
|
|
FilePath streamPath(localPeer);
|
|
s_pHttpConnectionListener = new LocalStreamHttpConnectionListener(
|
|
streamPath,
|
|
- core::system::UserReadWriteMode,
|
|
+ ::core::system::UserReadWriteMode,
|
|
options.sharedSecret(),
|
|
-1);
|
|
}
|
|
@@ -78,7 +78,7 @@
|
|
FilePath localStreamPath = local_streams::streamPath(userIdentity);
|
|
s_pHttpConnectionListener = new LocalStreamHttpConnectionListener(
|
|
localStreamPath,
|
|
- core::system::EveryoneReadWriteMode,
|
|
+ ::core::system::EveryoneReadWriteMode,
|
|
"", // no shared secret
|
|
options.limitRpcClientUid());
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/http/SessionWin32HttpConnectionListener.cpp rstudio-0.98.1103-fix/src/cpp/session/http/SessionWin32HttpConnectionListener.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/http/SessionWin32HttpConnectionListener.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/http/SessionWin32HttpConnectionListener.cpp 2015-03-08 22:23:10.388943995 +0100
|
|
@@ -39,7 +39,7 @@
|
|
void initializeHttpConnectionListener()
|
|
{
|
|
session::Options& options = session::options();
|
|
- std::string pipeName = core::system::getenv("RS_LOCAL_PEER");
|
|
+ std::string pipeName = ::core::system::getenv("RS_LOCAL_PEER");
|
|
std::string secret = options.sharedSecret();
|
|
s_pHttpConnectionListener = new NamedPipeHttpConnectionListener(pipeName,
|
|
secret);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/projects/SessionProjects.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/projects/SessionProjects.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/projects/SessionProjects.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/projects/SessionProjects.hpp 2015-03-08 22:23:10.529944019 +0100
|
|
@@ -46,9 +46,9 @@
|
|
// file monitoring callbacks (all callbacks are optional)
|
|
struct FileMonitorCallbacks
|
|
{
|
|
- boost::function<void(const tree<core::FileInfo>&)> onMonitoringEnabled;
|
|
+ boost::function<void(const tree< ::core::FileInfo>&)> onMonitoringEnabled;
|
|
boost::function<void(
|
|
- const std::vector<core::system::FileChangeEvent>&)> onFilesChanged;
|
|
+ const std::vector< ::core::system::FileChangeEvent>&)> onFilesChanged;
|
|
boost::function<void()> onMonitoringDisabled;
|
|
};
|
|
|
|
@@ -83,10 +83,10 @@
|
|
}
|
|
virtual ~ProjectContext() {}
|
|
|
|
- core::Error startup(const core::FilePath& projectFile,
|
|
+ ::core::Error startup(const ::core::FilePath& projectFile,
|
|
std::string* pUserErrMsg);
|
|
|
|
- core::Error initialize();
|
|
+ ::core::Error initialize();
|
|
|
|
public:
|
|
// these functions can be called even when there is no project
|
|
@@ -98,17 +98,17 @@
|
|
void setNextSessionProject(const std::string& nextSessionProject);
|
|
|
|
// last project path -- used to implement restore last project user setting
|
|
- core::FilePath lastProjectPath() const;
|
|
- void setLastProjectPath(const core::FilePath& lastProjectPath);
|
|
+ ::core::FilePath lastProjectPath() const;
|
|
+ void setLastProjectPath(const ::core::FilePath& lastProjectPath);
|
|
|
|
- const core::FilePath& file() const { return file_; }
|
|
- const core::FilePath& directory() const { return directory_; }
|
|
- const core::FilePath& scratchPath() const { return scratchPath_; }
|
|
+ const ::core::FilePath& file() const { return file_; }
|
|
+ const ::core::FilePath& directory() const { return directory_; }
|
|
+ const ::core::FilePath& scratchPath() const { return scratchPath_; }
|
|
|
|
- core::FilePath oldScratchPath() const;
|
|
+ ::core::FilePath oldScratchPath() const;
|
|
|
|
- const core::r_util::RProjectConfig& config() const { return config_; }
|
|
- void setConfig(const core::r_util::RProjectConfig& config)
|
|
+ const ::core::r_util::RProjectConfig& config() const { return config_; }
|
|
+ void setConfig(const ::core::r_util::RProjectConfig& config)
|
|
{
|
|
config_ = config;
|
|
updateDefaultEncoding();
|
|
@@ -116,11 +116,11 @@
|
|
updatePackageInfo();
|
|
}
|
|
|
|
- core::Error readVcsOptions(RProjectVcsOptions* pOptions) const;
|
|
- core::Error writeVcsOptions(const RProjectVcsOptions& options) const;
|
|
+ ::core::Error readVcsOptions(RProjectVcsOptions* pOptions) const;
|
|
+ ::core::Error writeVcsOptions(const RProjectVcsOptions& options) const;
|
|
|
|
- core::Error readBuildOptions(RProjectBuildOptions* pOptions);
|
|
- core::Error writeBuildOptions(const RProjectBuildOptions& options);
|
|
+ ::core::Error readBuildOptions(RProjectBuildOptions* pOptions);
|
|
+ ::core::Error writeBuildOptions(const RProjectBuildOptions& options);
|
|
|
|
// code which needs to rely on the encoding should call this method
|
|
// rather than getting the encoding off of the config (because the
|
|
@@ -131,14 +131,14 @@
|
|
std::string defaultEncoding() const;
|
|
|
|
// computed absolute path to project build target directory
|
|
- const core::FilePath& buildTargetPath() const
|
|
+ const ::core::FilePath& buildTargetPath() const
|
|
{
|
|
return buildTargetPath_;
|
|
}
|
|
|
|
- core::json::Object uiPrefs() const;
|
|
+ ::core::json::Object uiPrefs() const;
|
|
|
|
- core::json::Array openDocs() const;
|
|
+ ::core::json::Array openDocs() const;
|
|
|
|
// current build options (note that these are not synchronized
|
|
// accross processes!)
|
|
@@ -148,7 +148,7 @@
|
|
}
|
|
|
|
// current package info (if this is a package)
|
|
- const core::r_util::RPackageInfo& packageInfo() const
|
|
+ const ::core::r_util::RPackageInfo& packageInfo() const
|
|
{
|
|
return packageInfo_;
|
|
}
|
|
@@ -160,7 +160,7 @@
|
|
|
|
// are we monitoring the specified directory? (used by other modules to
|
|
// suppress file monitoring if the project already has it covered)
|
|
- bool isMonitoringDirectory(const core::FilePath& directory) const;
|
|
+ bool isMonitoringDirectory(const ::core::FilePath& directory) const;
|
|
|
|
// subscribe to file monitor notifications -- note that to ensure
|
|
// receipt of the onMonitoringEnabled callback subscription should
|
|
@@ -169,8 +169,8 @@
|
|
const FileMonitorCallbacks& cb);
|
|
|
|
public:
|
|
- static core::r_util::RProjectBuildDefaults buildDefaults();
|
|
- static core::r_util::RProjectConfig defaultConfig();
|
|
+ static ::core::r_util::RProjectBuildDefaults buildDefaults();
|
|
+ static ::core::r_util::RProjectConfig defaultConfig();
|
|
|
|
private:
|
|
// deferred init handler (this allows other modules to reliably subscribe
|
|
@@ -179,14 +179,14 @@
|
|
void onDeferredInit(bool newSession);
|
|
|
|
// file monitor event handlers
|
|
- void fileMonitorRegistered(core::system::file_monitor::Handle handle,
|
|
- const tree<core::FileInfo>& files);
|
|
+ void fileMonitorRegistered(::core::system::file_monitor::Handle handle,
|
|
+ const tree< ::core::FileInfo>& files);
|
|
void fileMonitorFilesChanged(
|
|
- const std::vector<core::system::FileChangeEvent>& events);
|
|
- void fileMonitorTermination(const core::Error& error);
|
|
+ const std::vector< ::core::system::FileChangeEvent>& events);
|
|
+ void fileMonitorTermination(const ::core::Error& error);
|
|
|
|
- core::FilePath vcsOptionsFilePath() const;
|
|
- core::Error buildOptionsFile(core::Settings* pOptionsFile) const;
|
|
+ ::core::FilePath vcsOptionsFilePath() const;
|
|
+ ::core::Error buildOptionsFile(::core::Settings* pOptionsFile) const;
|
|
|
|
void updateDefaultEncoding();
|
|
void updateBuildTargetPath();
|
|
@@ -195,19 +195,19 @@
|
|
void augmentRbuildignore();
|
|
|
|
private:
|
|
- core::FilePath file_;
|
|
- core::FilePath directory_;
|
|
- core::FilePath scratchPath_;
|
|
- core::r_util::RProjectConfig config_;
|
|
+ ::core::FilePath file_;
|
|
+ ::core::FilePath directory_;
|
|
+ ::core::FilePath scratchPath_;
|
|
+ ::core::r_util::RProjectConfig config_;
|
|
std::string defaultEncoding_;
|
|
- core::FilePath buildTargetPath_;
|
|
+ ::core::FilePath buildTargetPath_;
|
|
RProjectBuildOptions buildOptions_;
|
|
- core::r_util::RPackageInfo packageInfo_;
|
|
+ ::core::r_util::RPackageInfo packageInfo_;
|
|
|
|
bool hasFileMonitor_;
|
|
std::vector<std::string> monitorSubscribers_;
|
|
- boost::signal<void(const tree<core::FileInfo>&)> onMonitoringEnabled_;
|
|
- boost::signal<void(const std::vector<core::system::FileChangeEvent>&)>
|
|
+ boost::signal<void(const tree< ::core::FileInfo>&)> onMonitoringEnabled_;
|
|
+ boost::signal<void(const std::vector< ::core::system::FileChangeEvent>&)>
|
|
onFilesChanged_;
|
|
boost::signal<void()> onMonitoringDisabled_;
|
|
};
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionAsyncRProcess.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionAsyncRProcess.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionAsyncRProcess.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionAsyncRProcess.hpp 2015-03-08 22:23:10.488944012 +0100
|
|
@@ -40,7 +40,7 @@
|
|
AsyncRProcess();
|
|
virtual ~AsyncRProcess();
|
|
|
|
- void start(const char* rCommand, const core::FilePath& workingDir,
|
|
+ void start(const char* rCommand, const ::core::FilePath& workingDir,
|
|
AsyncRProcessOptions rOptions);
|
|
bool isRunning();
|
|
void terminate();
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionConsoleProcess.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionConsoleProcess.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionConsoleProcess.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionConsoleProcess.hpp 2015-03-08 22:23:10.520944017 +0100
|
|
@@ -53,7 +53,7 @@
|
|
|
|
ConsoleProcess(
|
|
const std::string& command,
|
|
- const core::system::ProcessOptions& options,
|
|
+ const ::core::system::ProcessOptions& options,
|
|
const std::string& caption,
|
|
bool dialog,
|
|
InteractionMode mode,
|
|
@@ -62,7 +62,7 @@
|
|
ConsoleProcess(
|
|
const std::string& program,
|
|
const std::vector<std::string>& args,
|
|
- const core::system::ProcessOptions& options,
|
|
+ const ::core::system::ProcessOptions& options,
|
|
const std::string& caption,
|
|
bool dialog,
|
|
InteractionMode mode,
|
|
@@ -95,7 +95,7 @@
|
|
// the runProgram codepath
|
|
static boost::shared_ptr<ConsoleProcess> create(
|
|
const std::string& command,
|
|
- core::system::ProcessOptions options,
|
|
+ ::core::system::ProcessOptions options,
|
|
const std::string& caption,
|
|
bool dialog,
|
|
InteractionMode mode,
|
|
@@ -104,7 +104,7 @@
|
|
static boost::shared_ptr<ConsoleProcess> create(
|
|
const std::string& program,
|
|
const std::vector<std::string>& args,
|
|
- core::system::ProcessOptions options,
|
|
+ ::core::system::ProcessOptions options,
|
|
const std::string& caption,
|
|
bool dialog,
|
|
InteractionMode mode,
|
|
@@ -124,29 +124,29 @@
|
|
std::string handle() const { return handle_; }
|
|
InteractionMode interactionMode() const { return interactionMode_; }
|
|
|
|
- core::Error start();
|
|
+ ::core::Error start();
|
|
void enqueInput(const Input& input);
|
|
void interrupt();
|
|
|
|
void setShowOnOutput(bool showOnOutput) { showOnOutput_ = showOnOutput; }
|
|
|
|
- core::json::Object toJson() const;
|
|
+ ::core::json::Object toJson() const;
|
|
static boost::shared_ptr<ConsoleProcess> fromJson(
|
|
- core::json::Object& obj);
|
|
+ ::core::json::Object& obj);
|
|
|
|
private:
|
|
- core::system::ProcessCallbacks createProcessCallbacks();
|
|
- bool onContinue(core::system::ProcessOperations& ops);
|
|
- void onStdout(core::system::ProcessOperations& ops,
|
|
+ ::core::system::ProcessCallbacks createProcessCallbacks();
|
|
+ bool onContinue(::core::system::ProcessOperations& ops);
|
|
+ void onStdout(::core::system::ProcessOperations& ops,
|
|
const std::string& output);
|
|
void onExit(int exitCode);
|
|
|
|
std::string bufferedOutput() const;
|
|
void appendToOutputBuffer(const std::string& str);
|
|
void enqueOutputEvent(const std::string& output, bool error);
|
|
- void handleConsolePrompt(core::system::ProcessOperations& ops,
|
|
+ void handleConsolePrompt(::core::system::ProcessOperations& ops,
|
|
const std::string& prompt);
|
|
- void maybeConsolePrompt(core::system::ProcessOperations& ops,
|
|
+ void maybeConsolePrompt(::core::system::ProcessOperations& ops,
|
|
const std::string& output);
|
|
|
|
private:
|
|
@@ -154,7 +154,7 @@
|
|
std::string command_;
|
|
std::string program_;
|
|
std::vector<std::string> args_;
|
|
- core::system::ProcessOptions options_;
|
|
+ ::core::system::ProcessOptions options_;
|
|
|
|
std::string caption_;
|
|
bool dialog_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionContentUrls.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionContentUrls.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionContentUrls.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionContentUrls.hpp 2015-03-08 22:23:10.522944018 +0100
|
|
@@ -26,7 +26,7 @@
|
|
namespace session {
|
|
namespace content_urls {
|
|
|
|
-std::string provision(const std::string& title, const core::FilePath& filePath);
|
|
+std::string provision(const std::string& title, const ::core::FilePath& filePath);
|
|
|
|
std::string provision(const std::string& title,
|
|
const std::string& content,
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionHttpConnection.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionHttpConnection.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionHttpConnection.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionHttpConnection.hpp 2015-03-08 22:23:10.486944012 +0100
|
|
@@ -56,13 +56,13 @@
|
|
public:
|
|
virtual ~HttpConnection() {}
|
|
|
|
- virtual const core::http::Request& request() = 0;
|
|
- virtual void sendResponse(const core::http::Response& response) = 0;
|
|
+ virtual const ::core::http::Request& request() = 0;
|
|
+ virtual void sendResponse(const ::core::http::Response& response) = 0;
|
|
|
|
- void sendJsonRpcError(const core::Error& error);
|
|
+ void sendJsonRpcError(const ::core::Error& error);
|
|
void sendJsonRpcResponse();
|
|
void sendJsonRpcResponse(
|
|
- const core::json::JsonRpcResponse& jsonRpcResponse);
|
|
+ const ::core::json::JsonRpcResponse& jsonRpcResponse);
|
|
|
|
|
|
// close (occurs automatically after writeResponse, here in case it
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionHttpConnectionListener.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionHttpConnectionListener.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionHttpConnectionListener.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionHttpConnectionListener.hpp 2015-03-08 22:23:10.492944013 +0100
|
|
@@ -90,7 +90,7 @@
|
|
virtual ~HttpConnectionListener() {}
|
|
|
|
// start and stop
|
|
- virtual core::Error start() = 0;
|
|
+ virtual ::core::Error start() = 0;
|
|
virtual void stop() = 0;
|
|
|
|
// connection queues
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionLocalStreams.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionLocalStreams.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionLocalStreams.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionLocalStreams.hpp 2015-03-08 22:23:10.503944015 +0100
|
|
@@ -29,20 +29,20 @@
|
|
namespace session {
|
|
namespace local_streams {
|
|
|
|
-inline core::Error ensureStreamsDir()
|
|
+inline ::core::Error ensureStreamsDir()
|
|
{
|
|
- core::FilePath sessionStreamsPath(kSessionLocalStreamsDir);
|
|
- return core::http::initializeStreamDir(sessionStreamsPath);
|
|
+ ::core::FilePath sessionStreamsPath(kSessionLocalStreamsDir);
|
|
+ return ::core::http::initializeStreamDir(sessionStreamsPath);
|
|
}
|
|
|
|
-inline core::FilePath streamPath(const std::string& user)
|
|
+inline ::core::FilePath streamPath(const std::string& user)
|
|
{
|
|
- return core::FilePath(kSessionLocalStreamsDir).complete(user);
|
|
+ return ::core::FilePath(kSessionLocalStreamsDir).complete(user);
|
|
}
|
|
|
|
inline void removeStreams(const std::string& user)
|
|
{
|
|
- core::Error error = streamPath(user).removeIfExists();
|
|
+ ::core::Error error = streamPath(user).removeIfExists();
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionModuleContext.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionModuleContext.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionModuleContext.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionModuleContext.hpp 2015-03-08 22:23:10.515944017 +0100
|
|
@@ -69,19 +69,19 @@
|
|
|
|
// paths
|
|
core::FilePath userHomePath();
|
|
-std::string createAliasedPath(const core::FileInfo& fileInfo);
|
|
-std::string createAliasedPath(const core::FilePath& path);
|
|
-std::string createFileUrl(const core::FilePath& path);
|
|
+std::string createAliasedPath(const ::core::FileInfo& fileInfo);
|
|
+std::string createAliasedPath(const ::core::FilePath& path);
|
|
+std::string createFileUrl(const ::core::FilePath& path);
|
|
core::FilePath resolveAliasedPath(const std::string& aliasedPath);
|
|
core::FilePath userScratchPath();
|
|
core::FilePath scopedScratchPath();
|
|
core::FilePath oldScopedScratchPath();
|
|
-bool isVisibleUserFile(const core::FilePath& filePath);
|
|
+bool isVisibleUserFile(const ::core::FilePath& filePath);
|
|
|
|
core::FilePath safeCurrentPath();
|
|
|
|
-core::json::Object createFileSystemItem(const core::FileInfo& fileInfo);
|
|
-core::json::Object createFileSystemItem(const core::FilePath& filePath);
|
|
+core::json::Object createFileSystemItem(const ::core::FileInfo& fileInfo);
|
|
+core::json::Object createFileSystemItem(const ::core::FilePath& filePath);
|
|
|
|
// get a temp file
|
|
core::FilePath tempFile(const std::string& prefix,
|
|
@@ -95,12 +95,12 @@
|
|
bool isPdfLatexInstalled();
|
|
|
|
// is the file a text file
|
|
-bool isTextFile(const core::FilePath& targetPath);
|
|
+bool isTextFile(const ::core::FilePath& targetPath);
|
|
|
|
// find the location of the R script
|
|
-core::Error rBinDir(core::FilePath* pRBinDirPath);
|
|
-core::Error rScriptPath(core::FilePath* pRScriptPath);
|
|
-core::shell_utils::ShellCommand rCmd(const core::FilePath& rBinDir);
|
|
+core::Error rBinDir(::core::FilePath* pRBinDirPath);
|
|
+core::Error rScriptPath(::core::FilePath* pRScriptPath);
|
|
+core::shell_utils::ShellCommand rCmd(const ::core::FilePath& rBinDir);
|
|
|
|
// get the R local help port
|
|
std::string rLocalHelpPort();
|
|
@@ -126,37 +126,37 @@
|
|
core::Error installEmbeddedPackage(const std::string& name);
|
|
|
|
// find the package name for a source file
|
|
-std::string packageNameForSourceFile(const core::FilePath& sourceFilePath);
|
|
+std::string packageNameForSourceFile(const ::core::FilePath& sourceFilePath);
|
|
|
|
// register a handler for rBrowseUrl
|
|
typedef boost::function<bool(const std::string&)> RBrowseUrlHandler;
|
|
core::Error registerRBrowseUrlHandler(const RBrowseUrlHandler& handler);
|
|
|
|
// register a handler for rBrowseFile
|
|
-typedef boost::function<bool(const core::FilePath&)> RBrowseFileHandler;
|
|
+typedef boost::function<bool(const ::core::FilePath&)> RBrowseFileHandler;
|
|
core::Error registerRBrowseFileHandler(const RBrowseFileHandler& handler);
|
|
|
|
// register an inbound uri handler (include a leading slash)
|
|
core::Error registerAsyncUriHandler(
|
|
const std::string& name,
|
|
- const core::http::UriAsyncHandlerFunction& handlerFunction);
|
|
+ const ::core::http::UriAsyncHandlerFunction& handlerFunction);
|
|
|
|
// register an inbound uri handler (include a leading slash)
|
|
core::Error registerUriHandler(
|
|
const std::string& name,
|
|
- const core::http::UriHandlerFunction& handlerFunction);
|
|
+ const ::core::http::UriHandlerFunction& handlerFunction);
|
|
|
|
// register a local uri handler (scoped by a special prefix which indicates
|
|
// a local scope)
|
|
core::Error registerAsyncLocalUriHandler(
|
|
const std::string& name,
|
|
- const core::http::UriAsyncHandlerFunction& handlerFunction);
|
|
+ const ::core::http::UriAsyncHandlerFunction& handlerFunction);
|
|
|
|
// register a local uri handler (scoped by a special prefix which indicates
|
|
// a local scope)
|
|
core::Error registerLocalUriHandler(
|
|
const std::string& name,
|
|
- const core::http::UriHandlerFunction& handlerFunction);
|
|
+ const ::core::http::UriHandlerFunction& handlerFunction);
|
|
|
|
typedef boost::function<void(int, const std::string&)> PostbackHandlerContinuation;
|
|
|
|
@@ -172,16 +172,16 @@
|
|
// register an rpc method
|
|
core::Error registerAsyncRpcMethod(
|
|
const std::string& name,
|
|
- const core::json::JsonRpcAsyncFunction& function);
|
|
+ const ::core::json::JsonRpcAsyncFunction& function);
|
|
|
|
// register an rpc method
|
|
core::Error registerRpcMethod(const std::string& name,
|
|
- const core::json::JsonRpcFunction& function);
|
|
+ const ::core::json::JsonRpcFunction& function);
|
|
|
|
|
|
-core::Error executeAsync(const core::json::JsonRpcFunction& function,
|
|
- const core::json::JsonRpcRequest& request,
|
|
- core::json::JsonRpcResponse* pResponse);
|
|
+core::Error executeAsync(const ::core::json::JsonRpcFunction& function,
|
|
+ const ::core::json::JsonRpcRequest& request,
|
|
+ ::core::json::JsonRpcResponse* pResponse);
|
|
|
|
|
|
// create a waitForMethod function -- when called this function will:
|
|
@@ -190,20 +190,20 @@
|
|
// (b) wait for the specified methodName to be returned from the client
|
|
// (c) automatically re-issue the event after a client-init
|
|
//
|
|
-typedef boost::function<bool(core::json::JsonRpcRequest*, const ClientEvent&)> WaitForMethodFunction;
|
|
+typedef boost::function<bool(::core::json::JsonRpcRequest*, const ClientEvent&)> WaitForMethodFunction;
|
|
WaitForMethodFunction registerWaitForMethod(const std::string& methodName);
|
|
|
|
namespace {
|
|
|
|
template <typename T>
|
|
core::Error rpcAsyncCoupleRunner(
|
|
- boost::function<core::Error(const core::json::JsonRpcRequest&, T*)> initFunc,
|
|
- boost::function<core::Error(const core::json::JsonRpcRequest&, const T&, core::json::JsonRpcResponse*)> workerFunc,
|
|
- const core::json::JsonRpcRequest& request,
|
|
- core::json::JsonRpcResponse* pResponse)
|
|
+ boost::function< ::core::Error(const ::core::json::JsonRpcRequest&, T*)> initFunc,
|
|
+ boost::function< ::core::Error(const ::core::json::JsonRpcRequest&, const T&, ::core::json::JsonRpcResponse*)> workerFunc,
|
|
+ const ::core::json::JsonRpcRequest& request,
|
|
+ ::core::json::JsonRpcResponse* pResponse)
|
|
{
|
|
T state;
|
|
- core::Error error = initFunc(request, &state);
|
|
+ ::core::Error error = initFunc(request, &state);
|
|
if (error)
|
|
return error;
|
|
|
|
@@ -225,8 +225,8 @@
|
|
template <typename T>
|
|
core::Error registerRpcAsyncCoupleMethod(
|
|
const std::string& name,
|
|
- boost::function<core::Error(const core::json::JsonRpcRequest&, T*)> initFunc,
|
|
- boost::function<core::Error(const core::json::JsonRpcRequest&, const T&, core::json::JsonRpcResponse*)> workerFunc)
|
|
+ boost::function< ::core::Error(const ::core::json::JsonRpcRequest&, T*)> initFunc,
|
|
+ boost::function< ::core::Error(const ::core::json::JsonRpcRequest&, const T&, ::core::json::JsonRpcResponse*)> workerFunc)
|
|
{
|
|
return registerRpcMethod(name, boost::bind(rpcAsyncCoupleRunner<T>,
|
|
initFunc,
|
|
@@ -278,7 +278,7 @@
|
|
boost::signal<void (ConsoleOutputType, const std::string&)>
|
|
onConsoleOutput;
|
|
boost::signal<void (ChangeSource)> onDetectChanges;
|
|
- boost::signal<void (core::FilePath)> onSourceEditorFileSaved;
|
|
+ boost::signal<void (::core::FilePath)> onSourceEditorFileSaved;
|
|
boost::signal<void(bool)> onDeferredInit;
|
|
boost::signal<void(bool)> afterSessionInitHook;
|
|
boost::signal<void(bool)> onBackgroundProcessing;
|
|
@@ -340,7 +340,7 @@
|
|
bool idleOnly = true);
|
|
|
|
|
|
-core::Error readAndDecodeFile(const core::FilePath& filePath,
|
|
+core::Error readAndDecodeFile(const ::core::FilePath& filePath,
|
|
const std::string& encoding,
|
|
bool allowSubstChars,
|
|
std::string* pContents);
|
|
@@ -353,29 +353,29 @@
|
|
// source R files
|
|
core::Error sourceModuleRFile(const std::string& rSourceFile);
|
|
core::Error sourceModuleRFileWithResult(const std::string& rSourceFile,
|
|
- const core::FilePath& workingDir,
|
|
- core::system::ProcessResult* pResult);
|
|
+ const ::core::FilePath& workingDir,
|
|
+ ::core::system::ProcessResult* pResult);
|
|
|
|
// enque client events (note R methods can do this via .rs.enqueClientEvent)
|
|
void enqueClientEvent(const ClientEvent& event);
|
|
|
|
// check whether a directory is currently being monitored by one of our subsystems
|
|
-bool isDirectoryMonitored(const core::FilePath& directory);
|
|
+bool isDirectoryMonitored(const ::core::FilePath& directory);
|
|
|
|
// check whether an R source file belongs to the package under development
|
|
-bool isRScriptInPackageBuildTarget(const core::FilePath& filePath);
|
|
+bool isRScriptInPackageBuildTarget(const ::core::FilePath& filePath);
|
|
|
|
// convenience method for filtering out file listing and changes
|
|
-bool fileListingFilter(const core::FileInfo& fileInfo);
|
|
+bool fileListingFilter(const ::core::FileInfo& fileInfo);
|
|
|
|
// enque file changed events
|
|
-void enqueFileChangedEvent(const core::system::FileChangeEvent& event);
|
|
-void enqueFileChangedEvents(const core::FilePath& vcsStatusRoot,
|
|
- const std::vector<core::system::FileChangeEvent>& events);
|
|
+void enqueFileChangedEvent(const ::core::system::FileChangeEvent& event);
|
|
+void enqueFileChangedEvents(const ::core::FilePath& vcsStatusRoot,
|
|
+ const std::vector< ::core::system::FileChangeEvent>& events);
|
|
|
|
|
|
// register a scratch path which is monitored.
|
|
-typedef boost::function<void(const core::system::FileChangeEvent&)> OnFileChange;
|
|
+typedef boost::function<void(const ::core::system::FileChangeEvent&)> OnFileChange;
|
|
core::FilePath registerMonitoredUserScratchDir(const std::string& dirName,
|
|
const OnFileChange& onFileChange);
|
|
|
|
@@ -390,11 +390,11 @@
|
|
// show an error dialog (convenience wrapper for enquing kShowErrorMessage)
|
|
void showErrorMessage(const std::string& title, const std::string& message);
|
|
|
|
-void showFile(const core::FilePath& filePath,
|
|
+void showFile(const ::core::FilePath& filePath,
|
|
const std::string& window = "_blank");
|
|
|
|
|
|
-void showContent(const std::string& title, const core::FilePath& filePath);
|
|
+void showContent(const std::string& title, const ::core::FilePath& filePath);
|
|
|
|
std::string resourceFileAsString(const std::string& fileName);
|
|
|
|
@@ -402,8 +402,8 @@
|
|
|
|
std::string mapUrlPorts(const std::string& url);
|
|
|
|
-std::string pathRelativeTo(const core::FilePath& sourcePath,
|
|
- const core::FilePath& targetPath);
|
|
+std::string pathRelativeTo(const ::core::FilePath& sourcePath,
|
|
+ const ::core::FilePath& targetPath);
|
|
|
|
void activatePane(const std::string& pane);
|
|
|
|
@@ -418,7 +418,7 @@
|
|
#ifdef __APPLE__
|
|
bool isOSXMavericks();
|
|
bool hasOSXMavericksDeveloperTools();
|
|
-core::Error copyImageToCocoaPasteboard(const core::FilePath& filePath);
|
|
+core::Error copyImageToCocoaPasteboard(const ::core::FilePath& filePath);
|
|
#else
|
|
inline bool isOSXMavericks()
|
|
{
|
|
@@ -428,9 +428,9 @@
|
|
{
|
|
return false;
|
|
}
|
|
-inline core::Error copyImageToCocoaPasteboard(const core::FilePath& filePath)
|
|
+inline ::core::Error copyImageToCocoaPasteboard(const ::core::FilePath& filePath)
|
|
{
|
|
- return core::systemError(boost::system::errc::not_supported, ERROR_LOCATION);
|
|
+ return ::core::systemError(boost::system::errc::not_supported, ERROR_LOCATION);
|
|
}
|
|
#endif
|
|
|
|
@@ -441,7 +441,7 @@
|
|
std::string svnRepositoryRoot;
|
|
std::string gitRemoteOriginUrl;
|
|
};
|
|
-VcsContext vcsContext(const core::FilePath& workingDir);
|
|
+VcsContext vcsContext(const ::core::FilePath& workingDir);
|
|
|
|
std::string normalizeVcsOverride(const std::string& vcsOverride);
|
|
|
|
@@ -450,8 +450,8 @@
|
|
// persist state accross suspend and resume
|
|
|
|
typedef boost::function<void (const r::session::RSuspendOptions&,
|
|
- core::Settings*)> SuspendFunction;
|
|
-typedef boost::function<void(const core::Settings&)> ResumeFunction;
|
|
+ ::core::Settings*)> SuspendFunction;
|
|
+typedef boost::function<void(const ::core::Settings&)> ResumeFunction;
|
|
|
|
class SuspendHandler
|
|
{
|
|
@@ -494,7 +494,7 @@
|
|
core::json::Object compileOutputAsJson(const CompileOutput& compileOutput);
|
|
|
|
|
|
-std::string previousRpubsUploadId(const core::FilePath& filePath);
|
|
+std::string previousRpubsUploadId(const ::core::FilePath& filePath);
|
|
|
|
std::string CRANReposURL();
|
|
|
|
@@ -594,7 +594,7 @@
|
|
class RCommand
|
|
{
|
|
public:
|
|
- explicit RCommand(const core::FilePath& rBinDir)
|
|
+ explicit RCommand(const ::core::FilePath& rBinDir)
|
|
: shellCmd_(buildRCmd(rBinDir))
|
|
{
|
|
#ifdef _WIN32
|
|
@@ -606,7 +606,7 @@
|
|
// set escape mode to files-only. this is so that when we
|
|
// add the group of extra arguments from the user that we
|
|
// don't put quotes around it.
|
|
- shellCmd_ << core::shell_utils::EscapeFilesOnly;
|
|
+ shellCmd_ << ::core::shell_utils::EscapeFilesOnly;
|
|
}
|
|
|
|
RCommand& operator<<(const std::string& arg)
|
|
@@ -619,7 +619,7 @@
|
|
return *this;
|
|
}
|
|
|
|
- RCommand& operator<<(const core::FilePath& arg)
|
|
+ RCommand& operator<<(const ::core::FilePath& arg)
|
|
{
|
|
cmdString_ += " " + arg.absolutePath();
|
|
shellCmd_ << arg;
|
|
@@ -632,18 +632,18 @@
|
|
return cmdString_;
|
|
}
|
|
|
|
- const core::shell_utils::ShellCommand& shellCommand() const
|
|
+ const ::core::shell_utils::ShellCommand& shellCommand() const
|
|
{
|
|
return shellCmd_;
|
|
}
|
|
|
|
private:
|
|
- static core::shell_utils::ShellCommand buildRCmd(
|
|
- const core::FilePath& rBinDir);
|
|
+ static ::core::shell_utils::ShellCommand buildRCmd(
|
|
+ const ::core::FilePath& rBinDir);
|
|
|
|
private:
|
|
std::string cmdString_;
|
|
- core::shell_utils::ShellCommand shellCmd_;
|
|
+ ::core::shell_utils::ShellCommand shellCmd_;
|
|
};
|
|
|
|
|
|
@@ -662,8 +662,8 @@
|
|
|
|
const std::string& sessionTempPath() const { return sessionTempPath_; }
|
|
|
|
- core::Error copy(const core::FilePath& sourceDir,
|
|
- const core::FilePath& destinationDir) const;
|
|
+ ::core::Error copy(const ::core::FilePath& sourceDir,
|
|
+ const ::core::FilePath& destinationDir) const;
|
|
|
|
private:
|
|
std::string sessionTempPath_;
|
|
@@ -671,12 +671,12 @@
|
|
|
|
void addViewerHistoryEntry(const ViewerHistoryEntry& entry);
|
|
|
|
-core::Error recursiveCopyDirectory(const core::FilePath& fromDir,
|
|
- const core::FilePath& toDir);
|
|
+core::Error recursiveCopyDirectory(const ::core::FilePath& fromDir,
|
|
+ const ::core::FilePath& toDir);
|
|
|
|
std::string sessionTempDirUrl(const std::string& sessionTempPath);
|
|
|
|
-core::Error uniqueSaveStem(const core::FilePath& directoryPath,
|
|
+core::Error uniqueSaveStem(const ::core::FilePath& directoryPath,
|
|
const std::string& base,
|
|
std::string* pStem);
|
|
|
|
@@ -684,8 +684,8 @@
|
|
const std::string& extension);
|
|
|
|
|
|
-core::Error createSelfContainedHtml(const core::FilePath& sourceFilePath,
|
|
- const core::FilePath& targetFilePath);
|
|
+core::Error createSelfContainedHtml(const ::core::FilePath& sourceFilePath,
|
|
+ const ::core::FilePath& targetFilePath);
|
|
|
|
} // namespace module_context
|
|
} // namespace session
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionOptions.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionOptions.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionOptions.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionOptions.hpp 2015-03-08 22:23:10.508944015 +0100
|
|
@@ -53,7 +53,7 @@
|
|
|
|
public:
|
|
// read options
|
|
- core::ProgramStatus read(int argc, char * const argv[]);
|
|
+ ::core::ProgramStatus read(int argc, char * const argv[]);
|
|
virtual ~Options() {}
|
|
|
|
bool verifyInstallation() const
|
|
@@ -61,12 +61,12 @@
|
|
return verifyInstallation_;
|
|
}
|
|
|
|
- core::FilePath verifyInstallationHomeDir() const
|
|
+ ::core::FilePath verifyInstallationHomeDir() const
|
|
{
|
|
if (!verifyInstallationHomeDir_.empty())
|
|
- return core::FilePath(verifyInstallationHomeDir_.c_str());
|
|
+ return ::core::FilePath(verifyInstallationHomeDir_.c_str());
|
|
else
|
|
- return core::FilePath();
|
|
+ return ::core::FilePath();
|
|
}
|
|
|
|
std::string programIdentity() const
|
|
@@ -85,12 +85,12 @@
|
|
}
|
|
|
|
// agreement
|
|
- core::FilePath agreementFilePath() const
|
|
+ ::core::FilePath agreementFilePath() const
|
|
{
|
|
if (!agreementFilePath_.empty())
|
|
- return core::FilePath(agreementFilePath_.c_str());
|
|
+ return ::core::FilePath(agreementFilePath_.c_str());
|
|
else
|
|
- return core::FilePath();
|
|
+ return ::core::FilePath();
|
|
}
|
|
|
|
// docs
|
|
@@ -105,9 +105,9 @@
|
|
return std::string(wwwLocalPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath wwwSymbolMapsPath() const
|
|
+ ::core::FilePath wwwSymbolMapsPath() const
|
|
{
|
|
- return core::FilePath(wwwSymbolMapsPath_.c_str());
|
|
+ return ::core::FilePath(wwwSymbolMapsPath_.c_str());
|
|
}
|
|
|
|
std::string wwwPort() const
|
|
@@ -125,9 +125,9 @@
|
|
return std::string(secret_.c_str());
|
|
}
|
|
|
|
- core::FilePath preflightScriptPath() const
|
|
+ ::core::FilePath preflightScriptPath() const
|
|
{
|
|
- return core::FilePath(preflightScript_.c_str());
|
|
+ return ::core::FilePath(preflightScript_.c_str());
|
|
}
|
|
|
|
int timeoutMinutes() const { return timeoutMinutes_; }
|
|
@@ -144,29 +144,29 @@
|
|
|
|
unsigned int minimumUserId() const { return 100; }
|
|
|
|
- core::FilePath coreRSourcePath() const
|
|
+ ::core::FilePath coreRSourcePath() const
|
|
{
|
|
- return core::FilePath(coreRSourcePath_.c_str());
|
|
+ return ::core::FilePath(coreRSourcePath_.c_str());
|
|
}
|
|
|
|
- core::FilePath modulesRSourcePath() const
|
|
+ ::core::FilePath modulesRSourcePath() const
|
|
{
|
|
- return core::FilePath(modulesRSourcePath_.c_str());
|
|
+ return ::core::FilePath(modulesRSourcePath_.c_str());
|
|
}
|
|
|
|
- core::FilePath sessionLibraryPath() const
|
|
+ ::core::FilePath sessionLibraryPath() const
|
|
{
|
|
- return core::FilePath(sessionLibraryPath_.c_str());
|
|
+ return ::core::FilePath(sessionLibraryPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath sessionPackagesPath() const
|
|
+ ::core::FilePath sessionPackagesPath() const
|
|
{
|
|
- return core::FilePath(sessionPackagesPath_.c_str());
|
|
+ return ::core::FilePath(sessionPackagesPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath sessionPackageArchivesPath() const
|
|
+ ::core::FilePath sessionPackageArchivesPath() const
|
|
{
|
|
- return core::FilePath(sessionPackageArchivesPath_.c_str());
|
|
+ return ::core::FilePath(sessionPackageArchivesPath_.c_str());
|
|
}
|
|
|
|
|
|
@@ -185,9 +185,9 @@
|
|
return rCompatibleGraphicsEngineVersion_;
|
|
}
|
|
|
|
- core::FilePath rResourcesPath() const
|
|
+ ::core::FilePath rResourcesPath() const
|
|
{
|
|
- return core::FilePath(rResourcesPath_.c_str());
|
|
+ return ::core::FilePath(rResourcesPath_.c_str());
|
|
}
|
|
|
|
std::string rHomeDirOverride()
|
|
@@ -211,49 +211,49 @@
|
|
bool limitXfsDiskQuota() const { return limitXfsDiskQuota_; }
|
|
|
|
// external
|
|
- core::FilePath rpostbackPath() const
|
|
+ ::core::FilePath rpostbackPath() const
|
|
{
|
|
- return core::FilePath(rpostbackPath_.c_str());
|
|
+ return ::core::FilePath(rpostbackPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath consoleIoPath() const
|
|
+ ::core::FilePath consoleIoPath() const
|
|
{
|
|
- return core::FilePath(consoleIoPath_.c_str());
|
|
+ return ::core::FilePath(consoleIoPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath gnudiffPath() const
|
|
+ ::core::FilePath gnudiffPath() const
|
|
{
|
|
- return core::FilePath(gnudiffPath_.c_str());
|
|
+ return ::core::FilePath(gnudiffPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath gnugrepPath() const
|
|
+ ::core::FilePath gnugrepPath() const
|
|
{
|
|
- return core::FilePath(gnugrepPath_.c_str());
|
|
+ return ::core::FilePath(gnugrepPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath msysSshPath() const
|
|
+ ::core::FilePath msysSshPath() const
|
|
{
|
|
- return core::FilePath(msysSshPath_.c_str());
|
|
+ return ::core::FilePath(msysSshPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath sumatraPath() const
|
|
+ ::core::FilePath sumatraPath() const
|
|
{
|
|
- return core::FilePath(sumatraPath_.c_str());
|
|
+ return ::core::FilePath(sumatraPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath hunspellDictionariesPath() const
|
|
+ ::core::FilePath hunspellDictionariesPath() const
|
|
{
|
|
- return core::FilePath(hunspellDictionariesPath_.c_str());
|
|
+ return ::core::FilePath(hunspellDictionariesPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath mathjaxPath() const
|
|
+ ::core::FilePath mathjaxPath() const
|
|
{
|
|
- return core::FilePath(mathjaxPath_.c_str());
|
|
+ return ::core::FilePath(mathjaxPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath pandocPath() const
|
|
+ ::core::FilePath pandocPath() const
|
|
{
|
|
- return core::FilePath(pandocPath_.c_str());
|
|
+ return ::core::FilePath(pandocPath_.c_str());
|
|
}
|
|
|
|
bool allowFileDownloads() const
|
|
@@ -307,43 +307,43 @@
|
|
return showUserIdentity_;
|
|
}
|
|
|
|
- core::FilePath userHomePath() const
|
|
+ ::core::FilePath userHomePath() const
|
|
{
|
|
- return core::FilePath(userHomePath_.c_str());
|
|
+ return ::core::FilePath(userHomePath_.c_str());
|
|
}
|
|
|
|
- core::FilePath userScratchPath() const
|
|
+ ::core::FilePath userScratchPath() const
|
|
{
|
|
- return core::FilePath(userScratchPath_.c_str());
|
|
+ return ::core::FilePath(userScratchPath_.c_str());
|
|
}
|
|
|
|
- core::FilePath userLogPath() const
|
|
+ ::core::FilePath userLogPath() const
|
|
{
|
|
return userScratchPath().childPath("log");
|
|
}
|
|
|
|
- core::FilePath initialWorkingDirOverride()
|
|
+ ::core::FilePath initialWorkingDirOverride()
|
|
{
|
|
if (!initialWorkingDirOverride_.empty())
|
|
- return core::FilePath(initialWorkingDirOverride_.c_str());
|
|
+ return ::core::FilePath(initialWorkingDirOverride_.c_str());
|
|
else
|
|
- return core::FilePath();
|
|
+ return ::core::FilePath();
|
|
}
|
|
|
|
- core::FilePath initialEnvironmentFileOverride()
|
|
+ ::core::FilePath initialEnvironmentFileOverride()
|
|
{
|
|
if (!initialEnvironmentFileOverride_.empty())
|
|
- return core::FilePath(initialEnvironmentFileOverride_.c_str());
|
|
+ return ::core::FilePath(initialEnvironmentFileOverride_.c_str());
|
|
else
|
|
- return core::FilePath();
|
|
+ return ::core::FilePath();
|
|
}
|
|
|
|
- core::FilePath initialProjectPath()
|
|
+ ::core::FilePath initialProjectPath()
|
|
{
|
|
if (!initialProjectPath_.empty())
|
|
- return core::FilePath(initialProjectPath_.c_str());
|
|
+ return ::core::FilePath(initialProjectPath_.c_str());
|
|
else
|
|
- return core::FilePath();
|
|
+ return ::core::FilePath();
|
|
}
|
|
|
|
void clearInitialContextSettings()
|
|
@@ -356,16 +356,16 @@
|
|
// The line ending we use when working with source documents
|
|
// in memory. This doesn't really make sense for the user to
|
|
// change.
|
|
- core::string_utils::LineEnding sourceLineEnding() const
|
|
+ ::core::string_utils::LineEnding sourceLineEnding() const
|
|
{
|
|
- return core::string_utils::LineEndingPosix;
|
|
+ return ::core::string_utils::LineEndingPosix;
|
|
}
|
|
|
|
// The line ending we persist to disk with. This could potentially
|
|
// be a per-user or even per-file option.
|
|
- core::string_utils::LineEnding sourcePersistLineEnding() const
|
|
+ ::core::string_utils::LineEnding sourcePersistLineEnding() const
|
|
{
|
|
- return core::string_utils::LineEndingNative;
|
|
+ return ::core::string_utils::LineEndingNative;
|
|
}
|
|
|
|
std::string monitorSharedSecret() const
|
|
@@ -386,11 +386,11 @@
|
|
bool getBoolOverlayOption(const std::string& name);
|
|
|
|
private:
|
|
- void resolvePath(const core::FilePath& resourcePath,
|
|
+ void resolvePath(const ::core::FilePath& resourcePath,
|
|
std::string* pPath);
|
|
- void resolvePostbackPath(const core::FilePath& resourcePath,
|
|
+ void resolvePostbackPath(const ::core::FilePath& resourcePath,
|
|
std::string* pPath);
|
|
- void resolvePandocPath(const core::FilePath& resourcePath, std::string* pPath);
|
|
+ void resolvePandocPath(const ::core::FilePath& resourcePath, std::string* pPath);
|
|
|
|
void addOverlayOptions(boost::program_options::options_description* pOpt);
|
|
bool validateOverlayOptions(std::string* pErrMsg);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionPersistentState.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionPersistentState.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionPersistentState.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionPersistentState.hpp 2015-03-08 22:23:10.498944014 +0100
|
|
@@ -37,7 +37,7 @@
|
|
public:
|
|
// COPYING: boost::noncopyable
|
|
|
|
- core::Error initialize();
|
|
+ ::core::Error initialize();
|
|
|
|
// active-client-id
|
|
std::string activeClientId();
|
|
@@ -57,12 +57,12 @@
|
|
const std::string& hashValue);
|
|
|
|
// get underlying settings
|
|
- core::Settings& settings() { return settings_; }
|
|
+ ::core::Settings& settings() { return settings_; }
|
|
|
|
private:
|
|
bool serverMode_;
|
|
std::string desktopClientId_;
|
|
- core::Settings settings_;
|
|
+ ::core::Settings settings_;
|
|
};
|
|
|
|
} // namespace session
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionSourceDatabase.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionSourceDatabase.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionSourceDatabase.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionSourceDatabase.hpp 2015-03-08 22:23:10.510944016 +0100
|
|
@@ -50,7 +50,7 @@
|
|
bool dirty() const { return dirty_; }
|
|
double created() const { return created_; }
|
|
bool sourceOnSave() const { return sourceOnSave_; }
|
|
- const core::json::Object& properties() const { return properties_; }
|
|
+ const ::core::json::Object& properties() const { return properties_; }
|
|
const std::string& folds() const { return folds_; }
|
|
std::string getProperty(const std::string& name) const;
|
|
|
|
@@ -61,10 +61,10 @@
|
|
void setContents(const std::string& contents);
|
|
|
|
// set contents from file
|
|
- core::Error setPathAndContents(const std::string& path,
|
|
+ ::core::Error setPathAndContents(const std::string& path,
|
|
bool allowSubstChars = true);
|
|
|
|
- core::Error updateDirty();
|
|
+ ::core::Error updateDirty();
|
|
|
|
// set dirty
|
|
void setDirty(bool dirty)
|
|
@@ -97,20 +97,20 @@
|
|
// properties that already exist but are not present in the given object are
|
|
// left unchanged. if an entry in the given object has a null value, that
|
|
// property should be removed.
|
|
- void editProperties(core::json::Object& properties);
|
|
+ void editProperties(::core::json::Object& properties);
|
|
|
|
void setType(const std::string& type)
|
|
{
|
|
type_ = type;
|
|
}
|
|
|
|
- core::Error readFromJson(core::json::Object* pDocJson);
|
|
- void writeToJson(core::json::Object* pDocJson) const;
|
|
+ ::core::Error readFromJson(::core::json::Object* pDocJson);
|
|
+ void writeToJson(::core::json::Object* pDocJson) const;
|
|
|
|
- core::Error writeToFile(const core::FilePath& filePath) const;
|
|
+ ::core::Error writeToFile(const ::core::FilePath& filePath) const;
|
|
|
|
private:
|
|
- void editProperty(const core::json::Object::value_type& property);
|
|
+ void editProperty(const ::core::json::Object::value_type& property);
|
|
|
|
private:
|
|
std::string id_;
|
|
@@ -124,7 +124,7 @@
|
|
bool dirty_;
|
|
double created_;
|
|
bool sourceOnSave_;
|
|
- core::json::Object properties_;
|
|
+ ::core::json::Object properties_;
|
|
};
|
|
|
|
bool sortByCreated(const boost::shared_ptr<SourceDocument>& pDoc1,
|
|
@@ -133,7 +133,7 @@
|
|
core::FilePath path();
|
|
core::Error get(const std::string& id, boost::shared_ptr<SourceDocument> pDoc);
|
|
core::Error getDurableProperties(const std::string& path,
|
|
- core::json::Object* pProperties);
|
|
+ ::core::json::Object* pProperties);
|
|
core::Error list(std::vector<boost::shared_ptr<SourceDocument> >* pDocs);
|
|
core::Error put(boost::shared_ptr<SourceDocument> pDoc);
|
|
core::Error remove(const std::string& id);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionSSH.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionSSH.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionSSH.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionSSH.hpp 2015-03-08 22:23:10.517944017 +0100
|
|
@@ -32,7 +32,7 @@
|
|
class ProcessOptionsCreator
|
|
{
|
|
public:
|
|
- ProcessOptionsCreator(core::system::ProcessOptions baseOptions)
|
|
+ ProcessOptionsCreator(::core::system::ProcessOptions baseOptions)
|
|
: baseOptions_(baseOptions)
|
|
{
|
|
}
|
|
@@ -50,20 +50,20 @@
|
|
void rmEnv(const std::string& name);
|
|
|
|
// Add a directory to the path of the child process
|
|
- void addToPath(const core::FilePath& dir);
|
|
+ void addToPath(const ::core::FilePath& dir);
|
|
|
|
- void setWorkingDirectory(const core::FilePath& dir);
|
|
+ void setWorkingDirectory(const ::core::FilePath& dir);
|
|
void clearWorkingDirectory();
|
|
|
|
// Create the actual ProcessOptions object from the state of this
|
|
// object.
|
|
- core::system::ProcessOptions processOptions() const;
|
|
+ ::core::system::ProcessOptions processOptions() const;
|
|
|
|
private:
|
|
- core::system::ProcessOptions baseOptions_;
|
|
+ ::core::system::ProcessOptions baseOptions_;
|
|
std::map<std::string, std::string> env_;
|
|
- std::vector<core::FilePath> pathDirs_;
|
|
- core::FilePath workingDir_;
|
|
+ std::vector< ::core::FilePath> pathDirs_;
|
|
+ ::core::FilePath workingDir_;
|
|
};
|
|
|
|
} // namespace ssh
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/SessionUserSettings.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionUserSettings.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/SessionUserSettings.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/SessionUserSettings.hpp 2015-03-08 22:23:10.501944014 +0100
|
|
@@ -62,7 +62,7 @@
|
|
// COPYING: boost::noncopyable
|
|
|
|
// intialize
|
|
- core::Error initialize();
|
|
+ ::core::Error initialize();
|
|
|
|
// enable batch updates
|
|
void beginUpdate() { settings_.beginUpdate(); }
|
|
@@ -83,8 +83,8 @@
|
|
bool autoCreatedProfile() const;
|
|
void setAutoCreatedProfile(bool autoCreated) ;
|
|
|
|
- core::json::Object uiPrefs() const;
|
|
- void setUiPrefs(const core::json::Object& prefsObject);
|
|
+ ::core::json::Object uiPrefs() const;
|
|
+ void setUiPrefs(const ::core::json::Object& prefsObject);
|
|
|
|
// readers for ui prefs
|
|
bool useSpacesForTab() const;
|
|
@@ -110,8 +110,8 @@
|
|
bool loadRData() const;
|
|
void setLoadRData(bool loadRData);
|
|
|
|
- core::FilePath initialWorkingDirectory() const;
|
|
- void setInitialWorkingDirectory(const core::FilePath& filePath);
|
|
+ ::core::FilePath initialWorkingDirectory() const;
|
|
+ void setInitialWorkingDirectory(const ::core::FilePath& filePath);
|
|
|
|
bool alwaysSaveHistory() const;
|
|
void setAlwaysSaveHistory(bool alwaysSave);
|
|
@@ -128,14 +128,14 @@
|
|
bool vcsEnabled() const;
|
|
void setVcsEnabled(bool enabled);
|
|
|
|
- core::FilePath gitExePath() const;
|
|
- void setGitExePath(const core::FilePath& gitExePath);
|
|
+ ::core::FilePath gitExePath() const;
|
|
+ void setGitExePath(const ::core::FilePath& gitExePath);
|
|
|
|
- core::FilePath svnExePath() const;
|
|
- void setSvnExePath(const core::FilePath& svnExePath);
|
|
+ ::core::FilePath svnExePath() const;
|
|
+ void setSvnExePath(const ::core::FilePath& svnExePath);
|
|
|
|
- core::FilePath vcsTerminalPath() const;
|
|
- void setVcsTerminalPath(const core::FilePath& terminalPath);
|
|
+ ::core::FilePath vcsTerminalPath() const;
|
|
+ void setVcsTerminalPath(const ::core::FilePath& terminalPath);
|
|
|
|
bool vcsUseGitBash() const;
|
|
void setVcsUseGitBash(bool useGitBash);
|
|
@@ -170,13 +170,13 @@
|
|
private:
|
|
|
|
void onSettingsFileChanged(
|
|
- const core::system::FileChangeEvent& changeEvent);
|
|
+ const ::core::system::FileChangeEvent& changeEvent);
|
|
|
|
- core::FilePath getWorkingDirectoryValue(const std::string& key) const;
|
|
+ ::core::FilePath getWorkingDirectoryValue(const std::string& key) const;
|
|
void setWorkingDirectoryValue(const std::string& key,
|
|
- const core::FilePath& filePath) ;
|
|
+ const ::core::FilePath& filePath) ;
|
|
|
|
- void updatePrefsCache(const core::json::Object& uiPrefs) const;
|
|
+ void updatePrefsCache(const ::core::json::Object& uiPrefs) const;
|
|
|
|
template <typename T>
|
|
T readUiPref(const boost::scoped_ptr<T>& pPref) const
|
|
@@ -188,8 +188,8 @@
|
|
}
|
|
|
|
private:
|
|
- core::FilePath settingsFilePath_;
|
|
- core::Settings settings_;
|
|
+ ::core::FilePath settingsFilePath_;
|
|
+ ::core::Settings settings_;
|
|
|
|
// cached prefs values
|
|
mutable boost::scoped_ptr<bool> pUseSpacesForTab_;
|
|
@@ -201,7 +201,7 @@
|
|
mutable boost::scoped_ptr<std::string> pDefaultLatexProgram_;
|
|
mutable boost::scoped_ptr<bool> pAlwaysEnableRnwConcordance_;
|
|
mutable boost::scoped_ptr<std::string> pSpellingLanguage_;
|
|
- mutable boost::scoped_ptr<core::json::Array> pSpellingCustomDicts_;
|
|
+ mutable boost::scoped_ptr< ::core::json::Array> pSpellingCustomDicts_;
|
|
mutable boost::scoped_ptr<bool> pHandleErrorsInUserCodeOnly_;
|
|
mutable boost::scoped_ptr<int> pShinyViewerType_;
|
|
};
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/worker_safe/session/SessionClientEvent.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/worker_safe/session/SessionClientEvent.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/worker_safe/session/SessionClientEvent.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/worker_safe/session/SessionClientEvent.hpp 2015-03-08 22:23:10.526944019 +0100
|
|
@@ -126,27 +126,27 @@
|
|
public:
|
|
explicit ClientEvent(int type)
|
|
{
|
|
- init(type, core::json::Value());
|
|
+ init(type, ::core::json::Value());
|
|
}
|
|
|
|
- ClientEvent(int type, const core::json::Value& data)
|
|
+ ClientEvent(int type, const ::core::json::Value& data)
|
|
{
|
|
init(type, data);
|
|
}
|
|
|
|
ClientEvent(int type, const char* data)
|
|
{
|
|
- init(type, core::json::Value(std::string(data)));
|
|
+ init(type, ::core::json::Value(std::string(data)));
|
|
}
|
|
|
|
ClientEvent(int type, const std::string& data)
|
|
{
|
|
- init(type, core::json::Value(data));
|
|
+ init(type, ::core::json::Value(data));
|
|
}
|
|
|
|
ClientEvent(int type, bool data)
|
|
{
|
|
- core::json::Object boolObject ;
|
|
+ ::core::json::Object boolObject ;
|
|
boolObject["value"] = data;
|
|
init(type, boolObject);
|
|
}
|
|
@@ -156,17 +156,17 @@
|
|
public:
|
|
int type() const { return type_; }
|
|
std::string typeName() const;
|
|
- const core::json::Value& data() const { return data_; }
|
|
+ const ::core::json::Value& data() const { return data_; }
|
|
const std::string& id() const { return id_; }
|
|
|
|
- void asJsonObject(int id, core::json::Object* pObject) const;
|
|
+ void asJsonObject(int id, ::core::json::Object* pObject) const;
|
|
|
|
private:
|
|
- void init(int type, const core::json::Value& data);
|
|
+ void init(int type, const ::core::json::Value& data);
|
|
|
|
private:
|
|
int type_ ;
|
|
- core::json::Value data_ ;
|
|
+ ::core::json::Value data_ ;
|
|
std::string id_;
|
|
};
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/include/session/worker_safe/session/SessionWorkerContext.hpp rstudio-0.98.1103-fix/src/cpp/session/include/session/worker_safe/session/SessionWorkerContext.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/include/session/worker_safe/session/SessionWorkerContext.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/include/session/worker_safe/session/SessionWorkerContext.hpp 2015-03-08 22:23:10.524944018 +0100
|
|
@@ -27,7 +27,7 @@
|
|
|
|
// register a worker method
|
|
core::Error registerWorkerRpcMethod(const std::string& name,
|
|
- const core::json::JsonRpcFunction& function);
|
|
+ const ::core::json::JsonRpcFunction& function);
|
|
|
|
|
|
// enque client event
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/build/SessionBuild.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionBuild.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/build/SessionBuild.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionBuild.cpp 2015-03-08 22:23:09.968943924 +0100
|
|
@@ -134,7 +134,7 @@
|
|
}
|
|
}
|
|
|
|
-void onFilesChanged(const std::vector<core::system::FileChangeEvent>& events)
|
|
+void onFilesChanged(const std::vector< ::core::system::FileChangeEvent>& events)
|
|
{
|
|
if (!s_forcePackageRebuild)
|
|
{
|
|
@@ -202,7 +202,7 @@
|
|
}
|
|
|
|
// callbacks
|
|
- core::system::ProcessCallbacks cb;
|
|
+ ::core::system::ProcessCallbacks cb;
|
|
cb.onContinue = boost::bind(&Build::onContinue,
|
|
Build::shared_from_this());
|
|
cb.onStdout = boost::bind(&Build::onStandardOutput,
|
|
@@ -219,14 +219,14 @@
|
|
|
|
|
|
void executeBuild(const std::string& type,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
// options
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.terminateChildren = true;
|
|
|
|
FilePath buildTargetPath = projects::projectContext().buildTargetPath();
|
|
- const core::r_util::RProjectConfig& config = projectConfig();
|
|
+ const ::core::r_util::RProjectConfig& config = projectConfig();
|
|
if (config.buildType == r_util::kBuildTypePackage)
|
|
{
|
|
options.workingDir = buildTargetPath.parent();
|
|
@@ -250,8 +250,8 @@
|
|
|
|
void executePackageBuild(const std::string& type,
|
|
const FilePath& packagePath,
|
|
- const core::system::ProcessOptions& options,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessOptions& options,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
// validate that this is a package
|
|
if (!r_util::isPackageDirectory(packagePath))
|
|
@@ -293,7 +293,7 @@
|
|
if (roxygenizeRequired(type))
|
|
{
|
|
// special callback for roxygenize result
|
|
- core::system::ProcessCallbacks roxygenizeCb = cb;
|
|
+ ::core::system::ProcessCallbacks roxygenizeCb = cb;
|
|
roxygenizeCb.onExit = boost::bind(&Build::onRoxygenizeCompleted,
|
|
Build::shared_from_this(),
|
|
_1,
|
|
@@ -393,8 +393,8 @@
|
|
|
|
|
|
void roxygenize(const FilePath& packagePath,
|
|
- core::system::ProcessOptions options,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ ::core::system::ProcessOptions options,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
FilePath rScriptPath;
|
|
Error error = module_context::rScriptPath(&rScriptPath);
|
|
@@ -424,7 +424,7 @@
|
|
{
|
|
if (module_context::haveRcppAttributes())
|
|
{
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = module_context::sourceModuleRFileWithResult(
|
|
"SessionCompileAttributes.R",
|
|
packagePath,
|
|
@@ -460,8 +460,8 @@
|
|
|
|
void buildPackage(const std::string& type,
|
|
const FilePath& packagePath,
|
|
- const core::system::ProcessOptions& options,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessOptions& options,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
|
|
// if this action is going to INSTALL the package then on
|
|
@@ -485,22 +485,22 @@
|
|
initErrorParser(packagePath, parsers);
|
|
|
|
// make a copy of options so we can customize the environment
|
|
- core::system::ProcessOptions pkgOptions(options);
|
|
- core::system::Options childEnv;
|
|
- core::system::environment(&childEnv);
|
|
+ ::core::system::ProcessOptions pkgOptions(options);
|
|
+ ::core::system::Options childEnv;
|
|
+ ::core::system::environment(&childEnv);
|
|
|
|
// allow child process to inherit our R_LIBS
|
|
std::string libPaths = module_context::libPathsString();
|
|
if (!libPaths.empty())
|
|
- core::system::setenv(&childEnv, "R_LIBS", libPaths);
|
|
+ ::core::system::setenv(&childEnv, "R_LIBS", libPaths);
|
|
|
|
// prevent spurious cygwin warnings on windows
|
|
#ifdef _WIN32
|
|
- core::system::setenv(&childEnv, "CYGWIN", "nodosfilewarning");
|
|
+ ::core::system::setenv(&childEnv, "CYGWIN", "nodosfilewarning");
|
|
#endif
|
|
|
|
// set the not cran env var
|
|
- core::system::setenv(&childEnv, "NOT_CRAN", "true");
|
|
+ ::core::system::setenv(&childEnv, "NOT_CRAN", "true");
|
|
|
|
// add r tools to path if necessary
|
|
addRtoolsToPathIfNecessary(&childEnv, &buildToolsWarning_);
|
|
@@ -600,8 +600,8 @@
|
|
|
|
void buildSourcePackage(const FilePath& rBinDir,
|
|
const FilePath& packagePath,
|
|
- const core::system::ProcessOptions& pkgOptions,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessOptions& pkgOptions,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
// compose the build command
|
|
module_context::RCommand rCmd(rBinDir);
|
|
@@ -630,8 +630,8 @@
|
|
|
|
void buildBinaryPackage(const FilePath& rBinDir,
|
|
const FilePath& packagePath,
|
|
- const core::system::ProcessOptions& pkgOptions,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessOptions& pkgOptions,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
// compose the INSTALL --binary
|
|
module_context::RCommand rCmd(rBinDir);
|
|
@@ -660,8 +660,8 @@
|
|
|
|
void checkPackage(const FilePath& rBinDir,
|
|
const FilePath& packagePath,
|
|
- const core::system::ProcessOptions& pkgOptions,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessOptions& pkgOptions,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
// first build then check
|
|
|
|
@@ -695,7 +695,7 @@
|
|
rCheckCmd << FilePath(pkgInfo_.sourcePackageFilename());
|
|
|
|
// special callback for build result
|
|
- core::system::ProcessCallbacks buildCb = cb;
|
|
+ ::core::system::ProcessCallbacks buildCb = cb;
|
|
buildCb.onExit = boost::bind(&Build::onBuildForCheckCompleted,
|
|
Build::shared_from_this(),
|
|
_1,
|
|
@@ -733,8 +733,8 @@
|
|
|
|
bool devtoolsExecute(const std::string& command,
|
|
const FilePath& packagePath,
|
|
- core::system::ProcessOptions pkgOptions,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ ::core::system::ProcessOptions pkgOptions,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
// Find the path to R
|
|
FilePath rProgramPath;
|
|
@@ -768,8 +768,8 @@
|
|
}
|
|
|
|
void devtoolsCheckPackage(const FilePath& packagePath,
|
|
- const core::system::ProcessOptions& pkgOptions,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessOptions& pkgOptions,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
// build the call to check
|
|
std::ostringstream ostr;
|
|
@@ -839,8 +839,8 @@
|
|
}
|
|
|
|
void devtoolsTestPackage(const FilePath& packagePath,
|
|
- const core::system::ProcessOptions& pkgOptions,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessOptions& pkgOptions,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
std::string command = "devtools::test()";
|
|
enqueCommandString(command);
|
|
@@ -848,8 +848,8 @@
|
|
}
|
|
|
|
void testPackage(const FilePath& packagePath,
|
|
- core::system::ProcessOptions pkgOptions,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ ::core::system::ProcessOptions pkgOptions,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
FilePath rScriptPath;
|
|
Error error = module_context::rScriptPath(&rScriptPath);
|
|
@@ -891,8 +891,8 @@
|
|
|
|
void devtoolsBuildPackage(const FilePath& packagePath,
|
|
bool binary,
|
|
- const core::system::ProcessOptions& pkgOptions,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessOptions& pkgOptions,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
// create the call to build
|
|
std::ostringstream ostr;
|
|
@@ -930,8 +930,8 @@
|
|
void onBuildForCheckCompleted(
|
|
int exitStatus,
|
|
const module_context::RCommand& checkCmd,
|
|
- const core::system::ProcessOptions& checkOptions,
|
|
- const core::system::ProcessCallbacks& checkCb)
|
|
+ const ::core::system::ProcessOptions& checkOptions,
|
|
+ const ::core::system::ProcessCallbacks& checkCb)
|
|
{
|
|
if (exitStatus == EXIT_SUCCESS)
|
|
{
|
|
@@ -985,8 +985,8 @@
|
|
|
|
void executeMakefileBuild(const std::string& type,
|
|
const FilePath& targetPath,
|
|
- const core::system::ProcessOptions& options,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessOptions& options,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
// validate that there is a Makefile file
|
|
FilePath makefilePath = targetPath.childPath("Makefile");
|
|
@@ -1031,8 +1031,8 @@
|
|
|
|
void executeCustomBuild(const std::string& type,
|
|
const FilePath& customScriptPath,
|
|
- const core::system::ProcessOptions& options,
|
|
- const core::system::ProcessCallbacks& cb)
|
|
+ const ::core::system::ProcessOptions& options,
|
|
+ const ::core::system::ProcessCallbacks& cb)
|
|
{
|
|
module_context::processSupervisor().runCommand(
|
|
shell_utils::ShellCommand(customScriptPath),
|
|
@@ -1389,7 +1389,7 @@
|
|
|
|
|
|
void writeBuildContext(const BuildContext& buildContext,
|
|
- core::Settings* pSettings)
|
|
+ ::core::Settings* pSettings)
|
|
{
|
|
std::ostringstream ostr;
|
|
json::write(buildContext.outputs, ostr);
|
|
@@ -1402,7 +1402,7 @@
|
|
pSettings->set("build-last-errors-base-dir", buildContext.errorsBaseDir);
|
|
}
|
|
|
|
-void onSuspend(core::Settings* pSettings)
|
|
+void onSuspend(::core::Settings* pSettings)
|
|
{
|
|
if (s_pBuild)
|
|
{
|
|
@@ -1423,7 +1423,7 @@
|
|
}
|
|
}
|
|
|
|
-void onResume(const core::Settings& settings)
|
|
+void onResume(const ::core::Settings& settings)
|
|
{
|
|
std::string buildLastOutputs = settings.get("build-last-outputs");
|
|
if (!buildLastOutputs.empty())
|
|
@@ -1461,7 +1461,7 @@
|
|
{
|
|
#ifdef _WIN32
|
|
if (!s_previousPath.empty())
|
|
- core::system::setenv("PATH", s_previousPath);
|
|
+ ::core::system::setenv("PATH", s_previousPath);
|
|
s_previousPath.clear();
|
|
#endif
|
|
return R_NilValue;
|
|
@@ -1470,11 +1470,11 @@
|
|
SEXP rs_addRToolsToPath()
|
|
{
|
|
#ifdef _WIN32
|
|
- s_previousPath = core::system::getenv("PATH");
|
|
+ s_previousPath = ::core::system::getenv("PATH");
|
|
std::string newPath = s_previousPath;
|
|
std::string warningMsg;
|
|
build::addRtoolsToPathIfNecessary(&newPath, &warningMsg);
|
|
- core::system::setenv("PATH", newPath);
|
|
+ ::core::system::setenv("PATH", newPath);
|
|
|
|
#endif
|
|
return R_NilValue;
|
|
@@ -1501,10 +1501,10 @@
|
|
{
|
|
// on mavericks we just need to invoke clang and the user will be
|
|
// prompted to install the command line tools
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runCommand("clang --version",
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runCommand("clang --version",
|
|
"",
|
|
- core::system::ProcessOptions(),
|
|
+ ::core::system::ProcessOptions(),
|
|
&result);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
@@ -1588,7 +1588,7 @@
|
|
if (!error)
|
|
{
|
|
std::string makevars = "CC=clang\nCXX=clang++\n";
|
|
- error = core::writeStringToFile(makevarsPath, makevars);
|
|
+ error = ::core::writeStringToFile(makevarsPath, makevars);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -1697,7 +1697,7 @@
|
|
|
|
// try to build a simple c file to test whether we have build tools available
|
|
FilePath cppPath = module_context::tempFile("test", "c");
|
|
- Error error = core::writeStringToFile(cppPath, "void test() {}\n");
|
|
+ Error error = ::core::writeStringToFile(cppPath, "void test() {}\n");
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -1718,16 +1718,16 @@
|
|
rCmd << "SHLIB";
|
|
rCmd << cppPath.filename();
|
|
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.workingDir = cppPath.parent();
|
|
- core::system::Options childEnv;
|
|
- core::system::environment(&childEnv);
|
|
+ ::core::system::Options childEnv;
|
|
+ ::core::system::environment(&childEnv);
|
|
std::string warningMsg;
|
|
modules::build::addRtoolsToPathIfNecessary(&childEnv, &warningMsg);
|
|
options.environment = childEnv;
|
|
|
|
- core::system::ProcessResult result;
|
|
- error = core::system::runCommand(rCmd.commandString(), options, &result);
|
|
+ ::core::system::ProcessResult result;
|
|
+ error = ::core::system::runCommand(rCmd.commandString(), options, &result);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/build/SessionBuildEnvironment.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionBuildEnvironment.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/build/SessionBuildEnvironment.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionBuildEnvironment.cpp 2015-03-08 22:23:09.955943922 +0100
|
|
@@ -52,7 +52,7 @@
|
|
|
|
// we have a candidate installPath
|
|
FilePath installPath = lsPath.parent().parent();
|
|
- core::system::ensureLongPath(&installPath);
|
|
+ ::core::system::ensureLongPath(&installPath);
|
|
if (!installPath.childPath("Rtools.txt").exists())
|
|
return noToolsFound;
|
|
|
|
@@ -70,7 +70,7 @@
|
|
|
|
// Rtools is in the path -- now crack the VERSION file
|
|
std::string contents;
|
|
- Error error = core::readStringFromFile(versionPath, &contents);
|
|
+ Error error = ::core::readStringFromFile(versionPath, &contents);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -90,7 +90,7 @@
|
|
std::string formatPath(const FilePath& filePath)
|
|
{
|
|
FilePath displayPath = filePath;
|
|
- core::system::ensureLongPath(&displayPath);
|
|
+ ::core::system::ensureLongPath(&displayPath);
|
|
return boost::algorithm::replace_all_copy(
|
|
displayPath.absolutePath(), "/", "\\");
|
|
}
|
|
@@ -133,7 +133,7 @@
|
|
|
|
// ok so scan for R tools
|
|
std::vector<r_util::RToolsInfo> rTools;
|
|
- error = core::r_util::scanRegistryForRTools(&rTools);
|
|
+ error = ::core::r_util::scanRegistryForRTools(&rTools);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -209,7 +209,7 @@
|
|
return doAddRtoolsToPathIfNecessary(pPath, pWarningMessage);
|
|
}
|
|
|
|
-bool addRtoolsToPathIfNecessary(core::system::Options* pEnvironment,
|
|
+bool addRtoolsToPathIfNecessary(::core::system::Options* pEnvironment,
|
|
std::string* pWarningMessage)
|
|
{
|
|
return doAddRtoolsToPathIfNecessary(pEnvironment, pWarningMessage);
|
|
@@ -231,7 +231,7 @@
|
|
return false;
|
|
}
|
|
|
|
-bool addRtoolsToPathIfNecessary(core::system::Options* pEnvironment,
|
|
+bool addRtoolsToPathIfNecessary(::core::system::Options* pEnvironment,
|
|
std::string* pWarningMessage)
|
|
{
|
|
return false;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/build/SessionBuildEnvironment.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionBuildEnvironment.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/build/SessionBuildEnvironment.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionBuildEnvironment.hpp 2015-03-08 22:23:09.953943922 +0100
|
|
@@ -30,12 +30,12 @@
|
|
namespace modules {
|
|
namespace build {
|
|
|
|
-bool isRtoolsCompatible(const core::r_util::RToolsInfo& rTools);
|
|
+bool isRtoolsCompatible(const ::core::r_util::RToolsInfo& rTools);
|
|
|
|
bool addRtoolsToPathIfNecessary(std::string* pPath,
|
|
std::string* pWarningMessage);
|
|
|
|
-bool addRtoolsToPathIfNecessary(core::system::Options* pEnvironment,
|
|
+bool addRtoolsToPathIfNecessary(::core::system::Options* pEnvironment,
|
|
std::string* pWarningMessage);
|
|
|
|
} // namespace build
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/build/SessionBuildErrors.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionBuildErrors.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/build/SessionBuildErrors.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionBuildErrors.cpp 2015-03-08 22:23:09.951943921 +0100
|
|
@@ -76,7 +76,7 @@
|
|
if (isRSourceFile(child))
|
|
{
|
|
std::vector<std::string> lines;
|
|
- Error error = core::readStringVectorFromFile(child, &lines, false);
|
|
+ Error error = ::core::readStringVectorFromFile(child, &lines, false);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -113,7 +113,7 @@
|
|
|
|
// we need to guess the file based on the contextual information
|
|
// provided in the error message
|
|
- int diagLine = core::safe_convert::stringTo<int>(match[4], -1);
|
|
+ int diagLine = ::core::safe_convert::stringTo<int>(match[4], -1);
|
|
if (diagLine != -1)
|
|
{
|
|
FilePath rSrcFile = scanForRSourceFile(basePath,
|
|
@@ -125,8 +125,8 @@
|
|
// create error and add it
|
|
CompileError err(CompileError::Error,
|
|
rSrcFile,
|
|
- core::safe_convert::stringTo<int>(line, 1),
|
|
- core::safe_convert::stringTo<int>(column, 1),
|
|
+ ::core::safe_convert::stringTo<int>(line, 1),
|
|
+ ::core::safe_convert::stringTo<int>(column, 1),
|
|
message,
|
|
false);
|
|
errors.push_back(err);
|
|
@@ -183,7 +183,7 @@
|
|
else
|
|
filePath = basePath.complete(file);
|
|
FilePath realPath;
|
|
- Error error = core::system::realPath(filePath, &realPath);
|
|
+ Error error = ::core::system::realPath(filePath, &realPath);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
else
|
|
@@ -200,8 +200,8 @@
|
|
// create error and add it
|
|
CompileError err(errType,
|
|
filePath,
|
|
- core::safe_convert::stringTo<int>(line, 1),
|
|
- core::safe_convert::stringTo<int>(column, 1),
|
|
+ ::core::safe_convert::stringTo<int>(line, 1),
|
|
+ ::core::safe_convert::stringTo<int>(column, 1),
|
|
message,
|
|
true);
|
|
errors.push_back(err);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/build/SessionBuildErrors.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionBuildErrors.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/build/SessionBuildErrors.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionBuildErrors.hpp 2015-03-08 22:23:09.943943920 +0100
|
|
@@ -39,7 +39,7 @@
|
|
};
|
|
|
|
CompileError(Type type,
|
|
- const core::FilePath& path,
|
|
+ const ::core::FilePath& path,
|
|
int line,
|
|
int column,
|
|
const std::string& message,
|
|
@@ -50,7 +50,7 @@
|
|
}
|
|
|
|
Type type;
|
|
- core::FilePath path;
|
|
+ ::core::FilePath path;
|
|
int line;
|
|
int column;
|
|
std::string message;
|
|
@@ -91,9 +91,9 @@
|
|
std::vector<CompileErrorParser> parsers_;
|
|
};
|
|
|
|
-CompileErrorParser gccErrorParser(const core::FilePath& basePath);
|
|
+CompileErrorParser gccErrorParser(const ::core::FilePath& basePath);
|
|
|
|
-CompileErrorParser rErrorParser(const core::FilePath& basePath);
|
|
+CompileErrorParser rErrorParser(const ::core::FilePath& basePath);
|
|
|
|
|
|
} // namespace build
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/build/SessionInstallRtools.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionInstallRtools.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/build/SessionInstallRtools.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionInstallRtools.cpp 2015-03-08 22:23:09.958943922 +0100
|
|
@@ -37,7 +37,7 @@
|
|
|
|
namespace {
|
|
|
|
-void onDownloadCompleted(const core::system::ProcessResult& result,
|
|
+void onDownloadCompleted(const ::core::system::ProcessResult& result,
|
|
const std::string& version,
|
|
const FilePath& installerPath)
|
|
{
|
|
@@ -85,7 +85,7 @@
|
|
}
|
|
}
|
|
if (version.empty())
|
|
- return core::pathNotFoundError(ERROR_LOCATION);
|
|
+ return ::core::pathNotFoundError(ERROR_LOCATION);
|
|
|
|
// R binary
|
|
FilePath rProgramPath;
|
|
@@ -119,7 +119,7 @@
|
|
args.push_back(cmd);
|
|
|
|
// create and execute the process
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.redirectStdErrToStdOut = true;
|
|
options.terminateChildren = true;
|
|
module_context::processSupervisor().runProgram(
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/build/SessionSourceCpp.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionSourceCpp.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/build/SessionSourceCpp.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/build/SessionSourceCpp.cpp 2015-03-08 22:23:09.948943921 +0100
|
|
@@ -120,12 +120,12 @@
|
|
showOutput_ = showOutput;
|
|
|
|
// fixup path if necessary
|
|
- std::string path = core::system::getenv("PATH");
|
|
+ std::string path = ::core::system::getenv("PATH");
|
|
std::string newPath = path;
|
|
if (build::addRtoolsToPathIfNecessary(&newPath, &rToolsWarning_))
|
|
{
|
|
previousPath_ = path;
|
|
- core::system::setenv("PATH", newPath);
|
|
+ ::core::system::setenv("PATH", newPath);
|
|
}
|
|
|
|
// capture all output that goes to the console
|
|
@@ -156,7 +156,7 @@
|
|
{
|
|
// restore previous path
|
|
if (!previousPath_.empty())
|
|
- core::system::setenv("PATH", previousPath_);
|
|
+ ::core::system::setenv("PATH", previousPath_);
|
|
|
|
// collect all build output (do this before r tools warning so
|
|
// it's output doesn't end up in consoleErrorBuffer_)
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/environment/EnvironmentUtils.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/environment/EnvironmentUtils.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/environment/EnvironmentUtils.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/environment/EnvironmentUtils.hpp 2015-03-08 22:23:10.108943948 +0100
|
|
@@ -23,7 +23,7 @@
|
|
core::json::Value varToJson(SEXP env, const r::sexp::Variable& var);
|
|
bool isUnevaluatedPromise(SEXP var);
|
|
bool functionDiffersFromSource(SEXP srcRef, const std::string& functionCode);
|
|
-void sourceRefToJson(const SEXP srcref, core::json::Object* pObject);
|
|
+void sourceRefToJson(const SEXP srcref, ::core::json::Object* pObject);
|
|
|
|
} // namespace environment
|
|
} // namespace modules
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/environment/SessionEnvironment.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/environment/SessionEnvironment.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/environment/SessionEnvironment.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/environment/SessionEnvironment.cpp 2015-03-08 22:23:10.097943946 +0100
|
|
@@ -85,7 +85,7 @@
|
|
return srcref && TYPEOF(srcref) != NILSXP;
|
|
}
|
|
|
|
-bool handleRBrowseEnv(const core::FilePath& filePath)
|
|
+bool handleRBrowseEnv(const ::core::FilePath& filePath)
|
|
{
|
|
if (filePath.filename() == "wsbrowser.html")
|
|
{
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/PresentationLog.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/PresentationLog.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/PresentationLog.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/PresentationLog.cpp 2015-03-08 22:23:10.066943941 +0100
|
|
@@ -212,7 +212,7 @@
|
|
*pTargetFile = presDir.childPath(filename);
|
|
if (!pTargetFile->exists())
|
|
{
|
|
- Error error = core::writeStringToFile(*pTargetFile, header + "\n");
|
|
+ Error error = ::core::writeStringToFile(*pTargetFile, header + "\n");
|
|
if (error)
|
|
return error;
|
|
}
|
|
@@ -276,7 +276,7 @@
|
|
std::vector<std::string> fields;
|
|
fields.push_back((type == NavigationEntry) ? "Navigation" : "Input");
|
|
fields.push_back(timestamp());
|
|
- fields.push_back(csvString(core::system::username()));
|
|
+ fields.push_back(csvString(::core::system::username()));
|
|
fields.push_back(csvPresentationPath());
|
|
fields.push_back(safe_convert::numberToString(slideIndex));
|
|
fields.push_back(slideType);
|
|
@@ -287,7 +287,7 @@
|
|
std::string entry = boost::algorithm::join(fields, ",");
|
|
|
|
// append entry
|
|
- error = core::appendToFile(logFilePath, entry + "\n");
|
|
+ error = ::core::appendToFile(logFilePath, entry + "\n");
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -313,14 +313,14 @@
|
|
// generate entry
|
|
std::vector<std::string> fields;
|
|
fields.push_back(timestamp());
|
|
- fields.push_back(csvString(core::system::username()));
|
|
+ fields.push_back(csvString(::core::system::username()));
|
|
fields.push_back(csvPresentationPath());
|
|
fields.push_back(safe_convert::numberToString(currentSlideIndex_));
|
|
fields.push_back(csvString(feedback));
|
|
std::string entry = boost::algorithm::join(fields, ",");
|
|
|
|
// append entry
|
|
- error = core::appendToFile(feedbackFilePath, entry + "\n");
|
|
+ error = ::core::appendToFile(feedbackFilePath, entry + "\n");
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -347,7 +347,7 @@
|
|
// generate entry
|
|
std::vector<std::string> fields;
|
|
fields.push_back(timestamp());
|
|
- fields.push_back(csvString(core::system::username()));
|
|
+ fields.push_back(csvString(::core::system::username()));
|
|
fields.push_back(csvPresentationPath());
|
|
fields.push_back(safe_convert::numberToString(index));
|
|
fields.push_back(safe_convert::numberToString(answer));
|
|
@@ -355,7 +355,7 @@
|
|
std::string entry = boost::algorithm::join(fields, ",");
|
|
|
|
// append entry
|
|
- error = core::appendToFile(quizResponseFilePath, entry + "\n");
|
|
+ error = ::core::appendToFile(quizResponseFilePath, entry + "\n");
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/PresentationLog.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/PresentationLog.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/PresentationLog.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/PresentationLog.hpp 2015-03-08 22:23:10.048943938 +0100
|
|
@@ -45,7 +45,7 @@
|
|
friend Log& log();
|
|
|
|
public:
|
|
- core::Error initialize();
|
|
+ ::core::Error initialize();
|
|
|
|
void onSlideDeckChanged(const SlideDeck& slideDeck);
|
|
void onSlideIndexChanged(int index);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/PresentationState.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/PresentationState.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/PresentationState.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/PresentationState.hpp 2015-03-08 22:23:10.028943934 +0100
|
|
@@ -29,7 +29,7 @@
|
|
namespace state {
|
|
|
|
|
|
-void init(const core::FilePath& filePath,
|
|
+void init(const ::core::FilePath& filePath,
|
|
const std::string& caption = "Presentation",
|
|
bool isTutorial = false);
|
|
void setSlideIndex(int index);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/SessionPresentation.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SessionPresentation.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/SessionPresentation.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SessionPresentation.cpp 2015-03-08 22:23:10.046943937 +0100
|
|
@@ -144,19 +144,19 @@
|
|
// process template
|
|
std::map<std::string,std::string> vars;
|
|
vars["name"] = filePath.stem();
|
|
- core::text::TemplateFilter filter(vars);
|
|
+ ::core::text::TemplateFilter filter(vars);
|
|
|
|
// read file with template filter
|
|
FilePath templatePath = session::options().rResourcesPath().complete(
|
|
"templates/r_presentation.Rpres");
|
|
std::string presContents;
|
|
- error = core::readStringFromFile(templatePath, filter, &presContents);
|
|
+ error = ::core::readStringFromFile(templatePath, filter, &presContents);
|
|
if (error)
|
|
return error;
|
|
|
|
|
|
// write file
|
|
- return core::writeStringToFile(filePath,
|
|
+ return ::core::writeStringToFile(filePath,
|
|
presContents,
|
|
string_utils::LineEndingNative);
|
|
}
|
|
@@ -171,7 +171,7 @@
|
|
|
|
FilePath filePath = module_context::resolveAliasedPath(file);
|
|
if (!filePath.exists())
|
|
- return core::fileNotFoundError(filePath, ERROR_LOCATION);
|
|
+ return ::core::fileNotFoundError(filePath, ERROR_LOCATION);
|
|
|
|
showPresentation(filePath);
|
|
|
|
@@ -326,7 +326,7 @@
|
|
|
|
// read code
|
|
std::string code;
|
|
- error = core::readStringFromFile(filePath,
|
|
+ error = ::core::readStringFromFile(filePath,
|
|
&code,
|
|
string_utils::LineEndingPosix);
|
|
if (error)
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideMediaRenderer.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideMediaRenderer.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideMediaRenderer.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideMediaRenderer.hpp 2015-03-08 22:23:10.040943936 +0100
|
|
@@ -33,7 +33,7 @@
|
|
|
|
void renderMedia(const std::string& type,
|
|
int slideNumber,
|
|
- const core::FilePath& baseDir,
|
|
+ const ::core::FilePath& baseDir,
|
|
const std::string& fileName,
|
|
const std::vector<AtCommand>& atCommands,
|
|
std::ostream& os,
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideNavigationList.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideNavigationList.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideNavigationList.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideNavigationList.hpp 2015-03-08 22:23:10.042943936 +0100
|
|
@@ -37,11 +37,11 @@
|
|
|
|
std::string asCall() const;
|
|
|
|
- core::json::Object asJson() const;
|
|
+ ::core::json::Object asJson() const;
|
|
|
|
private:
|
|
void addSlide(const std::string& title, int indent, int index, int line);
|
|
- core::json::Array slides_;
|
|
+ ::core::json::Array slides_;
|
|
bool allowNavigation_;
|
|
bool allowSlideNavigation_;
|
|
int index_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideParser.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideParser.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideParser.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideParser.cpp 2015-03-08 22:23:10.031943935 +0100
|
|
@@ -406,7 +406,7 @@
|
|
}
|
|
|
|
// loop through the header lines to capture the slides
|
|
- boost::regex dcfFieldRegex(core::text::kDcfFieldRegex);
|
|
+ boost::regex dcfFieldRegex(::core::text::kDcfFieldRegex);
|
|
for (std::size_t i = 0; i<headerLines.size(); i++)
|
|
{
|
|
// line index
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideParser.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideParser.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideParser.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideParser.hpp 2015-03-08 22:23:10.059943939 +0100
|
|
@@ -41,7 +41,7 @@
|
|
const std::string& name() const { return name_; }
|
|
const std::string& params() const { return params_; }
|
|
|
|
- core::json::Object asJson() const;
|
|
+ ::core::json::Object asJson() const;
|
|
|
|
private:
|
|
std::string name_;
|
|
@@ -58,7 +58,7 @@
|
|
int seconds() const { return seconds_; }
|
|
const Command& command() const { return command_; }
|
|
|
|
- core::json::Object asJson() const;
|
|
+ ::core::json::Object asJson() const;
|
|
|
|
private:
|
|
int seconds_;
|
|
@@ -149,8 +149,8 @@
|
|
{
|
|
}
|
|
|
|
- core::Error readSlides(const core::FilePath& filePath);
|
|
- core::Error readSlides(const std::string& slides, const core::
|
|
+ ::core::Error readSlides(const ::core::FilePath& filePath);
|
|
+ ::core::Error readSlides(const std::string& slides, const ::core::
|
|
FilePath& baseDir);
|
|
|
|
std::string title() const;
|
|
@@ -174,10 +174,10 @@
|
|
|
|
const std::vector<Slide>& slides() const { return slides_; }
|
|
|
|
- core::FilePath baseDir() const { return baseDir_; }
|
|
+ ::core::FilePath baseDir() const { return baseDir_; }
|
|
|
|
private:
|
|
- core::FilePath baseDir_;
|
|
+ ::core::FilePath baseDir_;
|
|
std::string preamble_;
|
|
std::vector<Slide> slides_;
|
|
};
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideRenderer.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideRenderer.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideRenderer.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideRenderer.cpp 2015-03-08 22:23:10.021943933 +0100
|
|
@@ -206,7 +206,7 @@
|
|
std::string* pSpecifiedWidth,
|
|
std::string* pOtherWidth)
|
|
{
|
|
- int w = core::safe_convert::stringTo<int>(width, 50);
|
|
+ int w = ::core::safe_convert::stringTo<int>(width, 50);
|
|
*pSpecifiedWidth = safe_convert::numberToString(w - 2) + "%";
|
|
*pOtherWidth = safe_convert::numberToString(100 - w - 2) + "%";
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideRequestHandler.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideRequestHandler.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideRequestHandler.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideRequestHandler.cpp 2015-03-08 22:23:10.055943939 +0100
|
|
@@ -334,13 +334,13 @@
|
|
args.push_back(cmd);
|
|
|
|
// options
|
|
- core::system::ProcessOptions options;
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessResult result;
|
|
options.workingDir = rmdPath.parent();
|
|
|
|
// run knit
|
|
- error = core::system::runProgram(
|
|
- core::string_utils::utf8ToSystem(rProgramPath.absolutePath()),
|
|
+ error = ::core::system::runProgram(
|
|
+ ::core::string_utils::utf8ToSystem(rProgramPath.absolutePath()),
|
|
args,
|
|
"",
|
|
options,
|
|
@@ -356,7 +356,7 @@
|
|
// play the error text back into
|
|
if (!mdPath.exists())
|
|
{
|
|
- Error error = core::writeStringToFile(mdPath,
|
|
+ Error error = ::core::writeStringToFile(mdPath,
|
|
mdPath.stem() +
|
|
"\n=======================\n");
|
|
if (error)
|
|
@@ -370,7 +370,7 @@
|
|
<< extractKnitrError(result.stdErr) << std::endl
|
|
<< "```" << std::endl;
|
|
|
|
- Error error = core::appendToFile(mdPath, ostr.str());
|
|
+ Error error = ::core::appendToFile(mdPath, ostr.str());
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
@@ -434,16 +434,16 @@
|
|
using namespace boost::algorithm;
|
|
std::size_t colonLoc = href.find_first_of(':');
|
|
std::string path = trim_copy(href.substr(colonLoc+1));
|
|
- path = core::http::util::urlDecode(path);
|
|
+ path = ::core::http::util::urlDecode(path);
|
|
if (boost::algorithm::starts_with(path, "~/"))
|
|
path = module_context::resolveAliasedPath(path).absolutePath();
|
|
FilePath filePath = presentation::state::directory()
|
|
.parent().complete(path);
|
|
|
|
- Error error = core::system::realPath(filePath, &filePath);
|
|
+ Error error = ::core::system::realPath(filePath, &filePath);
|
|
if (error)
|
|
{
|
|
- if (!core::isPathNotFoundError(error))
|
|
+ if (!::core::isPathNotFoundError(error))
|
|
LOG_ERROR(error);
|
|
return match[0];
|
|
}
|
|
@@ -486,7 +486,7 @@
|
|
std::string userSlidesCss;
|
|
if (cssPath.exists())
|
|
{
|
|
- Error error = core::readStringFromFile(cssPath, &userSlidesCss);
|
|
+ Error error = ::core::readStringFromFile(cssPath, &userSlidesCss);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -920,7 +920,7 @@
|
|
|
|
void handlePresentationHelpMarkdownRequest(const FilePath& filePath,
|
|
const std::string& jsCallbacks,
|
|
- core::http::Response* pResponse)
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
// indirection on the actual md file (related to processing R markdown)
|
|
FilePath mdFilePath;
|
|
@@ -1001,7 +1001,7 @@
|
|
s_cache.clear();
|
|
|
|
// read the file in from disk
|
|
- Error error = core::readStringFromFile(targetFile, &(s_cache.contents));
|
|
+ Error error = ::core::readStringFromFile(targetFile, &(s_cache.contents));
|
|
if (error)
|
|
{
|
|
pResponse->setError(error);
|
|
@@ -1165,9 +1165,9 @@
|
|
}
|
|
}
|
|
|
|
-void handlePresentationHelpRequest(const core::http::Request& request,
|
|
+void handlePresentationHelpRequest(const ::core::http::Request& request,
|
|
const std::string& jsCallbacks,
|
|
- core::http::Response* pResponse)
|
|
+ ::core::http::Response* pResponse)
|
|
{
|
|
// we save the most recent /help/presentation/&file=parameter so we
|
|
// can resolve relative file references against it. we do this
|
|
@@ -1229,7 +1229,7 @@
|
|
}
|
|
}
|
|
|
|
-bool savePresentationAsStandalone(const core::FilePath& filePath,
|
|
+bool savePresentationAsStandalone(const ::core::FilePath& filePath,
|
|
ErrorResponse* pErrorResponse)
|
|
{
|
|
return createStandalonePresentation(filePath,
|
|
@@ -1237,7 +1237,7 @@
|
|
pErrorResponse);
|
|
}
|
|
|
|
-bool savePresentationAsRpubsSource(const core::FilePath& filePath,
|
|
+bool savePresentationAsRpubsSource(const ::core::FilePath& filePath,
|
|
ErrorResponse* pErrorResponse)
|
|
{
|
|
return createStandalonePresentation(filePath,
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideRequestHandler.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideRequestHandler.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/presentation/SlideRequestHandler.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/presentation/SlideRequestHandler.hpp 2015-03-08 22:23:10.023943933 +0100
|
|
@@ -34,30 +34,30 @@
|
|
struct ErrorResponse
|
|
{
|
|
explicit ErrorResponse(const std::string& message = std::string(),
|
|
- core::http::status::Code statusCode
|
|
- = core::http::status::InternalServerError)
|
|
+ ::core::http::status::Code statusCode
|
|
+ = ::core::http::status::InternalServerError)
|
|
: message(message), statusCode(statusCode)
|
|
{
|
|
}
|
|
|
|
std::string message;
|
|
- core::http::status::Code statusCode;
|
|
+ ::core::http::status::Code statusCode;
|
|
};
|
|
|
|
bool clearKnitrCache(ErrorResponse* pErrorResponse);
|
|
|
|
-void handlePresentationPaneRequest(const core::http::Request& request,
|
|
- core::http::Response* pResponse);
|
|
+void handlePresentationPaneRequest(const ::core::http::Request& request,
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
|
|
-void handlePresentationHelpRequest(const core::http::Request& request,
|
|
+void handlePresentationHelpRequest(const ::core::http::Request& request,
|
|
const std::string& jsCallbacks,
|
|
- core::http::Response* pResponse);
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
-bool savePresentationAsStandalone(const core::FilePath& filePath,
|
|
+bool savePresentationAsStandalone(const ::core::FilePath& filePath,
|
|
ErrorResponse* pErrorResponse);
|
|
|
|
-bool savePresentationAsRpubsSource(const core::FilePath& filePath,
|
|
+bool savePresentationAsRpubsSource(const ::core::FilePath& filePath,
|
|
ErrorResponse* pErrorResponse);
|
|
|
|
} // namespace presentation
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/rmarkdown/RMarkdownPresentation.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/rmarkdown/RMarkdownPresentation.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/rmarkdown/RMarkdownPresentation.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/rmarkdown/RMarkdownPresentation.cpp 2015-03-08 22:23:10.279943977 +0100
|
|
@@ -59,7 +59,7 @@
|
|
|
|
|
|
void ammendResults(const std::string& formatName,
|
|
- core::FilePath& targetFile,
|
|
+ ::core::FilePath& targetFile,
|
|
int sourceLine,
|
|
json::Object* pResultJson)
|
|
{
|
|
@@ -76,7 +76,7 @@
|
|
|
|
// read the input file
|
|
std::vector<std::string> lines;
|
|
- Error error = core::readStringVectorFromFile(targetFile, &lines, false);
|
|
+ Error error = ::core::readStringVectorFromFile(targetFile, &lines, false);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/rmarkdown/RMarkdownPresentation.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/rmarkdown/RMarkdownPresentation.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/rmarkdown/RMarkdownPresentation.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/rmarkdown/RMarkdownPresentation.hpp 2015-03-08 22:23:10.290943979 +0100
|
|
@@ -30,9 +30,9 @@
|
|
namespace presentation {
|
|
|
|
void ammendResults(const std::string& formatName,
|
|
- core::FilePath& targetFile,
|
|
+ ::core::FilePath& targetFile,
|
|
int sourceLine,
|
|
- core::json::Object* pResultsJson);
|
|
+ ::core::json::Object* pResultsJson);
|
|
|
|
|
|
} // namespace presentation
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/rmarkdown/SessionRMarkdown.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/rmarkdown/SessionRMarkdown.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/rmarkdown/SessionRMarkdown.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/rmarkdown/SessionRMarkdown.cpp 2015-03-08 22:23:10.287943978 +0100
|
|
@@ -803,7 +803,7 @@
|
|
|
|
// create temp file
|
|
FilePath rmdTempFile = module_context::tempFile("Preview-", "Rmd");
|
|
- error = core::writeStringToFile(rmdTempFile, source);
|
|
+ error = ::core::writeStringToFile(rmdTempFile, source);
|
|
if (error)
|
|
return error;
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionAskPass.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionAskPass.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionAskPass.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionAskPass.cpp 2015-03-08 22:23:10.347943988 +0100
|
|
@@ -103,7 +103,7 @@
|
|
ClientEvent askPassEvent(client_events::kAskPass, payload);
|
|
|
|
// wait for method
|
|
- core::json::JsonRpcRequest request;
|
|
+ ::core::json::JsonRpcRequest request;
|
|
if (!s_waitForAskPass(&request, askPassEvent))
|
|
{
|
|
return systemError(boost::system::errc::operation_canceled,
|
|
@@ -133,7 +133,7 @@
|
|
if (options().programMode() == kSessionProgramModeServer)
|
|
{
|
|
// In server mode, passphrases are encrypted
|
|
- error = core::system::crypto::rsaPrivateDecrypt(
|
|
+ error = ::core::system::crypto::rsaPrivateDecrypt(
|
|
pInput->password,
|
|
&pInput->password);
|
|
if (error)
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionAuthoring.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionAuthoring.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionAuthoring.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionAuthoring.cpp 2015-03-08 22:23:10.352943989 +0100
|
|
@@ -61,7 +61,7 @@
|
|
"_rstudio_compile_pdf");
|
|
}
|
|
|
|
-Error getTexCapabilities(const core::json::JsonRpcRequest& request,
|
|
+Error getTexCapabilities(const ::core::json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
pResponse->setResult(authoring::texCapabilitiesAsJson());
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionBreakpoints.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionBreakpoints.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionBreakpoints.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionBreakpoints.cpp 2015-03-08 22:23:10.223943967 +0100
|
|
@@ -512,14 +512,14 @@
|
|
r::session::clientState().getProjectPersistent("debug-breakpoints",
|
|
"debugBreakpointsState");
|
|
if (!breakpointStateValue.is_null() &&
|
|
- json::isType<core::json::Object>(breakpointStateValue))
|
|
+ json::isType< ::core::json::Object>(breakpointStateValue))
|
|
{
|
|
json::Object breakpointState = breakpointStateValue.get_obj();
|
|
json::Array breakpointArray = breakpointState["breakpoints"].get_array();
|
|
s_breakpoints.clear();
|
|
BOOST_FOREACH(json::Value bp, breakpointArray)
|
|
{
|
|
- if (json::isType<core::json::Object>(bp))
|
|
+ if (json::isType< ::core::json::Object>(bp))
|
|
{
|
|
s_breakpoints.push_back(breakpointFromJson(bp.get_obj()));
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionCodeSearch.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionCodeSearch.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionCodeSearch.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionCodeSearch.cpp 2015-03-08 22:23:09.999943929 +0100
|
|
@@ -111,7 +111,7 @@
|
|
void enqueFiles(ForwardIterator begin, ForwardIterator end)
|
|
{
|
|
// add all source files to the indexing queue
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
for ( ; begin != end; ++begin)
|
|
{
|
|
if (isSourceFile(*begin))
|
|
@@ -136,7 +136,7 @@
|
|
}
|
|
}
|
|
|
|
- void enqueFileChange(const core::system::FileChangeEvent& event)
|
|
+ void enqueFileChange(const ::core::system::FileChangeEvent& event)
|
|
{
|
|
// screen out files which aren't source files
|
|
if (!isSourceFile(event.fileInfo()))
|
|
@@ -284,7 +284,7 @@
|
|
void clear()
|
|
{
|
|
indexing_ = false;
|
|
- indexingQueue_ = std::queue<core::system::FileChangeEvent>();
|
|
+ indexingQueue_ = std::queue< ::core::system::FileChangeEvent>();
|
|
entries_.clear();
|
|
}
|
|
|
|
@@ -299,20 +299,20 @@
|
|
}
|
|
|
|
Entry(const FileInfo& fileInfo,
|
|
- boost::shared_ptr<core::r_util::RSourceIndex> pIndex)
|
|
+ boost::shared_ptr< ::core::r_util::RSourceIndex> pIndex)
|
|
: fileInfo(fileInfo), pIndex(pIndex)
|
|
{
|
|
}
|
|
|
|
FileInfo fileInfo;
|
|
|
|
- boost::shared_ptr<core::r_util::RSourceIndex> pIndex;
|
|
+ boost::shared_ptr< ::core::r_util::RSourceIndex> pIndex;
|
|
|
|
bool hasIndex() const { return pIndex.get() != NULL; }
|
|
|
|
bool operator < (const Entry& other) const
|
|
{
|
|
- return core::fileInfoPathLessThan(fileInfo, other.fileInfo);
|
|
+ return ::core::fileInfoPathLessThan(fileInfo, other.fileInfo);
|
|
}
|
|
};
|
|
|
|
@@ -320,7 +320,7 @@
|
|
|
|
bool dequeAndIndex()
|
|
{
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
|
|
if (!indexingQueue_.empty())
|
|
{
|
|
@@ -373,7 +373,7 @@
|
|
{
|
|
// log if not path not found error (this can happen if the
|
|
// file was removed after entering the indexing queue)
|
|
- if (!core::isPathNotFoundError(error))
|
|
+ if (!::core::isPathNotFoundError(error))
|
|
{
|
|
error.addProperty("src-file", filePath.absolutePath());
|
|
LOG_ERROR(error);
|
|
@@ -481,7 +481,7 @@
|
|
|
|
// indexing queue
|
|
bool indexing_;
|
|
- std::queue<core::system::FileChangeEvent> indexingQueue_;
|
|
+ std::queue< ::core::system::FileChangeEvent> indexingQueue_;
|
|
};
|
|
|
|
// global source file index
|
|
@@ -1402,12 +1402,12 @@
|
|
return Success();
|
|
}
|
|
|
|
-void onFileMonitorEnabled(const tree<core::FileInfo>& files)
|
|
+void onFileMonitorEnabled(const tree< ::core::FileInfo>& files)
|
|
{
|
|
s_projectIndex.enqueFiles(files.begin_leaf(), files.end_leaf());
|
|
}
|
|
|
|
-void onFilesChanged(const std::vector<core::system::FileChangeEvent>& events)
|
|
+void onFilesChanged(const std::vector< ::core::system::FileChangeEvent>& events)
|
|
{
|
|
std::for_each(
|
|
events.begin(),
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionConsole.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionConsole.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionConsole.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionConsole.cpp 2015-03-08 22:23:10.010943931 +0100
|
|
@@ -84,11 +84,11 @@
|
|
{
|
|
// only capture stderr if it isn't connected to a terminal
|
|
boost::function<void(const std::string&)> stderrHandler;
|
|
- if (!core::system::stderrIsTerminal())
|
|
+ if (!::core::system::stderrIsTerminal())
|
|
stderrHandler = writeStandardError;
|
|
|
|
// initialize
|
|
- return core::system::captureStandardStreams(writeStandardOutput,
|
|
+ return ::core::system::captureStandardStreams(writeStandardOutput,
|
|
stderrHandler);
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionCrypto.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionCrypto.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionCrypto.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionCrypto.cpp 2015-03-08 22:23:10.157943956 +0100
|
|
@@ -52,7 +52,7 @@
|
|
{
|
|
std::string exponent;
|
|
std::string modulo;
|
|
- core::system::crypto::rsaPublicKey(&exponent, &modulo);
|
|
+ ::core::system::crypto::rsaPublicKey(&exponent, &modulo);
|
|
|
|
json::Object result;
|
|
result["exponent"] = exponent;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionDependencies.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionDependencies.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionDependencies.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionDependencies.cpp 2015-03-08 22:23:10.013943932 +0100
|
|
@@ -288,7 +288,7 @@
|
|
return error;
|
|
|
|
// options
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.terminateChildren = true;
|
|
options.redirectStdErrToStdOut = true;
|
|
|
|
@@ -340,11 +340,11 @@
|
|
else
|
|
{
|
|
args.push_back("--vanilla");
|
|
- core::system::Options childEnv;
|
|
- core::system::environment(&childEnv);
|
|
+ ::core::system::Options childEnv;
|
|
+ ::core::system::environment(&childEnv);
|
|
std::string libPaths = module_context::libPathsString();
|
|
if (!libPaths.empty())
|
|
- core::system::setenv(&childEnv, "R_LIBS", libPaths);
|
|
+ ::core::system::setenv(&childEnv, "R_LIBS", libPaths);
|
|
options.environment = childEnv;
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionFiles.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFiles.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionFiles.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFiles.cpp 2015-03-08 22:23:10.303943981 +0100
|
|
@@ -197,7 +197,7 @@
|
|
FilePath targetPath = module_context::resolveAliasedPath(path) ;
|
|
|
|
// if this includes a request for monitoring
|
|
- core::json::Array jsonFiles;
|
|
+ ::core::json::Array jsonFiles;
|
|
if (monitor)
|
|
{
|
|
// always stop existing if we have one
|
|
@@ -230,7 +230,7 @@
|
|
|
|
|
|
// IN: String path
|
|
-core::Error createFolder(const core::json::JsonRpcRequest& request,
|
|
+core::Error createFolder(const ::core::json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
std::string path;
|
|
@@ -259,7 +259,7 @@
|
|
{
|
|
if (session::options().programMode() == kSessionProgramModeDesktop)
|
|
{
|
|
- Error error = core::system::recycle_bin::sendTo(filePath);
|
|
+ Error error = ::core::system::recycle_bin::sendTo(filePath);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -277,7 +277,7 @@
|
|
}
|
|
|
|
// IN: Array<String> paths
|
|
-core::Error deleteFiles(const core::json::JsonRpcRequest& request,
|
|
+core::Error deleteFiles(const ::core::json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
json::Array files;
|
|
@@ -335,7 +335,7 @@
|
|
}
|
|
|
|
// IN: String sourcePath, String targetPath
|
|
-Error copyFile(const core::json::JsonRpcRequest& request,
|
|
+Error copyFile(const ::core::json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
// read params
|
|
@@ -397,7 +397,7 @@
|
|
|
|
|
|
// IN: Array<String> paths, String targetPath
|
|
-Error moveFiles(const core::json::JsonRpcRequest& request,
|
|
+Error moveFiles(const ::core::json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
json::Array files;
|
|
@@ -434,7 +434,7 @@
|
|
}
|
|
|
|
// IN: String path, String targetPath
|
|
-core::Error renameFile(const core::json::JsonRpcRequest& request,
|
|
+core::Error renameFile(const ::core::json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
// read params
|
|
@@ -511,7 +511,7 @@
|
|
const char * const kUploadedTempFile = "uploadedTempFile";
|
|
const char * const kUploadTargetDirectory = "targetDirectory";
|
|
|
|
-Error completeUpload(const core::json::JsonRpcRequest& request,
|
|
+Error completeUpload(const ::core::json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
// read params
|
|
@@ -678,7 +678,7 @@
|
|
isZip ? "zip" : "bin");
|
|
|
|
// attempt to write the temp file
|
|
- Error saveError = core::writeStringToFile(tempFilePath, file.contents);
|
|
+ Error saveError = ::core::writeStringToFile(tempFilePath, file.contents);
|
|
if (saveError)
|
|
{
|
|
LOG_ERROR(saveError);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionFiles.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFiles.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionFiles.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFiles.hpp 2015-03-08 22:23:10.015943932 +0100
|
|
@@ -25,7 +25,7 @@
|
|
namespace modules {
|
|
namespace files {
|
|
|
|
-bool isMonitoringDirectory(const core::FilePath& directory);
|
|
+bool isMonitoringDirectory(const ::core::FilePath& directory);
|
|
|
|
core::Error initialize();
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionFilesListingMonitor.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFilesListingMonitor.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionFilesListingMonitor.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFilesListingMonitor.cpp 2015-03-08 22:23:10.128943951 +0100
|
|
@@ -57,17 +57,17 @@
|
|
std::transform(files.begin(),
|
|
files.end(),
|
|
std::back_inserter(prevFiles),
|
|
- core::toFileInfo);
|
|
+ ::core::toFileInfo);
|
|
|
|
// kickoff new monitor
|
|
- core::system::file_monitor::Callbacks cb;
|
|
+ ::core::system::file_monitor::Callbacks cb;
|
|
cb.onRegistered = boost::bind(&FilesListingMonitor::onRegistered,
|
|
this, _1, filePath, prevFiles, _2);
|
|
- cb.onRegistrationError = boost::bind(core::log::logError, _1, ERROR_LOCATION);
|
|
+ cb.onRegistrationError = boost::bind(::core::log::logError, _1, ERROR_LOCATION);
|
|
cb.onFilesChanged = boost::bind(module_context::enqueFileChangedEvents, filePath, _1);
|
|
- cb.onMonitoringError = boost::bind(core::log::logError, _1, ERROR_LOCATION);
|
|
+ cb.onMonitoringError = boost::bind(::core::log::logError, _1, ERROR_LOCATION);
|
|
cb.onUnregistered = boost::bind(&FilesListingMonitor::onUnregistered, this, _1);
|
|
- core::system::file_monitor::registerMonitor(filePath,
|
|
+ ::core::system::file_monitor::registerMonitor(filePath,
|
|
false,
|
|
module_context::fileListingFilter,
|
|
cb);
|
|
@@ -81,8 +81,8 @@
|
|
currentPath_ = FilePath();
|
|
if (!currentHandle_.empty())
|
|
{
|
|
- core::system::file_monitor::unregisterMonitor(currentHandle_);
|
|
- currentHandle_ = core::system::file_monitor::Handle();
|
|
+ ::core::system::file_monitor::unregisterMonitor(currentHandle_);
|
|
+ currentHandle_ = ::core::system::file_monitor::Handle();
|
|
}
|
|
}
|
|
|
|
@@ -105,11 +105,11 @@
|
|
// - The above two behaviors intersect to cause a pair of add/remove events
|
|
// for symliniks within onRegistered (because the initial snapshot
|
|
// was taken with FilePath::children and the file monitor enumeration
|
|
-// is taken using core::scanFiles). When propagated to the client this
|
|
+// is taken using ::core::scanFiles). When propagated to the client this
|
|
// results in symlinked directories appearing as documents and not
|
|
// being traversable in the files pane
|
|
//
|
|
-// - We could fix this by changing the behavior of core::scanFiles and/or
|
|
+// - We could fix this by changing the behavior of ::core::scanFiles and/or
|
|
// another layer in the file listing / monitoring code however we
|
|
// are making the fix late in the cycle and therefore want to treat
|
|
// only the symptom (it's not clear that this isn't the best fix anyway,
|
|
@@ -124,10 +124,10 @@
|
|
|
|
} // anonymous namespace
|
|
|
|
-void FilesListingMonitor::onRegistered(core::system::file_monitor::Handle handle,
|
|
+void FilesListingMonitor::onRegistered(::core::system::file_monitor::Handle handle,
|
|
const FilePath& filePath,
|
|
const std::vector<FileInfo>& prevFiles,
|
|
- const tree<core::FileInfo>& files)
|
|
+ const tree< ::core::FileInfo>& files)
|
|
{
|
|
// set path and current handle
|
|
currentPath_ = filePath;
|
|
@@ -142,8 +142,8 @@
|
|
|
|
// compare the previously returned listing with the initial scan to see if any
|
|
// file changes occurred between listings
|
|
- std::vector<core::system::FileChangeEvent> events;
|
|
- core::system::collectFileChangeEvents(prevFiles.begin(),
|
|
+ std::vector< ::core::system::FileChangeEvent> events;
|
|
+ ::core::system::collectFileChangeEvents(prevFiles.begin(),
|
|
prevFiles.end(),
|
|
currFiles.begin(),
|
|
currFiles.end(),
|
|
@@ -155,7 +155,7 @@
|
|
module_context::enqueFileChangedEvents(filePath, events);
|
|
}
|
|
|
|
-void FilesListingMonitor::onUnregistered(core::system::file_monitor::Handle handle)
|
|
+void FilesListingMonitor::onUnregistered(::core::system::file_monitor::Handle handle)
|
|
{
|
|
// typically we clear our internal state explicitly when a new registration
|
|
// comes in. however, it is possible that our monitor could be unregistered
|
|
@@ -164,7 +164,7 @@
|
|
if (currentHandle_ == handle)
|
|
{
|
|
currentPath_ = FilePath();
|
|
- currentHandle_ = core::system::file_monitor::Handle();
|
|
+ currentHandle_ = ::core::system::file_monitor::Handle();
|
|
}
|
|
}
|
|
|
|
@@ -174,7 +174,7 @@
|
|
{
|
|
// enumerate the files
|
|
pFiles->clear();
|
|
- core::Error error = rootPath.children(pFiles) ;
|
|
+ ::core::Error error = rootPath.children(pFiles) ;
|
|
if (error)
|
|
return error;
|
|
|
|
@@ -183,16 +183,16 @@
|
|
source_control::fileDecorationContext(rootPath);
|
|
|
|
// sort the files by name
|
|
- std::sort(pFiles->begin(), pFiles->end(), core::compareAbsolutePathNoCase);
|
|
+ std::sort(pFiles->begin(), pFiles->end(), ::core::compareAbsolutePathNoCase);
|
|
|
|
// produce json listing
|
|
- BOOST_FOREACH( core::FilePath& filePath, *pFiles)
|
|
+ BOOST_FOREACH( ::core::FilePath& filePath, *pFiles)
|
|
{
|
|
// files which may have been deleted after the listing or which
|
|
// are not end-user visible
|
|
- if (filePath.exists() && module_context::fileListingFilter(core::FileInfo(filePath)))
|
|
+ if (filePath.exists() && module_context::fileListingFilter(::core::FileInfo(filePath)))
|
|
{
|
|
- core::json::Object fileObject = module_context::createFileSystemItem(filePath);
|
|
+ ::core::json::Object fileObject = module_context::createFileSystemItem(filePath);
|
|
pCtx->decorateFile(filePath, &fileObject);
|
|
pJsonFiles->push_back(fileObject) ;
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionFilesListingMonitor.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFilesListingMonitor.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionFilesListingMonitor.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFilesListingMonitor.hpp 2015-03-08 22:23:10.349943989 +0100
|
|
@@ -48,39 +48,39 @@
|
|
{
|
|
public:
|
|
// kickoff monitoring
|
|
- core::Error start(const core::FilePath& filePath, core::json::Array* pJsonFiles);
|
|
+ ::core::Error start(const ::core::FilePath& filePath, ::core::json::Array* pJsonFiles);
|
|
|
|
void stop();
|
|
|
|
// what path are we currently monitoring?
|
|
- const core::FilePath& currentMonitoredPath() const;
|
|
+ const ::core::FilePath& currentMonitoredPath() const;
|
|
|
|
// convenience method which is also called by listFiles for requests that
|
|
// don't specify monitoring (e.g. file dialog listing)
|
|
- static core::Error listFiles(const core::FilePath& rootPath,
|
|
- core::json::Array* pJsonFiles)
|
|
+ static ::core::Error listFiles(const ::core::FilePath& rootPath,
|
|
+ ::core::json::Array* pJsonFiles)
|
|
{
|
|
- std::vector<core::FilePath> files;
|
|
+ std::vector< ::core::FilePath> files;
|
|
return listFiles(rootPath, &files, pJsonFiles);
|
|
}
|
|
|
|
private:
|
|
// stateful handlers for registration and unregistration
|
|
- void onRegistered(core::system::file_monitor::Handle handle,
|
|
- const core::FilePath& filePath,
|
|
- const std::vector<core::FileInfo>& prevFiles,
|
|
- const tree<core::FileInfo>& files);
|
|
+ void onRegistered(::core::system::file_monitor::Handle handle,
|
|
+ const ::core::FilePath& filePath,
|
|
+ const std::vector< ::core::FileInfo>& prevFiles,
|
|
+ const tree< ::core::FileInfo>& files);
|
|
|
|
- void onUnregistered(core::system::file_monitor::Handle handle);
|
|
+ void onUnregistered(::core::system::file_monitor::Handle handle);
|
|
|
|
// helpers
|
|
- static core::Error listFiles(const core::FilePath& rootPath,
|
|
- std::vector<core::FilePath>* pFiles,
|
|
- core::json::Array* pJsonFiles);
|
|
+ static ::core::Error listFiles(const ::core::FilePath& rootPath,
|
|
+ std::vector< ::core::FilePath>* pFiles,
|
|
+ ::core::json::Array* pJsonFiles);
|
|
|
|
private:
|
|
- core::FilePath currentPath_;
|
|
- core::system::file_monitor::Handle currentHandle_;
|
|
+ ::core::FilePath currentPath_;
|
|
+ ::core::system::file_monitor::Handle currentHandle_;
|
|
};
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionFilesQuotas.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFilesQuotas.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionFilesQuotas.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFilesQuotas.cpp 2015-03-08 22:23:10.139943953 +0100
|
|
@@ -162,9 +162,9 @@
|
|
try
|
|
{
|
|
// run the command
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = runCommand("xfs_quota -c 'quota -N'",
|
|
- core::system::ProcessOptions(),
|
|
+ ::core::system::ProcessOptions(),
|
|
&result);
|
|
if (error)
|
|
{
|
|
@@ -222,7 +222,7 @@
|
|
{
|
|
// block all signals for launch of background thread (will cause it
|
|
// to never receive signals)
|
|
- core::system::SignalBlocker signalBlocker;
|
|
+ ::core::system::SignalBlocker signalBlocker;
|
|
Error error = signalBlocker.blockAll();
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionFind.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFind.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionFind.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionFind.cpp 2015-03-08 22:23:10.261943974 +0100
|
|
@@ -207,7 +207,7 @@
|
|
const FilePath& tempFile)
|
|
: firstDecodeError_(true), encoding_(encoding), tempFile_(tempFile)
|
|
{
|
|
- handle_ = core::system::generateUuid(false);
|
|
+ handle_ = ::core::system::generateUuid(false);
|
|
}
|
|
|
|
public:
|
|
@@ -216,9 +216,9 @@
|
|
return handle_;
|
|
}
|
|
|
|
- core::system::ProcessCallbacks createProcessCallbacks()
|
|
+ ::core::system::ProcessCallbacks createProcessCallbacks()
|
|
{
|
|
- core::system::ProcessCallbacks callbacks;
|
|
+ ::core::system::ProcessCallbacks callbacks;
|
|
callbacks.onContinue = boost::bind(&GrepOperation::onContinue,
|
|
shared_from_this(),
|
|
_1);
|
|
@@ -235,7 +235,7 @@
|
|
}
|
|
|
|
private:
|
|
- bool onContinue(const core::system::ProcessOperations& ops) const
|
|
+ bool onContinue(const ::core::system::ProcessOperations& ops) const
|
|
{
|
|
return findResults().isRunning() && findResults().handle() == handle();
|
|
}
|
|
@@ -304,7 +304,7 @@
|
|
*pContent = decodedLine;
|
|
}
|
|
|
|
- void onStdout(const core::system::ProcessOperations& ops, const std::string& data)
|
|
+ void onStdout(const ::core::system::ProcessOperations& ops, const std::string& data)
|
|
{
|
|
json::Array files;
|
|
json::Array lineNums;
|
|
@@ -390,7 +390,7 @@
|
|
findResults().onFindEnd(handle());
|
|
}
|
|
|
|
- void onStderr(const core::system::ProcessOperations& ops, const std::string& data)
|
|
+ void onStderr(const ::core::system::ProcessOperations& ops, const std::string& data)
|
|
{
|
|
LOG_ERROR_MESSAGE("grep: " + data);
|
|
}
|
|
@@ -430,15 +430,15 @@
|
|
if (error)
|
|
return error;
|
|
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
|
|
- core::system::Options childEnv;
|
|
- core::system::environment(&childEnv);
|
|
- core::system::setenv(&childEnv, "GREP_COLOR", "01");
|
|
- core::system::setenv(&childEnv, "GREP_COLORS", "ne:fn=:ln=:se=:mt=01");
|
|
+ ::core::system::Options childEnv;
|
|
+ ::core::system::environment(&childEnv);
|
|
+ ::core::system::setenv(&childEnv, "GREP_COLOR", "01");
|
|
+ ::core::system::setenv(&childEnv, "GREP_COLORS", "ne:fn=:ln=:se=:mt=01");
|
|
#ifdef _WIN32
|
|
FilePath gnuGrepPath = session::options().gnugrepPath();
|
|
- core::system::addToPath(
|
|
+ ::core::system::addToPath(
|
|
&childEnv,
|
|
string_utils::utf8ToSystem(gnuGrepPath.absolutePath()));
|
|
#endif
|
|
@@ -470,7 +470,7 @@
|
|
|
|
boost::shared_ptr<GrepOperation> ptrGrepOp = GrepOperation::create(encoding,
|
|
tempFile);
|
|
- core::system::ProcessCallbacks callbacks =
|
|
+ ::core::system::ProcessCallbacks callbacks =
|
|
ptrGrepOp->createProcessCallbacks();
|
|
|
|
#ifdef _WIN32
|
|
@@ -539,14 +539,14 @@
|
|
return Success();
|
|
}
|
|
|
|
-void onSuspend(core::Settings* pSettings)
|
|
+void onSuspend(::core::Settings* pSettings)
|
|
{
|
|
std::ostringstream os;
|
|
json::write(findResults().asJson(), os);
|
|
pSettings->set("find-in-files-state", os.str());
|
|
}
|
|
|
|
-void onResume(const core::Settings& settings)
|
|
+void onResume(const ::core::Settings& settings)
|
|
{
|
|
std::string state = settings.get("find-in-files-state");
|
|
if (!state.empty())
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionGit.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionGit.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionGit.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionGit.cpp 2015-03-08 22:23:10.089943944 +0100
|
|
@@ -65,7 +65,7 @@
|
|
#include "session-config.h"
|
|
|
|
using namespace core;
|
|
-using namespace core::shell_utils;
|
|
+using namespace ::core::shell_utils;
|
|
using session::console_process::ConsoleProcess;
|
|
using namespace session::modules::vcs_utils;
|
|
using session::modules::source_control::FileWithStatus;
|
|
@@ -90,7 +90,7 @@
|
|
|
|
core::system::ProcessOptions procOptions()
|
|
{
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
|
|
// detach the session so there is no terminal
|
|
#ifndef _WIN32
|
|
@@ -98,24 +98,24 @@
|
|
#endif
|
|
|
|
// get current environment for modification prior to passing to child
|
|
- core::system::Options childEnv;
|
|
- core::system::environment(&childEnv);
|
|
+ ::core::system::Options childEnv;
|
|
+ ::core::system::environment(&childEnv);
|
|
|
|
// add git bin dir to PATH if necessary
|
|
std::string nonPathGitBinDir = git::nonPathGitBinDir();
|
|
if (!nonPathGitBinDir.empty())
|
|
- core::system::addToPath(&childEnv, nonPathGitBinDir);
|
|
+ ::core::system::addToPath(&childEnv, nonPathGitBinDir);
|
|
|
|
// add postback directory to PATH
|
|
FilePath postbackDir = session::options().rpostbackPath().parent();
|
|
- core::system::addToPath(&childEnv, postbackDir.absolutePath());
|
|
+ ::core::system::addToPath(&childEnv, postbackDir.absolutePath());
|
|
|
|
options.workingDir = projects::projectContext().directory();
|
|
|
|
// on windows set HOME to USERPROFILE
|
|
#ifdef _WIN32
|
|
- std::string userProfile = core::system::getenv(childEnv, "USERPROFILE");
|
|
- core::system::setenv(&childEnv, "HOME", userProfile);
|
|
+ std::string userProfile = ::core::system::getenv(childEnv, "USERPROFILE");
|
|
+ ::core::system::setenv(&childEnv, "HOME", userProfile);
|
|
#endif
|
|
|
|
// set custom environment
|
|
@@ -202,10 +202,10 @@
|
|
#endif
|
|
|
|
Error gitExec(const ShellArgs& args,
|
|
- const core::FilePath& workingDir,
|
|
- core::system::ProcessResult* pResult)
|
|
+ const ::core::FilePath& workingDir,
|
|
+ ::core::system::ProcessResult* pResult)
|
|
{
|
|
- core::system::ProcessOptions options = procOptions();
|
|
+ ::core::system::ProcessOptions options = procOptions();
|
|
options.workingDir = workingDir;
|
|
// Important to ensure SSH_ASKPASS works
|
|
#ifdef _WIN32
|
|
@@ -266,12 +266,12 @@
|
|
FilePath root_;
|
|
|
|
protected:
|
|
- core::Error runGit(const ShellArgs& args,
|
|
+ ::core::Error runGit(const ShellArgs& args,
|
|
std::string* pStdOut=NULL,
|
|
std::string* pStdErr=NULL,
|
|
int* pExitCode=NULL)
|
|
{
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
|
|
ProcessResult result;
|
|
Error error = gitExec(args, root_, &result);
|
|
@@ -293,7 +293,7 @@
|
|
return Success();
|
|
}
|
|
|
|
- core::Error createConsoleProc(const ShellArgs& args,
|
|
+ ::core::Error createConsoleProc(const ShellArgs& args,
|
|
const std::string& caption,
|
|
bool dialog,
|
|
boost::shared_ptr<ConsoleProcess>* ppCP,
|
|
@@ -301,7 +301,7 @@
|
|
{
|
|
using namespace session::console_process;
|
|
|
|
- core::system::ProcessOptions options = procOptions();
|
|
+ ::core::system::ProcessOptions options = procOptions();
|
|
#ifdef _WIN32
|
|
options.detachProcess = true;
|
|
#endif
|
|
@@ -385,7 +385,7 @@
|
|
root_ = path;
|
|
}
|
|
|
|
- core::Error status(const FilePath& dir,
|
|
+ ::core::Error status(const FilePath& dir,
|
|
StatusResult* pStatusResult)
|
|
{
|
|
using namespace boost;
|
|
@@ -424,12 +424,12 @@
|
|
return Success();
|
|
}
|
|
|
|
- core::Error add(const std::vector<FilePath>& filePaths)
|
|
+ ::core::Error add(const std::vector<FilePath>& filePaths)
|
|
{
|
|
return runGit(ShellArgs() << "add" << "--" << filePaths);
|
|
}
|
|
|
|
- core::Error remove(const std::vector<FilePath>& filePaths)
|
|
+ ::core::Error remove(const std::vector<FilePath>& filePaths)
|
|
{
|
|
ShellArgs args;
|
|
args << "rm" << "--";
|
|
@@ -437,7 +437,7 @@
|
|
return runGit(args);
|
|
}
|
|
|
|
- core::Error discard(const std::vector<FilePath>& filePaths)
|
|
+ ::core::Error discard(const std::vector<FilePath>& filePaths)
|
|
{
|
|
source_control::StatusResult statusResult;
|
|
Error error = status(root_, &statusResult);
|
|
@@ -461,7 +461,7 @@
|
|
}
|
|
}
|
|
|
|
- core::Error stage(const std::vector<FilePath> &filePaths)
|
|
+ ::core::Error stage(const std::vector<FilePath> &filePaths)
|
|
{
|
|
StatusResult statusResult;
|
|
this->status(root_, &statusResult);
|
|
@@ -507,7 +507,7 @@
|
|
return Success();
|
|
}
|
|
|
|
- core::Error unstage(const std::vector<FilePath>& filePaths)
|
|
+ ::core::Error unstage(const std::vector<FilePath>& filePaths)
|
|
{
|
|
source_control::StatusResult statusResult;
|
|
Error error = status(root_, &statusResult);
|
|
@@ -544,7 +544,7 @@
|
|
}
|
|
}
|
|
|
|
- core::Error listBranches(std::vector<std::string>* pBranches,
|
|
+ ::core::Error listBranches(std::vector<std::string>* pBranches,
|
|
boost::optional<size_t>* pActiveBranchIndex)
|
|
{
|
|
std::vector<std::string> lines;
|
|
@@ -569,7 +569,7 @@
|
|
return Success();
|
|
}
|
|
|
|
- core::Error checkout(const std::string& id,
|
|
+ ::core::Error checkout(const std::string& id,
|
|
boost::shared_ptr<ConsoleProcess>* ppCP)
|
|
{
|
|
return createConsoleProc(ShellArgs() << "checkout" << id << "--",
|
|
@@ -578,7 +578,7 @@
|
|
ppCP);
|
|
}
|
|
|
|
- core::Error commit(std::string message, bool amend, bool signOff,
|
|
+ ::core::Error commit(std::string message, bool amend, bool signOff,
|
|
boost::shared_ptr<ConsoleProcess>* ppCP)
|
|
{
|
|
bool alwaysUseUtf8 = s_gitVersion >= GIT_1_7_2;
|
|
@@ -627,7 +627,7 @@
|
|
if (mergeMsg.exists())
|
|
{
|
|
std::string mergeMsgStr;
|
|
- error = core::readStringFromFile(mergeMsg, &mergeMsgStr);
|
|
+ error = ::core::readStringFromFile(mergeMsg, &mergeMsgStr);
|
|
if (!error)
|
|
{
|
|
if (!message.empty())
|
|
@@ -658,7 +658,7 @@
|
|
ppCP);
|
|
}
|
|
|
|
- core::Error clone(const std::string& url,
|
|
+ ::core::Error clone(const std::string& url,
|
|
const std::string dirName,
|
|
const FilePath& parentPath,
|
|
boost::shared_ptr<ConsoleProcess>* ppCP)
|
|
@@ -728,7 +728,7 @@
|
|
return true;
|
|
}
|
|
|
|
- core::Error push(boost::shared_ptr<ConsoleProcess>* ppCP)
|
|
+ ::core::Error push(boost::shared_ptr<ConsoleProcess>* ppCP)
|
|
{
|
|
std::string branch;
|
|
Error error = currentBranch(&branch);
|
|
@@ -746,13 +746,13 @@
|
|
return createConsoleProc(args, "Git Push", true, ppCP);
|
|
}
|
|
|
|
- core::Error pull(boost::shared_ptr<ConsoleProcess>* ppCP)
|
|
+ ::core::Error pull(boost::shared_ptr<ConsoleProcess>* ppCP)
|
|
{
|
|
return createConsoleProc(ShellArgs() << "pull",
|
|
"Git Pull", true, ppCP);
|
|
}
|
|
|
|
- core::Error doDiffFile(const FilePath& filePath,
|
|
+ ::core::Error doDiffFile(const FilePath& filePath,
|
|
const FilePath* pCompareTo,
|
|
PatchMode mode,
|
|
int contextLines,
|
|
@@ -770,7 +770,7 @@
|
|
return runGit(args, pOutput, NULL, NULL);
|
|
}
|
|
|
|
- core::Error diffFile(const FilePath& filePath,
|
|
+ ::core::Error diffFile(const FilePath& filePath,
|
|
PatchMode mode,
|
|
int contextLines,
|
|
std::string* pOutput)
|
|
@@ -822,7 +822,7 @@
|
|
return secs;
|
|
}
|
|
|
|
- core::Error applyPatch(const FilePath& patchFile,
|
|
+ ::core::Error applyPatch(const FilePath& patchFile,
|
|
PatchMode patchMode)
|
|
{
|
|
ShellArgs args = ShellArgs() << "apply";
|
|
@@ -870,7 +870,7 @@
|
|
}
|
|
}
|
|
|
|
- core::Error logLength(const std::string &rev,
|
|
+ ::core::Error logLength(const std::string &rev,
|
|
const FilePath& fileFilter,
|
|
const std::string &searchText,
|
|
int *pLength)
|
|
@@ -904,7 +904,7 @@
|
|
}
|
|
}
|
|
|
|
- core::Error log(const std::string& rev,
|
|
+ ::core::Error log(const std::string& rev,
|
|
const FilePath& fileFilter,
|
|
int skip,
|
|
int maxentries,
|
|
@@ -1089,7 +1089,7 @@
|
|
return Success();
|
|
}
|
|
|
|
- virtual core::Error show(const std::string& rev,
|
|
+ virtual ::core::Error show(const std::string& rev,
|
|
std::string* pOutput)
|
|
{
|
|
ShellArgs args = ShellArgs() << "show" << "--pretty=oneline" << "-M";
|
|
@@ -1100,7 +1100,7 @@
|
|
return runGit(args, pOutput);
|
|
}
|
|
|
|
- virtual core::Error showFile(const std::string& rev,
|
|
+ virtual ::core::Error showFile(const std::string& rev,
|
|
const std::string& filename,
|
|
std::string* pOutput)
|
|
{
|
|
@@ -1111,7 +1111,7 @@
|
|
return runGit(args, pOutput);
|
|
}
|
|
|
|
- virtual core::Error remoteBranchInfo(RemoteBranchInfo* pRemoteBranchInfo)
|
|
+ virtual ::core::Error remoteBranchInfo(RemoteBranchInfo* pRemoteBranchInfo)
|
|
{
|
|
// default to none
|
|
*pRemoteBranchInfo = RemoteBranchInfo();
|
|
@@ -1201,14 +1201,14 @@
|
|
|
|
FilePath detectGitDir(const FilePath& workingDir)
|
|
{
|
|
- core::system::ProcessOptions options = procOptions();
|
|
+ ::core::system::ProcessOptions options = procOptions();
|
|
options.workingDir = workingDir;
|
|
#ifndef _WIN32
|
|
options.detachSession = true;
|
|
#endif
|
|
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runCommand(
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runCommand(
|
|
git() << "rev-parse" << "--show-toplevel",
|
|
"",
|
|
options,
|
|
@@ -1640,14 +1640,14 @@
|
|
FilePath gitIgnorePath = filePath.complete(".gitignore");
|
|
|
|
// setup result (default to empty)
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
result.exitStatus = EXIT_SUCCESS;
|
|
result.stdOut = "";
|
|
|
|
// read the file if it exists
|
|
if (gitIgnorePath.exists())
|
|
{
|
|
- Error error = core::readStringFromFile(gitIgnorePath,
|
|
+ Error error = ::core::readStringFromFile(gitIgnorePath,
|
|
&result.stdOut,
|
|
string_utils::LineEndingPosix);
|
|
if (error)
|
|
@@ -1675,14 +1675,14 @@
|
|
FilePath gitIgnorePath = filePath.complete(".gitignore");
|
|
|
|
// write the .gitignore file
|
|
- error = core::writeStringToFile(gitIgnorePath,
|
|
+ error = ::core::writeStringToFile(gitIgnorePath,
|
|
ignores,
|
|
string_utils::LineEndingNative);
|
|
if (error)
|
|
return error;
|
|
|
|
// always return an empty (successful) ProcessResult
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
result.exitStatus = EXIT_SUCCESS;
|
|
pResponse->setResult(processResultToJson(result));
|
|
return Success();
|
|
@@ -1698,7 +1698,7 @@
|
|
|
|
// get the upstream
|
|
std::string upstream;
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = gitExec(ShellArgs() <<
|
|
"rev-parse" << "--abbrev-ref" << query,
|
|
s_git_.root(),
|
|
@@ -1744,7 +1744,7 @@
|
|
std::string upstreamBranch = upstream.substr(pos + 1);
|
|
|
|
// now get the remote url
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = gitExec(ShellArgs() <<
|
|
"config" << "--get" << ("remote." + upstreamName + ".url"),
|
|
s_git_.root(),
|
|
@@ -1994,7 +1994,7 @@
|
|
return error;
|
|
|
|
// write it
|
|
- return core::writeStringToFile(
|
|
+ return ::core::writeStringToFile(
|
|
module_context::resolveAliasedPath(targetPath),
|
|
output);
|
|
}
|
|
@@ -2014,13 +2014,13 @@
|
|
FilePath publicKeyPath = module_context::resolveAliasedPath(aliasedPath);
|
|
if (!publicKeyPath.exists())
|
|
{
|
|
- return core::fileNotFoundError(publicKeyPath.absolutePath(),
|
|
+ return ::core::fileNotFoundError(publicKeyPath.absolutePath(),
|
|
ERROR_LOCATION);
|
|
}
|
|
|
|
// read the key
|
|
std::string publicKeyContents;
|
|
- error = core::readStringFromFile(publicKeyPath, &publicKeyContents);
|
|
+ error = ::core::readStringFromFile(publicKeyPath, &publicKeyContents);
|
|
if (error)
|
|
return error;
|
|
|
|
@@ -2057,11 +2057,11 @@
|
|
return error;
|
|
FilePath dirPath = module_context::resolveAliasedPath(directory);
|
|
|
|
- core::system::ProcessOptions options = procOptions();
|
|
+ ::core::system::ProcessOptions options = procOptions();
|
|
options.workingDir = dirPath;
|
|
|
|
// run it
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
error = runCommand(git() << "init", options, &result);
|
|
if (error)
|
|
return error;
|
|
@@ -2082,7 +2082,7 @@
|
|
bool ensureSSHAgentIsRunning()
|
|
{
|
|
// Use "ssh-add -l" to see if ssh-agent is running
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = runCommand(shell_utils::sendStdErrToNull("ssh-add -l"),
|
|
procOptions(), &result);
|
|
if (error)
|
|
@@ -2125,7 +2125,7 @@
|
|
{
|
|
std::string name = (*it).str(1);
|
|
std::string value = (*it).str(2);
|
|
- core::system::setenv(name, value);
|
|
+ ::core::system::setenv(name, value);
|
|
|
|
if (name == "SSH_AGENT_PID")
|
|
{
|
|
@@ -2138,7 +2138,7 @@
|
|
return true;
|
|
}
|
|
|
|
-void addKeyToSSHAgent_onCompleted(const core::system::ProcessResult& result)
|
|
+void addKeyToSSHAgent_onCompleted(const ::core::system::ProcessResult& result)
|
|
{
|
|
if (result.exitStatus != EXIT_SUCCESS)
|
|
LOG_ERROR_MESSAGE(result.stdErr);
|
|
@@ -2147,11 +2147,11 @@
|
|
void addKeyToSSHAgent(const FilePath& keyFile,
|
|
const std::string& passphrase)
|
|
{
|
|
- core::system::ProcessOptions options = procOptions();
|
|
- core::system::setenv(options.environment.get_ptr(),
|
|
+ ::core::system::ProcessOptions options = procOptions();
|
|
+ ::core::system::setenv(options.environment.get_ptr(),
|
|
"__ASKPASS_PASSTHROUGH_RESULT",
|
|
passphrase);
|
|
- core::system::setenv(options.environment.get_ptr(),
|
|
+ ::core::system::setenv(options.environment.get_ptr(),
|
|
"SSH_ASKPASS",
|
|
"askpass-passthrough");
|
|
|
|
@@ -2424,7 +2424,7 @@
|
|
void onShutdown(bool)
|
|
{
|
|
std::for_each(s_pidsToTerminate_.begin(), s_pidsToTerminate_.end(),
|
|
- &core::system::terminateProcess);
|
|
+ &::core::system::terminateProcess);
|
|
s_pidsToTerminate_.clear();
|
|
}
|
|
|
|
@@ -2494,7 +2494,7 @@
|
|
// If .gitignore exists, add .Rproj.user unless it's already there
|
|
|
|
std::string strIgnore;
|
|
- Error error = core::readStringFromFile(gitIgnoreFile, &strIgnore);
|
|
+ Error error = ::core::readStringFromFile(gitIgnoreFile, &strIgnore);
|
|
if (error)
|
|
return error;
|
|
|
|
@@ -2554,8 +2554,8 @@
|
|
return false;
|
|
}
|
|
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runCommand(git() << "--version",
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runCommand(git() << "--version",
|
|
procOptions(),
|
|
&result);
|
|
if (error)
|
|
@@ -2629,9 +2629,9 @@
|
|
}
|
|
}
|
|
|
|
-Error statusToJson(const core::FilePath &path,
|
|
+Error statusToJson(const ::core::FilePath &path,
|
|
const VCSStatus &status,
|
|
- core::json::Object *pObject)
|
|
+ ::core::json::Object *pObject)
|
|
{
|
|
json::Object& obj = *pObject;
|
|
obj["status"] = status.status();
|
|
@@ -2642,11 +2642,11 @@
|
|
return Success();
|
|
}
|
|
|
|
-void onSuspend(core::Settings*)
|
|
+void onSuspend(::core::Settings*)
|
|
{
|
|
}
|
|
|
|
-void onResume(const core::Settings&)
|
|
+void onResume(const ::core::Settings&)
|
|
{
|
|
enqueueRefreshEvent();
|
|
}
|
|
@@ -2675,8 +2675,8 @@
|
|
|
|
// Save version
|
|
s_gitVersion = GIT_1_7_2;
|
|
- core::system::ProcessResult result;
|
|
- error = core::system::runCommand(git() << "--version",
|
|
+ ::core::system::ProcessResult result;
|
|
+ error = ::core::system::runCommand(git() << "--version",
|
|
procOptions(),
|
|
&result);
|
|
if (error)
|
|
@@ -2698,7 +2698,7 @@
|
|
return true;
|
|
}
|
|
|
|
-bool isGitDirectory(const core::FilePath& workingDir)
|
|
+bool isGitDirectory(const ::core::FilePath& workingDir)
|
|
{
|
|
return !detectGitDir(workingDir).empty();
|
|
}
|
|
@@ -2709,7 +2709,7 @@
|
|
// default to none
|
|
std::string remoteOriginUrl;
|
|
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = gitExec(ShellArgs() <<
|
|
"config" << "--get" << "remote.origin.url",
|
|
workingDir,
|
|
@@ -2735,7 +2735,7 @@
|
|
}
|
|
|
|
|
|
-core::Error initializeGit(const core::FilePath& workingDir)
|
|
+core::Error initializeGit(const ::core::FilePath& workingDir)
|
|
{
|
|
s_git_.setRoot(detectGitDir(workingDir));
|
|
|
|
@@ -2801,11 +2801,11 @@
|
|
|
|
// setup environment
|
|
BOOST_ASSERT(boost::algorithm::ends_with(sshAskCmd, "rpostback-askpass"));
|
|
- core::system::setenv("GIT_ASKPASS", "rpostback-askpass");
|
|
+ ::core::system::setenv("GIT_ASKPASS", "rpostback-askpass");
|
|
|
|
if (interceptAskPass)
|
|
{
|
|
- core::system::setenv("SSH_ASKPASS", "rpostback-askpass");
|
|
+ ::core::system::setenv("SSH_ASKPASS", "rpostback-askpass");
|
|
}
|
|
|
|
// add suspend/resume handler
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionGit.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionGit.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionGit.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionGit.hpp 2015-03-08 22:23:09.941943920 +0100
|
|
@@ -41,10 +41,10 @@
|
|
class GitFileDecorationContext : public source_control::FileDecorationContext
|
|
{
|
|
public:
|
|
- GitFileDecorationContext(const core::FilePath& rootDir);
|
|
+ GitFileDecorationContext(const ::core::FilePath& rootDir);
|
|
virtual ~GitFileDecorationContext();
|
|
- virtual void decorateFile(const core::FilePath &filePath,
|
|
- core::json::Object *pFileObject);
|
|
+ virtual void decorateFile(const ::core::FilePath &filePath,
|
|
+ ::core::json::Object *pFileObject);
|
|
|
|
private:
|
|
source_control::StatusResult vcsStatus_;
|
|
@@ -54,29 +54,29 @@
|
|
bool isGitInstalled();
|
|
bool isGitEnabled();
|
|
|
|
-bool isGitDirectory(const core::FilePath& workingDir);
|
|
+bool isGitDirectory(const ::core::FilePath& workingDir);
|
|
|
|
-std::string remoteOriginUrl(const core::FilePath& workingDir);
|
|
+std::string remoteOriginUrl(const ::core::FilePath& workingDir);
|
|
|
|
bool isGithubRepository();
|
|
|
|
-core::Error initializeGit(const core::FilePath& workingDir);
|
|
+core::Error initializeGit(const ::core::FilePath& workingDir);
|
|
|
|
core::FilePath detectedGitExePath();
|
|
|
|
std::string nonPathGitBinDir();
|
|
|
|
-core::Error status(const core::FilePath& dir,
|
|
+core::Error status(const ::core::FilePath& dir,
|
|
source_control::StatusResult* pStatusResult);
|
|
-core::Error fileStatus(const core::FilePath& filePath,
|
|
+core::Error fileStatus(const ::core::FilePath& filePath,
|
|
source_control::VCSStatus* pStatus);
|
|
-core::Error statusToJson(const core::FilePath& path,
|
|
+core::Error statusToJson(const ::core::FilePath& path,
|
|
const source_control::VCSStatus& status,
|
|
- core::json::Object* pObject);
|
|
+ ::core::json::Object* pObject);
|
|
|
|
core::Error clone(const std::string& url,
|
|
const std::string dirName,
|
|
- const core::FilePath& parentPath,
|
|
+ const ::core::FilePath& parentPath,
|
|
boost::shared_ptr<console_process::ConsoleProcess>* ppCP);
|
|
|
|
core::Error initialize();
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionHelp.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionHelp.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionHelp.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionHelp.cpp 2015-03-08 22:23:10.149943955 +0100
|
|
@@ -192,7 +192,7 @@
|
|
|
|
// As of R 2.10 RShowDoc still uses the legacy file::// mechanism for
|
|
// displaying the manual. Redirect these to the appropriate help event
|
|
-bool handleRShowDocFile(const core::FilePath& filePath)
|
|
+bool handleRShowDocFile(const ::core::FilePath& filePath)
|
|
{
|
|
boost::regex manualRegx(".*/lib/R/(doc/manual/[A-Za-z0-9_\\-]*\\.html)");
|
|
boost::smatch match;
|
|
@@ -640,9 +640,9 @@
|
|
rCmd << filePath;
|
|
|
|
// run the converstion and return it
|
|
- core::system::ProcessOptions options;
|
|
- core::system::ProcessResult result;
|
|
- error = core::system::runCommand(rCmd, options, &result);
|
|
+ ::core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessResult result;
|
|
+ error = ::core::system::runCommand(rCmd, options, &result);
|
|
if (error)
|
|
{
|
|
pResponse->setError(error);
|
|
@@ -673,7 +673,7 @@
|
|
// server custom css file if necessary
|
|
if (boost::algorithm::ends_with(path, "/R.css"))
|
|
{
|
|
- core::FilePath cssFile = options().rResourcesPath().childPath("R.css");
|
|
+ ::core::FilePath cssFile = options().rResourcesPath().childPath("R.css");
|
|
if (cssFile.exists())
|
|
{
|
|
pResponse->setFile(cssFile, request, filter);
|
|
@@ -698,7 +698,7 @@
|
|
// markdown help is also a special case
|
|
if (path == "/doc/markdown_help.html")
|
|
{
|
|
- core::FilePath helpFile = options().rResourcesPath().childPath(
|
|
+ ::core::FilePath helpFile = options().rResourcesPath().childPath(
|
|
"markdown_help.html");
|
|
if (helpFile.exists())
|
|
{
|
|
@@ -870,7 +870,7 @@
|
|
r::routines::addCallMethod(previewRdMethodDef);
|
|
|
|
using boost::bind;
|
|
- using core::http::UriHandler;
|
|
+ using ::core::http::UriHandler;
|
|
using namespace module_context;
|
|
using namespace r::function_hook ;
|
|
ExecBlock initBlock ;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionHistoryArchive.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionHistoryArchive.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionHistoryArchive.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionHistoryArchive.cpp 2015-03-08 22:23:10.309943982 +0100
|
|
@@ -137,7 +137,7 @@
|
|
|
|
// write the entry to the file
|
|
std::ostringstream ostrEntry ;
|
|
- double currentTime = core::date_time::millisecondsSinceEpoch();
|
|
+ double currentTime = ::core::date_time::millisecondsSinceEpoch();
|
|
writeEntry(currentTime, command, &ostrEntry);
|
|
ostrEntry << std::endl;
|
|
return appendToFile(historyDatabaseFilePath(), ostrEntry.str());
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionHistoryArchive.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionHistoryArchive.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionHistoryArchive.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionHistoryArchive.hpp 2015-03-08 22:23:10.251943972 +0100
|
|
@@ -55,7 +55,7 @@
|
|
static void migrateRhistoryIfNecessary();
|
|
|
|
public:
|
|
- core::Error add(const std::string& command);
|
|
+ ::core::Error add(const std::string& command);
|
|
const std::vector<HistoryEntry>& entries() const;
|
|
|
|
private:
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionHTMLPreview.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionHTMLPreview.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionHTMLPreview.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionHTMLPreview.cpp 2015-03-08 22:23:10.342943987 +0100
|
|
@@ -149,7 +149,7 @@
|
|
return std::string();
|
|
|
|
std::string output;
|
|
- Error error = core::readStringFromFile(outputFile_, &output);
|
|
+ Error error = ::core::readStringFromFile(outputFile_, &output);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
@@ -249,7 +249,7 @@
|
|
if (knitrOutputFile_.empty())
|
|
{
|
|
std::string outputFile;
|
|
- Error error = core::readStringFromFile(outputPathTempFile,
|
|
+ Error error = ::core::readStringFromFile(outputPathTempFile,
|
|
&outputFile);
|
|
if (error)
|
|
{
|
|
@@ -358,7 +358,7 @@
|
|
|
|
// create an output file and write to it
|
|
FilePath outputFile = createOutputFile();
|
|
- error = core::writeStringToFile(outputFile, content);
|
|
+ error = ::core::writeStringToFile(outputFile, content);
|
|
if (error)
|
|
terminateWithError(error);
|
|
else
|
|
@@ -788,7 +788,7 @@
|
|
{
|
|
|
|
FilePath htmlPreviewFile = resPath.childPath("markdown.html");
|
|
- return core::readStringFromFile(htmlPreviewFile, pPreviewTemplate);
|
|
+ return ::core::readStringFromFile(htmlPreviewFile, pPreviewTemplate);
|
|
}
|
|
|
|
void setVarFromHtmlResourceFile(const std::string& name,
|
|
@@ -858,7 +858,7 @@
|
|
|
|
// write to output file
|
|
std::string previewHtml = previewStrStream.str();
|
|
- error = core::writeStringToFile(s_pCurrentPreview_->htmlPreviewFile(),
|
|
+ error = ::core::writeStringToFile(s_pCurrentPreview_->htmlPreviewFile(),
|
|
previewHtml);
|
|
if (error)
|
|
{
|
|
@@ -998,7 +998,7 @@
|
|
error = r::json::jsonValueFromList(capsSEXP, &valJson);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
- else if (core::json::isType<core::json::Object>(valJson))
|
|
+ else if (::core::json::isType< ::core::json::Object>(valJson))
|
|
capsJson = valJson.get_obj();
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionHTMLPreview.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionHTMLPreview.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionHTMLPreview.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionHTMLPreview.hpp 2015-03-08 22:23:10.123943950 +0100
|
|
@@ -37,8 +37,8 @@
|
|
namespace html_preview {
|
|
|
|
core::json::Object capabilitiesAsJson();
|
|
-void addFileSpecificHeaders(const core::FilePath& filePath,
|
|
- core::http::Response* pResponse);
|
|
+void addFileSpecificHeaders(const ::core::FilePath& filePath,
|
|
+ ::core::http::Response* pResponse);
|
|
|
|
core::Error initialize();
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionLists.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionLists.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionLists.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionLists.cpp 2015-03-08 22:23:10.072943942 +0100
|
|
@@ -115,10 +115,10 @@
|
|
return jsonArray;
|
|
}
|
|
|
|
-void onListsFileChanged(const core::system::FileChangeEvent& fileChange)
|
|
+void onListsFileChanged(const ::core::system::FileChangeEvent& fileChange)
|
|
{
|
|
// ignore if deleted
|
|
- if (fileChange.type() == core::system::FileChangeEvent::FileRemoved)
|
|
+ if (fileChange.type() == ::core::system::FileChangeEvent::FileRemoved)
|
|
return;
|
|
|
|
// ignore if it is the lists directory
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionPackages.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionPackages.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionPackages.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionPackages.cpp 2015-03-08 22:23:10.239943970 +0100
|
|
@@ -50,7 +50,7 @@
|
|
|
|
namespace {
|
|
|
|
-Error availablePackagesBegin(const core::json::JsonRpcRequest& request,
|
|
+Error availablePackagesBegin(const ::core::json::JsonRpcRequest& request,
|
|
std::vector<std::string>* pContribUrls)
|
|
{
|
|
return r::exec::evaluateString<std::vector<std::string> >(
|
|
@@ -162,9 +162,9 @@
|
|
}
|
|
}
|
|
|
|
-Error availablePackagesEnd(const core::json::JsonRpcRequest& request,
|
|
+Error availablePackagesEnd(const ::core::json::JsonRpcRequest& request,
|
|
const std::vector<std::string>& contribUrls,
|
|
- core::json::JsonRpcResponse* pResponse)
|
|
+ ::core::json::JsonRpcResponse* pResponse)
|
|
{
|
|
// download available packages
|
|
std::vector<std::string> availablePackages;
|
|
@@ -294,9 +294,9 @@
|
|
|
|
if (newSession || (options().programMode() == kSessionProgramModeServer))
|
|
{
|
|
- std::string libDir = core::string_utils::utf8ToSystem(
|
|
+ std::string libDir = ::core::string_utils::utf8ToSystem(
|
|
options().sessionLibraryPath().absolutePath());
|
|
- std::string pkgSrcDir = core::string_utils::utf8ToSystem(
|
|
+ std::string pkgSrcDir = ::core::string_utils::utf8ToSystem(
|
|
options().sessionPackagesPath().absolutePath());
|
|
std::string rsVersion = RSTUDIO_VERSION;
|
|
Error error = r::exec::RFunction(".rs.initializeRStudioPackages",
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionPackrat.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionPackrat.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionPackrat.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionPackrat.cpp 2015-03-08 22:23:10.246943971 +0100
|
|
@@ -598,9 +598,9 @@
|
|
}
|
|
}
|
|
|
|
-void onFilesChanged(const std::vector<core::system::FileChangeEvent>& changes)
|
|
+void onFilesChanged(const std::vector< ::core::system::FileChangeEvent>& changes)
|
|
{
|
|
- BOOST_FOREACH(const core::system::FileChangeEvent& fileChange, changes)
|
|
+ BOOST_FOREACH(const ::core::system::FileChangeEvent& fileChange, changes)
|
|
{
|
|
FilePath changedFilePath(fileChange.fileInfo().absolutePath());
|
|
onFileChanged(changedFilePath);
|
|
@@ -777,7 +777,7 @@
|
|
bool running)
|
|
{
|
|
// if this doesn't apply to the current project then skip it
|
|
- if (!core::system::realPathsEqual(
|
|
+ if (!::core::system::realPathsEqual(
|
|
projects::projectContext().directory(), FilePath(project)))
|
|
{
|
|
return;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionPackrat.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionPackrat.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionPackrat.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionPackrat.hpp 2015-03-08 22:23:10.253943972 +0100
|
|
@@ -34,7 +34,7 @@
|
|
core::json::Object contextAsJson();
|
|
|
|
// annotate a JSON object with pending Packrat actions
|
|
-void annotatePendingActions(core::json::Object *pJson, bool useCached);
|
|
+void annotatePendingActions(::core::json::Object *pJson, bool useCached);
|
|
|
|
// return the given Packrat context
|
|
core::json::Object contextAsJson(const module_context::PackratContext& context);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionPath.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionPath.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionPath.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionPath.cpp 2015-03-08 22:23:10.167943958 +0100
|
|
@@ -43,7 +43,7 @@
|
|
std::vector<std::string>* pPaths)
|
|
{
|
|
std::vector<std::string> paths;
|
|
- Error error = core::readStringVectorFromFile(filePath, &paths);
|
|
+ Error error = ::core::readStringVectorFromFile(filePath, &paths);
|
|
if (error)
|
|
{
|
|
error.addProperty("path-source", filePath.absolutePath());
|
|
@@ -102,7 +102,7 @@
|
|
}
|
|
|
|
// build the PATH
|
|
- std::string path = core::system::getenv("PATH");
|
|
+ std::string path = ::core::system::getenv("PATH");
|
|
std::for_each(paths.begin(),
|
|
paths.end(),
|
|
boost::bind(addToPathIfNecessary, _1, &path));
|
|
@@ -119,7 +119,7 @@
|
|
addToPathIfNecessary(optLocalBinPath.absolutePath(), &path);
|
|
|
|
// set the path
|
|
- core::system::setenv("PATH", path);
|
|
+ ::core::system::setenv("PATH", path);
|
|
#endif
|
|
|
|
return Success();
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionPlots.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionPlots.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionPlots.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionPlots.cpp 2015-03-08 22:23:10.325943984 +0100
|
|
@@ -73,7 +73,7 @@
|
|
|
|
if (display.plotCount() < 1)
|
|
{
|
|
- return Error(core::json::errc::ParamInvalid, ERROR_LOCATION);
|
|
+ return Error(::core::json::errc::ParamInvalid, ERROR_LOCATION);
|
|
}
|
|
else if (display.plotCount() == 1)
|
|
{
|
|
@@ -323,7 +323,7 @@
|
|
"</body>\n"
|
|
"</html>\n");
|
|
std::string html = boost::str(fmt % title % width % plotPath.filename());
|
|
- error = core::writeStringToFile(sourceFilePath, html);
|
|
+ error = ::core::writeStringToFile(sourceFilePath, html);
|
|
if (error)
|
|
return error;
|
|
|
|
@@ -471,7 +471,7 @@
|
|
Error error = pResponse->setBody(imageFilePath);
|
|
if (error)
|
|
{
|
|
- if (!core::isPathNotFoundError(error))
|
|
+ if (!::core::isPathNotFoundError(error))
|
|
LOG_ERROR(error);
|
|
pResponse->setError(http::status::InternalServerError,
|
|
error.code().message());
|
|
@@ -823,7 +823,7 @@
|
|
{
|
|
// make sure there is a real x server running on osx
|
|
#ifdef __APPLE__
|
|
- std::string display = core::system::getenv("DISPLAY");
|
|
+ std::string display = ::core::system::getenv("DISPLAY");
|
|
if (display.empty() || (display == ":0"))
|
|
return false;
|
|
#endif
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionRPubs.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionRPubs.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionRPubs.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionRPubs.cpp 2015-03-08 22:23:10.218943966 +0100
|
|
@@ -125,7 +125,7 @@
|
|
|
|
void start(const std::string& title, const FilePath& htmlFile, bool allowUpdate)
|
|
{
|
|
- using namespace core::string_utils;
|
|
+ using namespace ::core::string_utils;
|
|
using namespace module_context;
|
|
|
|
htmlFile_ = htmlFile;
|
|
@@ -177,12 +177,12 @@
|
|
args.push_back(cmd);
|
|
|
|
// options
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.terminateChildren = true;
|
|
options.workingDir = htmlFile.parent();
|
|
|
|
// callbacks
|
|
- core::system::ProcessCallbacks cb;
|
|
+ ::core::system::ProcessCallbacks cb;
|
|
cb.onContinue = boost::bind(&RPubsUpload::onContinue,
|
|
RPubsUpload::shared_from_this());
|
|
cb.onStdout = boost::bind(&RPubsUpload::onStdOut,
|
|
@@ -221,7 +221,7 @@
|
|
if(csvOutputFile_.exists())
|
|
{
|
|
std::string csvOutput;
|
|
- Error error = core::readStringFromFile(
|
|
+ Error error = ::core::readStringFromFile(
|
|
csvOutputFile_,
|
|
&csvOutput,
|
|
string_utils::LineEndingPosix);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionSource.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionSource.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionSource.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionSource.cpp 2015-03-08 22:23:10.296943979 +0100
|
|
@@ -126,7 +126,7 @@
|
|
|
|
|
|
void writeDocToJson(boost::shared_ptr<SourceDocument> pDoc,
|
|
- core::json::Object* pDocJson)
|
|
+ ::core::json::Object* pDocJson)
|
|
{
|
|
// write the doc
|
|
pDoc->writeToJson(pDocJson);
|
|
@@ -216,7 +216,7 @@
|
|
|
|
std::string encoding;
|
|
error = json::readParam(request.params, 2, &encoding);
|
|
- if (error && error.code() != core::json::errc::ParamTypeMismatch)
|
|
+ if (error && error.code() != ::core::json::errc::ParamTypeMismatch)
|
|
return error ;
|
|
if (encoding.empty())
|
|
encoding = ::locale2charset(NULL);
|
|
@@ -362,7 +362,7 @@
|
|
// enque file changed event if we need to
|
|
if (!module_context::isDirectoryMonitored(fullDocPath.parent()))
|
|
{
|
|
- using core::system::FileChangeEvent;
|
|
+ using ::core::system::FileChangeEvent;
|
|
FileChangeEvent changeEvent(newFile ? FileChangeEvent::FileAdded :
|
|
FileChangeEvent::FileModified,
|
|
FileInfo(fullDocPath));
|
|
@@ -423,7 +423,7 @@
|
|
Error saveDocumentDiff(const json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
- using namespace core::string_utils;
|
|
+ using namespace ::core::string_utils;
|
|
|
|
// unique id and jsonPath (can be null for auto-save)
|
|
std::string id;
|
|
@@ -721,12 +721,12 @@
|
|
// setup template filter
|
|
std::map<std::string,std::string> vars;
|
|
vars["name"] = name;
|
|
- core::text::TemplateFilter filter(vars);
|
|
+ ::core::text::TemplateFilter filter(vars);
|
|
|
|
// read file with template filter
|
|
FilePath templatePath = session::options().rResourcesPath().complete(
|
|
"templates/" + templateName);
|
|
- return core::readStringFromFile(templatePath,
|
|
+ return ::core::readStringFromFile(templatePath,
|
|
filter,
|
|
pContents,
|
|
string_utils::LineEndingPosix);
|
|
@@ -761,7 +761,7 @@
|
|
return error;
|
|
|
|
std::string contents;
|
|
- error = core::readStringFromFile(
|
|
+ error = ::core::readStringFromFile(
|
|
FilePath(string_utils::systemToUtf8(filePath)),
|
|
&contents,
|
|
string_utils::LineEndingPosix);
|
|
@@ -830,7 +830,7 @@
|
|
else
|
|
{
|
|
std::string contents;
|
|
- error = core::readStringFromFile(rdFilePath,
|
|
+ error = ::core::readStringFromFile(rdFilePath,
|
|
&contents,
|
|
string_utils::LineEndingPosix);
|
|
if (error)
|
|
@@ -867,7 +867,7 @@
|
|
FilePath filePath = module_context::resolveAliasedPath(path);
|
|
|
|
pResponse->setResult(filePath.exists() &&
|
|
- core::system::isReadOnly(filePath));
|
|
+ ::core::system::isReadOnly(filePath));
|
|
|
|
return Success();
|
|
}
|
|
@@ -944,7 +944,7 @@
|
|
// if it doesn't exist then create it
|
|
if (!filePath.exists())
|
|
{
|
|
- Error error = core::writeStringToFile(filePath, "",
|
|
+ Error error = ::core::writeStringToFile(filePath, "",
|
|
options().sourcePersistLineEnding());
|
|
if (error)
|
|
{
|
|
@@ -1030,7 +1030,7 @@
|
|
|
|
} // anonymous namespace
|
|
|
|
-Error clientInitDocuments(core::json::Array* pJsonDocs)
|
|
+Error clientInitDocuments(::core::json::Array* pJsonDocs)
|
|
{
|
|
// remove all items from the source index database
|
|
rSourceIndexes().removeAll();
|
|
@@ -1072,7 +1072,7 @@
|
|
return Success();
|
|
}
|
|
|
|
-std::vector<boost::shared_ptr<core::r_util::RSourceIndex> > rIndexes()
|
|
+std::vector<boost::shared_ptr< ::core::r_util::RSourceIndex> > rIndexes()
|
|
{
|
|
return rSourceIndexes().indexes();
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionSource.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionSource.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionSource.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionSource.hpp 2015-03-08 22:23:10.159943956 +0100
|
|
@@ -33,9 +33,9 @@
|
|
namespace modules {
|
|
namespace source {
|
|
|
|
-core::Error clientInitDocuments(core::json::Array* pJsonDocs) ;
|
|
+core::Error clientInitDocuments(::core::json::Array* pJsonDocs) ;
|
|
|
|
-std::vector<boost::shared_ptr<core::r_util::RSourceIndex> > rIndexes();
|
|
+std::vector<boost::shared_ptr< ::core::r_util::RSourceIndex> > rIndexes();
|
|
|
|
core::Error initialize();
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionSpelling.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionSpelling.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionSpelling.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionSpelling.cpp 2015-03-08 22:23:10.256943973 +0100
|
|
@@ -39,7 +39,7 @@
|
|
namespace {
|
|
|
|
// underlying spelling engine
|
|
-boost::scoped_ptr<core::spelling::SpellingEngine> s_pSpellingEngine;
|
|
+boost::scoped_ptr< ::core::spelling::SpellingEngine> s_pSpellingEngine;
|
|
|
|
// R function for testing & debugging
|
|
SEXP rs_checkSpelling(SEXP wordSEXP)
|
|
@@ -61,7 +61,7 @@
|
|
}
|
|
|
|
|
|
-json::Object dictionaryAsJson(const core::spelling::HunspellDictionary& dict)
|
|
+json::Object dictionaryAsJson(const ::core::spelling::HunspellDictionary& dict)
|
|
{
|
|
json::Object dictJson;
|
|
dictJson["id"] = dict.id();
|
|
@@ -83,7 +83,7 @@
|
|
|
|
core::spelling::HunspellDictionaryManager hunspellDictionaryManager()
|
|
{
|
|
- core::spelling::HunspellDictionaryManager dictManager(
|
|
+ ::core::spelling::HunspellDictionaryManager dictManager(
|
|
options().hunspellDictionariesPath(),
|
|
userDictionariesDir());
|
|
return dictManager;
|
|
@@ -186,7 +186,7 @@
|
|
}
|
|
|
|
// perform the add
|
|
- using namespace core::spelling;
|
|
+ using namespace ::core::spelling;
|
|
HunspellDictionaryManager dictManager = hunspellDictionaryManager();
|
|
error = dictManager.custom().add(dictPath);
|
|
if (error)
|
|
@@ -210,7 +210,7 @@
|
|
return error;
|
|
|
|
// perform the remove
|
|
- using namespace core::spelling;
|
|
+ using namespace ::core::spelling;
|
|
HunspellDictionaryManager dictManager = hunspellDictionaryManager();
|
|
error = dictManager.custom().remove(name);
|
|
if (error)
|
|
@@ -258,9 +258,9 @@
|
|
|
|
core::json::Object spellingPrefsContextAsJson()
|
|
{
|
|
- using namespace core::spelling;
|
|
+ using namespace ::core::spelling;
|
|
|
|
- core::json::Object contextJson;
|
|
+ ::core::json::Object contextJson;
|
|
|
|
HunspellDictionaryManager dictManager = hunspellDictionaryManager();
|
|
std::vector<HunspellDictionary> dictionaries;
|
|
@@ -268,10 +268,10 @@
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
- return core::json::Object();
|
|
+ return ::core::json::Object();
|
|
}
|
|
|
|
- core::json::Array dictionariesJson;
|
|
+ ::core::json::Array dictionariesJson;
|
|
std::transform(dictionaries.begin(),
|
|
dictionaries.end(),
|
|
std::back_inserter(dictionariesJson),
|
|
@@ -279,7 +279,7 @@
|
|
|
|
|
|
std::vector<std::string> customDicts = dictManager.custom().dictionaries();
|
|
- core::json::Array customDictsJson = json::toJsonArray(customDicts);
|
|
+ ::core::json::Array customDictsJson = json::toJsonArray(customDicts);
|
|
|
|
// return json
|
|
contextJson["all_languages_installed"] = dictManager.allLanguagesInstalled();
|
|
@@ -297,7 +297,7 @@
|
|
r::routines::addCallMethod(methodDef);
|
|
|
|
// initialize spelling engine
|
|
- using namespace core::spelling;
|
|
+ using namespace ::core::spelling;
|
|
HunspellSpellingEngine* pHunspell = new HunspellSpellingEngine(
|
|
userSettings().spellingLanguage(),
|
|
hunspellDictionaryManager(),
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionSVN.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionSVN.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionSVN.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionSVN.cpp 2015-03-08 22:23:09.979943926 +0100
|
|
@@ -51,7 +51,7 @@
|
|
#include "SessionGit.hpp"
|
|
|
|
using namespace core;
|
|
-using namespace core::shell_utils;
|
|
+using namespace ::core::shell_utils;
|
|
using namespace session::modules::vcs_utils;
|
|
using namespace session::console_process;
|
|
|
|
@@ -103,7 +103,7 @@
|
|
|
|
core::system::ProcessOptions procOptions(bool requiresSsh)
|
|
{
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
|
|
// detach the session so there is no terminal
|
|
#ifndef _WIN32
|
|
@@ -111,16 +111,16 @@
|
|
#endif
|
|
|
|
// get current environment for modification prior to passing to child
|
|
- core::system::Options childEnv;
|
|
- core::system::environment(&childEnv);
|
|
+ ::core::system::Options childEnv;
|
|
+ ::core::system::environment(&childEnv);
|
|
|
|
// add postback directory to PATH
|
|
FilePath postbackDir = session::options().rpostbackPath().parent();
|
|
- core::system::addToPath(&childEnv, postbackDir.absolutePath());
|
|
+ ::core::system::addToPath(&childEnv, postbackDir.absolutePath());
|
|
|
|
// on windows add gnudiff directory to the path
|
|
#ifdef _WIN32
|
|
- core::system::addToPath(&childEnv,
|
|
+ ::core::system::addToPath(&childEnv,
|
|
session::options().gnudiffPath().absolutePath());
|
|
#endif
|
|
|
|
@@ -128,7 +128,7 @@
|
|
#ifdef _WIN32
|
|
if (requiresSsh)
|
|
{
|
|
- core::system::addToPath(&childEnv,
|
|
+ ::core::system::addToPath(&childEnv,
|
|
session::options().msysSshPath().absolutePath());
|
|
}
|
|
#endif
|
|
@@ -140,14 +140,14 @@
|
|
|
|
// on windows set HOME to USERPROFILE
|
|
#ifdef _WIN32
|
|
- std::string userProfile = core::system::getenv(childEnv, "USERPROFILE");
|
|
- core::system::setenv(&childEnv, "HOME", userProfile);
|
|
+ std::string userProfile = ::core::system::getenv(childEnv, "USERPROFILE");
|
|
+ ::core::system::setenv(&childEnv, "HOME", userProfile);
|
|
#endif
|
|
|
|
// set the SVN_EDITOR if it is available
|
|
std::string editFileCommand = workbench::editFileCommand();
|
|
if (!editFileCommand.empty())
|
|
- core::system::setenv(&childEnv, "SVN_EDITOR", editFileCommand);
|
|
+ ::core::system::setenv(&childEnv, "SVN_EDITOR", editFileCommand);
|
|
|
|
// set custom environment
|
|
options.environment = childEnv;
|
|
@@ -175,13 +175,13 @@
|
|
Error runSvn(const ShellArgs& args,
|
|
const FilePath& workingDir,
|
|
bool redirectStdErrToStdOut,
|
|
- core::system::ProcessResult* pResult)
|
|
+ ::core::system::ProcessResult* pResult)
|
|
{
|
|
- core::system::ProcessOptions options = procOptions();
|
|
+ ::core::system::ProcessOptions options = procOptions();
|
|
if (!workingDir.empty())
|
|
options.workingDir = workingDir;
|
|
options.redirectStdErrToStdOut = redirectStdErrToStdOut;
|
|
- Error error = core::system::runCommand(svn() << args.args(),
|
|
+ Error error = ::core::system::runCommand(svn() << args.args(),
|
|
options,
|
|
pResult);
|
|
return error;
|
|
@@ -189,7 +189,7 @@
|
|
|
|
Error runSvn(const ShellArgs& args,
|
|
bool redirectStdErrToStdOut,
|
|
- core::system::ProcessResult* pResult)
|
|
+ ::core::system::ProcessResult* pResult)
|
|
{
|
|
FilePath workingDir;
|
|
if (!s_workingDir.empty())
|
|
@@ -203,7 +203,7 @@
|
|
std::string* pStdErr=NULL,
|
|
int* pExitCode=NULL)
|
|
{
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = runSvn(args, false, &result);
|
|
if (error)
|
|
return error;
|
|
@@ -234,7 +234,7 @@
|
|
bool enqueueRefreshOnExit,
|
|
boost::shared_ptr<ConsoleProcess>* ppCP)
|
|
{
|
|
- core::system::ProcessOptions options = procOptions(requiresSsh);
|
|
+ ::core::system::ProcessOptions options = procOptions(requiresSsh);
|
|
if (!workingDir)
|
|
options.workingDir = s_workingDir;
|
|
else if (!workingDir.get().empty())
|
|
@@ -285,8 +285,8 @@
|
|
ppCP);
|
|
}
|
|
|
|
-typedef boost::function<void(const core::Error&,
|
|
- const core::system::ProcessResult&)>
|
|
+typedef boost::function<void(const ::core::Error&,
|
|
+ const ::core::system::ProcessResult&)>
|
|
ProcResultCallback;
|
|
|
|
void onAsyncSvnExit(int exitCode,
|
|
@@ -297,14 +297,14 @@
|
|
{
|
|
// read the file
|
|
std::string contents;
|
|
- Error error = core::readStringFromFile(outputFile, &contents);
|
|
+ Error error = ::core::readStringFromFile(outputFile, &contents);
|
|
if (error)
|
|
{
|
|
- completionCallback(error, core::system::ProcessResult());
|
|
+ completionCallback(error, ::core::system::ProcessResult());
|
|
return;
|
|
}
|
|
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
result.exitStatus = exitCode;
|
|
result.stdOut = contents;
|
|
completionCallback(Success(), result);
|
|
@@ -314,7 +314,7 @@
|
|
completionCallback(
|
|
systemError(boost::system::errc::operation_canceled,
|
|
ERROR_LOCATION),
|
|
- core::system::ProcessResult());
|
|
+ ::core::system::ProcessResult());
|
|
}
|
|
}
|
|
|
|
@@ -338,7 +338,7 @@
|
|
enqueueRefreshOnExit,
|
|
&pCP);
|
|
if (error)
|
|
- completionCallback(error, core::system::ProcessResult());
|
|
+ completionCallback(error, ::core::system::ProcessResult());
|
|
|
|
// set showOnOutput
|
|
pCP->setShowOnOutput(true);
|
|
@@ -448,12 +448,12 @@
|
|
};
|
|
|
|
|
|
-Error runSvnInfo(const core::FilePath& workingDir, SvnInfo* pSvnInfo)
|
|
+Error runSvnInfo(const ::core::FilePath& workingDir, SvnInfo* pSvnInfo)
|
|
{
|
|
if (workingDir.empty())
|
|
return Success();
|
|
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = runSvn(ShellArgs() << "info" << "--xml",
|
|
workingDir,
|
|
true,
|
|
@@ -492,7 +492,7 @@
|
|
return Success();
|
|
}
|
|
|
|
-bool isSvnDirectory(const core::FilePath& workingDir)
|
|
+bool isSvnDirectory(const ::core::FilePath& workingDir)
|
|
{
|
|
return !repositoryRoot(workingDir).empty();
|
|
}
|
|
@@ -669,7 +669,7 @@
|
|
std::transform(files.begin(), files.end(), std::back_inserter(paths),
|
|
&resolveAliasedJsonPath);
|
|
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
error = runSvn(ShellArgs() << "add" << globalArgs() << "-q" << "--" << paths,
|
|
true, &result);
|
|
if (error)
|
|
@@ -694,7 +694,7 @@
|
|
std::transform(files.begin(), files.end(), std::back_inserter(paths),
|
|
&resolveAliasedJsonPath);
|
|
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
error = runSvn(ShellArgs() << "delete" << globalArgs() << "-q" << "--" << paths,
|
|
true, &result);
|
|
if (error)
|
|
@@ -719,7 +719,7 @@
|
|
std::transform(files.begin(), files.end(), std::back_inserter(paths),
|
|
&resolveAliasedJsonPath);
|
|
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
error = runSvn(ShellArgs() << "revert" << globalArgs() << "-q" <<
|
|
"--depth" << "infinity" <<
|
|
"--" << paths,
|
|
@@ -747,7 +747,7 @@
|
|
std::transform(files.begin(), files.end(), std::back_inserter(paths),
|
|
&resolveAliasedJsonPath);
|
|
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
error = runSvn(ShellArgs() << "resolve" << globalArgs() << "-q" <<
|
|
"--accept" << accept <<
|
|
"--" << paths,
|
|
@@ -760,9 +760,9 @@
|
|
return Success();
|
|
}
|
|
|
|
-Error statusToJson(const core::FilePath &path,
|
|
+Error statusToJson(const ::core::FilePath &path,
|
|
const source_control::VCSStatus &status,
|
|
- core::json::Object *pObject)
|
|
+ ::core::json::Object *pObject)
|
|
{
|
|
json::Object& obj = *pObject;
|
|
obj["status"] = status.status();
|
|
@@ -936,7 +936,7 @@
|
|
{
|
|
RefreshOnExit refreshOnExit;
|
|
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = runSvn(ShellArgs() << "cleanup" << globalArgs(),
|
|
true,
|
|
&result);
|
|
@@ -1098,10 +1098,10 @@
|
|
cmd << "-i" << tempFile;
|
|
cmd << filePath;
|
|
|
|
- core::system::ProcessOptions options = procOptions();
|
|
+ ::core::system::ProcessOptions options = procOptions();
|
|
|
|
- core::system::ProcessResult result;
|
|
- error = core::system::runCommand(cmd,
|
|
+ ::core::system::ProcessResult result;
|
|
+ error = ::core::system::runCommand(cmd,
|
|
options,
|
|
&result);
|
|
if (error)
|
|
@@ -1230,7 +1230,7 @@
|
|
|
|
void historyEnd(boost::function<void(Error, const std::string&)> callback,
|
|
const Error& error,
|
|
- const core::system::ProcessResult& result)
|
|
+ const ::core::system::ProcessResult& result)
|
|
{
|
|
if (!error && result.exitStatus != EXIT_SUCCESS && !result.stdErr.empty())
|
|
LOG_ERROR_MESSAGE(result.stdErr);
|
|
@@ -1459,7 +1459,7 @@
|
|
void svnShowEnd(bool noSizeWarning,
|
|
const json::JsonRpcFunctionContinuation& cont,
|
|
Error error,
|
|
- const core::system::ProcessResult& result)
|
|
+ const ::core::system::ProcessResult& result)
|
|
{
|
|
json::JsonRpcResponse response;
|
|
|
|
@@ -1512,7 +1512,7 @@
|
|
|
|
void svnShowFileEnd(const json::JsonRpcFunctionContinuation& cont,
|
|
Error error,
|
|
- const core::system::ProcessResult& result)
|
|
+ const ::core::system::ProcessResult& result)
|
|
{
|
|
json::JsonRpcResponse response;
|
|
|
|
@@ -1550,7 +1550,7 @@
|
|
}
|
|
|
|
Error getIgnores(const FilePath& filePath,
|
|
- core::system::ProcessResult* pResult)
|
|
+ ::core::system::ProcessResult* pResult)
|
|
{
|
|
return runSvn(ShellArgs() << "propget" << "svn:ignore"
|
|
<< filePath << globalArgs(),
|
|
@@ -1569,7 +1569,7 @@
|
|
// resolve path
|
|
FilePath filePath = module_context::resolveAliasedPath(path);
|
|
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
error = getIgnores(filePath, &result);
|
|
if (error)
|
|
return error;
|
|
@@ -1581,11 +1581,11 @@
|
|
|
|
Error setIgnores(const FilePath& filePath,
|
|
const std::string& ignores,
|
|
- core::system::ProcessResult* pResult)
|
|
+ ::core::system::ProcessResult* pResult)
|
|
{
|
|
// write the ignores to a temporary file
|
|
FilePath ignoresFile = module_context::tempFile("svn-ignore", "txt");
|
|
- Error error = core::writeStringToFile(ignoresFile, ignores);
|
|
+ Error error = ::core::writeStringToFile(ignoresFile, ignores);
|
|
if (error)
|
|
return error;
|
|
|
|
@@ -1619,7 +1619,7 @@
|
|
// resolve path
|
|
FilePath filePath = module_context::resolveAliasedPath(path);
|
|
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
error = setIgnores(filePath, ignores, &result);
|
|
if (error)
|
|
return error;
|
|
@@ -1632,7 +1632,7 @@
|
|
Error checkout(const std::string& url,
|
|
const std::string& username,
|
|
const std::string dirName,
|
|
- const core::FilePath& parentPath,
|
|
+ const ::core::FilePath& parentPath,
|
|
boost::shared_ptr<console_process::ConsoleProcess>* ppCP)
|
|
{
|
|
// optional username arg
|
|
@@ -1700,7 +1700,7 @@
|
|
}
|
|
|
|
SvnFileDecorationContext::SvnFileDecorationContext(
|
|
- const core::FilePath& rootDir)
|
|
+ const ::core::FilePath& rootDir)
|
|
{
|
|
using namespace source_control;
|
|
|
|
@@ -1716,8 +1716,8 @@
|
|
{
|
|
}
|
|
|
|
-void SvnFileDecorationContext::decorateFile(const core::FilePath& filePath,
|
|
- core::json::Object* pFileObject)
|
|
+void SvnFileDecorationContext::decorateFile(const ::core::FilePath& filePath,
|
|
+ ::core::json::Object* pFileObject)
|
|
{
|
|
using namespace source_control;
|
|
|
|
@@ -1737,7 +1737,7 @@
|
|
Error augmentSvnIgnore()
|
|
{
|
|
// check for existing svn:ignore
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = getIgnores(s_workingDir, &result);
|
|
if (error)
|
|
return error;
|
|
@@ -1771,7 +1771,7 @@
|
|
}
|
|
|
|
// write back svn:ignore
|
|
- core::system::ProcessResult setResult;
|
|
+ ::core::system::ProcessResult setResult;
|
|
error = setIgnores(s_workingDir, svnIgnore, &setResult);
|
|
if (error)
|
|
return error;
|
|
@@ -1820,7 +1820,7 @@
|
|
return Success();
|
|
}
|
|
|
|
-Error initializeSvn(const core::FilePath& workingDir)
|
|
+Error initializeSvn(const ::core::FilePath& workingDir)
|
|
{
|
|
s_workingDir = workingDir;
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionSVN.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionSVN.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionSVN.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionSVN.hpp 2015-03-08 22:23:10.125943951 +0100
|
|
@@ -38,10 +38,10 @@
|
|
class SvnFileDecorationContext : public source_control::FileDecorationContext
|
|
{
|
|
public:
|
|
- SvnFileDecorationContext(const core::FilePath& rootDir);
|
|
+ SvnFileDecorationContext(const ::core::FilePath& rootDir);
|
|
virtual ~SvnFileDecorationContext();
|
|
- void decorateFile(const core::FilePath& filePath,
|
|
- core::json::Object* pFileObject);
|
|
+ void decorateFile(const ::core::FilePath& filePath,
|
|
+ ::core::json::Object* pFileObject);
|
|
private:
|
|
source_control::StatusResult vcsResult_;
|
|
};
|
|
@@ -50,9 +50,9 @@
|
|
bool isSvnInstalled();
|
|
|
|
// Returns true if the working directory is in a Subversion tree
|
|
-bool isSvnDirectory(const core::FilePath& workingDir);
|
|
+bool isSvnDirectory(const ::core::FilePath& workingDir);
|
|
|
|
-std::string repositoryRoot(const core::FilePath& workingDir);
|
|
+std::string repositoryRoot(const ::core::FilePath& workingDir);
|
|
|
|
bool isSvnEnabled();
|
|
|
|
@@ -63,13 +63,13 @@
|
|
core::Error checkout(const std::string& url,
|
|
const std::string& username,
|
|
const std::string dirName,
|
|
- const core::FilePath& parentPath,
|
|
+ const ::core::FilePath& parentPath,
|
|
boost::shared_ptr<console_process::ConsoleProcess>* ppCP);
|
|
|
|
core::Error initialize();
|
|
|
|
// Initialize SVN with the given working directory
|
|
-core::Error initializeSvn(const core::FilePath& workingDir);
|
|
+core::Error initializeSvn(const ::core::FilePath& workingDir);
|
|
|
|
} // namespace svn
|
|
} // namespace modules
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionUpdates.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionUpdates.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionUpdates.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionUpdates.cpp 2015-03-08 22:23:10.276943976 +0100
|
|
@@ -36,7 +36,7 @@
|
|
namespace updates {
|
|
namespace {
|
|
|
|
-json::Object jsonFromProcessResult(const core::system::ProcessResult& result)
|
|
+json::Object jsonFromProcessResult(const ::core::system::ProcessResult& result)
|
|
{
|
|
json::Object obj;
|
|
std::stringstream output(result.stdOut);
|
|
@@ -57,7 +57,7 @@
|
|
}
|
|
|
|
void beginUpdateCheck(bool manual,
|
|
- const boost::function<void(const core::system::ProcessResult&)>& onCompleted)
|
|
+ const boost::function<void(const ::core::system::ProcessResult&)>& onCompleted)
|
|
{
|
|
// Find the path to R
|
|
FilePath rProgramPath;
|
|
@@ -69,7 +69,7 @@
|
|
|
|
// Find the path to the script we need to source
|
|
FilePath modulesPath = session::options().modulesRSourcePath();;
|
|
- std::string scriptPath = core::string_utils::utf8ToSystem(
|
|
+ std::string scriptPath = ::core::string_utils::utf8ToSystem(
|
|
modulesPath.complete("SessionUpdates.R").absolutePath());
|
|
|
|
// Arguments
|
|
@@ -104,7 +104,7 @@
|
|
args.push_back(cmd);
|
|
|
|
// Set options
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.terminateChildren = true;
|
|
|
|
module_context::processSupervisor().runProgram(rProgramPath.absolutePath(),
|
|
@@ -115,7 +115,7 @@
|
|
}
|
|
|
|
void endRPCUpdateCheck(const json::JsonRpcFunctionContinuation& cont,
|
|
- const core::system::ProcessResult& result)
|
|
+ const ::core::system::ProcessResult& result)
|
|
{
|
|
json::JsonRpcResponse response;
|
|
response.setResult(jsonFromProcessResult(result));
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionVCS.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionVCS.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionVCS.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionVCS.cpp 2015-03-08 22:23:10.328943985 +0100
|
|
@@ -134,7 +134,7 @@
|
|
} // anonymous namespace
|
|
|
|
boost::shared_ptr<FileDecorationContext> fileDecorationContext(
|
|
- const core::FilePath& rootDir)
|
|
+ const ::core::FilePath& rootDir)
|
|
{
|
|
if (git::isGitEnabled())
|
|
{
|
|
@@ -183,9 +183,9 @@
|
|
#if _WIN32
|
|
// On Windows, R's idea of "$HOME" is not, by default, the same as
|
|
// $USERPROFILE, which is what we want for ssh purposes
|
|
- return FilePath(string_utils::systemToUtf8(core::system::getenv("USERPROFILE")));
|
|
+ return FilePath(string_utils::systemToUtf8(::core::system::getenv("USERPROFILE")));
|
|
#else
|
|
- return FilePath(string_utils::systemToUtf8(core::system::getenv("HOME")));
|
|
+ return FilePath(string_utils::systemToUtf8(::core::system::getenv("HOME")));
|
|
#endif
|
|
}
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionVCS.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionVCS.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionVCS.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionVCS.hpp 2015-03-08 22:23:09.983943927 +0100
|
|
@@ -40,7 +40,7 @@
|
|
};
|
|
|
|
boost::shared_ptr<FileDecorationContext> fileDecorationContext(
|
|
- const core::FilePath& rootDir);
|
|
+ const ::core::FilePath& rootDir);
|
|
|
|
VCS activeVCS();
|
|
std::string activeVCSName();
|
|
@@ -52,7 +52,7 @@
|
|
|
|
void enqueueRefreshEvent();
|
|
|
|
-core::Error fileStatus(const core::FilePath& filePath,
|
|
+core::Error fileStatus(const ::core::FilePath& filePath,
|
|
source_control::VCSStatus* pStatus);
|
|
|
|
core::Error initialize();
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/SessionWorkbench.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/SessionWorkbench.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/SessionWorkbench.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/SessionWorkbench.cpp 2015-03-08 22:23:10.154943955 +0100
|
|
@@ -438,15 +438,15 @@
|
|
// non-path git bin dir
|
|
std::string gitBinDir = git::nonPathGitBinDir();
|
|
if (!gitBinDir.empty())
|
|
- core::system::addToPath(pTarget, gitBinDir);
|
|
+ ::core::system::addToPath(pTarget, gitBinDir);
|
|
|
|
// non-path svn bin dir
|
|
std::string svnBinDir = svn::nonPathSvnBinDir();
|
|
if (!svnBinDir.empty())
|
|
- core::system::addToPath(pTarget, svnBinDir);
|
|
+ ::core::system::addToPath(pTarget, svnBinDir);
|
|
|
|
// msys_ssh path
|
|
- core::system::addToPath(pTarget,
|
|
+ ::core::system::addToPath(pTarget,
|
|
session::options().msysSshPath().absolutePath());
|
|
}
|
|
|
|
@@ -508,7 +508,7 @@
|
|
|
|
#ifdef RSTUDIO_SERVER
|
|
// In server mode, passphrases are encrypted
|
|
- using namespace core::system::crypto;
|
|
+ using namespace ::core::system::crypto;
|
|
error = rsaPrivateDecrypt(passphrase, &passphrase);
|
|
if (error)
|
|
return error;
|
|
@@ -555,7 +555,7 @@
|
|
cmd << "-f" << sshKeyPath;
|
|
|
|
// process options
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
|
|
// detach the session so there is no terminal
|
|
#ifndef _WIN32
|
|
@@ -564,22 +564,22 @@
|
|
|
|
// customize the environment on Win32
|
|
#ifdef _WIN32
|
|
- core::system::Options childEnv;
|
|
- core::system::environment(&childEnv);
|
|
+ ::core::system::Options childEnv;
|
|
+ ::core::system::environment(&childEnv);
|
|
|
|
// set HOME to USERPROFILE
|
|
- std::string userProfile = core::system::getenv(childEnv, "USERPROFILE");
|
|
- core::system::setenv(&childEnv, "HOME", userProfile);
|
|
+ std::string userProfile = ::core::system::getenv(childEnv, "USERPROFILE");
|
|
+ ::core::system::setenv(&childEnv, "HOME", userProfile);
|
|
|
|
// add msys_ssh to path
|
|
- core::system::addToPath(&childEnv,
|
|
+ ::core::system::addToPath(&childEnv,
|
|
session::options().msysSshPath().absolutePath());
|
|
|
|
options.environment = childEnv;
|
|
#endif
|
|
|
|
// run it
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
error = runCommand(shell_utils::sendStdErrToStdOut(cmd),
|
|
options,
|
|
&result);
|
|
@@ -610,7 +610,7 @@
|
|
// read file contents
|
|
FilePath filePath(file);
|
|
std::string fileContents;
|
|
- Error error = core::readStringFromFile(filePath, &fileContents);
|
|
+ Error error = ::core::readStringFromFile(filePath, &fileContents);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -643,7 +643,7 @@
|
|
}
|
|
|
|
// write the content back to the file
|
|
- error = core::writeStringToFile(filePath, editedFileContents);
|
|
+ error = ::core::writeStringToFile(filePath, editedFileContents);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -663,36 +663,36 @@
|
|
using namespace session::console_process;
|
|
|
|
// configure environment for shell
|
|
- core::system::Options shellEnv;
|
|
- core::system::environment(&shellEnv);
|
|
+ ::core::system::Options shellEnv;
|
|
+ ::core::system::environment(&shellEnv);
|
|
|
|
// set dumb terminal
|
|
- core::system::setenv(&shellEnv, "TERM", "dumb");
|
|
+ ::core::system::setenv(&shellEnv, "TERM", "dumb");
|
|
|
|
// set prompt
|
|
std::string path = module_context::createAliasedPath(
|
|
module_context::safeCurrentPath());
|
|
std::string prompt = (path.length() > 30) ? "\\W$ " : "\\w$ ";
|
|
- core::system::setenv(&shellEnv, "PS1", prompt);
|
|
+ ::core::system::setenv(&shellEnv, "PS1", prompt);
|
|
|
|
// disable screen oriented facillites
|
|
- core::system::unsetenv(&shellEnv, "EDITOR");
|
|
- core::system::unsetenv(&shellEnv, "VISUAL");
|
|
- core::system::setenv(&shellEnv, "PAGER", "/bin/cat");
|
|
+ ::core::system::unsetenv(&shellEnv, "EDITOR");
|
|
+ ::core::system::unsetenv(&shellEnv, "VISUAL");
|
|
+ ::core::system::setenv(&shellEnv, "PAGER", "/bin/cat");
|
|
|
|
- core::system::setenv(&shellEnv, "GIT_EDITOR", s_editFileCommand);
|
|
- core::system::setenv(&shellEnv, "SVN_EDITOR", s_editFileCommand);
|
|
+ ::core::system::setenv(&shellEnv, "GIT_EDITOR", s_editFileCommand);
|
|
+ ::core::system::setenv(&shellEnv, "SVN_EDITOR", s_editFileCommand);
|
|
|
|
// ammend shell paths as appropriate
|
|
ammendShellPaths(&shellEnv);
|
|
|
|
// set options
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.workingDir = module_context::shellWorkingDirectory();
|
|
options.environment = shellEnv;
|
|
|
|
// configure bash command
|
|
- core::shell_utils::ShellCommand bashCommand("/bin/bash");
|
|
+ ::core::shell_utils::ShellCommand bashCommand("/bin/bash");
|
|
bashCommand << "--norc";
|
|
|
|
// run process
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionCompilePdf.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionCompilePdf.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionCompilePdf.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionCompilePdf.cpp 2015-03-08 22:23:10.214943966 +0100
|
|
@@ -253,7 +253,7 @@
|
|
}
|
|
|
|
// NOTE: sync changes with SessionBuildErrors.cpp compileErrorJson
|
|
-json::Object logEntryJson(const core::tex::LogEntry& logEntry)
|
|
+json::Object logEntryJson(const ::core::tex::LogEntry& logEntry)
|
|
{
|
|
json::Object obj;
|
|
obj["type"] = static_cast<int>(logEntry.type());
|
|
@@ -267,38 +267,38 @@
|
|
return obj;
|
|
}
|
|
|
|
-void showLogEntries(const core::tex::LogEntries& logEntries,
|
|
+void showLogEntries(const ::core::tex::LogEntries& logEntries,
|
|
const rnw_concordance::Concordances& rnwConcordances =
|
|
rnw_concordance::Concordances())
|
|
{
|
|
json::Array logEntriesJson;
|
|
- BOOST_FOREACH(const core::tex::LogEntry& logEntry, logEntries)
|
|
+ BOOST_FOREACH(const ::core::tex::LogEntry& logEntry, logEntries)
|
|
{
|
|
using namespace tex::rnw_concordance;
|
|
- core::tex::LogEntry rnwEntry = rnwConcordances.fixup(logEntry);
|
|
+ ::core::tex::LogEntry rnwEntry = rnwConcordances.fixup(logEntry);
|
|
logEntriesJson.push_back(logEntryJson(rnwEntry));
|
|
}
|
|
|
|
enqueErrorsEvent(logEntriesJson);
|
|
}
|
|
|
|
-void writeLogEntriesOutput(const core::tex::LogEntries& logEntries)
|
|
+void writeLogEntriesOutput(const ::core::tex::LogEntries& logEntries)
|
|
{
|
|
if (logEntries.empty())
|
|
return;
|
|
|
|
std::string output = "\n";
|
|
- BOOST_FOREACH(const core::tex::LogEntry& logEntry, logEntries)
|
|
+ BOOST_FOREACH(const ::core::tex::LogEntry& logEntry, logEntries)
|
|
{
|
|
switch(logEntry.type())
|
|
{
|
|
- case core::tex::LogEntry::Error:
|
|
+ case ::core::tex::LogEntry::Error:
|
|
output += "Error: ";
|
|
break;
|
|
- case core::tex::LogEntry::Warning:
|
|
+ case ::core::tex::LogEntry::Warning:
|
|
output += "Warning: ";
|
|
break;
|
|
- case core::tex::LogEntry::Box:
|
|
+ case ::core::tex::LogEntry::Box:
|
|
output += "Bad Box: ";
|
|
break;
|
|
}
|
|
@@ -317,36 +317,36 @@
|
|
}
|
|
|
|
|
|
-bool includeLogEntry(const core::tex::LogEntry& logEntry)
|
|
+bool includeLogEntry(const ::core::tex::LogEntry& logEntry)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// filter out log entries which we view as superflous or distracting
|
|
-void filterLatexLog(const core::tex::LogEntries& logEntries,
|
|
- core::tex::LogEntries* pFilteredLogEntries)
|
|
+void filterLatexLog(const ::core::tex::LogEntries& logEntries,
|
|
+ ::core::tex::LogEntries* pFilteredLogEntries)
|
|
{
|
|
- core::algorithm::copy_if(logEntries.begin(),
|
|
+ ::core::algorithm::copy_if(logEntries.begin(),
|
|
logEntries.end(),
|
|
std::back_inserter(*pFilteredLogEntries),
|
|
includeLogEntry);
|
|
}
|
|
|
|
-bool isLogEntryFromTargetFile(const core::tex::LogEntry& logEntry,
|
|
+bool isLogEntryFromTargetFile(const ::core::tex::LogEntry& logEntry,
|
|
const FilePath& texPath)
|
|
{
|
|
return logEntry.filePath() == texPath;
|
|
}
|
|
|
|
void getLogEntries(const FilePath& texPath,
|
|
- core::tex::LogEntries* pLogEntries)
|
|
+ ::core::tex::LogEntries* pLogEntries)
|
|
{
|
|
// latex log file
|
|
FilePath logPath = ancillaryFilePath(texPath, ".log");
|
|
if (logPath.exists())
|
|
{
|
|
- core::tex::LogEntries logEntries;
|
|
- Error error = core::tex::parseLatexLog(logPath, &logEntries);
|
|
+ ::core::tex::LogEntries logEntries;
|
|
+ Error error = ::core::tex::parseLatexLog(logPath, &logEntries);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
@@ -360,11 +360,11 @@
|
|
}
|
|
|
|
// bibtex log file
|
|
- core::tex::LogEntries bibtexLogEntries;
|
|
+ ::core::tex::LogEntries bibtexLogEntries;
|
|
logPath = ancillaryFilePath(texPath, ".blg");
|
|
if (logPath.exists())
|
|
{
|
|
- Error error = core::tex::parseBibtexLog(logPath, &bibtexLogEntries);
|
|
+ Error error = ::core::tex::parseBibtexLog(logPath, &bibtexLogEntries);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -391,20 +391,20 @@
|
|
removeExistingAncillary(texFilePath, ".synctex.gz");
|
|
}
|
|
|
|
-std::string buildIssuesMessage(const core::tex::LogEntries& logEntries)
|
|
+std::string buildIssuesMessage(const ::core::tex::LogEntries& logEntries)
|
|
{
|
|
if (logEntries.empty())
|
|
return std::string();
|
|
|
|
// count error types
|
|
int errors = 0, warnings = 0, badBoxes = 0;
|
|
- BOOST_FOREACH(const core::tex::LogEntry& logEntry, logEntries)
|
|
+ BOOST_FOREACH(const ::core::tex::LogEntry& logEntry, logEntries)
|
|
{
|
|
- if (logEntry.type() == core::tex::LogEntry::Error)
|
|
+ if (logEntry.type() == ::core::tex::LogEntry::Error)
|
|
errors++;
|
|
- else if (logEntry.type() == core::tex::LogEntry::Warning)
|
|
+ else if (logEntry.type() == ::core::tex::LogEntry::Warning)
|
|
warnings++;
|
|
- else if (logEntry.type() == core::tex::LogEntry::Box)
|
|
+ else if (logEntry.type() == ::core::tex::LogEntry::Box)
|
|
badBoxes++;
|
|
}
|
|
|
|
@@ -472,9 +472,9 @@
|
|
}
|
|
|
|
void preserveLogReferencedFiles(
|
|
- const core::tex::LogEntries& logEntries)
|
|
+ const ::core::tex::LogEntries& logEntries)
|
|
{
|
|
- BOOST_FOREACH(const core::tex::LogEntry& logEntry, logEntries)
|
|
+ BOOST_FOREACH(const ::core::tex::LogEntry& logEntry, logEntries)
|
|
{
|
|
logRefFiles_.insert(logEntry.filePath());
|
|
}
|
|
@@ -562,7 +562,7 @@
|
|
{
|
|
if (targetFilePath_.exists())
|
|
{
|
|
- Error error = core::system::realPath(targetFilePath_, &targetFilePath_);
|
|
+ Error error = ::core::system::realPath(targetFilePath_, &targetFilePath_);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -591,7 +591,7 @@
|
|
}
|
|
|
|
// parse magic comments
|
|
- Error error = core::tex::parseMagicComments(targetFilePath_,
|
|
+ Error error = ::core::tex::parseMagicComments(targetFilePath_,
|
|
&magicComments_);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
@@ -654,12 +654,12 @@
|
|
options.shellEscape = userSettings().enableLaTeXShellEscape();
|
|
|
|
// get back-end version info
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runProgram(
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runProgram(
|
|
string_utils::utf8ToSystem(texProgramPath_.absolutePath()),
|
|
- core::shell_utils::ShellArgs() << "--version",
|
|
+ ::core::shell_utils::ShellArgs() << "--version",
|
|
"",
|
|
- core::system::ProcessOptions(),
|
|
+ ::core::system::ProcessOptions(),
|
|
&result);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
@@ -724,7 +724,7 @@
|
|
const rnw_concordance::Concordances& concords)
|
|
{
|
|
// collect errors from the log
|
|
- core::tex::LogEntries logEntries;
|
|
+ ::core::tex::LogEntries logEntries;
|
|
getLogEntries(texFilePath, &logEntries);
|
|
|
|
// determine whether they will be shown in the list
|
|
@@ -797,7 +797,7 @@
|
|
enqueCompletedWithFailureEvent(targetFilePath_, sourceLocation_);
|
|
}
|
|
|
|
- void terminateWithErrorLogEntries(const core::tex::LogEntries& logEntries)
|
|
+ void terminateWithErrorLogEntries(const ::core::tex::LogEntries& logEntries)
|
|
{
|
|
showLogEntries(logEntries);
|
|
enqueCompletedWithFailureEvent(targetFilePath_, sourceLocation_);
|
|
@@ -813,7 +813,7 @@
|
|
std::string encoding_;
|
|
json::Object sourceLocation_;
|
|
const boost::function<void()> onCompleted_;
|
|
- core::tex::TexMagicComments magicComments_;
|
|
+ ::core::tex::TexMagicComments magicComments_;
|
|
FilePath texProgramPath_;
|
|
AuxillaryFileCleanupContext auxillaryFileCleanupContext_;
|
|
};
|
|
@@ -822,7 +822,7 @@
|
|
} // anonymous namespace
|
|
|
|
|
|
-bool startCompile(const core::FilePath& targetFilePath,
|
|
+bool startCompile(const ::core::FilePath& targetFilePath,
|
|
const std::string& encoding,
|
|
const json::Object& sourceLocation,
|
|
const boost::function<void()>& onCompleted)
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionCompilePdf.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionCompilePdf.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionCompilePdf.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionCompilePdf.hpp 2015-03-08 22:23:10.192943962 +0100
|
|
@@ -30,9 +30,9 @@
|
|
namespace tex {
|
|
namespace compile_pdf {
|
|
|
|
-bool startCompile(const core::FilePath& targetFilePath,
|
|
+bool startCompile(const ::core::FilePath& targetFilePath,
|
|
const std::string& encoding,
|
|
- const core::json::Object& sourceLocation,
|
|
+ const ::core::json::Object& sourceLocation,
|
|
const boost::function<void()>& onCompleted);
|
|
|
|
bool compileIsRunning();
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionCompilePdfSupervisor.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionCompilePdfSupervisor.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionCompilePdfSupervisor.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionCompilePdfSupervisor.cpp 2015-03-08 22:23:10.190943962 +0100
|
|
@@ -110,10 +110,10 @@
|
|
}
|
|
}
|
|
|
|
-Error runProgram(const core::FilePath& programFilePath,
|
|
+Error runProgram(const ::core::FilePath& programFilePath,
|
|
const std::vector<std::string>& args,
|
|
- const core::system::Options& extraEnvVars,
|
|
- const core::FilePath& workingDir,
|
|
+ const ::core::system::Options& extraEnvVars,
|
|
+ const ::core::FilePath& workingDir,
|
|
const boost::function<void(const std::string&)>& onOutput,
|
|
const boost::function<void(int,const std::string&)>& onExited)
|
|
{
|
|
@@ -122,17 +122,17 @@
|
|
programFilePath.absolutePath());
|
|
|
|
// setup options
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.terminateChildren = true;
|
|
options.redirectStdErrToStdOut = true;
|
|
- core::system::Options env;
|
|
- core::system::getModifiedEnv(extraEnvVars, &env);
|
|
+ ::core::system::Options env;
|
|
+ ::core::system::getModifiedEnv(extraEnvVars, &env);
|
|
options.environment = env;
|
|
options.workingDir = workingDir;
|
|
|
|
// setup callbacks
|
|
boost::shared_ptr<CB> pCB(new CB(onOutput, onExited));
|
|
- core::system::ProcessCallbacks cb;
|
|
+ ::core::system::ProcessCallbacks cb;
|
|
cb.onStdout = cb.onStderr = boost::bind(&CB::onOutput, pCB, _2);
|
|
cb.onExit = boost::bind(&CB::onExit, pCB, _1);
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionCompilePdfSupervisor.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionCompilePdfSupervisor.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionCompilePdfSupervisor.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionCompilePdfSupervisor.hpp 2015-03-08 22:23:10.185943961 +0100
|
|
@@ -41,10 +41,10 @@
|
|
bool hasRunningChildren();
|
|
core::Error terminateAll(const boost::posix_time::time_duration& waitDuration);
|
|
|
|
-core::Error runProgram(const core::FilePath& programFilePath,
|
|
+core::Error runProgram(const ::core::FilePath& programFilePath,
|
|
const std::vector<std::string>& args,
|
|
- const core::system::Options& extraEnvVars,
|
|
- const core::FilePath& workingDir,
|
|
+ const ::core::system::Options& extraEnvVars,
|
|
+ const ::core::FilePath& workingDir,
|
|
const boost::function<void(const std::string&)>& onOutput,
|
|
const boost::function<void(int,const std::string&)>& onExited);
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionPdfLatex.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionPdfLatex.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionPdfLatex.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionPdfLatex.cpp 2015-03-08 22:23:10.178943960 +0100
|
|
@@ -104,9 +104,9 @@
|
|
}
|
|
|
|
std::string latexProgramMagicComment(
|
|
- const core::tex::TexMagicComments& magicComments)
|
|
+ const ::core::tex::TexMagicComments& magicComments)
|
|
{
|
|
- BOOST_FOREACH(const core::tex::TexMagicComment& mc, magicComments)
|
|
+ BOOST_FOREACH(const ::core::tex::TexMagicComment& mc, magicComments)
|
|
{
|
|
if (boost::algorithm::iequals(mc.scope(), "tex") &&
|
|
(boost::algorithm::iequals(mc.variable(), "program") ||
|
|
@@ -199,7 +199,7 @@
|
|
|
|
FilePath programPath(const std::string& name, const std::string& envOverride)
|
|
{
|
|
- std::string envProgram = core::system::getenv(envOverride);
|
|
+ std::string envProgram = ::core::system::getenv(envOverride);
|
|
std::string program = envProgram.empty() ? name : envProgram;
|
|
return module_context::findProgram(program);
|
|
}
|
|
@@ -216,7 +216,7 @@
|
|
{
|
|
// read the log file
|
|
std::vector<std::string> lines;
|
|
- Error error = core::readStringVectorFromFile(logFilePath, &lines);
|
|
+ Error error = ::core::readStringVectorFromFile(logFilePath, &lines);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -234,7 +234,7 @@
|
|
bool logIncludesRerun(const FilePath& logFilePath)
|
|
{
|
|
std::string logContents;
|
|
- Error error = core::readStringFromFile(logFilePath, &logContents);
|
|
+ Error error = ::core::readStringFromFile(logFilePath, &logContents);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -264,13 +264,13 @@
|
|
}
|
|
|
|
|
|
-bool latexProgramForFile(const core::tex::TexMagicComments& magicComments,
|
|
+bool latexProgramForFile(const ::core::tex::TexMagicComments& magicComments,
|
|
FilePath* pTexProgramPath,
|
|
std::string* pUserErrMsg)
|
|
{
|
|
// get (optional) magic comments and environment variable override
|
|
std::string latexProgramMC = latexProgramMagicComment(magicComments);
|
|
- std::string pdflatexEnv = core::system::getenv("RSTUDIO_PDFLATEX");
|
|
+ std::string pdflatexEnv = ::core::system::getenv("RSTUDIO_PDFLATEX");
|
|
|
|
// magic comment always takes highest priority
|
|
if (!latexProgramMC.empty())
|
|
@@ -349,10 +349,10 @@
|
|
// tools::texi2dvi function (but the regex for detecting citation
|
|
// warnings was made a bit more liberal)
|
|
//
|
|
-core::Error texToPdf(const core::FilePath& texProgramPath,
|
|
- const core::FilePath& texFilePath,
|
|
+core::Error texToPdf(const ::core::FilePath& texProgramPath,
|
|
+ const ::core::FilePath& texFilePath,
|
|
const tex::pdflatex::PdfLatexOptions& options,
|
|
- core::system::ProcessResult* pResult)
|
|
+ ::core::system::ProcessResult* pResult)
|
|
{
|
|
// input file paths
|
|
FilePath baseFilePath = texFilePath.parent().complete(texFilePath.stem());
|
|
@@ -364,11 +364,11 @@
|
|
FilePath makeindexProgramPath = programPath("makeindex", "MAKEINDEX");
|
|
|
|
// args and process options for running bibtex and makeindex
|
|
- core::shell_utils::ShellArgs bibtexArgs;
|
|
+ ::core::shell_utils::ShellArgs bibtexArgs;
|
|
bibtexArgs << string_utils::utf8ToSystem(baseFilePath.filename());
|
|
- core::shell_utils::ShellArgs makeindexArgs;
|
|
+ ::core::shell_utils::ShellArgs makeindexArgs;
|
|
makeindexArgs << string_utils::utf8ToSystem(idxFilePath.filename());
|
|
- core::system::ProcessOptions procOptions;
|
|
+ ::core::system::ProcessOptions procOptions;
|
|
procOptions.environment = utils::rTexInputsEnvVars();
|
|
procOptions.workingDir = texFilePath.parent();
|
|
|
|
@@ -391,8 +391,8 @@
|
|
// run bibtex if necessary
|
|
if (misses > 0 && !bibtexProgramPath.empty())
|
|
{
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runProgram(
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runProgram(
|
|
string_utils::utf8ToSystem(bibtexProgramPath.absolutePath()),
|
|
bibtexArgs,
|
|
"",
|
|
@@ -408,7 +408,7 @@
|
|
// run makeindex if necessary
|
|
if (idxFilePath.exists() && !makeindexProgramPath.empty())
|
|
{
|
|
- Error error = core::system::runProgram(
|
|
+ Error error = ::core::system::runProgram(
|
|
string_utils::utf8ToSystem(makeindexProgramPath.absolutePath()),
|
|
makeindexArgs,
|
|
"",
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionPdfLatex.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionPdfLatex.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionPdfLatex.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionPdfLatex.hpp 2015-03-08 22:23:10.187943961 +0100
|
|
@@ -68,17 +68,17 @@
|
|
std::string versionInfo;
|
|
};
|
|
|
|
-core::Error texToPdf(const core::FilePath& texProgramPath,
|
|
- const core::FilePath& texFilePath,
|
|
+core::Error texToPdf(const ::core::FilePath& texProgramPath,
|
|
+ const ::core::FilePath& texFilePath,
|
|
const tex::pdflatex::PdfLatexOptions& options,
|
|
- core::system::ProcessResult* pResult);
|
|
+ ::core::system::ProcessResult* pResult);
|
|
|
|
bool isInstalled();
|
|
|
|
core::json::Array supportedTypes();
|
|
|
|
-bool latexProgramForFile(const core::tex::TexMagicComments& magicComments,
|
|
- core::FilePath* pTexProgramPath,
|
|
+bool latexProgramForFile(const ::core::tex::TexMagicComments& magicComments,
|
|
+ ::core::FilePath* pTexProgramPath,
|
|
std::string* pUserErrMsg);
|
|
|
|
} // namespace pdflatex
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionRnwConcordance.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionRnwConcordance.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionRnwConcordance.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionRnwConcordance.cpp 2015-03-08 22:23:10.173943959 +0100
|
|
@@ -118,8 +118,8 @@
|
|
return badFormatError(sourceFile, "sections", ERROR_LOCATION);
|
|
|
|
// get input and output file names
|
|
- outputFile_ = baseDir.complete(core::tex::normalizeSynctexName(sections[1]));
|
|
- inputFile_ = baseDir.complete(core::tex::normalizeSynctexName(sections[2]));
|
|
+ outputFile_ = baseDir.complete(::core::tex::normalizeSynctexName(sections[1]));
|
|
+ inputFile_ = baseDir.complete(::core::tex::normalizeSynctexName(sections[2]));
|
|
|
|
// get offset and values
|
|
std::string valuesSection;
|
|
@@ -310,7 +310,7 @@
|
|
{
|
|
if (what[i].matched)
|
|
{
|
|
- int inputLine = core::safe_convert::stringTo<int>(what[i], 1);
|
|
+ int inputLine = ::core::safe_convert::stringTo<int>(what[i], 1);
|
|
FileAndLine dest = concordances.rnwLine(
|
|
FileAndLine(sourceFile, inputLine));
|
|
if (!dest.empty())
|
|
@@ -325,7 +325,7 @@
|
|
return result;
|
|
}
|
|
|
|
-core::tex::LogEntry Concordances::fixup(const core::tex::LogEntry &entry,
|
|
+core::tex::LogEntry Concordances::fixup(const ::core::tex::LogEntry &entry,
|
|
bool *pSuccess) const
|
|
{
|
|
// Error messages themselves can (and usually do) contain line numbers.
|
|
@@ -344,7 +344,7 @@
|
|
if (pSuccess)
|
|
*pSuccess = true;
|
|
|
|
- return core::tex::LogEntry(entry.logFilePath(),
|
|
+ return ::core::tex::LogEntry(entry.logFilePath(),
|
|
entry.logLine(),
|
|
entry.type(),
|
|
mapped.filePath(),
|
|
@@ -359,7 +359,7 @@
|
|
}
|
|
}
|
|
|
|
-void removePrevious(const core::FilePath& rnwFile)
|
|
+void removePrevious(const ::core::FilePath& rnwFile)
|
|
{
|
|
Error error = concordanceFilePath(rnwFile).removeIfExists();
|
|
if (error)
|
|
@@ -367,7 +367,7 @@
|
|
}
|
|
|
|
|
|
-Error readIfExists(const core::FilePath& srcFile, Concordances* pConcordances)
|
|
+Error readIfExists(const ::core::FilePath& srcFile, Concordances* pConcordances)
|
|
{
|
|
// return success if the file doesn't exist
|
|
FilePath concordanceFile = concordanceFilePath(srcFile);
|
|
@@ -376,7 +376,7 @@
|
|
|
|
// read the file
|
|
std::string contents;
|
|
- Error error = core::readStringFromFile(concordanceFile,
|
|
+ Error error = ::core::readStringFromFile(concordanceFile,
|
|
&contents,
|
|
string_utils::LineEndingPosix);
|
|
if (error)
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionRnwConcordance.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionRnwConcordance.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionRnwConcordance.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionRnwConcordance.hpp 2015-03-08 22:23:10.183943961 +0100
|
|
@@ -45,9 +45,9 @@
|
|
// COPYING: via compiler
|
|
|
|
// create by parsing a concordance file
|
|
- core::Error parse(const core::FilePath& sourceFile,
|
|
+ ::core::Error parse(const ::core::FilePath& sourceFile,
|
|
const std::string& input,
|
|
- const core::FilePath& baseDir);
|
|
+ const ::core::FilePath& baseDir);
|
|
|
|
// append another concordance to this concordance (assumes they have
|
|
// the same input and output file and they originate from a common
|
|
@@ -56,9 +56,9 @@
|
|
|
|
bool empty() const { return mapping_.empty(); }
|
|
|
|
- const core::FilePath& outputFile() const { return outputFile_; }
|
|
+ const ::core::FilePath& outputFile() const { return outputFile_; }
|
|
|
|
- const core::FilePath& inputFile() const { return inputFile_; }
|
|
+ const ::core::FilePath& inputFile() const { return inputFile_; }
|
|
|
|
std::size_t offset() const { return offset_; }
|
|
|
|
@@ -73,7 +73,7 @@
|
|
texLine -= offset_;
|
|
|
|
// return the mapping (but return -1 if it is out of range)
|
|
- int mappingSize = core::safe_convert::numberTo<int>(mapping_.size(), 0);
|
|
+ int mappingSize = ::core::safe_convert::numberTo<int>(mapping_.size(), 0);
|
|
if (texLine >= 0 && texLine < mappingSize)
|
|
return mapping_[texLine];
|
|
else
|
|
@@ -112,8 +112,8 @@
|
|
}
|
|
|
|
private:
|
|
- core::FilePath outputFile_;
|
|
- core::FilePath inputFile_;
|
|
+ ::core::FilePath outputFile_;
|
|
+ ::core::FilePath inputFile_;
|
|
std::size_t offset_;
|
|
std::vector<int> mapping_;
|
|
};
|
|
@@ -126,7 +126,7 @@
|
|
{
|
|
}
|
|
|
|
- FileAndLine(const core::FilePath& filePath, int line)
|
|
+ FileAndLine(const ::core::FilePath& filePath, int line)
|
|
: filePath_(filePath), line_(line)
|
|
{
|
|
}
|
|
@@ -135,11 +135,11 @@
|
|
|
|
bool empty() const { return filePath_.empty(); }
|
|
|
|
- const core::FilePath& filePath() const { return filePath_; }
|
|
+ const ::core::FilePath& filePath() const { return filePath_; }
|
|
int line() const { return line_; }
|
|
|
|
private:
|
|
- core::FilePath filePath_;
|
|
+ ::core::FilePath filePath_;
|
|
int line_;
|
|
};
|
|
|
|
@@ -162,16 +162,16 @@
|
|
FileAndLine rnwLine(const FileAndLine& texLine) const;
|
|
FileAndLine texLine(const FileAndLine& rnwLine) const;
|
|
|
|
- core::tex::LogEntry fixup(const core::tex::LogEntry& entry,
|
|
+ ::core::tex::LogEntry fixup(const ::core::tex::LogEntry& entry,
|
|
bool* pSuccess=NULL) const;
|
|
|
|
private:
|
|
std::vector<Concordance> concordances_;
|
|
};
|
|
|
|
-void removePrevious(const core::FilePath& rnwFile);
|
|
+void removePrevious(const ::core::FilePath& rnwFile);
|
|
|
|
-core::Error readIfExists(const core::FilePath& srcFile,
|
|
+core::Error readIfExists(const ::core::FilePath& srcFile,
|
|
Concordances* pConcordances);
|
|
|
|
} // namespace rnw_concordance
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionRnwWeave.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionRnwWeave.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionRnwWeave.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionRnwWeave.cpp 2015-03-08 22:23:10.202943964 +0100
|
|
@@ -88,11 +88,11 @@
|
|
|
|
virtual bool isInstalled() const = 0;
|
|
|
|
- virtual core::json::Value chunkOptions() const = 0;
|
|
+ virtual ::core::json::Value chunkOptions() const = 0;
|
|
|
|
// tangle the passed file (note that the implementation can assume
|
|
// that the working directory is already set to that of the file)
|
|
- virtual core::Error tangle(const std::string& file) = 0;
|
|
+ virtual ::core::Error tangle(const std::string& file) = 0;
|
|
|
|
virtual std::vector<std::string> commandArgs(
|
|
const std::string& file,
|
|
@@ -112,17 +112,17 @@
|
|
virtual std::string weaveCommand(const std::string& file,
|
|
const std::string& encoding) const = 0;
|
|
|
|
- virtual core::Error parseOutputForErrors(
|
|
+ virtual ::core::Error parseOutputForErrors(
|
|
const std::string& output,
|
|
- const core::FilePath& rnwFilePath,
|
|
- core::tex::LogEntries* pLogEntries) const
|
|
+ const ::core::FilePath& rnwFilePath,
|
|
+ ::core::tex::LogEntries* pLogEntries) const
|
|
{
|
|
// split into lines so we can determine the line numbers for the chunks
|
|
// NOTE: will need to read this using global/project encoding if we
|
|
// want to look for text outside of theh orignal error parsing
|
|
// scenario (which only required ascii)
|
|
std::string rnwContents;
|
|
- Error error = core::readStringFromFile(rnwFilePath, &rnwContents);
|
|
+ Error error = ::core::readStringFromFile(rnwFilePath, &rnwContents);
|
|
if (error)
|
|
return error;
|
|
std::vector<std::string> lines;
|
|
@@ -145,14 +145,14 @@
|
|
{
|
|
std::string match1(match[1]);
|
|
std::string match2(match[2]);
|
|
- std::size_t chunk = core::safe_convert::stringTo<int>(match1, 0);
|
|
+ std::size_t chunk = ::core::safe_convert::stringTo<int>(match1, 0);
|
|
std::string msg = boost::algorithm::trim_copy(match2);
|
|
if (chunk > 0 && chunk <= chunkLineNumbers.size())
|
|
{
|
|
boost::format fmt("(chunk %1%) %2%");
|
|
- core::tex::LogEntry logEntry(FilePath(),
|
|
+ ::core::tex::LogEntry logEntry(FilePath(),
|
|
-1,
|
|
- core::tex::LogEntry::Error,
|
|
+ ::core::tex::LogEntry::Error,
|
|
rnwFilePath,
|
|
chunkLineNumbers[chunk-1],
|
|
boost::str(fmt % chunk % msg));
|
|
@@ -164,7 +164,7 @@
|
|
}
|
|
|
|
protected:
|
|
- core::json::Value chunkOptions(const std::string& chunkFunction) const
|
|
+ ::core::json::Value chunkOptions(const std::string& chunkFunction) const
|
|
{
|
|
SEXP optionsSEXP;
|
|
r::sexp::Protect rProtect;
|
|
@@ -176,7 +176,7 @@
|
|
return json::Value();
|
|
}
|
|
|
|
- core::json::Value optionsJson;
|
|
+ ::core::json::Value optionsJson;
|
|
error = r::json::jsonValueFromList(optionsSEXP, &optionsJson);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
@@ -205,12 +205,12 @@
|
|
|
|
virtual bool forceEchoOnExec() const { return false; }
|
|
|
|
- virtual core::json::Value chunkOptions() const
|
|
+ virtual ::core::json::Value chunkOptions() const
|
|
{
|
|
return RnwWeave::chunkOptions(".rs.sweaveChunkOptions");
|
|
}
|
|
|
|
- virtual core::Error tangle(const std::string& file)
|
|
+ virtual ::core::Error tangle(const std::string& file)
|
|
{
|
|
return r::exec::RFunction("utils:::Stangle", file).call();
|
|
}
|
|
@@ -266,10 +266,10 @@
|
|
return cmd;
|
|
}
|
|
|
|
- virtual core::Error parseOutputForErrors(
|
|
+ virtual ::core::Error parseOutputForErrors(
|
|
const std::string& output,
|
|
- const core::FilePath& rnwFilePath,
|
|
- core::tex::LogEntries* pLogEntries) const
|
|
+ const ::core::FilePath& rnwFilePath,
|
|
+ ::core::tex::LogEntries* pLogEntries) const
|
|
{
|
|
// older error style
|
|
boost::regex errRe("^\\s*Quitting from lines ([0-9]+)-([0-9]+): "
|
|
@@ -296,9 +296,9 @@
|
|
message = match[2];
|
|
}
|
|
|
|
- core::tex::LogEntry logEntry(FilePath(),
|
|
+ ::core::tex::LogEntry logEntry(FilePath(),
|
|
-1,
|
|
- core::tex::LogEntry::Error,
|
|
+ ::core::tex::LogEntry::Error,
|
|
rnwFilePath,
|
|
lineBegin,
|
|
message);
|
|
@@ -311,9 +311,9 @@
|
|
int lineBegin = safe_convert::stringTo<int>(match[1], -1);
|
|
std::string message = match[4];
|
|
|
|
- core::tex::LogEntry logEntry(FilePath(),
|
|
+ ::core::tex::LogEntry logEntry(FilePath(),
|
|
-1,
|
|
- core::tex::LogEntry::Error,
|
|
+ ::core::tex::LogEntry::Error,
|
|
rnwFilePath,
|
|
lineBegin,
|
|
message);
|
|
@@ -323,7 +323,7 @@
|
|
return Success();
|
|
}
|
|
|
|
- virtual core::json::Value chunkOptions() const
|
|
+ virtual ::core::json::Value chunkOptions() const
|
|
{
|
|
if (isInstalled())
|
|
return RnwWeave::chunkOptions(".rs.knitrChunkOptions");
|
|
@@ -331,7 +331,7 @@
|
|
return json::Value();
|
|
}
|
|
|
|
- virtual core::Error tangle(const std::string& file)
|
|
+ virtual ::core::Error tangle(const std::string& file)
|
|
{
|
|
r::session::utils::SuppressOutputInScope suppressOutput;
|
|
r::exec::RFunction purlFunc("knitr:::purl");
|
|
@@ -396,10 +396,10 @@
|
|
return instance;
|
|
}
|
|
|
|
-std::string weaveTypeForFile(const core::tex::TexMagicComments& magicComments)
|
|
+std::string weaveTypeForFile(const ::core::tex::TexMagicComments& magicComments)
|
|
{
|
|
// first see if the file contains an rnw weave magic comment
|
|
- BOOST_FOREACH(const core::tex::TexMagicComment& mc, magicComments)
|
|
+ BOOST_FOREACH(const ::core::tex::TexMagicComment& mc, magicComments)
|
|
{
|
|
if (boost::algorithm::iequals(mc.scope(), "rnw") &&
|
|
boost::algorithm::iequals(mc.variable(), "weave"))
|
|
@@ -436,7 +436,7 @@
|
|
else
|
|
{
|
|
// parse for errors
|
|
- core::tex::LogEntries entries;
|
|
+ ::core::tex::LogEntries entries;
|
|
Error error = pRnwWeave->parseOutputForErrors(output, rnwPath, &entries);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
@@ -473,9 +473,9 @@
|
|
}
|
|
}
|
|
|
|
-void runWeave(const core::FilePath& rnwPath,
|
|
+void runWeave(const ::core::FilePath& rnwPath,
|
|
const std::string& encoding,
|
|
- const core::tex::TexMagicComments& magicComments,
|
|
+ const ::core::tex::TexMagicComments& magicComments,
|
|
const boost::function<void(const std::string&)>& onOutput,
|
|
const CompletedFunction& onCompleted)
|
|
{
|
|
@@ -515,7 +515,7 @@
|
|
Error error = compile_pdf_supervisor::runProgram(
|
|
rBinPath,
|
|
args,
|
|
- core::system::Options(),
|
|
+ ::core::system::Options(),
|
|
rnwPath.parent(),
|
|
onOutput,
|
|
boost::bind(onWeaveProcessExit,
|
|
@@ -541,7 +541,7 @@
|
|
if (pRnwWeave)
|
|
return pRnwWeave->chunkOptions();
|
|
else
|
|
- return core::json::Value();
|
|
+ return ::core::json::Value();
|
|
}
|
|
|
|
core::json::Array supportedTypes()
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionRnwWeave.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionRnwWeave.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionRnwWeave.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionRnwWeave.hpp 2015-03-08 22:23:10.204943964 +0100
|
|
@@ -37,7 +37,7 @@
|
|
namespace rnw_weave {
|
|
|
|
core::json::Array supportedTypes();
|
|
-void getTypesInstalledStatus(core::json::Object* pObj);
|
|
+void getTypesInstalledStatus(::core::json::Object* pObj);
|
|
|
|
core::json::Value chunkOptions(const std::string& weaveType);
|
|
|
|
@@ -51,7 +51,7 @@
|
|
return result;
|
|
}
|
|
|
|
- static Result error(const core::tex::LogEntries& logEntries)
|
|
+ static Result error(const ::core::tex::LogEntries& logEntries)
|
|
{
|
|
Result result;
|
|
result.succeeded = false;
|
|
@@ -70,7 +70,7 @@
|
|
|
|
bool succeeded;
|
|
std::string errorMessage;
|
|
- core::tex::LogEntries errorLogEntries;
|
|
+ ::core::tex::LogEntries errorLogEntries;
|
|
tex::rnw_concordance::Concordances concordances;
|
|
};
|
|
|
|
@@ -78,9 +78,9 @@
|
|
|
|
void runTangle(const std::string& filePath, const std::string& rnwWeave);
|
|
|
|
-void runWeave(const core::FilePath& filePath,
|
|
+void runWeave(const ::core::FilePath& filePath,
|
|
const std::string& encoding,
|
|
- const core::tex::TexMagicComments& magicComments,
|
|
+ const ::core::tex::TexMagicComments& magicComments,
|
|
const boost::function<void(const std::string&)>& onOutput,
|
|
const CompletedFunction& onCompleted);
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionSynctex.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionSynctex.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionSynctex.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionSynctex.cpp 2015-03-08 22:23:10.198943963 +0100
|
|
@@ -38,7 +38,7 @@
|
|
namespace {
|
|
|
|
json::Value toJson(const FilePath& pdfFile,
|
|
- const core::tex::PdfLocation& pdfLoc,
|
|
+ const ::core::tex::PdfLocation& pdfLoc,
|
|
bool fromClick)
|
|
{
|
|
if (!pdfLoc.empty())
|
|
@@ -59,7 +59,7 @@
|
|
}
|
|
}
|
|
|
|
-json::Value toJson(const core::tex::SourceLocation& srcLoc)
|
|
+json::Value toJson(const ::core::tex::SourceLocation& srcLoc)
|
|
{
|
|
if (!srcLoc.empty())
|
|
{
|
|
@@ -76,7 +76,7 @@
|
|
}
|
|
|
|
void applyForwardConcordance(const FilePath& mainFile,
|
|
- core::tex::SourceLocation* pLoc)
|
|
+ ::core::tex::SourceLocation* pLoc)
|
|
{
|
|
// skip if this isn't an Rnw
|
|
if (pLoc->file().extensionLowerCase() != ".rnw")
|
|
@@ -97,14 +97,14 @@
|
|
pLoc->line()));
|
|
if (!texLine.empty())
|
|
{
|
|
- *pLoc = core::tex::SourceLocation(texLine.filePath(),
|
|
+ *pLoc = ::core::tex::SourceLocation(texLine.filePath(),
|
|
texLine.line(),
|
|
pLoc->column());
|
|
}
|
|
}
|
|
|
|
|
|
-json::Object sourceLocationAsJson(const core::tex::SourceLocation& srcLoc,
|
|
+json::Object sourceLocationAsJson(const ::core::tex::SourceLocation& srcLoc,
|
|
bool fromClick)
|
|
{
|
|
json::Object sourceLocation;
|
|
@@ -140,7 +140,7 @@
|
|
}
|
|
|
|
|
|
-void applyInverseConcordance(core::tex::SourceLocation* pLoc)
|
|
+void applyInverseConcordance(::core::tex::SourceLocation* pLoc)
|
|
{
|
|
// try to read concordance
|
|
using namespace tex::rnw_concordance;
|
|
@@ -157,7 +157,7 @@
|
|
pLoc->line()));
|
|
if (!rnwLine.empty())
|
|
{
|
|
- *pLoc = core::tex::SourceLocation(rnwLine.filePath(),
|
|
+ *pLoc = ::core::tex::SourceLocation(rnwLine.filePath(),
|
|
rnwLine.line(),
|
|
pLoc->column());
|
|
}
|
|
@@ -189,7 +189,7 @@
|
|
|
|
FilePath srcPath = module_context::resolveAliasedPath(file);
|
|
|
|
- core::tex::SourceLocation srcLoc(srcPath, line, column);
|
|
+ ::core::tex::SourceLocation srcLoc(srcPath, line, column);
|
|
|
|
applyForwardConcordance(rootDocPath, &srcLoc);
|
|
|
|
@@ -215,7 +215,7 @@
|
|
return error;
|
|
FilePath srcPath = module_context::resolveAliasedPath(file);
|
|
|
|
- core::tex::SourceLocation srcLoc(srcPath, line, column);
|
|
+ ::core::tex::SourceLocation srcLoc(srcPath, line, column);
|
|
|
|
applyInverseConcordance(&srcLoc);
|
|
|
|
@@ -244,7 +244,7 @@
|
|
return error;
|
|
FilePath pdfPath = module_context::resolveAliasedPath(file);
|
|
|
|
- core::tex::Synctex synctex;
|
|
+ ::core::tex::Synctex synctex;
|
|
if (synctex.parse(pdfPath))
|
|
{
|
|
if (!fromClick)
|
|
@@ -253,14 +253,14 @@
|
|
// the passed x and y coordinates since they represent the
|
|
// top of the user-visible content (in case the page is
|
|
// scrolled down from the top)
|
|
- core::tex::PdfLocation contLoc = synctex.topOfPageContent(page);
|
|
+ ::core::tex::PdfLocation contLoc = synctex.topOfPageContent(page);
|
|
x = std::max((float)x, contLoc.x());
|
|
y = std::max((float)y, contLoc.y());
|
|
}
|
|
|
|
- core::tex::PdfLocation pdfLocation(page, x, y, width, height);
|
|
+ ::core::tex::PdfLocation pdfLocation(page, x, y, width, height);
|
|
|
|
- core::tex::SourceLocation srcLoc = synctex.inverseSearch(pdfLocation);
|
|
+ ::core::tex::SourceLocation srcLoc = synctex.inverseSearch(pdfLocation);
|
|
applyInverseConcordance(&srcLoc);
|
|
|
|
pResponse->setResult(toJson(srcLoc));
|
|
@@ -286,7 +286,7 @@
|
|
int line = safe_convert::stringTo<int>(args[1].second, 1);
|
|
|
|
// apply inverse concordance
|
|
- core::tex::SourceLocation srcLoc(FilePath(sourceFile), line, 1);
|
|
+ ::core::tex::SourceLocation srcLoc(FilePath(sourceFile), line, 1);
|
|
applyInverseConcordance(&srcLoc);
|
|
|
|
// edit the file
|
|
@@ -323,13 +323,13 @@
|
|
// determine pdf
|
|
FilePath pdfFile = rootFile.parent().complete(rootFile.stem() + ".pdf");
|
|
|
|
- core::tex::Synctex synctex;
|
|
+ ::core::tex::Synctex synctex;
|
|
if (synctex.parse(pdfFile))
|
|
{
|
|
- core::tex::SourceLocation srcLoc(inputFile, line, column);
|
|
+ ::core::tex::SourceLocation srcLoc(inputFile, line, column);
|
|
applyForwardConcordance(rootFile, &srcLoc);
|
|
|
|
- core::tex::PdfLocation pdfLoc = synctex.forwardSearch(srcLoc);
|
|
+ ::core::tex::PdfLocation pdfLoc = synctex.forwardSearch(srcLoc);
|
|
*pPdfLocation = toJson(pdfFile, pdfLoc, fromClick);
|
|
}
|
|
else
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionSynctex.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionSynctex.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionSynctex.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionSynctex.hpp 2015-03-08 22:23:10.206943964 +0100
|
|
@@ -30,9 +30,9 @@
|
|
|
|
// returns an object suitable for jnsi binding back into a PdfLocation
|
|
// (or null if the search didn't succeed)
|
|
-core::Error forwardSearch(const core::FilePath& rootDocument,
|
|
- const core::json::Object& sourceLocation,
|
|
- core::json::Value* pPdfLocation);
|
|
+core::Error forwardSearch(const ::core::FilePath& rootDocument,
|
|
+ const ::core::json::Object& sourceLocation,
|
|
+ ::core::json::Value* pPdfLocation);
|
|
|
|
core::Error initialize();
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionTexUtils.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionTexUtils.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionTexUtils.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionTexUtils.cpp 2015-03-08 22:23:10.194943962 +0100
|
|
@@ -42,7 +42,7 @@
|
|
const FilePath& extraPath,
|
|
bool ensureForwardSlashes)
|
|
{
|
|
- std::string value = core::system::getenv(name);
|
|
+ std::string value = ::core::system::getenv(name);
|
|
if (value.empty())
|
|
value = ".";
|
|
|
|
@@ -54,8 +54,8 @@
|
|
#endif
|
|
|
|
std::string sysPath = string_utils::utf8ToSystem(extraPath.absolutePath());
|
|
- core::system::addToPath(&value, sysPath);
|
|
- core::system::addToPath(&value, ""); // trailing : required by tex
|
|
+ ::core::system::addToPath(&value, sysPath);
|
|
+ ::core::system::addToPath(&value, ""); // trailing : required by tex
|
|
|
|
return std::make_pair(name, value);
|
|
}
|
|
@@ -89,7 +89,7 @@
|
|
FilePath rHomeSharePath(rHomeShare);
|
|
if (!rHomeSharePath.exists())
|
|
{
|
|
- LOG_ERROR(core::pathNotFoundError(rHomeShare, ERROR_LOCATION));
|
|
+ LOG_ERROR(::core::pathNotFoundError(rHomeShare, ERROR_LOCATION));
|
|
return RTexmfPaths();
|
|
}
|
|
|
|
@@ -97,7 +97,7 @@
|
|
FilePath rTexmfPath(rHomeSharePath.complete("texmf"));
|
|
if (!rTexmfPath.exists())
|
|
{
|
|
- LOG_ERROR(core::pathNotFoundError(rTexmfPath.absolutePath(),
|
|
+ LOG_ERROR(::core::pathNotFoundError(rTexmfPath.absolutePath(),
|
|
ERROR_LOCATION));
|
|
return RTexmfPaths();
|
|
}
|
|
@@ -115,7 +115,7 @@
|
|
// the environment (or . if none) with the R dirs in share/texmf
|
|
core::system::Options rTexInputsEnvVars()
|
|
{
|
|
- core::system::Options envVars;
|
|
+ ::core::system::Options envVars;
|
|
RTexmfPaths texmfPaths = rTexmfPaths();
|
|
if (!texmfPaths.empty())
|
|
{
|
|
@@ -133,28 +133,28 @@
|
|
}
|
|
|
|
Error runTexCompile(const FilePath& texProgramPath,
|
|
- const core::system::Options& envVars,
|
|
+ const ::core::system::Options& envVars,
|
|
const shell_utils::ShellArgs& args,
|
|
const FilePath& texFilePath,
|
|
- core::system::ProcessResult* pResult)
|
|
+ ::core::system::ProcessResult* pResult)
|
|
{
|
|
// copy extra environment variables
|
|
- core::system::Options env;
|
|
- core::system::environment(&env);
|
|
- BOOST_FOREACH(const core::system::Option& var, envVars)
|
|
+ ::core::system::Options env;
|
|
+ ::core::system::environment(&env);
|
|
+ BOOST_FOREACH(const ::core::system::Option& var, envVars)
|
|
{
|
|
- core::system::setenv(&env, var.first, var.second);
|
|
+ ::core::system::setenv(&env, var.first, var.second);
|
|
}
|
|
|
|
// set options
|
|
- core::system::ProcessOptions procOptions;
|
|
+ ::core::system::ProcessOptions procOptions;
|
|
procOptions.terminateChildren = true;
|
|
procOptions.redirectStdErrToStdOut = true;
|
|
procOptions.environment = env;
|
|
procOptions.workingDir = texFilePath.parent();
|
|
|
|
// run the program
|
|
- return core::system::runProgram(
|
|
+ return ::core::system::runProgram(
|
|
string_utils::utf8ToSystem(texProgramPath.absolutePath()),
|
|
buildArgs(args, texFilePath),
|
|
"",
|
|
@@ -163,10 +163,10 @@
|
|
}
|
|
|
|
core::Error runTexCompile(
|
|
- const core::FilePath& texProgramPath,
|
|
- const core::system::Options& envVars,
|
|
- const core::shell_utils::ShellArgs& args,
|
|
- const core::FilePath& texFilePath,
|
|
+ const ::core::FilePath& texProgramPath,
|
|
+ const ::core::system::Options& envVars,
|
|
+ const ::core::shell_utils::ShellArgs& args,
|
|
+ const ::core::FilePath& texFilePath,
|
|
const boost::function<void(int,const std::string&)>& onExited)
|
|
{
|
|
return compile_pdf_supervisor::runProgram(
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionTexUtils.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionTexUtils.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionTexUtils.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionTexUtils.hpp 2015-03-08 22:23:10.175943959 +0100
|
|
@@ -35,26 +35,26 @@
|
|
{
|
|
bool empty() const { return texInputsPath.empty(); }
|
|
|
|
- core::FilePath texInputsPath;
|
|
- core::FilePath bibInputsPath;
|
|
- core::FilePath bstInputsPath;
|
|
+ ::core::FilePath texInputsPath;
|
|
+ ::core::FilePath bibInputsPath;
|
|
+ ::core::FilePath bstInputsPath;
|
|
};
|
|
|
|
RTexmfPaths rTexmfPaths();
|
|
|
|
core::system::Options rTexInputsEnvVars();
|
|
|
|
-core::Error runTexCompile(const core::FilePath& texProgramPath,
|
|
- const core::system::Options& envVars,
|
|
- const core::shell_utils::ShellArgs& args,
|
|
- const core::FilePath& texFilePath,
|
|
- core::system::ProcessResult* pResult);
|
|
+core::Error runTexCompile(const ::core::FilePath& texProgramPath,
|
|
+ const ::core::system::Options& envVars,
|
|
+ const ::core::shell_utils::ShellArgs& args,
|
|
+ const ::core::FilePath& texFilePath,
|
|
+ ::core::system::ProcessResult* pResult);
|
|
|
|
core::Error runTexCompile(
|
|
- const core::FilePath& texProgramPath,
|
|
- const core::system::Options& envVars,
|
|
- const core::shell_utils::ShellArgs& args,
|
|
- const core::FilePath& texFilePath,
|
|
+ const ::core::FilePath& texProgramPath,
|
|
+ const ::core::system::Options& envVars,
|
|
+ const ::core::shell_utils::ShellArgs& args,
|
|
+ const ::core::FilePath& texFilePath,
|
|
const boost::function<void(int,const std::string&)>& onExited);
|
|
|
|
} // namespace utils
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionViewPdf.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionViewPdf.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionViewPdf.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionViewPdf.cpp 2015-03-08 22:23:10.209943965 +0100
|
|
@@ -65,7 +65,7 @@
|
|
return;
|
|
}
|
|
|
|
- core::FilePath pdfJsResource = options().rResourcesPath().childPath(path);
|
|
+ ::core::FilePath pdfJsResource = options().rResourcesPath().childPath(path);
|
|
if (pdfJsResource.exists())
|
|
{
|
|
pResponse->setCacheableFile(pdfJsResource, request);
|
|
@@ -75,7 +75,7 @@
|
|
|
|
} // anonymous namespace
|
|
|
|
-std::string createViewPdfUrl(const core::FilePath& filePath)
|
|
+std::string createViewPdfUrl(const ::core::FilePath& filePath)
|
|
{
|
|
return "view_pdf?path=" + http::util::urlEncode(filePath.absolutePath(),
|
|
true);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/tex/SessionViewPdf.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionViewPdf.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/tex/SessionViewPdf.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/tex/SessionViewPdf.hpp 2015-03-08 22:23:10.180943960 +0100
|
|
@@ -28,7 +28,7 @@
|
|
namespace tex {
|
|
namespace view_pdf {
|
|
|
|
-std::string createViewPdfUrl(const core::FilePath& filePath);
|
|
+std::string createViewPdfUrl(const ::core::FilePath& filePath);
|
|
|
|
core::Error initialize();
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/vcs/SessionVCSCore.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/vcs/SessionVCSCore.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/vcs/SessionVCSCore.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/vcs/SessionVCSCore.hpp 2015-03-08 22:23:09.985943927 +0100
|
|
@@ -51,7 +51,7 @@
|
|
struct FileWithStatus
|
|
{
|
|
VCSStatus status;
|
|
- core::FilePath path;
|
|
+ ::core::FilePath path;
|
|
};
|
|
|
|
class StatusResult
|
|
@@ -69,7 +69,7 @@
|
|
}
|
|
}
|
|
|
|
- VCSStatus getStatus(const core::FilePath& fileOrDirectory) const;
|
|
+ VCSStatus getStatus(const ::core::FilePath& fileOrDirectory) const;
|
|
std::vector<FileWithStatus> files() const { return files_; }
|
|
|
|
private:
|
|
@@ -84,8 +84,8 @@
|
|
FileDecorationContext() {}
|
|
virtual ~FileDecorationContext() {}
|
|
|
|
- virtual void decorateFile(const core::FilePath& filePath,
|
|
- core::json::Object* pFileObject) = 0;
|
|
+ virtual void decorateFile(const ::core::FilePath& filePath,
|
|
+ ::core::json::Object* pFileObject) = 0;
|
|
};
|
|
|
|
} // namespace source_control
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/vcs/SessionVCSUtils.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/vcs/SessionVCSUtils.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/vcs/SessionVCSUtils.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/vcs/SessionVCSUtils.cpp 2015-03-08 22:23:09.988943927 +0100
|
|
@@ -48,9 +48,9 @@
|
|
}
|
|
|
|
core::json::Object processResultToJson(
|
|
- const core::system::ProcessResult& result)
|
|
+ const ::core::system::ProcessResult& result)
|
|
{
|
|
- core::json::Object obj;
|
|
+ ::core::json::Object obj;
|
|
obj["output"] = result.stdOut;
|
|
obj["exit_code"] = result.exitStatus;
|
|
return obj;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/vcs/SessionVCSUtils.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/vcs/SessionVCSUtils.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/vcs/SessionVCSUtils.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/vcs/SessionVCSUtils.hpp 2015-03-08 22:23:09.990943928 +0100
|
|
@@ -29,9 +29,9 @@
|
|
void enqueueRefreshEvent();
|
|
|
|
core::json::Object processResultToJson(
|
|
- const core::system::ProcessResult& result);
|
|
+ const ::core::system::ProcessResult& result);
|
|
|
|
-core::FilePath fileFilterPath(const core::json::Value& fileFilterJson);
|
|
+core::FilePath fileFilterPath(const ::core::json::Value& fileFilterJson);
|
|
|
|
void splitMessage(const std::string message,
|
|
std::string* pSubject,
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/viewer/ViewerHistory.cpp rstudio-0.98.1103-fix/src/cpp/session/modules/viewer/ViewerHistory.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/viewer/ViewerHistory.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/viewer/ViewerHistory.cpp 2015-03-08 22:23:10.315943983 +0100
|
|
@@ -103,12 +103,12 @@
|
|
|
|
namespace {
|
|
|
|
-FilePath historyEntriesPath(const core::FilePath& serializationPath)
|
|
+FilePath historyEntriesPath(const ::core::FilePath& serializationPath)
|
|
{
|
|
return serializationPath.complete("history_entries");
|
|
}
|
|
|
|
-FilePath currentIndexPath(const core::FilePath& serializationPath)
|
|
+FilePath currentIndexPath(const ::core::FilePath& serializationPath)
|
|
{
|
|
return serializationPath.complete("current_index");
|
|
}
|
|
@@ -128,7 +128,7 @@
|
|
|
|
} // anonymous namespace
|
|
|
|
-void ViewerHistory::saveTo(const core::FilePath& serializationPath) const
|
|
+void ViewerHistory::saveTo(const ::core::FilePath& serializationPath) const
|
|
{
|
|
// blow away any existing serialization data
|
|
Error error = serializationPath.removeIfExists();
|
|
@@ -149,7 +149,7 @@
|
|
|
|
// save the current index
|
|
std::string currentIndex = safe_convert::numberToString(currentIndex_);
|
|
- error = core::writeStringToFile(currentIndexPath(serializationPath),
|
|
+ error = ::core::writeStringToFile(currentIndexPath(serializationPath),
|
|
currentIndex);
|
|
if (error)
|
|
{
|
|
@@ -179,7 +179,7 @@
|
|
}
|
|
}
|
|
|
|
-void ViewerHistory::restoreFrom(const core::FilePath& serializationPath)
|
|
+void ViewerHistory::restoreFrom(const ::core::FilePath& serializationPath)
|
|
{
|
|
// skip if the directory doesn't exist
|
|
if (!serializationPath.exists())
|
|
@@ -196,7 +196,7 @@
|
|
|
|
// read the index
|
|
std::string currentIndex;
|
|
- Error error = core::readStringFromFile(indexPath, ¤tIndex);
|
|
+ Error error = ::core::readStringFromFile(indexPath, ¤tIndex);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -242,8 +242,8 @@
|
|
}
|
|
|
|
core::Error ViewerHistoryEntry::copy(
|
|
- const core::FilePath& sourceDir,
|
|
- const core::FilePath& destinationDir) const
|
|
+ const ::core::FilePath& sourceDir,
|
|
+ const ::core::FilePath& destinationDir) const
|
|
{
|
|
// copy enclosing directory to the destinationDir
|
|
FilePath entryPath = sourceDir.childPath(sessionTempPath_);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/modules/viewer/ViewerHistory.hpp rstudio-0.98.1103-fix/src/cpp/session/modules/viewer/ViewerHistory.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/modules/viewer/ViewerHistory.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/modules/viewer/ViewerHistory.hpp 2015-03-08 22:23:10.317943983 +0100
|
|
@@ -51,8 +51,8 @@
|
|
bool hasPrevious() const;
|
|
module_context::ViewerHistoryEntry goBack();
|
|
|
|
- void saveTo(const core::FilePath& serializationPath) const;
|
|
- void restoreFrom(const core::FilePath& serializationPath);
|
|
+ void saveTo(const ::core::FilePath& serializationPath) const;
|
|
+ void restoreFrom(const ::core::FilePath& serializationPath);
|
|
|
|
private:
|
|
int currentIndex_;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/postback/PostbackMain.cpp rstudio-0.98.1103-fix/src/cpp/session/postback/PostbackMain.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/postback/PostbackMain.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/postback/PostbackMain.cpp 2015-03-08 22:23:10.400943997 +0100
|
|
@@ -58,9 +58,9 @@
|
|
{
|
|
#ifdef _WIN32
|
|
// get local peer
|
|
- std::string pipeName = core::system::getenv("RS_LOCAL_PEER");
|
|
+ std::string pipeName = ::core::system::getenv("RS_LOCAL_PEER");
|
|
pRequest->setHeader("X-Shared-Secret",
|
|
- core::system::getenv("RS_SHARED_SECRET"));
|
|
+ ::core::system::getenv("RS_SHARED_SECRET"));
|
|
return http::sendRequest(pipeName,
|
|
*pRequest,
|
|
http::ConnectionRetryProfile(
|
|
@@ -68,7 +68,7 @@
|
|
boost::posix_time::milliseconds(50)),
|
|
pResponse);
|
|
#else
|
|
- std::string tcpipPort = core::system::getenv(kRSessionStandalonePortNumber);
|
|
+ std::string tcpipPort = ::core::system::getenv(kRSessionStandalonePortNumber);
|
|
if (!tcpipPort.empty())
|
|
{
|
|
return http::sendRequest("127.0.0.1", tcpipPort, *pRequest, pResponse);
|
|
@@ -76,7 +76,7 @@
|
|
else
|
|
{
|
|
// determine stream path
|
|
- std::string userIdentity = core::system::getenv(kRStudioUserIdentity);
|
|
+ std::string userIdentity = ::core::system::getenv(kRStudioUserIdentity);
|
|
FilePath streamPath = session::local_streams::streamPath(userIdentity);
|
|
return http::sendRequest(streamPath, *pRequest, pResponse);
|
|
}
|
|
@@ -89,10 +89,10 @@
|
|
try
|
|
{
|
|
// initialize log
|
|
- initializeSystemLog("rpostback", core::system::kLogLevelWarning);
|
|
+ initializeSystemLog("rpostback", ::core::system::kLogLevelWarning);
|
|
|
|
// ignore SIGPIPE
|
|
- Error error = core::system::ignoreSignal(core::system::SigPipe);
|
|
+ Error error = ::core::system::ignoreSignal(::core::system::SigPipe);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/postback/PostbackOptions.cpp rstudio-0.98.1103-fix/src/cpp/session/postback/PostbackOptions.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/postback/PostbackOptions.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/postback/PostbackOptions.cpp 2015-03-08 22:23:10.404943998 +0100
|
|
@@ -50,7 +50,7 @@
|
|
optionsDesc.positionalOptions.add("argument", 1);
|
|
|
|
// read options
|
|
- ProgramStatus status = core::program_options::read(optionsDesc, argc, argv);
|
|
+ ProgramStatus status = ::core::program_options::read(optionsDesc, argc, argv);
|
|
if (status.exit())
|
|
return status;
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/postback/PostbackOptions.hpp rstudio-0.98.1103-fix/src/cpp/session/postback/PostbackOptions.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/postback/PostbackOptions.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/postback/PostbackOptions.hpp 2015-03-08 22:23:10.402943998 +0100
|
|
@@ -39,7 +39,7 @@
|
|
// COPYING: boost::noncopyable
|
|
|
|
public:
|
|
- core::ProgramStatus read(int argc, char * const argv[]);
|
|
+ ::core::ProgramStatus read(int argc, char * const argv[]);
|
|
|
|
std::string command() const
|
|
{
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/projects/SessionProjectContext.cpp rstudio-0.98.1103-fix/src/cpp/session/projects/SessionProjectContext.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/projects/SessionProjectContext.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/projects/SessionProjectContext.cpp 2015-03-08 22:23:10.474944010 +0100
|
|
@@ -42,8 +42,8 @@
|
|
|
|
bool canWriteToProjectDir(const FilePath& projectDirPath)
|
|
{
|
|
- FilePath testFile = projectDirPath.complete(core::system::generateUuid());
|
|
- Error error = core::writeStringToFile(testFile, "test");
|
|
+ FilePath testFile = projectDirPath.complete(::core::system::generateUuid());
|
|
+ Error error = ::core::writeStringToFile(testFile, "test");
|
|
if (error)
|
|
{
|
|
return false;
|
|
@@ -78,7 +78,7 @@
|
|
|
|
// mark hidden if we are on win32
|
|
#ifdef _WIN32
|
|
- error = core::system::makeFileHidden(projectUserDir);
|
|
+ error = ::core::system::makeFileHidden(projectUserDir);
|
|
if (error)
|
|
return error;
|
|
#endif
|
|
@@ -103,7 +103,7 @@
|
|
return FilePath();
|
|
|
|
// add username if we can get one
|
|
- std::string username = core::system::username();
|
|
+ std::string username = ::core::system::username();
|
|
if (!username.empty())
|
|
projectUserDir = projectUserDir.complete(username);
|
|
|
|
@@ -224,7 +224,7 @@
|
|
// they are already there
|
|
|
|
std::string strIgnore;
|
|
- Error error = core::readStringFromFile(
|
|
+ Error error = ::core::readStringFromFile(
|
|
rbuildIgnorePath,
|
|
&strIgnore,
|
|
string_utils::LineEndingPosix);
|
|
@@ -251,7 +251,7 @@
|
|
strIgnore += kIgnoreRproj + std::string("\n");
|
|
if (!hasRProjUser)
|
|
strIgnore += kIgnoreRprojUser + std::string("\n");
|
|
- error = core::writeStringToFile(rbuildIgnorePath,
|
|
+ error = ::core::writeStringToFile(rbuildIgnorePath,
|
|
strIgnore,
|
|
string_utils::LineEndingNative);
|
|
if (error)
|
|
@@ -353,7 +353,7 @@
|
|
{
|
|
// kickoff file monitoring for this directory
|
|
using namespace boost;
|
|
- core::system::file_monitor::Callbacks cb;
|
|
+ ::core::system::file_monitor::Callbacks cb;
|
|
cb.onRegistered = bind(&ProjectContext::fileMonitorRegistered,
|
|
this, _1, _2);
|
|
cb.onRegistrationError = bind(&ProjectContext::fileMonitorTermination,
|
|
@@ -364,7 +364,7 @@
|
|
this, _1);
|
|
cb.onUnregistered = bind(&ProjectContext::fileMonitorTermination,
|
|
this, Success());
|
|
- core::system::file_monitor::registerMonitor(
|
|
+ ::core::system::file_monitor::registerMonitor(
|
|
directory(),
|
|
true,
|
|
module_context::fileListingFilter,
|
|
@@ -372,8 +372,8 @@
|
|
}
|
|
|
|
void ProjectContext::fileMonitorRegistered(
|
|
- core::system::file_monitor::Handle handle,
|
|
- const tree<core::FileInfo>& files)
|
|
+ ::core::system::file_monitor::Handle handle,
|
|
+ const tree< ::core::FileInfo>& files)
|
|
{
|
|
// update state
|
|
hasFileMonitor_ = true;
|
|
@@ -383,7 +383,7 @@
|
|
}
|
|
|
|
void ProjectContext::fileMonitorFilesChanged(
|
|
- const std::vector<core::system::FileChangeEvent>& events)
|
|
+ const std::vector< ::core::system::FileChangeEvent>& events)
|
|
{
|
|
// notify client (gwt)
|
|
module_context::enqueFileChangedEvents(directory(), events);
|
|
@@ -606,7 +606,7 @@
|
|
|
|
Error ProjectContext::readVcsOptions(RProjectVcsOptions* pOptions) const
|
|
{
|
|
- core::Settings settings;
|
|
+ ::core::Settings settings;
|
|
Error error = settings.initialize(vcsOptionsFilePath());
|
|
if (error)
|
|
return error;
|
|
@@ -620,7 +620,7 @@
|
|
|
|
Error ProjectContext::writeVcsOptions(const RProjectVcsOptions& options) const
|
|
{
|
|
- core::Settings settings;
|
|
+ ::core::Settings settings;
|
|
Error error = settings.initialize(vcsOptionsFilePath());
|
|
if (error)
|
|
return error;
|
|
@@ -634,7 +634,7 @@
|
|
|
|
Error ProjectContext::readBuildOptions(RProjectBuildOptions* pOptions)
|
|
{
|
|
- core::Settings optionsFile;
|
|
+ ::core::Settings optionsFile;
|
|
Error error = buildOptionsFile(&optionsFile);
|
|
if (error)
|
|
return error;
|
|
@@ -658,7 +658,7 @@
|
|
|
|
Error ProjectContext::writeBuildOptions(const RProjectBuildOptions& options)
|
|
{
|
|
- core::Settings optionsFile;
|
|
+ ::core::Settings optionsFile;
|
|
Error error = buildOptionsFile(&optionsFile);
|
|
if (error)
|
|
return error;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/projects/SessionProjectFirstRun.cpp rstudio-0.98.1103-fix/src/cpp/session/projects/SessionProjectFirstRun.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/projects/SessionProjectFirstRun.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/projects/SessionProjectFirstRun.cpp 2015-03-08 22:23:10.465944008 +0100
|
|
@@ -47,7 +47,7 @@
|
|
|
|
std::ostringstream ostr;
|
|
ostr << doc << std::endl;
|
|
- error = core::appendToFile(scratchPath.childPath(kFirstRunDocs), ostr.str());
|
|
+ error = ::core::appendToFile(scratchPath.childPath(kFirstRunDocs), ostr.str());
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -70,7 +70,7 @@
|
|
FilePath firstRunDocsPath = scratchPath.childPath(kFirstRunDocs);
|
|
if (firstRunDocsPath.exists())
|
|
{
|
|
- Error error = core::readStringVectorFromFile(firstRunDocsPath, &docs);
|
|
+ Error error = ::core::readStringVectorFromFile(firstRunDocsPath, &docs);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/projects/SessionProjectFirstRun.hpp rstudio-0.98.1103-fix/src/cpp/session/projects/SessionProjectFirstRun.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/projects/SessionProjectFirstRun.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/projects/SessionProjectFirstRun.hpp 2015-03-08 22:23:10.469944009 +0100
|
|
@@ -26,8 +26,8 @@
|
|
namespace session {
|
|
namespace projects {
|
|
|
|
-void addFirstRunDoc(const core::FilePath& projectFile, const std::string& doc);
|
|
-std::vector<std::string> collectFirstRunDocs(const core::FilePath& projectFile);
|
|
+void addFirstRunDoc(const ::core::FilePath& projectFile, const std::string& doc);
|
|
+std::vector<std::string> collectFirstRunDocs(const ::core::FilePath& projectFile);
|
|
|
|
} // namespace projects
|
|
} // namesapce session
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/projects/SessionProjects.cpp rstudio-0.98.1103-fix/src/cpp/session/projects/SessionProjects.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/projects/SessionProjects.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/projects/SessionProjects.cpp 2015-03-08 22:23:10.463944008 +0100
|
|
@@ -111,7 +111,7 @@
|
|
// error if the package dir already exists
|
|
FilePath packageDir = projectFilePath.parent();
|
|
if (packageDir.exists())
|
|
- return core::fileExistsError(ERROR_LOCATION);
|
|
+ return ::core::fileExistsError(ERROR_LOCATION);
|
|
|
|
// create a temp dir (so we can import the list of code files)
|
|
FilePath tempDir = module_context::tempFile("newpkg", "dir");
|
|
@@ -145,7 +145,7 @@
|
|
{
|
|
std::string srcFileName = packageDir.filename() + ".R";
|
|
FilePath srcFilePath = tempDir.complete(srcFileName);
|
|
- Error error = core::writeStringToFile(srcFilePath, "");
|
|
+ Error error = ::core::writeStringToFile(srcFilePath, "");
|
|
if (error)
|
|
return error;
|
|
rFileNames.push_back(string_utils::utf8ToSystem(srcFileName));
|
|
@@ -193,7 +193,7 @@
|
|
// error if the shiny app dir already exists
|
|
FilePath appDir = projectFilePath.parent();
|
|
if (appDir.exists())
|
|
- return core::fileExistsError(ERROR_LOCATION);
|
|
+ return ::core::fileExistsError(ERROR_LOCATION);
|
|
|
|
// now create it
|
|
Error error = appDir.ensureDirectory();
|
|
@@ -553,9 +553,9 @@
|
|
module_context::enqueClientEvent(event);
|
|
}
|
|
|
|
-void onFilesChanged(const std::vector<core::system::FileChangeEvent>& events)
|
|
+void onFilesChanged(const std::vector< ::core::system::FileChangeEvent>& events)
|
|
{
|
|
- BOOST_FOREACH(const core::system::FileChangeEvent& event, events)
|
|
+ BOOST_FOREACH(const ::core::system::FileChangeEvent& event, events)
|
|
{
|
|
// if the project file changed then sync its changes
|
|
if (event.fileInfo().absolutePath() ==
|
|
@@ -579,7 +579,7 @@
|
|
|
|
|
|
// Note that the logic here needs to be synchronized with the logic in
|
|
-// core::r_util::RSessionContext::nextSessionWorkingDir (so that both
|
|
+// ::core::r_util::RSessionContext::nextSessionWorkingDir (so that both
|
|
// reach the same conclusion about what the next working directory is)
|
|
void startup()
|
|
{
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/projects/SessionProjectsInternal.hpp rstudio-0.98.1103-fix/src/cpp/session/projects/SessionProjectsInternal.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/projects/SessionProjectsInternal.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/projects/SessionProjectsInternal.hpp 2015-03-08 22:23:10.467944009 +0100
|
|
@@ -30,8 +30,8 @@
|
|
|
|
core::Error initialize();
|
|
|
|
-core::Error computeScratchPath(const core::FilePath& projectFile,
|
|
- core::FilePath* pScratchPath);
|
|
+core::Error computeScratchPath(const ::core::FilePath& projectFile,
|
|
+ ::core::FilePath* pScratchPath);
|
|
|
|
} // namespace projects
|
|
} // namesapce session
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionAsyncRProcess.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionAsyncRProcess.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionAsyncRProcess.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionAsyncRProcess.cpp 2015-03-08 22:23:10.358943990 +0100
|
|
@@ -31,12 +31,12 @@
|
|
}
|
|
|
|
void AsyncRProcess::start(const char* rCommand,
|
|
- const core::FilePath& workingDir,
|
|
+ const ::core::FilePath& workingDir,
|
|
AsyncRProcessOptions rOptions)
|
|
{
|
|
// R binary
|
|
- core::FilePath rProgramPath;
|
|
- core::Error error = module_context::rScriptPath(&rProgramPath);
|
|
+ ::core::FilePath rProgramPath;
|
|
+ ::core::Error error = module_context::rScriptPath(&rProgramPath);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -53,7 +53,7 @@
|
|
args.push_back(rCommand);
|
|
|
|
// options
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.terminateChildren = true;
|
|
if (rOptions & R_PROCESS_REDIRECTSTDERR)
|
|
options.redirectStdErrToStdOut = true;
|
|
@@ -66,16 +66,16 @@
|
|
|
|
// forward R_LIBS so the child process has access to the same libraries
|
|
// we do
|
|
- core::system::Options childEnv;
|
|
- core::system::environment(&childEnv);
|
|
+ ::core::system::Options childEnv;
|
|
+ ::core::system::environment(&childEnv);
|
|
std::string libPaths = module_context::libPathsString();
|
|
if (!libPaths.empty())
|
|
{
|
|
- core::system::setenv(&childEnv, "R_LIBS", libPaths);
|
|
+ ::core::system::setenv(&childEnv, "R_LIBS", libPaths);
|
|
options.environment = childEnv;
|
|
}
|
|
|
|
- core::system::ProcessCallbacks cb;
|
|
+ ::core::system::ProcessCallbacks cb;
|
|
using namespace module_context;
|
|
cb.onContinue = boost::bind(&AsyncRProcess::onContinue,
|
|
AsyncRProcess::shared_from_this());
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionClientEvent.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionClientEvent.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionClientEvent.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionClientEvent.cpp 2015-03-08 22:23:10.479944011 +0100
|
|
@@ -126,7 +126,7 @@
|
|
{
|
|
type_ = type;
|
|
data_ = data;
|
|
- id_ = core::system::generateUuid();
|
|
+ id_ = ::core::system::generateUuid();
|
|
}
|
|
|
|
void ClientEvent::asJsonObject(int id, json::Object* pObject) const
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionClientEventService.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionClientEventService.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionClientEventService.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionClientEventService.cpp 2015-03-08 22:23:10.415944000 +0100
|
|
@@ -64,7 +64,7 @@
|
|
|
|
// block all signals for launch of background thread (will cause it
|
|
// to never receive signals)
|
|
- core::system::SignalBlocker signalBlocker;
|
|
+ ::core::system::SignalBlocker signalBlocker;
|
|
Error error = signalBlocker.blockAll();
|
|
if (error)
|
|
return error ;
|
|
@@ -173,7 +173,7 @@
|
|
}
|
|
|
|
void ClientEventService::setClientEventResult(
|
|
- core::json::JsonRpcResponse* pResponse)
|
|
+ ::core::json::JsonRpcResponse* pResponse)
|
|
{
|
|
LOCK_MUTEX(mutex_)
|
|
{
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionClientEventService.hpp rstudio-0.98.1103-fix/src/cpp/session/SessionClientEventService.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionClientEventService.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionClientEventService.hpp 2015-03-08 22:23:10.459944007 +0100
|
|
@@ -44,7 +44,7 @@
|
|
public:
|
|
// COPYING: boost::noncopyable
|
|
|
|
- core::Error start(const std::string& clientId);
|
|
+ ::core::Error start(const std::string& clientId);
|
|
void stop();
|
|
|
|
void setClientId(const std::string& clientId, bool clearEvents);
|
|
@@ -57,8 +57,8 @@
|
|
|
|
void erasePreviouslyDeliveredEvents(int lastClientEventIdSeen);
|
|
bool havePendingClientEvents();
|
|
- void addClientEvent(const core::json::Object& eventObject);
|
|
- void setClientEventResult(core::json::JsonRpcResponse* pResponse);
|
|
+ void addClientEvent(const ::core::json::Object& eventObject);
|
|
+ void setClientEventResult(::core::json::JsonRpcResponse* pResponse);
|
|
|
|
|
|
private:
|
|
@@ -66,7 +66,7 @@
|
|
boost::thread serviceThread_ ;
|
|
|
|
std::string clientId_ ;
|
|
- core::json::Array clientEvents_ ;
|
|
+ ::core::json::Array clientEvents_ ;
|
|
};
|
|
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionConsoleProcess.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionConsoleProcess.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionConsoleProcess.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionConsoleProcess.cpp 2015-03-08 22:23:10.393943996 +0100
|
|
@@ -62,7 +62,7 @@
|
|
}
|
|
|
|
ConsoleProcess::ConsoleProcess(const std::string& command,
|
|
- const core::system::ProcessOptions& options,
|
|
+ const ::core::system::ProcessOptions& options,
|
|
const std::string& caption,
|
|
bool dialog,
|
|
InteractionMode interactionMode,
|
|
@@ -78,7 +78,7 @@
|
|
|
|
ConsoleProcess::ConsoleProcess(const std::string& program,
|
|
const std::vector<std::string>& args,
|
|
- const core::system::ProcessOptions& options,
|
|
+ const ::core::system::ProcessOptions& options,
|
|
const std::string& caption,
|
|
bool dialog,
|
|
InteractionMode interactionMode,
|
|
@@ -102,7 +102,7 @@
|
|
{
|
|
regexInit();
|
|
|
|
- handle_ = core::system::generateUuid(false);
|
|
+ handle_ = ::core::system::generateUuid(false);
|
|
|
|
// always redirect stderr to stdout so output is interleaved
|
|
options_.redirectStdErrToStdOut = true;
|
|
@@ -135,17 +135,17 @@
|
|
}
|
|
#else
|
|
// request a pseudoterminal if this is an interactive console process
|
|
- options_.pseudoterminal = core::system::Pseudoterminal(80, 1);
|
|
+ options_.pseudoterminal = ::core::system::Pseudoterminal(80, 1);
|
|
|
|
// define TERM to dumb (but first make sure we have an environment
|
|
// block to modify)
|
|
if (!options_.environment)
|
|
{
|
|
- core::system::Options childEnv;
|
|
- core::system::environment(&childEnv);
|
|
+ ::core::system::Options childEnv;
|
|
+ ::core::system::environment(&childEnv);
|
|
options_.environment = childEnv;
|
|
}
|
|
- core::system::setenv(&(options_.environment.get()), "TERM", "dumb");
|
|
+ ::core::system::setenv(&(options_.environment.get()), "TERM", "dumb");
|
|
#endif
|
|
}
|
|
|
|
@@ -205,7 +205,7 @@
|
|
interrupt_ = true;
|
|
}
|
|
|
|
-bool ConsoleProcess::onContinue(core::system::ProcessOperations& ops)
|
|
+bool ConsoleProcess::onContinue(::core::system::ProcessOperations& ops)
|
|
{
|
|
// full stop interrupt if requested
|
|
if (interrupt_)
|
|
@@ -275,7 +275,7 @@
|
|
ClientEvent(client_events::kConsoleProcessOutput, data));
|
|
}
|
|
|
|
-void ConsoleProcess::onStdout(core::system::ProcessOperations& ops,
|
|
+void ConsoleProcess::onStdout(::core::system::ProcessOperations& ops,
|
|
const std::string& output)
|
|
{
|
|
// convert line endings to posix
|
|
@@ -305,7 +305,7 @@
|
|
}
|
|
}
|
|
|
|
-void ConsoleProcess::maybeConsolePrompt(core::system::ProcessOperations& ops,
|
|
+void ConsoleProcess::maybeConsolePrompt(::core::system::ProcessOperations& ops,
|
|
const std::string& output)
|
|
{
|
|
boost::smatch smatch;
|
|
@@ -323,7 +323,7 @@
|
|
handleConsolePrompt(ops, output);
|
|
}
|
|
|
|
-void ConsoleProcess::handleConsolePrompt(core::system::ProcessOperations& ops,
|
|
+void ConsoleProcess::handleConsolePrompt(::core::system::ProcessOperations& ops,
|
|
const std::string& prompt)
|
|
{
|
|
// if there is a custom prmopt handler then give it a chance to
|
|
@@ -388,7 +388,7 @@
|
|
}
|
|
|
|
boost::shared_ptr<ConsoleProcess> ConsoleProcess::fromJson(
|
|
- core::json::Object &obj)
|
|
+ ::core::json::Object &obj)
|
|
{
|
|
boost::shared_ptr<ConsoleProcess> pProc(new ConsoleProcess());
|
|
pProc->handle_ = obj["handle"].get_str();
|
|
@@ -427,7 +427,7 @@
|
|
|
|
core::system::ProcessCallbacks ConsoleProcess::createProcessCallbacks()
|
|
{
|
|
- core::system::ProcessCallbacks cb;
|
|
+ ::core::system::ProcessCallbacks cb;
|
|
cb.onContinue = boost::bind(&ConsoleProcess::onContinue, ConsoleProcess::shared_from_this(), _1);
|
|
cb.onStdout = boost::bind(&ConsoleProcess::onStdout, ConsoleProcess::shared_from_this(), _1, _2);
|
|
cb.onExit = boost::bind(&ConsoleProcess::onExit, ConsoleProcess::shared_from_this(), _1);
|
|
@@ -516,7 +516,7 @@
|
|
{
|
|
if (!input.interrupt)
|
|
{
|
|
- error = core::system::crypto::rsaPrivateDecrypt(input.text,
|
|
+ error = ::core::system::crypto::rsaPrivateDecrypt(input.text,
|
|
&input.text);
|
|
if (error)
|
|
return error;
|
|
@@ -537,7 +537,7 @@
|
|
|
|
boost::shared_ptr<ConsoleProcess> ConsoleProcess::create(
|
|
const std::string& command,
|
|
- core::system::ProcessOptions options,
|
|
+ ::core::system::ProcessOptions options,
|
|
const std::string& caption,
|
|
bool dialog,
|
|
InteractionMode interactionMode,
|
|
@@ -558,7 +558,7 @@
|
|
boost::shared_ptr<ConsoleProcess> ConsoleProcess::create(
|
|
const std::string& program,
|
|
const std::vector<std::string>& args,
|
|
- core::system::ProcessOptions options,
|
|
+ ::core::system::ProcessOptions options,
|
|
const std::string& caption,
|
|
bool dialog,
|
|
InteractionMode interactionMode,
|
|
@@ -705,7 +705,7 @@
|
|
return procInfos;
|
|
}
|
|
|
|
-void onSuspend(core::Settings* pSettings)
|
|
+void onSuspend(::core::Settings* pSettings)
|
|
{
|
|
json::Array array;
|
|
for (ProcTable::const_iterator it = s_procs.begin();
|
|
@@ -720,7 +720,7 @@
|
|
pSettings->set("console_procs", ostr.str());
|
|
}
|
|
|
|
-void onResume(const core::Settings& settings)
|
|
+void onResume(const ::core::Settings& settings)
|
|
{
|
|
std::string strVal = settings.get("console_procs");
|
|
if (strVal.empty())
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionContentUrls.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionContentUrls.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionContentUrls.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionContentUrls.cpp 2015-03-08 22:23:10.406943998 +0100
|
|
@@ -63,7 +63,7 @@
|
|
|
|
Error contentFileInfo(const std::string& contentUrl,
|
|
std::string* pTitle,
|
|
- core::FilePath* pFilePath)
|
|
+ ::core::FilePath* pFilePath)
|
|
{
|
|
// extract and parse query string
|
|
std::string queryString;
|
|
@@ -102,7 +102,7 @@
|
|
std::string provision(const std::string& title, const FilePath& filePath)
|
|
{
|
|
// calculate content path
|
|
- std::string contentFile = core::system::generateUuid(false) +
|
|
+ std::string contentFile = ::core::system::generateUuid(false) +
|
|
filePath.extension();
|
|
FilePath contentPath = contentUrlPath().complete(contentFile);
|
|
|
|
@@ -120,7 +120,7 @@
|
|
const std::string& extension)
|
|
{
|
|
// calculate content path
|
|
- std::string contentFile = core::system::generateUuid(false) + extension;
|
|
+ std::string contentFile = ::core::system::generateUuid(false) + extension;
|
|
FilePath contentPath = contentUrlPath().complete(contentFile);
|
|
|
|
// write the file
|
|
@@ -158,7 +158,7 @@
|
|
// If the content looks like valid UTF-8, assume it is. Otherwise, assume
|
|
// it's the system encoding.
|
|
std::string contents;
|
|
- error = core::readStringFromFile(contentFilePath, &contents);
|
|
+ error = ::core::readStringFromFile(contentFilePath, &contents);
|
|
if (!error)
|
|
{
|
|
for (std::string::iterator pos = contents.begin(); pos != contents.end(); )
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionMain.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionMain.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionMain.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionMain.cpp 2015-03-08 22:23:10.432944003 +0100
|
|
@@ -425,7 +425,7 @@
|
|
if (options.programMode() == kSessionProgramModeServer)
|
|
{
|
|
std::string referer = ptrConnection->request().headerValue("referer");
|
|
- core::system::setenv("RSTUDIO_HTTP_REFERER", referer);
|
|
+ ::core::system::setenv("RSTUDIO_HTTP_REFERER", referer);
|
|
}
|
|
|
|
// prepare session info
|
|
@@ -601,10 +601,10 @@
|
|
r::session::consoleHistory().capacity();
|
|
|
|
sessionInfo["disable_packages"] =
|
|
- !core::system::getenv("RSTUDIO_DISABLE_PACKAGES").empty();
|
|
+ !::core::system::getenv("RSTUDIO_DISABLE_PACKAGES").empty();
|
|
|
|
sessionInfo["disable_check_for_updates"] =
|
|
- !core::system::getenv("RSTUDIO_DISABLE_CHECK_FOR_UPDATES").empty();
|
|
+ !::core::system::getenv("RSTUDIO_DISABLE_CHECK_FOR_UPDATES").empty();
|
|
|
|
sessionInfo["allow_vcs_exe_edit"] = options.allowVcsExecutableEdit();
|
|
sessionInfo["allow_cran_repos_edit"] = options.allowCRANReposEdit();
|
|
@@ -656,7 +656,7 @@
|
|
|
|
void endHandleRpcRequestDirect(boost::shared_ptr<HttpConnection> ptrConnection,
|
|
boost::posix_time::ptime executeStartTime,
|
|
- const core::Error& executeError,
|
|
+ const ::core::Error& executeError,
|
|
json::JsonRpcResponse* pJsonRpcResponse)
|
|
{
|
|
// return error or result then continue waiting for requests
|
|
@@ -693,7 +693,7 @@
|
|
|
|
void endHandleRpcRequestIndirect(
|
|
const std::string& asyncHandle,
|
|
- const core::Error& executeError,
|
|
+ const ::core::Error& executeError,
|
|
json::JsonRpcResponse* pJsonRpcResponse)
|
|
{
|
|
json::JsonRpcResponse temp;
|
|
@@ -712,7 +712,7 @@
|
|
module_context::enqueClientEvent(evt);
|
|
}
|
|
|
|
-void handleRpcRequest(const core::json::JsonRpcRequest& request,
|
|
+void handleRpcRequest(const ::core::json::JsonRpcRequest& request,
|
|
boost::shared_ptr<HttpConnection> ptrConnection,
|
|
ConnectionType connectionType)
|
|
{
|
|
@@ -742,7 +742,7 @@
|
|
else
|
|
{
|
|
// indirect return (asyncHandle style)
|
|
- std::string handle = core::system::generateUuid(true);
|
|
+ std::string handle = ::core::system::generateUuid(true);
|
|
json::JsonRpcResponse response;
|
|
response.setAsyncHandle(handle);
|
|
response.setField(kEventsPending, "false");
|
|
@@ -1212,7 +1212,7 @@
|
|
bool waitForMethod(const std::string& method,
|
|
const boost::function<void()>& initFunction,
|
|
const boost::function<bool()>& allowSuspend,
|
|
- core::json::JsonRpcRequest* pRequest)
|
|
+ ::core::json::JsonRpcRequest* pRequest)
|
|
{
|
|
if (s_wasForked)
|
|
{
|
|
@@ -1325,7 +1325,7 @@
|
|
bool waitForMethod(const std::string& method,
|
|
const ClientEvent& initEvent,
|
|
const boost::function<bool()>& allowSuspend,
|
|
- core::json::JsonRpcRequest* pRequest)
|
|
+ ::core::json::JsonRpcRequest* pRequest)
|
|
{
|
|
return waitForMethod(method,
|
|
boost::bind(module_context::enqueClientEvent,
|
|
@@ -1396,7 +1396,7 @@
|
|
// allow console_input requests to come in when we aren't explicitly waiting
|
|
// on them (i.e. waitForMethod("console_input")). place them into into a buffer
|
|
// which is then checked by rConsoleRead prior to it calling waitForMethod
|
|
-Error bufferConsoleInput(const core::json::JsonRpcRequest& request,
|
|
+Error bufferConsoleInput(const ::core::json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
// extract the input
|
|
@@ -1411,7 +1411,7 @@
|
|
r::session::suspendForRestart(options);
|
|
}
|
|
|
|
-Error suspendForRestart(const core::json::JsonRpcRequest& request,
|
|
+Error suspendForRestart(const ::core::json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
r::session::RSuspendOptions options;
|
|
@@ -1428,7 +1428,7 @@
|
|
}
|
|
|
|
|
|
-Error ping(const core::json::JsonRpcRequest& request,
|
|
+Error ping(const ::core::json::JsonRpcRequest& request,
|
|
json::JsonRpcResponse* pResponse)
|
|
{
|
|
return Success();
|
|
@@ -1473,7 +1473,7 @@
|
|
Error registerSignalHandlers()
|
|
{
|
|
using boost::bind;
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
|
|
// USR1 and USR2: perform suspend in server mode
|
|
if (session::options().programMode() == kSessionProgramModeServer)
|
|
@@ -1512,9 +1512,9 @@
|
|
// run the script (ignore errors and continue no matter what
|
|
// the outcome of the script is)
|
|
std::string script = preflightScriptPath.absolutePath();
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
Error error = runCommand(script,
|
|
- core::system::ProcessOptions(),
|
|
+ ::core::system::ProcessOptions(),
|
|
&result);
|
|
if (error)
|
|
{
|
|
@@ -1548,7 +1548,7 @@
|
|
|
|
// execute core initialization functions
|
|
using boost::bind;
|
|
- using namespace core::system;
|
|
+ using namespace ::core::system;
|
|
using namespace session::module_context;
|
|
ExecBlock initialize ;
|
|
initialize.addFunctions()
|
|
@@ -1851,7 +1851,7 @@
|
|
// read file contents
|
|
FilePath filePath(file);
|
|
std::string fileContents;
|
|
- Error readError = core::readStringFromFile(filePath, &fileContents);
|
|
+ Error readError = ::core::readStringFromFile(filePath, &fileContents);
|
|
if (readError)
|
|
{
|
|
LOG_ERROR(readError);
|
|
@@ -1892,7 +1892,7 @@
|
|
|
|
// write the content back to the file (append newline expected by R)
|
|
editedFileContents += "\n";
|
|
- Error writeError = core::writeStringToFile(filePath, editedFileContents);
|
|
+ Error writeError = ::core::writeStringToFile(filePath, editedFileContents);
|
|
if (writeError)
|
|
{
|
|
LOG_ERROR(writeError);
|
|
@@ -2079,7 +2079,7 @@
|
|
session::clientEventQueue().add(browseUrlEvent(url));
|
|
}
|
|
|
|
-void rBrowseFile(const core::FilePath& filePath)
|
|
+void rBrowseFile(const ::core::FilePath& filePath)
|
|
{
|
|
// see if any of our handlers want to take it
|
|
for (std::vector<module_context::RBrowseFileHandler>::const_iterator
|
|
@@ -2211,7 +2211,7 @@
|
|
|
|
// terminate all children of the provided process supervisor
|
|
// and then wait a brief period to attempt to reap the child
|
|
-void terminateAllChildren(core::system::ProcessSupervisor* pSupervisor,
|
|
+void terminateAllChildren(::core::system::ProcessSupervisor* pSupervisor,
|
|
const ErrorLocation& location)
|
|
{
|
|
// send kill signal
|
|
@@ -2221,7 +2221,7 @@
|
|
if (!pSupervisor->wait(boost::posix_time::milliseconds(10),
|
|
boost::posix_time::milliseconds(1000)))
|
|
{
|
|
- core::log::logWarningMessage(
|
|
+ ::core::log::logWarningMessage(
|
|
"Process supervisor did not terminate within 1 second",
|
|
location);
|
|
}
|
|
@@ -2361,7 +2361,7 @@
|
|
}
|
|
}
|
|
|
|
-void ensureRLibsUser(const core::FilePath& userHomePath,
|
|
+void ensureRLibsUser(const ::core::FilePath& userHomePath,
|
|
const std::string& rLibsUser)
|
|
{
|
|
FilePath rLibsUserPath = FilePath::resolveAliasedPath(rLibsUser,
|
|
@@ -2398,7 +2398,7 @@
|
|
if (result == ParentTerminationAbnormal)
|
|
{
|
|
LOG_ERROR_MESSAGE("Parent terminated");
|
|
- core::system::abort();
|
|
+ ::core::system::abort();
|
|
}
|
|
else if (result == ParentTerminationNormal)
|
|
{
|
|
@@ -2593,7 +2593,7 @@
|
|
|
|
|
|
Error registerAsyncRpcMethod(const std::string& name,
|
|
- const core::json::JsonRpcAsyncFunction& function)
|
|
+ const ::core::json::JsonRpcAsyncFunction& function)
|
|
{
|
|
s_jsonRpcMethods.insert(
|
|
std::make_pair(name, std::make_pair(false, function)));
|
|
@@ -2601,7 +2601,7 @@
|
|
}
|
|
|
|
Error registerRpcMethod(const std::string& name,
|
|
- const core::json::JsonRpcFunction& function)
|
|
+ const ::core::json::JsonRpcFunction& function)
|
|
{
|
|
s_jsonRpcMethods.insert(
|
|
std::make_pair(name,
|
|
@@ -2700,7 +2700,7 @@
|
|
|
|
bool registeredWaitForMethod(const std::string& method,
|
|
const ClientEvent& event,
|
|
- core::json::JsonRpcRequest* pRequest)
|
|
+ ::core::json::JsonRpcRequest* pRequest)
|
|
{
|
|
// enque the event which notifies the client we want input
|
|
module_context::enqueClientEvent(event);
|
|
@@ -2726,11 +2726,11 @@
|
|
|
|
namespace {
|
|
|
|
-int sessionExitFailure(const core::Error& error,
|
|
- const core::ErrorLocation& location)
|
|
+int sessionExitFailure(const ::core::Error& error,
|
|
+ const ::core::ErrorLocation& location)
|
|
{
|
|
if (!error.expected())
|
|
- core::log::logError(error, location);
|
|
+ ::core::log::logError(error, location);
|
|
|
|
return EXIT_FAILURE;
|
|
}
|
|
@@ -2745,7 +2745,7 @@
|
|
{
|
|
#if !defined(_WIN32) && !defined(__APPLE__)
|
|
// if no LANG environment variable is already defined
|
|
- if (core::system::getenv("LANG").empty())
|
|
+ if (::core::system::getenv("LANG").empty())
|
|
{
|
|
// try to read the LANG from the various places it might be defined
|
|
std::vector<std::pair<std::string,std::string> > langDefs;
|
|
@@ -2767,7 +2767,7 @@
|
|
std::string value = vars[var];
|
|
if (!value.empty())
|
|
{
|
|
- core::system::setenv("LANG", value);
|
|
+ ::core::system::setenv("LANG", value);
|
|
break;
|
|
}
|
|
}
|
|
@@ -2777,11 +2777,11 @@
|
|
|
|
std::string ctypeEnvName()
|
|
{
|
|
- if (!core::system::getenv("LC_ALL").empty())
|
|
+ if (!::core::system::getenv("LC_ALL").empty())
|
|
return "LC_ALL";
|
|
- if (!core::system::getenv("LC_CTYPE").empty())
|
|
+ if (!::core::system::getenv("LC_CTYPE").empty())
|
|
return "LC_CTYPE";
|
|
- if (!core::system::getenv("LANG").empty())
|
|
+ if (!::core::system::getenv("LANG").empty())
|
|
return "LANG";
|
|
return "LC_CTYPE";
|
|
}
|
|
@@ -2807,7 +2807,7 @@
|
|
return true;
|
|
#else
|
|
std::string name = ctypeEnvName();
|
|
- std::string ctype = core::system::getenv(name);
|
|
+ std::string ctype = ::core::system::getenv(name);
|
|
|
|
if (boost::regex_search(ctype, boost::regex("UTF-8$")))
|
|
return true;
|
|
@@ -2839,7 +2839,7 @@
|
|
{
|
|
if (setlocale(LC_CTYPE, newCType.c_str()))
|
|
{
|
|
- core::system::setenv(name, newCType);
|
|
+ ::core::system::setenv(name, newCType);
|
|
setlocale(LC_CTYPE, "");
|
|
return true;
|
|
}
|
|
@@ -2861,11 +2861,11 @@
|
|
// initialize log so we capture all errors including ones which occur
|
|
// reading the config file (if we are in desktop mode then the log
|
|
// will get re-initialized below)
|
|
- initializeSystemLog("rsession-" + core::system::username(),
|
|
- core::system::kLogLevelWarning);
|
|
+ initializeSystemLog("rsession-" + ::core::system::username(),
|
|
+ ::core::system::kLogLevelWarning);
|
|
|
|
// ignore SIGPIPE
|
|
- Error error = core::system::ignoreSignal(core::system::SigPipe);
|
|
+ Error error = ::core::system::ignoreSignal(::core::system::SigPipe);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
|
|
@@ -2884,7 +2884,7 @@
|
|
return status.exitCode() ;
|
|
|
|
// reflect stderr logging
|
|
- core::system::setLogToStderr(options.logStderr());
|
|
+ ::core::system::setLogToStderr(options.logStderr());
|
|
|
|
// initialize monitor
|
|
monitor::initializeMonitorClient(kMonitorSocketPath,
|
|
@@ -2893,7 +2893,7 @@
|
|
// register monitor log writer (but not in standalone mode)
|
|
if (!options.standalone())
|
|
{
|
|
- core::system::addLogWriter(monitor::client().createLogWriter(
|
|
+ ::core::system::addLogWriter(monitor::client().createLogWriter(
|
|
options.programIdentity()));
|
|
}
|
|
|
|
@@ -2907,12 +2907,12 @@
|
|
if (options.verifyInstallation())
|
|
{
|
|
initializeStderrLog(options.programIdentity(),
|
|
- core::system::kLogLevelWarning);
|
|
+ ::core::system::kLogLevelWarning);
|
|
}
|
|
else
|
|
{
|
|
initializeLog(options.programIdentity(),
|
|
- core::system::kLogLevelWarning,
|
|
+ ::core::system::kLogLevelWarning,
|
|
options.userLogPath());
|
|
}
|
|
}
|
|
@@ -2927,27 +2927,27 @@
|
|
|
|
// set the rstudio environment variable so code can check for
|
|
// whether rstudio is running
|
|
- core::system::setenv("RSTUDIO", "1");
|
|
+ ::core::system::setenv("RSTUDIO", "1");
|
|
|
|
// set the rstudio user identity environment variable (can differ from
|
|
// username in debug configurations). this is provided so that
|
|
// rpostback knows what local stream to connect back to
|
|
- core::system::setenv(kRStudioUserIdentity, options.userIdentity());
|
|
+ ::core::system::setenv(kRStudioUserIdentity, options.userIdentity());
|
|
if (desktopMode)
|
|
{
|
|
// do the same for port number, for rpostback in rdesktop configs
|
|
- core::system::setenv(kRSessionPortNumber, options.wwwPort());
|
|
+ ::core::system::setenv(kRSessionPortNumber, options.wwwPort());
|
|
}
|
|
|
|
// set the standalone port if we are running in standalone mode
|
|
if (options.standalone())
|
|
{
|
|
- core::system::setenv(kRSessionStandalonePortNumber, options.wwwPort());
|
|
+ ::core::system::setenv(kRSessionStandalonePortNumber, options.wwwPort());
|
|
}
|
|
|
|
// ensure we aren't being started as a low (priviliged) account
|
|
if (serverMode &&
|
|
- core::system::currentUserIsPrivilleged(options.minimumUserId()))
|
|
+ ::core::system::currentUserIsPrivilleged(options.minimumUserId()))
|
|
{
|
|
Error error = systemError(boost::system::errc::permission_denied,
|
|
ERROR_LOCATION);
|
|
@@ -2957,14 +2957,14 @@
|
|
#ifdef RSTUDIO_SERVER
|
|
if (serverMode)
|
|
{
|
|
- Error error = core::system::crypto::rsaInit();
|
|
+ Error error = ::core::system::crypto::rsaInit();
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
#endif
|
|
|
|
// start the file monitor
|
|
- core::system::file_monitor::initialize();
|
|
+ ::core::system::file_monitor::initialize();
|
|
|
|
// initialize client event queue. this must be done very early
|
|
// in main so that any other code which needs to enque an event
|
|
@@ -2973,13 +2973,13 @@
|
|
|
|
// detect parent termination
|
|
if (desktopMode)
|
|
- core::thread::safeLaunchThread(detectParentTermination);
|
|
+ ::core::thread::safeLaunchThread(detectParentTermination);
|
|
|
|
// set the rpostback absolute path
|
|
FilePath rpostback = options.rpostbackPath()
|
|
.parent().parent()
|
|
.childPath("rpostback");
|
|
- core::system::setenv(
|
|
+ ::core::system::setenv(
|
|
"RS_RPOSTBACK_PATH",
|
|
string_utils::utf8ToSystem(rpostback.absolutePath()));
|
|
|
|
@@ -3041,9 +3041,9 @@
|
|
|
|
// install home and doc dir overrides if requested (for debugger mode)
|
|
if (!options.rHomeDirOverride().empty())
|
|
- core::system::setenv("R_HOME", options.rHomeDirOverride());
|
|
+ ::core::system::setenv("R_HOME", options.rHomeDirOverride());
|
|
if (!options.rDocDirOverride().empty())
|
|
- core::system::setenv("R_DOC_DIR", options.rDocDirOverride());
|
|
+ ::core::system::setenv("R_DOC_DIR", options.rDocDirOverride());
|
|
|
|
// r options
|
|
r::session::ROptions rOptions ;
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionModuleContext.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionModuleContext.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionModuleContext.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionModuleContext.cpp 2015-03-08 22:23:10.448944005 +0100
|
|
@@ -199,7 +199,7 @@
|
|
if (!file.empty())
|
|
{
|
|
FilePath filePath = module_context::resolveAliasedPath(file);
|
|
- Error error = core::system::makeFileHidden(filePath);
|
|
+ Error error = ::core::system::makeFileHidden(filePath);
|
|
if (error)
|
|
LOG_ERROR(error);
|
|
}
|
|
@@ -298,9 +298,9 @@
|
|
}
|
|
|
|
|
|
-void onFilesChanged(const std::vector<core::system::FileChangeEvent>& changes)
|
|
+void onFilesChanged(const std::vector< ::core::system::FileChangeEvent>& changes)
|
|
{
|
|
- BOOST_FOREACH(const core::system::FileChangeEvent& fileChange, changes)
|
|
+ BOOST_FOREACH(const ::core::system::FileChangeEvent& fileChange, changes)
|
|
{
|
|
FilePath changedFilePath(fileChange.fileInfo().absolutePath());
|
|
for (MonitoredScratchPaths::const_iterator
|
|
@@ -321,7 +321,7 @@
|
|
boost::shared_ptr<tree<FileInfo> > monitoredPathTree()
|
|
{
|
|
boost::shared_ptr<tree<FileInfo> > pMonitoredTree(new tree<FileInfo>());
|
|
- core::system::FileScannerOptions options;
|
|
+ ::core::system::FileScannerOptions options;
|
|
options.recursive = true;
|
|
options.filter = monitoredScratchFilter;
|
|
Error scanError = scanFiles(FileInfo(monitoredParentPath()),
|
|
@@ -336,9 +336,9 @@
|
|
bool scanForMonitoredPathChanges(boost::shared_ptr<tree<FileInfo> > pPrevTree)
|
|
{
|
|
// check for changes
|
|
- std::vector<core::system::FileChangeEvent> changes;
|
|
+ std::vector< ::core::system::FileChangeEvent> changes;
|
|
boost::shared_ptr<tree<FileInfo> > pCurrentTree = monitoredPathTree();
|
|
- core::system::collectFileChangeEvents(pPrevTree->begin(),
|
|
+ ::core::system::collectFileChangeEvents(pPrevTree->begin(),
|
|
pPrevTree->end(),
|
|
pCurrentTree->begin(),
|
|
pCurrentTree->end(),
|
|
@@ -373,11 +373,11 @@
|
|
void initializeMonitoredUserScratchDir()
|
|
{
|
|
// setup callbacks and register
|
|
- core::system::file_monitor::Callbacks cb;
|
|
+ ::core::system::file_monitor::Callbacks cb;
|
|
cb.onRegistrationError = onMonitoringError;
|
|
cb.onMonitoringError = onMonitoringError;
|
|
cb.onFilesChanged = onFilesChanged;
|
|
- core::system::file_monitor::registerMonitor(
|
|
+ ::core::system::file_monitor::registerMonitor(
|
|
monitoredParentPath(),
|
|
true,
|
|
monitoredScratchFilter,
|
|
@@ -692,7 +692,7 @@
|
|
processSupervisor().poll();
|
|
|
|
// check for file monitor changes
|
|
- core::system::file_monitor::checkForChanges();
|
|
+ ::core::system::file_monitor::checkForChanges();
|
|
|
|
// fire event
|
|
events().onBackgroundProcessing(isIdle);
|
|
@@ -870,14 +870,14 @@
|
|
return true;
|
|
|
|
#ifndef _WIN32
|
|
- core::shell_utils::ShellCommand cmd("file");
|
|
+ ::core::shell_utils::ShellCommand cmd("file");
|
|
cmd << "--dereference";
|
|
cmd << "--mime";
|
|
cmd << "--brief";
|
|
cmd << targetPath;
|
|
- core::system::ProcessResult result;
|
|
- Error error = core::system::runCommand(cmd,
|
|
- core::system::ProcessOptions(),
|
|
+ ::core::system::ProcessResult result;
|
|
+ Error error = ::core::system::runCommand(cmd,
|
|
+ ::core::system::ProcessOptions(),
|
|
&result);
|
|
if (error)
|
|
{
|
|
@@ -899,7 +899,7 @@
|
|
|
|
// read contents of file
|
|
std::string contents;
|
|
- Error error = core::readStringFromFile(targetPath, &contents);
|
|
+ Error error = ::core::readStringFromFile(targetPath, &contents);
|
|
if (error)
|
|
{
|
|
LOG_ERROR(error);
|
|
@@ -916,7 +916,7 @@
|
|
|
|
}
|
|
|
|
-Error rBinDir(core::FilePath* pRBinDirPath)
|
|
+Error rBinDir(::core::FilePath* pRBinDirPath)
|
|
{
|
|
std::string rHomeBin;
|
|
r::exec::RFunction rHomeBinFunc("R.home", "bin");
|
|
@@ -944,7 +944,7 @@
|
|
return Success();
|
|
}
|
|
|
|
-shell_utils::ShellCommand rCmd(const core::FilePath& rBinDir)
|
|
+shell_utils::ShellCommand rCmd(const ::core::FilePath& rBinDir)
|
|
{
|
|
#ifdef _WIN32
|
|
return shell_utils::ShellCommand(rBinDir.childPath("Rcmd.exe"));
|
|
@@ -1015,14 +1015,14 @@
|
|
return error;
|
|
|
|
// setup options and command
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
#ifdef _WIN32
|
|
shell_utils::ShellCommand installCommand(rBinDir.childPath("R.exe"));
|
|
#else
|
|
shell_utils::ShellCommand installCommand(rBinDir.childPath("R"));
|
|
#endif
|
|
|
|
- installCommand << core::shell_utils::EscapeFilesOnly;
|
|
+ installCommand << ::core::shell_utils::EscapeFilesOnly;
|
|
|
|
// for packrat projects we execute the profile and set the working
|
|
// directory to the project directory; for other contexts we just
|
|
@@ -1034,11 +1034,11 @@
|
|
else
|
|
{
|
|
installCommand << "--vanilla";
|
|
- core::system::Options env;
|
|
- core::system::environment(&env);
|
|
+ ::core::system::Options env;
|
|
+ ::core::system::environment(&env);
|
|
std::string libPaths = libPathsString();
|
|
if (!libPaths.empty())
|
|
- core::system::setenv(&env, "R_LIBS", libPathsString());
|
|
+ ::core::system::setenv(&env, "R_LIBS", libPathsString());
|
|
options.environment = env;
|
|
}
|
|
|
|
@@ -1053,10 +1053,10 @@
|
|
|
|
// add pakage path
|
|
installCommand << "\"" + pkgPath + "\"";
|
|
- core::system::ProcessResult result;
|
|
+ ::core::system::ProcessResult result;
|
|
|
|
// run the command
|
|
- error = core::system::runCommand(installCommand,
|
|
+ error = ::core::system::runCommand(installCommand,
|
|
options,
|
|
&result);
|
|
|
|
@@ -1074,7 +1074,7 @@
|
|
}
|
|
|
|
|
|
-std::string packageNameForSourceFile(const core::FilePath& sourceFilePath)
|
|
+std::string packageNameForSourceFile(const ::core::FilePath& sourceFilePath)
|
|
{
|
|
// check whether we are in a package
|
|
FilePath sourceDir = sourceFilePath.parent();
|
|
@@ -1158,7 +1158,7 @@
|
|
|
|
Error sourceModuleRFileWithResult(const std::string& rSourceFile,
|
|
const FilePath& workingDir,
|
|
- core::system::ProcessResult* pResult)
|
|
+ ::core::system::ProcessResult* pResult)
|
|
{
|
|
// R binary
|
|
FilePath rProgramPath;
|
|
@@ -1177,27 +1177,27 @@
|
|
boost::format fmt("source('%1%')");
|
|
FilePath modulesPath = session::options().modulesRSourcePath();
|
|
FilePath srcFilePath = modulesPath.complete(rSourceFile);
|
|
- std::string srcPath = core::string_utils::utf8ToSystem(
|
|
+ std::string srcPath = ::core::string_utils::utf8ToSystem(
|
|
srcFilePath.absolutePath());
|
|
std::string escapedSrcPath = string_utils::jsLiteralEscape(srcPath);
|
|
std::string cmd = boost::str(fmt % escapedSrcPath);
|
|
args.push_back(cmd);
|
|
|
|
// options
|
|
- core::system::ProcessOptions options;
|
|
+ ::core::system::ProcessOptions options;
|
|
options.terminateChildren = true;
|
|
options.workingDir = workingDir;
|
|
|
|
// allow child process to inherit our R_LIBS
|
|
- core::system::Options childEnv;
|
|
- core::system::environment(&childEnv);
|
|
+ ::core::system::Options childEnv;
|
|
+ ::core::system::environment(&childEnv);
|
|
std::string libPaths = libPathsString();
|
|
if (!libPaths.empty())
|
|
- core::system::setenv(&childEnv, "R_LIBS", libPaths);
|
|
+ ::core::system::setenv(&childEnv, "R_LIBS", libPaths);
|
|
options.environment = childEnv;
|
|
|
|
// run the child
|
|
- return core::system::runProgram(rBin, args, "", options, pResult);
|
|
+ return ::core::system::runProgram(rBin, args, "", options, pResult);
|
|
}
|
|
|
|
|
|
@@ -1228,10 +1228,10 @@
|
|
}
|
|
}
|
|
|
|
-bool fileListingFilter(const core::FileInfo& fileInfo)
|
|
+bool fileListingFilter(const ::core::FileInfo& fileInfo)
|
|
{
|
|
// check extension for special file types which are always visible
|
|
- core::FilePath filePath(fileInfo.absolutePath());
|
|
+ ::core::FilePath filePath(fileInfo.absolutePath());
|
|
std::string ext = filePath.extensionLowerCase();
|
|
std::string name = filePath.filename();
|
|
if (ext == ".rprofile" ||
|
|
@@ -1261,7 +1261,7 @@
|
|
namespace {
|
|
// enque file changed event
|
|
void enqueFileChangedEvent(
|
|
- const core::system::FileChangeEvent& event,
|
|
+ const ::core::system::FileChangeEvent& event,
|
|
boost::shared_ptr<modules::source_control::FileDecorationContext> pCtx)
|
|
{
|
|
// create file change object
|
|
@@ -1280,7 +1280,7 @@
|
|
}
|
|
} // namespace
|
|
|
|
-void enqueFileChangedEvent(const core::system::FileChangeEvent &event)
|
|
+void enqueFileChangedEvent(const ::core::system::FileChangeEvent &event)
|
|
{
|
|
FilePath filePath = FilePath(event.fileInfo().absolutePath());
|
|
|
|
@@ -1291,8 +1291,8 @@
|
|
enqueFileChangedEvent(event, pCtx);
|
|
}
|
|
|
|
-void enqueFileChangedEvents(const core::FilePath& vcsStatusRoot,
|
|
- const std::vector<core::system::FileChangeEvent>& events)
|
|
+void enqueFileChangedEvents(const ::core::FilePath& vcsStatusRoot,
|
|
+ const std::vector< ::core::system::FileChangeEvent>& events)
|
|
{
|
|
using namespace modules::source_control;
|
|
|
|
@@ -1301,7 +1301,7 @@
|
|
|
|
// try to find the common parent of the events
|
|
FilePath commonParentPath = FilePath(events.front().fileInfo().absolutePath()).parent();
|
|
- BOOST_FOREACH(const core::system::FileChangeEvent& event, events)
|
|
+ BOOST_FOREACH(const ::core::system::FileChangeEvent& event, events)
|
|
{
|
|
// if not within the common parent then revert to the vcs status root
|
|
if (!FilePath(event.fileInfo().absolutePath()).isWithin(commonParentPath))
|
|
@@ -1316,7 +1316,7 @@
|
|
fileDecorationContext(commonParentPath);
|
|
|
|
// fire client events as necessary
|
|
- BOOST_FOREACH(const core::system::FileChangeEvent& event, events)
|
|
+ BOOST_FOREACH(const ::core::system::FileChangeEvent& event, events)
|
|
{
|
|
enqueFileChangedEvent(event, pCtx);
|
|
}
|
|
@@ -1406,7 +1406,7 @@
|
|
}
|
|
}
|
|
|
|
-std::string createFileUrl(const core::FilePath& filePath)
|
|
+std::string createFileUrl(const ::core::FilePath& filePath)
|
|
{
|
|
// determine url based on whether this is in ~ or not
|
|
std::string url ;
|
|
@@ -1425,7 +1425,7 @@
|
|
}
|
|
|
|
|
|
-void showContent(const std::string& title, const core::FilePath& filePath)
|
|
+void showContent(const std::string& title, const ::core::FilePath& filePath)
|
|
{
|
|
// first provision a content url
|
|
std::string contentUrl = content_urls::provision(title, filePath);
|
|
@@ -1535,7 +1535,7 @@
|
|
|
|
core::system::ProcessSupervisor& processSupervisor()
|
|
{
|
|
- static core::system::ProcessSupervisor instance;
|
|
+ static ::core::system::ProcessSupervisor instance;
|
|
return instance;
|
|
}
|
|
|
|
@@ -1593,8 +1593,8 @@
|
|
// identifies this invocation. In the meantime, kick off the actual
|
|
// operation on a new thread.
|
|
|
|
- std::string handle = core::system::generateUuid(true);
|
|
- core::thread::safeLaunchThread(bind(beginRpcHandler,
|
|
+ std::string handle = ::core::system::generateUuid(true);
|
|
+ ::core::thread::safeLaunchThread(bind(beginRpcHandler,
|
|
function,
|
|
request,
|
|
handle));
|
|
@@ -1619,7 +1619,7 @@
|
|
return url;
|
|
}
|
|
|
|
-shell_utils::ShellCommand RCommand::buildRCmd(const core::FilePath& rBinDir)
|
|
+shell_utils::ShellCommand RCommand::buildRCmd(const ::core::FilePath& rBinDir)
|
|
{
|
|
#if defined(_WIN32)
|
|
shell_utils::ShellCommand rCmd(rBinDir.childPath("Rcmd.exe"));
|
|
@@ -1630,8 +1630,8 @@
|
|
return rCmd;
|
|
}
|
|
|
|
-core::Error recursiveCopyDirectory(const core::FilePath& fromDir,
|
|
- const core::FilePath& toDir)
|
|
+core::Error recursiveCopyDirectory(const ::core::FilePath& fromDir,
|
|
+ const ::core::FilePath& toDir)
|
|
{
|
|
using namespace string_utils;
|
|
r::exec::RFunction fileCopy("file.copy");
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionModuleContextInternal.hpp rstudio-0.98.1103-fix/src/cpp/session/SessionModuleContextInternal.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionModuleContextInternal.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionModuleContextInternal.hpp 2015-03-08 22:23:10.452944006 +0100
|
|
@@ -39,8 +39,8 @@
|
|
// suspend and resume
|
|
|
|
void onSuspended(const r::session::RSuspendOptions& options,
|
|
- core::Settings* pPersistentState);
|
|
-void onResumed(const core::Settings& persistentState);
|
|
+ ::core::Settings* pPersistentState);
|
|
+void onResumed(const ::core::Settings& persistentState);
|
|
|
|
// notify of backgound processing
|
|
void onBackgroundProcessing(bool isIdle);
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionOptions.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionOptions.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionOptions.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionOptions.cpp 2015-03-08 22:23:10.457944007 +0100
|
|
@@ -55,12 +55,12 @@
|
|
using namespace boost::program_options ;
|
|
|
|
// get the shared secret
|
|
- monitorSharedSecret_ = core::system::getenv(kMonitorSharedSecretEnvVar);
|
|
- core::system::unsetenv(kMonitorSharedSecretEnvVar);
|
|
+ monitorSharedSecret_ = ::core::system::getenv(kMonitorSharedSecretEnvVar);
|
|
+ ::core::system::unsetenv(kMonitorSharedSecretEnvVar);
|
|
|
|
// compute the resource path
|
|
FilePath resourcePath;
|
|
- Error error = core::system::installPath("..", argv[0], &resourcePath);
|
|
+ Error error = ::core::system::installPath("..", argv[0], &resourcePath);
|
|
if (error)
|
|
{
|
|
LOG_ERROR_MESSAGE("Unable to determine install path: "+error.summary());
|
|
@@ -279,7 +279,7 @@
|
|
"Path to pandoc binaries");
|
|
|
|
// user options (default user identity to current username)
|
|
- std::string currentUsername = core::system::username();
|
|
+ std::string currentUsername = ::core::system::username();
|
|
options_description user("user") ;
|
|
user.add_options()
|
|
(kUserIdentitySessionOption "," kUserIdentitySessionOptionShort,
|
|
@@ -297,7 +297,7 @@
|
|
FilePath defaultConfigPath("/etc/rstudio/rsession.conf");
|
|
std::string configFile = defaultConfigPath.exists() ?
|
|
defaultConfigPath.absolutePath() : "";
|
|
- core::program_options::OptionsDescription optionsDesc("rsession",
|
|
+ ::core::program_options::OptionsDescription optionsDesc("rsession",
|
|
configFile);
|
|
|
|
optionsDesc.commandLine.add(verify);
|
|
@@ -328,7 +328,7 @@
|
|
optionsDesc.configFile.add(overlay);
|
|
|
|
// read configuration
|
|
- ProgramStatus status = core::program_options::read(optionsDesc, argc,argv);
|
|
+ ProgramStatus status = ::core::program_options::read(optionsDesc, argc,argv);
|
|
if (status.exit())
|
|
return status;
|
|
|
|
@@ -366,7 +366,7 @@
|
|
LOG_ERROR(error);
|
|
return ProgramStatus::exitFailure();
|
|
}
|
|
- core::system::setenv("R_USER", verifyInstallationHomeDir_);
|
|
+ ::core::system::setenv("R_USER", verifyInstallationHomeDir_);
|
|
}
|
|
}
|
|
|
|
@@ -383,7 +383,7 @@
|
|
// set HOME if we are in standalone mode (this enables us to reflect
|
|
// R_USER back into HOME on Linux)
|
|
if (standalone())
|
|
- core::system::setenv("HOME", userHomePath_);
|
|
+ ::core::system::setenv("HOME", userHomePath_);
|
|
|
|
// session timeout seconds is always -1 in desktop mode
|
|
if (programMode_ == kSessionProgramModeDesktop)
|
|
@@ -428,7 +428,7 @@
|
|
resolvePandocPath(resourcePath, &pandocPath_);
|
|
|
|
// shared secret with parent
|
|
- secret_ = core::system::getenv("RS_SHARED_SECRET");
|
|
+ secret_ = ::core::system::getenv("RS_SHARED_SECRET");
|
|
/* SECURITY: Need RS_SHARED_SECRET to be available to
|
|
rpostback. However, we really ought to communicate
|
|
it in a more secure manner than this, at least on
|
|
@@ -437,27 +437,27 @@
|
|
levels) than others. For example, using a named pipe
|
|
with proper SACL to retrieve the shared secret, where
|
|
the name of the pipe is in an environment variable. */
|
|
- //core::system::unsetenv("RS_SHARED_SECRET");
|
|
+ //::core::system::unsetenv("RS_SHARED_SECRET");
|
|
|
|
// initial working dir override
|
|
- initialWorkingDirOverride_ = core::system::getenv(kRStudioInitialWorkingDir);
|
|
- core::system::unsetenv(kRStudioInitialWorkingDir);
|
|
+ initialWorkingDirOverride_ = ::core::system::getenv(kRStudioInitialWorkingDir);
|
|
+ ::core::system::unsetenv(kRStudioInitialWorkingDir);
|
|
|
|
// initial environment file override
|
|
- initialEnvironmentFileOverride_ = core::system::getenv(kRStudioInitialEnvironment);
|
|
- core::system::unsetenv(kRStudioInitialEnvironment);
|
|
+ initialEnvironmentFileOverride_ = ::core::system::getenv(kRStudioInitialEnvironment);
|
|
+ ::core::system::unsetenv(kRStudioInitialEnvironment);
|
|
|
|
// initial project
|
|
- initialProjectPath_ = core::system::getenv(kRStudioInitialProject);
|
|
- core::system::unsetenv(kRStudioInitialProject);
|
|
+ initialProjectPath_ = ::core::system::getenv(kRStudioInitialProject);
|
|
+ ::core::system::unsetenv(kRStudioInitialProject);
|
|
|
|
// limit rpc client uid
|
|
limitRpcClientUid_ = -1;
|
|
- std::string limitUid = core::system::getenv(kRStudioLimitRpcClientUid);
|
|
+ std::string limitUid = ::core::system::getenv(kRStudioLimitRpcClientUid);
|
|
if (!limitUid.empty())
|
|
{
|
|
- limitRpcClientUid_ = core::safe_convert::stringTo<int>(limitUid, -1);
|
|
- core::system::unsetenv(kRStudioLimitRpcClientUid);
|
|
+ limitRpcClientUid_ = ::core::safe_convert::stringTo<int>(limitUid, -1);
|
|
+ ::core::system::unsetenv(kRStudioLimitRpcClientUid);
|
|
}
|
|
|
|
// return status
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionPersistentState.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionPersistentState.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionPersistentState.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionPersistentState.cpp 2015-03-08 22:23:10.418944000 +0100
|
|
@@ -72,7 +72,7 @@
|
|
{
|
|
if (serverMode_)
|
|
{
|
|
- std::string newId = core::system::generateUuid();
|
|
+ std::string newId = ::core::system::generateUuid();
|
|
settings_.set(kActiveClientId, newId);
|
|
return newId;
|
|
}
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionSourceDatabase.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionSourceDatabase.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionSourceDatabase.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionSourceDatabase.cpp 2015-03-08 22:23:10.484944011 +0100
|
|
@@ -321,7 +321,7 @@
|
|
if (lastKnownWriteTime_ == 0)
|
|
return;
|
|
|
|
- core::FilePath filePath = module_context::resolveAliasedPath(path_);
|
|
+ ::core::FilePath filePath = module_context::resolveAliasedPath(path_);
|
|
if (!filePath.exists())
|
|
return;
|
|
|
|
@@ -336,7 +336,7 @@
|
|
if (path_.empty())
|
|
return;
|
|
|
|
- core::FilePath filePath = module_context::resolveAliasedPath(path_);
|
|
+ ::core::FilePath filePath = module_context::resolveAliasedPath(path_);
|
|
if (!filePath.exists())
|
|
return;
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionSourceDatabaseSupervisor.hpp rstudio-0.98.1103-fix/src/cpp/session/SessionSourceDatabaseSupervisor.hpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionSourceDatabaseSupervisor.hpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionSourceDatabaseSupervisor.hpp 2015-03-08 22:23:10.434944003 +0100
|
|
@@ -25,7 +25,7 @@
|
|
namespace source_database {
|
|
namespace supervisor {
|
|
|
|
-core::Error attachToSourceDatabase(core::FilePath* pSessionDir);
|
|
+core::Error attachToSourceDatabase(::core::FilePath* pSessionDir);
|
|
|
|
core::Error detachFromSourceDatabase();
|
|
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionSSH.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionSSH.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionSSH.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionSSH.cpp 2015-03-08 22:23:10.476944010 +0100
|
|
@@ -35,12 +35,12 @@
|
|
env_.erase(name);
|
|
}
|
|
|
|
-void ProcessOptionsCreator::addToPath(const core::FilePath& dir)
|
|
+void ProcessOptionsCreator::addToPath(const ::core::FilePath& dir)
|
|
{
|
|
pathDirs_.push_back(dir);
|
|
}
|
|
|
|
-void ProcessOptionsCreator::setWorkingDirectory(const core::FilePath& dir)
|
|
+void ProcessOptionsCreator::setWorkingDirectory(const ::core::FilePath& dir)
|
|
{
|
|
workingDir_ = dir;
|
|
}
|
|
@@ -52,23 +52,23 @@
|
|
|
|
core::system::ProcessOptions ProcessOptionsCreator::processOptions() const
|
|
{
|
|
- core::system::ProcessOptions options = baseOptions_;
|
|
+ ::core::system::ProcessOptions options = baseOptions_;
|
|
|
|
// Set up environment
|
|
- core::system::Options envOpts;
|
|
- core::system::environment(&envOpts);
|
|
+ ::core::system::Options envOpts;
|
|
+ ::core::system::environment(&envOpts);
|
|
typedef std::pair<std::string, std::string> StringPair;
|
|
BOOST_FOREACH(StringPair var, env_)
|
|
{
|
|
if (var.second.empty())
|
|
- core::system::unsetenv(&envOpts, var.first);
|
|
+ ::core::system::unsetenv(&envOpts, var.first);
|
|
else
|
|
- core::system::setenv(&envOpts, var.first, var.second);
|
|
+ ::core::system::setenv(&envOpts, var.first, var.second);
|
|
}
|
|
|
|
if (!pathDirs_.empty())
|
|
{
|
|
- std::string path = core::system::getenv(envOpts, "PATH");
|
|
+ std::string path = ::core::system::getenv(envOpts, "PATH");
|
|
BOOST_FOREACH(FilePath pathDir, pathDirs_)
|
|
{
|
|
#ifdef _WIN32
|
|
@@ -78,7 +78,7 @@
|
|
#endif
|
|
path += pathDir.absolutePathNative();
|
|
}
|
|
- core::system::setenv(&envOpts, "PATH", path);
|
|
+ ::core::system::setenv(&envOpts, "PATH", path);
|
|
}
|
|
|
|
if (!workingDir_.empty())
|
|
diff -ru rstudio-0.98.1103/src/cpp/session/SessionUserSettings.cpp rstudio-0.98.1103-fix/src/cpp/session/SessionUserSettings.cpp
|
|
--- rstudio-0.98.1103/src/cpp/session/SessionUserSettings.cpp 2015-03-06 23:12:51.000000000 +0100
|
|
+++ rstudio-0.98.1103-fix/src/cpp/session/SessionUserSettings.cpp 2015-03-08 22:23:10.397943997 +0100
|
|
@@ -114,13 +114,13 @@
|
|
|
|
// make sure we have a context id
|
|
if (contextId().empty())
|
|
- setContextId(core::system::generateShortenedUuid());
|
|
+ setContextId(::core::system::generateShortenedUuid());
|
|
|
|
return Success();
|
|
}
|
|
|
|
void UserSettings::onSettingsFileChanged(
|
|
- const core::system::FileChangeEvent& changeEvent)
|
|
+ const ::core::system::FileChangeEvent& changeEvent)
|
|
{
|
|
// ensure this is for our target file
|
|
if (settingsFilePath_.absolutePath() !=
|
|
@@ -197,14 +197,14 @@
|
|
{
|
|
std::string value = settings_.get(kUiPrefs, "{}");
|
|
json::Value jsonValue;
|
|
- bool success = core::json::parse(value, &jsonValue);
|
|
+ bool success = ::core::json::parse(value, &jsonValue);
|
|
if (success)
|
|
return jsonValue.get_obj();
|
|
else
|
|
return json::Object();
|
|
}
|
|
|
|
-void UserSettings::setUiPrefs(const core::json::Object& prefsObject)
|
|
+void UserSettings::setUiPrefs(const ::core::json::Object& prefsObject)
|
|
{
|
|
std::ostringstream output;
|
|
json::writeFormatted(prefsObject, output);
|
|
@@ -266,7 +266,7 @@
|
|
std::string spellingLanguage = readPref<std::string>(prefs, "spelling_dictionary_language", "en_US");
|
|
pSpellingLanguage_.reset(new std::string(spellingLanguage));
|
|
|
|
- json::Array spellingCustomDicts = readPref<core::json::Array>(prefs, "spelling_custom_dictionaries", core::json::Array());
|
|
+ json::Array spellingCustomDicts = readPref< ::core::json::Array>(prefs, "spelling_custom_dictionaries", ::core::json::Array());
|
|
pSpellingCustomDicts_.reset(new json::Array(spellingCustomDicts));
|
|
|
|
bool handleErrorsInUserCodeOnly = readPref<bool>(prefs, "handle_errors_in_user_code_only", true);
|