1 --- rstudio-1.1.143/src/cpp/CMakeLists.txt.orig 2017-04-12 00:42:14.000000000 +0200
2 +++ rstudio-1.1.143/src/cpp/CMakeLists.txt 2019-04-30 18:03:57.109531679 +0200
11 --- rstudio-1.1.143/src/cpp/core/BoostErrors.cpp.orig 2017-04-12 00:42:14.000000000 +0200
12 +++ rstudio-1.1.143/src/cpp/core/BoostErrors.cpp 2019-04-30 18:14:58.434346841 +0200
14 boost::system::error_code ec_from_exception(const interprocess_exception& e)
16 if (e.get_error_code() == system_error)
17 - return error_code(e.get_native_error(), get_system_category()) ;
18 + return error_code(e.get_native_error(), system_category()) ;
20 return error_code(e.get_error_code(), interprocess_category()) ;
22 --- rstudio-1.1.143/src/cpp/core/DateTime.cpp.orig 2017-04-12 00:42:14.000000000 +0200
23 +++ rstudio-1.1.143/src/cpp/core/DateTime.cpp 2019-04-30 18:41:49.839481751 +0200
25 using namespace boost::posix_time;
27 ptime time_t_epoch(date(1970,1,1));
28 - return time_t_epoch + seconds(sec);
29 + return time_t_epoch + seconds(int64_t(sec));
32 boost::posix_time::ptime timeFromMillisecondsSinceEpoch(int64_t ms)
33 --- rstudio-1.1.143/src/cpp/core/Error.cpp.orig 2017-04-12 00:42:14.000000000 +0200
34 +++ rstudio-1.1.143/src/cpp/core/Error.cpp 2019-04-30 18:50:13.489560404 +0200
36 Error systemError(int value, const ErrorLocation& location)
38 using namespace boost::system ;
39 - return Error(error_code(value, get_system_category()), location);
40 + return Error(error_code(value, system_category()), location);
43 Error systemError(int value,
45 const ErrorLocation& location)
47 using namespace boost::system ;
48 - return Error(error_code(value, get_system_category()), cause, location);
49 + return Error(error_code(value, system_category()), cause, location);
52 Error systemError(int value,
53 --- rstudio-1.1.143/src/cpp/core/FilePath.cpp.orig 2017-04-12 00:42:14.000000000 +0200
54 +++ rstudio-1.1.143/src/cpp/core/FilePath.cpp 2019-04-30 19:08:36.191306900 +0200
56 "absolute path not permitted",
57 boost::system::error_code(
58 boost::system::errc::no_such_file_or_directory,
59 - boost::system::get_system_category()));
60 + boost::system::system_category()));
63 return complete(path);
64 --- rstudio-1.1.143/src/cpp/core/file_lock/FileLock.cpp.orig 2017-04-12 00:42:14.000000000 +0200
65 +++ rstudio-1.1.143/src/cpp/core/file_lock/FileLock.cpp 2019-04-30 19:53:12.433089596 +0200
69 const char * const kLocksConfPath = "/etc/rstudio/file-locks";
70 -const double kDefaultRefreshRate = 20.0;
71 -const double kDefaultTimeoutInterval = 30.0;
72 +const int64_t kDefaultRefreshRate = 20;
73 +const int64_t kDefaultTimeoutInterval = 30;
75 std::string lockTypeToString(FileLock::LockType type)
78 FileLock::s_defaultType = stringToLockType(settings.get("lock-type", kLockTypeDefault));
81 - double timeoutInterval = getFieldPositive(settings, "timeout-interval", kDefaultTimeoutInterval);
82 + int64_t timeoutInterval = getFieldPositive(settings, "timeout-interval", kDefaultTimeoutInterval);
83 FileLock::s_timeoutInterval = boost::posix_time::seconds(timeoutInterval);
86 - double refreshRate = getFieldPositive(settings, "refresh-rate", kDefaultRefreshRate);
87 + int64_t refreshRate = getFieldPositive(settings, "refresh-rate", kDefaultRefreshRate);
88 FileLock::s_refreshRate = boost::posix_time::seconds(refreshRate);
91 --- rstudio-1.1.143/src/cpp/core/include/core/r_util/RFunctionInformation.hpp.orig 2017-04-12 00:42:14.000000000 +0200
92 +++ rstudio-1.1.143/src/cpp/core/include/core/r_util/RFunctionInformation.hpp 2019-04-30 21:29:45.820684223 +0200
94 const std::string& name() const { return name_; }
95 const boost::optional<std::string>& defaultValue() const { return defaultValue_; }
96 boost::tribool hasDefault() const { return hasDefault_; }
97 - bool isUsed() const { return isUsed_; }
98 + bool isUsed() const { return bool(isUsed_); }
99 void setIsUsed(bool value) { isUsed_ = value; }
100 - bool isMissingnessHandled() const { return isMissingnessHandled_; }
101 + bool isMissingnessHandled() const { return bool(isMissingnessHandled_); }
102 void setMissingnessHandled(bool value) { isMissingnessHandled_ = value; }
109 - return isPrimitive_ == true;
110 + return bool(isPrimitive_ == true);
113 void setIsPrimitive(bool isPrimitive)
114 --- rstudio-1.1.143/src/cpp/r/include/r/session/RConsoleHistory.hpp.orig 2017-04-12 00:42:14.000000000 +0200
115 +++ rstudio-1.1.143/src/cpp/r/include/r/session/RConsoleHistory.hpp 2019-04-30 21:38:32.871700755 +0200
118 #include <boost/utility.hpp>
119 #include <boost/circular_buffer.hpp>
120 -#include <boost/signal.hpp>
121 +#include <boost/signals2/signal.hpp>
123 #include <core/json/Json.hpp>
127 typedef boost::circular_buffer<std::string>::value_type value_type;
128 typedef boost::circular_buffer<std::string>::const_iterator const_iterator;
129 - typedef boost::signal<void (const std::string&)> AddSignal;
130 + typedef boost::signals2::signal<void (const std::string&)> AddSignal;
135 core::Error loadFromFile(const core::FilePath& filePath, bool verifyFile);
136 core::Error saveToFile(const core::FilePath& filePath) const;
138 - boost::signals::connection connectOnAdd(
139 + boost::signals2::connection connectOnAdd(
140 const AddSignal::slot_function_type& slot)
142 return onAdd_.connect(slot);
143 --- rstudio-1.1.143/src/cpp/monitor/include/monitor/MonitorClient.hpp.orig 2017-04-12 00:42:14.000000000 +0200
144 +++ rstudio-1.1.143/src/cpp/monitor/include/monitor/MonitorClient.hpp 2019-04-30 21:45:43.674343571 +0200
149 +#include <boost/asio/io_service.hpp>
151 #include <core/system/System.hpp>
152 #include <core/LogWriter.hpp>
156 #include "MonitorConstants.hpp"
158 -// forward declaration; boost/asio/io_service may cause errors if included more
159 -// than once (Boost 1.50 on Win x64 only)
160 -namespace RSTUDIO_BOOST_NAMESPACE {
169 --- rstudio-1.1.143/src/cpp/r/include/r/session/RGraphics.hpp.orig 2017-04-12 00:42:14.000000000 +0200
170 +++ rstudio-1.1.143/src/cpp/r/include/r/session/RGraphics.hpp 2019-04-30 21:51:36.872886926 +0200
174 #include <boost/function.hpp>
175 -#include <boost/signal.hpp>
176 +#include <boost/signals2/signal.hpp>
178 #include <core/Error.hpp>
179 #include <core/json/Json.hpp>
181 virtual void clear() = 0;
183 // subscribe to showManipulator event
184 - virtual boost::signal<void ()>& onShowManipulator() = 0;
185 + virtual boost::signals2::signal<void ()>& onShowManipulator() = 0;
187 // set manipulator values
188 virtual void setPlotManipulatorValues(const core::json::Object& values) = 0;
189 --- rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp.orig 2017-04-12 00:42:14.000000000 +0200
190 +++ rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp 2019-04-30 21:56:03.636876362 +0200
192 #include <boost/utility.hpp>
193 #include <boost/shared_ptr.hpp>
194 #include <boost/function.hpp>
195 -#include <boost/signal.hpp>
196 +#include <boost/signals2/signal.hpp>
197 #include <boost/regex.hpp>
198 #include <boost/circular_buffer.hpp>
202 struct GraphicsDeviceEvents
204 - boost::signal<void (SEXP)> onNewPage;
205 - boost::signal<void ()> onDrawing;
206 - boost::signal<void ()> onResized;
207 - boost::signal<void ()> onClosed;
208 + boost::signals2::signal<void (SEXP)> onNewPage;
209 + boost::signals2::signal<void ()> onDrawing;
210 + boost::signals2::signal<void ()> onResized;
211 + boost::signals2::signal<void ()> onClosed;
214 class PlotManipulatorManager;
217 virtual void clear();
219 - virtual boost::signal<void ()>& onShowManipulator() ;
220 + virtual boost::signals2::signal<void ()>& onShowManipulator() ;
221 virtual void setPlotManipulatorValues(const core::json::Object& values);
222 virtual void manipulatorPlotClicked(int x, int y);
224 --- rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp.orig 2017-04-12 00:42:14.000000000 +0200
225 +++ rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp 2019-04-30 22:05:43.147318776 +0200
227 #ifndef R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP
228 #define R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP
230 -#include <boost/signal.hpp>
231 +#include <boost/signals2/signal.hpp>
233 #include <core/Error.hpp>
234 #include <core/json/Json.hpp>
237 core::Error initialize(const UnitConversionFunctions& convert);
239 - boost::signal<void ()>& onShowManipulator() ;
240 + boost::signals2::signal<void ()>& onShowManipulator() ;
241 void setPlotManipulatorValues(const core::json::Object& values);
242 void manipulatorPlotClicked(int x, int y);
245 bool replayingManipulator_;
247 // manipulator event hook
248 - boost::signal<void ()> onShowManipulator_;
249 + boost::signals2::signal<void ()> onShowManipulator_;
251 // unit conversion function
252 UnitConversionFunctions convert_;
253 --- rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp.orig 2017-04-12 00:42:14.000000000 +0200
254 +++ rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp 2019-04-30 22:08:26.619968572 +0200
259 -boost::signal<void ()>& PlotManipulatorManager::onShowManipulator()
260 +boost::signals2::signal<void ()>& PlotManipulatorManager::onShowManipulator()
262 return onShowManipulator_;
264 --- rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp.orig 2017-04-12 00:42:14.000000000 +0200
265 +++ rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp 2019-04-30 22:12:31.552894791 +0200
270 -boost::signal<void ()>& PlotManager::onShowManipulator()
271 +boost::signals2::signal<void ()>& PlotManager::onShowManipulator()
273 return plotManipulatorManager().onShowManipulator();
275 --- rstudio-1.1.143/src/cpp/session/include/session/SessionUserSettings.hpp.orig 2017-04-12 00:42:14.000000000 +0200
276 +++ rstudio-1.1.143/src/cpp/session/include/session/SessionUserSettings.hpp 2019-04-30 22:14:26.662303350 +0200
279 #include <boost/utility.hpp>
280 #include <boost/scoped_ptr.hpp>
281 -#include <boost/signal.hpp>
282 +#include <boost/signals2/signal.hpp>
284 #include <core/Settings.hpp>
285 #include <core/FilePath.hpp>
287 friend UserSettings& userSettings();
290 - boost::signal<void()> onChanged;
291 + boost::signals2::signal<void()> onChanged;
294 // COPYING: boost::noncopyable
295 --- rstudio-1.1.143/src/cpp/session/include/session/SessionConsoleProcess.hpp.orig 2017-04-12 00:42:14.000000000 +0200
296 +++ rstudio-1.1.143/src/cpp/session/include/session/SessionConsoleProcess.hpp 2019-04-30 22:15:41.852955908 +0200
300 #include <boost/regex.hpp>
301 -#include <boost/signals.hpp>
302 +#include <boost/signals2/signal.hpp>
303 #include <boost/circular_buffer.hpp>
304 #include <boost/enable_shared_from_this.hpp>
307 void setPromptHandler(
308 const boost::function<bool(const std::string&, Input*)>& onPrompt);
310 - boost::signal<void(int)>& onExit() { return onExit_; }
311 + boost::signals2::signal<void(int)>& onExit() { return onExit_; }
313 std::string handle() const { return procInfo_->getHandle(); }
314 InteractionMode interactionMode() const { return procInfo_->getInteractionMode(); }
316 int lastInputSequence_;
318 boost::function<bool(const std::string&, Input*)> onPrompt_;
319 - boost::signal<void(int)> onExit_;
320 + boost::signals2::signal<void(int)> onExit_;
322 // regex for prompt detection
323 boost::regex controlCharsPattern_;
324 --- rstudio-1.1.143/src/cpp/session/include/session/SessionModuleContext.hpp.orig 2017-04-12 00:42:14.000000000 +0200
325 +++ rstudio-1.1.143/src/cpp/session/include/session/SessionModuleContext.hpp 2019-04-30 22:17:50.683118588 +0200
328 #include <boost/utility.hpp>
329 #include <boost/function.hpp>
330 -#include <boost/signals.hpp>
331 +#include <boost/signals2/signal.hpp>
332 #include <boost/shared_ptr.hpp>
334 #include <core/HtmlUtils.hpp>
335 @@ -316,34 +316,34 @@
337 struct Events : boost::noncopyable
339 - boost::signal<void (core::json::Object*)> onSessionInfo;
340 - boost::signal<void ()> onClientInit;
341 - boost::signal<void ()> onBeforeExecute;
342 - boost::signal<void(const std::string&)> onConsolePrompt;
343 - boost::signal<void(const std::string&)> onConsoleInput;
344 - boost::signal<void(const std::string&, const std::string&)>
345 + boost::signals2::signal<void (core::json::Object*)> onSessionInfo;
346 + boost::signals2::signal<void ()> onClientInit;
347 + boost::signals2::signal<void ()> onBeforeExecute;
348 + boost::signals2::signal<void(const std::string&)> onConsolePrompt;
349 + boost::signals2::signal<void(const std::string&)> onConsoleInput;
350 + boost::signals2::signal<void(const std::string&, const std::string&)>
351 onActiveConsoleChanged;
352 - boost::signal<void (ConsoleOutputType, const std::string&)>
353 + boost::signals2::signal<void (ConsoleOutputType, const std::string&)>
355 - boost::signal<void()> onUserInterrupt;
356 - boost::signal<void (ChangeSource)> onDetectChanges;
357 - boost::signal<void (core::FilePath)> onSourceEditorFileSaved;
358 - boost::signal<void(bool)> onDeferredInit;
359 - boost::signal<void(bool)> afterSessionInitHook;
360 - boost::signal<void(bool)> onBackgroundProcessing;
361 - boost::signal<void(bool)> onShutdown;
362 - boost::signal<void ()> onQuit;
363 - boost::signal<void (const std::vector<std::string>&)>
364 + boost::signals2::signal<void()> onUserInterrupt;
365 + boost::signals2::signal<void (ChangeSource)> onDetectChanges;
366 + boost::signals2::signal<void (core::FilePath)> onSourceEditorFileSaved;
367 + boost::signals2::signal<void(bool)> onDeferredInit;
368 + boost::signals2::signal<void(bool)> afterSessionInitHook;
369 + boost::signals2::signal<void(bool)> onBackgroundProcessing;
370 + boost::signals2::signal<void(bool)> onShutdown;
371 + boost::signals2::signal<void ()> onQuit;
372 + boost::signals2::signal<void (const std::vector<std::string>&)>
374 - boost::signal<void (const std::string&)> onPackageLoaded;
375 - boost::signal<void ()> onPackageLibraryMutated;
376 - boost::signal<void ()> onPreferencesSaved;
377 - boost::signal<void (const DistributedEvent&)>
378 + boost::signals2::signal<void (const std::string&)> onPackageLoaded;
379 + boost::signals2::signal<void ()> onPackageLibraryMutated;
380 + boost::signals2::signal<void ()> onPreferencesSaved;
381 + boost::signals2::signal<void (const DistributedEvent&)>
383 - boost::signal<void (core::FilePath)> onPermissionsChanged;
384 + boost::signals2::signal<void (core::FilePath)> onPermissionsChanged;
386 // signal for detecting extended type of documents
387 - boost::signal<std::string(boost::shared_ptr<source_database::SourceDocument>),
388 + boost::signals2::signal<std::string(boost::shared_ptr<source_database::SourceDocument>),
389 firstNonEmpty<std::string> > onDetectSourceExtendedType;
392 --- rstudio-1.1.143/src/cpp/session/include/session/SessionSourceDatabase.hpp.orig 2017-04-12 00:42:14.000000000 +0200
393 +++ rstudio-1.1.143/src/cpp/session/include/session/SessionSourceDatabase.hpp 2019-04-30 22:18:33.162037081 +0200
396 #include <boost/utility.hpp>
397 #include <boost/shared_ptr.hpp>
398 -#include <boost/signals.hpp>
399 +#include <boost/signals2/signal.hpp>
401 #include <core/FilePath.hpp>
402 #include <core/json/Json.hpp>
403 @@ -203,14 +203,14 @@
404 // source database events
405 struct Events : boost::noncopyable
407 - boost::signal<void(boost::shared_ptr<SourceDocument>)> onDocUpdated;
408 - boost::signal<void(const std::string&,
409 + boost::signals2::signal<void(boost::shared_ptr<SourceDocument>)> onDocUpdated;
410 + boost::signals2::signal<void(const std::string&,
411 boost::shared_ptr<SourceDocument>)> onDocRenamed;
412 - boost::signal<void(const std::string&)> onDocAdded;
413 - boost::signal<void(
414 + boost::signals2::signal<void(const std::string&)> onDocAdded;
415 + boost::signals2::signal<void(
416 boost::shared_ptr<source_database::SourceDocument>)> onDocPendingRemove;
417 - boost::signal<void(const std::string&, const std::string&)> onDocRemoved;
418 - boost::signal<void()> onRemoveAll;
419 + boost::signals2::signal<void(const std::string&, const std::string&)> onDocRemoved;
420 + boost::signals2::signal<void()> onRemoveAll;
424 --- rstudio-1.1.143/src/cpp/session/modules/SessionPlots.hpp.orig 2017-04-12 00:42:14.000000000 +0200
425 +++ rstudio-1.1.143/src/cpp/session/modules/SessionPlots.hpp 2019-05-01 07:09:47.229018563 +0200
427 #ifndef SESSION_PLOTS_HPP
428 #define SESSION_PLOTS_HPP
430 -#include <boost/signals.hpp>
431 +#include <boost/signals2/signal.hpp>
437 struct Events : boost::noncopyable
439 - boost::signal<void()> onBeforeNewPlot;
440 - boost::signal<void()> onBeforeNewGridPage;
441 - boost::signal<void()> onNewPlot;
442 + boost::signals2::signal<void()> onBeforeNewPlot;
443 + boost::signals2::signal<void()> onBeforeNewGridPage;
444 + boost::signals2::signal<void()> onNewPlot;
448 --- rstudio-1.1.143/src/cpp/ext/websocketpp/transport/asio/connection.hpp.orig 2019-05-01 07:53:58.222087293 +0200
449 +++ rstudio-1.1.143/src/cpp/ext/websocketpp/transport/asio/connection.hpp 2019-05-01 07:54:08.975987464 +0200
451 m_io_service = io_service;
453 if (config::enable_multithreading) {
454 - m_strand = lib::make_shared<boost::asio::strand>(
455 + m_strand = lib::make_shared<boost::asio::io_service::strand>(
456 lib::ref(*io_service));
458 m_async_read_handler = m_strand->wrap(lib::bind(
459 --- rstudio-1.1.143/src/cpp/session/include/session/projects/SessionProjects.hpp.orig 2017-04-12 00:42:14.000000000 +0200
460 +++ rstudio-1.1.143/src/cpp/session/include/session/projects/SessionProjects.hpp 2019-05-01 07:54:58.831948702 +0200
462 #include <boost/utility.hpp>
463 #include <boost/shared_ptr.hpp>
464 #include <boost/foreach.hpp>
465 -#include <boost/signals.hpp>
466 +#include <boost/signals2/signal.hpp>
468 #include <core/FileInfo.hpp>
469 #include <core/FilePath.hpp>
470 @@ -219,10 +219,10 @@
472 bool hasFileMonitor_;
473 std::vector<std::string> monitorSubscribers_;
474 - boost::signal<void(const tree<core::FileInfo>&)> onMonitoringEnabled_;
475 - boost::signal<void(const std::vector<core::system::FileChangeEvent>&)>
476 + boost::signals2::signal<void(const tree<core::FileInfo>&)> onMonitoringEnabled_;
477 + boost::signals2::signal<void(const std::vector<core::system::FileChangeEvent>&)>
479 - boost::signal<void()> onMonitoringDisabled_;
480 + boost::signals2::signal<void()> onMonitoringDisabled_;
483 ProjectContext& projectContext();
484 --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp.orig 2017-04-12 00:42:14.000000000 +0200
485 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp 2019-05-01 08:19:48.877151705 +0200
487 #define SESSION_RMARKDOWN_NOTEBOOK_HPP
490 -#include <boost/signals.hpp>
491 +#include <boost/signals2/signal.hpp>
492 #include <core/json/Json.hpp>
494 #define kChunkLibDir "lib"
496 struct Events : boost::noncopyable
498 // Document {0}, chunk {1} from context id {3} execution completed
499 - boost::signal<void(const std::string&, const std::string&,
500 + boost::signals2::signal<void(const std::string&, const std::string&,
502 onChunkExecCompleted;
504 // Document {0}, chunk {1} had console output of type {2} and text {3}
505 - boost::signal<void(const std::string&, const std::string&, int,
506 + boost::signals2::signal<void(const std::string&, const std::string&, int,
508 onChunkConsoleOutput;
510 - boost::signal<void(const core::FilePath&, const core::FilePath&,
511 + boost::signals2::signal<void(const core::FilePath&, const core::FilePath&,
512 const core::json::Value& metadata, unsigned ordinal)>
514 - boost::signal<void(const core::FilePath&, const core::FilePath&,
515 + boost::signals2::signal<void(const core::FilePath&, const core::FilePath&,
516 const core::json::Value& metadata)> onHtmlOutput;
517 - boost::signal<void(const core::json::Object&)> onErrorOutput;
518 - boost::signal<void(const core::FilePath&, const core::FilePath&,
519 + boost::signals2::signal<void(const core::json::Object&)> onErrorOutput;
520 + boost::signals2::signal<void(const core::FilePath&, const core::FilePath&,
521 const core::json::Value& metadata)> onDataOutput;
522 - boost::signal<void(Condition condition, const std::string& message)>
523 + boost::signals2::signal<void(Condition condition, const std::string& message)>
527 --- rstudio-1.1.143/src/cpp/session/SessionModuleContext.cpp.orig 2017-04-12 00:42:14.000000000 +0200
528 +++ rstudio-1.1.143/src/cpp/session/SessionModuleContext.cpp 2019-05-01 08:21:14.344989539 +0200
531 #include <boost/assert.hpp>
532 #include <boost/utility.hpp>
533 -#include <boost/signal.hpp>
534 +#include <boost/signals2/last_value.hpp>
535 +#include <boost/signals2/signal.hpp>
536 #include <boost/format.hpp>
537 #include <boost/numeric/conversion/cast.hpp>
539 @@ -571,13 +572,13 @@
543 - boost::signal<void(const r::session::RSuspendOptions&,Settings*),
544 - boost::last_value<void>,
545 + boost::signals2::signal<void(const r::session::RSuspendOptions&,Settings*),
546 + boost::signals2::last_value<void>,
548 std::less<int> > suspendSignal_;
550 - boost::signal<void(const Settings&),
551 - boost::last_value<void>,
552 + boost::signals2::signal<void(const Settings&),
553 + boost::signals2::last_value<void>,
555 std::greater<int> > resumeSignal_;
557 --- rstudio-1.1.143/src/cpp/session/SessionMain.cpp.orig 2017-04-12 00:42:14.000000000 +0200
558 +++ rstudio-1.1.143/src/cpp/session/SessionMain.cpp 2019-05-07 17:10:57.302926193 +0200
560 #include <boost/lexical_cast.hpp>
561 #include <boost/format.hpp>
563 -#include <boost/signals.hpp>
564 #include <boost/date_time/posix_time/posix_time.hpp>
565 #include <boost/algorithm/string/predicate.hpp>
566 #include <boost/algorithm/string/join.hpp>
567 --- rstudio-1.1.143/src/cpp/session/modules/SessionRParser.cpp.orig 2017-04-12 00:42:14.000000000 +0200
568 +++ rstudio-1.1.143/src/cpp/session/modules/SessionRParser.cpp 2019-05-07 18:07:34.070800364 +0200
572 DEBUG("--- Found function in pkgInfo index: " << *fnInfo.binding());
573 - return fnInfo.performsNse();
574 + return bool(fnInfo.performsNse());
577 // Handle some special cases first.
578 --- rstudio-1.1.143/src/cpp/session/modules/build/SessionSourceCpp.cpp.orig 2017-04-12 00:42:14.000000000 +0200
579 +++ rstudio-1.1.143/src/cpp/session/modules/build/SessionSourceCpp.cpp 2019-05-07 18:13:46.346942192 +0200
582 #include "SessionSourceCpp.hpp"
584 -#include <boost/signal.hpp>
585 #include <boost/algorithm/string/trim.hpp>
586 #include <boost/algorithm/string/predicate.hpp>
587 #include <boost/algorithm/string/join.hpp>
588 --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.hpp.orig 2017-04-12 00:42:14.000000000 +0200
589 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.hpp 2019-05-07 18:25:48.121369223 +0200
591 #define SESSION_NOTEBOOK_PLOTS_HPP
593 #include <boost/function.hpp>
594 -#include <boost/signals/connection.hpp>
595 +#include <boost/signals2/connection.hpp>
596 #include <core/FilePath.hpp>
597 #include <r/RSexp.hpp>
601 unsigned lastOrdinal_;
603 - boost::signals::connection onBeforeNewPlot_;
604 - boost::signals::connection onBeforeNewGridPage_;
605 - boost::signals::connection onNewPlot_;
606 + boost::signals2::connection onBeforeNewPlot_;
607 + boost::signals2::connection onBeforeNewGridPage_;
608 + boost::signals2::connection onNewPlot_;
612 --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.hpp.orig 2017-04-12 00:42:14.000000000 +0200
613 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.hpp 2019-05-07 18:26:45.201022069 +0200
616 #include <session/SessionModuleContext.hpp>
618 -#include <boost/signal.hpp>
619 +#include <boost/signals2/signal.hpp>
621 #include <core/json/Json.hpp>
626 std::vector<boost::shared_ptr<NotebookCapture> > captures_;
627 - std::vector<boost::signals::connection> connections_;
628 + std::vector<boost::signals2::connection> connections_;
631 } // namespace notebook
632 --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp.orig 2017-04-12 00:42:14.000000000 +0200
633 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp 2019-05-07 18:28:01.345005619 +0200
637 // capture console output, error
638 - boost::signals::scoped_connection consoleHandler =
639 + boost::signals2::scoped_connection consoleHandler =
640 module_context::events().onConsoleOutput.connect(
641 boost::bind(chunkConsoleOutputHandler,
646 // capture console output, error
647 - boost::signals::scoped_connection consoleHandler =
648 + boost::signals2::scoped_connection consoleHandler =
649 module_context::events().onConsoleOutput.connect(
650 boost::bind(chunkConsoleOutputHandler,
655 // capture console output, error
656 - boost::signals::scoped_connection consoleHandler =
657 + boost::signals2::scoped_connection consoleHandler =
658 module_context::events().onConsoleOutput.connect(
659 boost::bind(chunkConsoleOutputHandler,
661 --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookCapture.cpp.orig 2017-04-12 00:42:14.000000000 +0200
662 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookCapture.cpp 2019-05-07 18:31:49.423604450 +0200
667 +#include <boost/make_shared.hpp>
669 #include "SessionRmdNotebook.hpp"
670 #include "NotebookCapture.hpp"
672 --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.cpp.orig 2017-04-12 00:42:14.000000000 +0200
673 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.cpp 2019-05-07 18:41:06.369408303 +0200
677 // unhook all our event handlers
678 - BOOST_FOREACH(const boost::signals::connection connection, connections_)
679 + BOOST_FOREACH(const boost::signals2::connection connection, connections_)
681 connection.disconnect();
683 --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.cpp.orig 2017-04-12 00:42:14.000000000 +0200
684 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.cpp 2019-05-07 18:52:17.788159856 +0200
687 #include <boost/format.hpp>
688 #include <boost/foreach.hpp>
689 -#include <boost/signals/connection.hpp>
691 #include <core/system/FileMonitor.hpp>
692 #include <core/StringUtils.hpp>
693 --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookQueue.cpp.orig 2017-04-12 00:42:14.000000000 +0200
694 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookQueue.cpp 2019-05-07 18:53:26.498462556 +0200
696 pInput_->enque(kThreadQuitCommand);
698 // unregister handlers
699 - BOOST_FOREACH(boost::signals::connection connection, handlers_)
700 + BOOST_FOREACH(boost::signals2::connection connection, handlers_)
702 connection.disconnect();
705 boost::shared_ptr<ChunkExecContext> execContext_;
707 // registered signal handlers
708 - std::vector<boost::signals::connection> handlers_;
709 + std::vector<boost::signals2::connection> handlers_;
711 // the thread which submits console input, and the queue which feeds it
712 boost::thread console_;
713 --- rstudio-1.1.143/src/cpp/session/http/SessionLocalStreamHttpConnectionListener.hpp.orig 2017-04-12 00:42:14.000000000 +0200
714 +++ rstudio-1.1.143/src/cpp/session/http/SessionLocalStreamHttpConnectionListener.hpp 2019-05-07 19:04:36.460299876 +0200
716 if (permittedClients_.size() > 0)
719 - int socket = ptrConnection->socket().native();
720 + int socket = ptrConnection->socket().native_handle();
722 // get client identity
723 core::system::user::UserIdentity userIdentity;
724 --- rstudio-1.1.143/src/cpp/core/FilePath.cpp~ 2020-08-12 00:57:08.000000000 +0200
725 +++ rstudio-1.1.143/src/cpp/core/FilePath.cpp 2020-08-12 00:57:57.852543328 +0200
726 @@ -1020,7 +1020,7 @@
728 // NOTE: The path gets round-tripped through toString/fromString, would
729 // be nice to have a direct constructor
730 - if (!iterationFunction(itr.level(),
731 + if (!iterationFunction(itr.depth(),
732 FilePath(BOOST_FS_PATH2STR(itr->path()))))
734 // end the iteration if requested
735 From ea8aa234b48331d34b8002fab58b4b393864e79b Mon Sep 17 00:00:00 2001
736 From: =?UTF-8?q?I=C3=B1aki=20=C3=9Acar?= <iucar@fedoraproject.org>
737 Date: Sat, 30 May 2020 15:33:38 +0200
738 Subject: [PATCH] boost-173-global-placeholders
741 src/cpp/CMakeLists.txt | 1 +
742 src/cpp/core/system/PosixChildProcessTracker.cpp | 1 +
743 src/cpp/core/system/PosixOutputCapture.cpp | 2 ++
744 src/cpp/core/system/PosixSystem.cpp | 1 +
745 4 files changed, 5 insertions(+)
747 diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
748 index af79150..d049524 100644
749 --- a/src/cpp/CMakeLists.txt
750 +++ b/src/cpp/CMakeLists.txt
751 @@ -28,6 +28,7 @@ include("${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeGlobals.txt")
754 add_definitions(-DBOOST_ENABLE_ASSERT_HANDLER)
755 +add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
757 # explicitly do not use new c++ 11 features for websocketpp
758 # they currently do not work with our source
759 diff --git a/src/cpp/core/system/PosixChildProcessTracker.cpp b/src/cpp/core/system/PosixChildProcessTracker.cpp
760 index 2ee1a81..976da4f 100644
761 --- a/src/cpp/core/system/PosixChildProcessTracker.cpp
762 +++ b/src/cpp/core/system/PosixChildProcessTracker.cpp
764 #include <sys/wait.h>
766 #include <boost/format.hpp>
767 +#include <boost/bind.hpp>
771 diff --git a/src/cpp/core/system/PosixOutputCapture.cpp b/src/cpp/core/system/PosixOutputCapture.cpp
772 index e531e00..01dedd3 100644
773 --- a/src/cpp/core/system/PosixOutputCapture.cpp
774 +++ b/src/cpp/core/system/PosixOutputCapture.cpp
777 #include <core/system/System.hpp>
779 +#include <boost/bind.hpp>
784 diff --git a/src/cpp/core/system/PosixSystem.cpp b/src/cpp/core/system/PosixSystem.cpp
785 index c25cb32..8dae263 100644
786 --- a/src/cpp/core/system/PosixSystem.cpp
787 +++ b/src/cpp/core/system/PosixSystem.cpp
790 #include <boost/foreach.hpp>
791 #include <boost/algorithm/string.hpp>
792 +#include <boost/bind.hpp>