26#if defined (HAVE_CONFIG_H)
53#include "builtin-defun-decls.h"
98DEFUN (__version_info__, args, ,
106 int nargin = args.
length ();
108 if (nargin != 0 && nargin != 4)
115 else if (nargin == 4)
119 vinfo.
assign (
"Name", args(0));
120 vinfo.
assign (
"Version", args(1));
121 vinfo.
assign (
"Release", args(2));
122 vinfo.
assign (
"Date", args(3));
192 exit_status = args(0).xnint_value (
"quit: STATUS must be an integer");
194 = args(1).xstring_value (
"quit: second argument must be a string");
199 error (R
"(quit: second argument must be string "force")");
203 if (args(0).is_string ())
206 = R
"(quit: option must be string "cancel" or "force")";
208 std::string opt = args(0).xstring_value (msg);
212 else if (opt ==
"force")
218 exit_status = args(0).xnint_value (
"quit: STATUS must be an integer");
225 if (interp.executing_finish_script ())
226 interp.cancel_quit (
true);
231 interp.quit (exit_status, force);
284 int nargin = args.length ();
286 if (nargin < 1 || nargin > 2)
289 std::string arg = args(0).xstring_value (
"atexit: FCN argument must be a string");
291 bool add_mode = (nargin == 2)
292 ? args(1).strict_bool_value (
"atexit: FLAG argument must be a logical value")
298 interp.add_atexit_fcn (arg);
301 bool found = interp.remove_atexit_fcn (arg);
304 retval =
ovl (found);
316 return ovl (interp.traditional ());
327 m_files.insert (file);
333 while (! m_files.empty ())
335 auto it = m_files.begin ();
347initialize_version_info ()
351 args(0) =
"GNU Octave";
353 args(2) = config::release ();
354 args(3) = OCTAVE_RELEASE_DATE;
362 error (
"Fortran procedure terminated by call to XERBLA");
366initialize_xerbla_error_handler ()
375 if (numeric_limits<double>::NaN () == -1)
376 F77_FUNC (xerbla, XERBLA) (
"octave", 13 F77_CHAR_ARG_LEN (6));
378 typedef void (*xerbla_handler_ptr) ();
380 typedef void (*octave_set_xerbla_handler_ptr) (xerbla_handler_ptr);
387 =
reinterpret_cast<octave_set_xerbla_handler_ptr
>
388 (libs.search (
"octave_set_xerbla_handler"));
395OCTAVE_NORETURN
static void
396lo_error_handler (
const char *fmt, ...)
399 va_start (args, fmt);
406OCTAVE_NORETURN
static void
407lo_error_with_id_handler (
const char *
id,
const char *fmt, ...)
410 va_start (args, fmt);
418initialize_error_handlers ()
431 : m_app_context (app_context),
437 m_help_system (*this),
438 m_input_system (*this),
439 m_output_system (*this),
440 m_history_system (*this),
441 m_dynamic_loader (*this),
443 m_load_save_system (*this),
445 m_symbol_table (*this),
446 m_stream_list (*this),
448 m_url_handle_manager (),
449 m_cdef_manager (*this),
450 m_gtk_manager (*this),
451 m_event_manager (*this),
452 m_gh_manager (nullptr),
453 m_interactive (false),
454 m_read_site_files (true),
455 m_read_user_files (m_app_context != nullptr),
456 m_init_trace (false),
457 m_traditional (false),
458 m_inhibit_startup_message (false),
459 m_load_path_initialized (false),
460 m_history_initialized (false),
461 m_interrupt_all_in_process_group (true),
462 m_cancel_quit (false),
463 m_executing_finish_script (false),
464 m_executing_atexit (false),
465 m_initialized (false)
473 throw std::runtime_error
474 (
"only one Octave interpreter may be active");
478#if defined (OCTAVE_HAVE_WINDOWS_UTF8_LOCALE)
480 std::setlocale (LC_ALL,
".UTF8");
482 std::setlocale (LC_ALL,
"");
485 std::setlocale (LC_NUMERIC,
"C");
486 std::setlocale (LC_TIME,
"C");
487 sys::env::putenv (
"LC_NUMERIC",
"C");
488 sys::env::putenv (
"LC_TIME",
"C");
502 initialize_xerbla_error_handler ();
504 initialize_error_handlers ();
517 bool line_editing =
false;
536 for (
const auto& pth : command_line_path)
539 std::string exec_path = options.
exec_path ();
540 if (! exec_path.empty ())
543 std::string image_path = options.
image_path ();
544 if (! image_path.empty ())
557 m_interactive = (! is_octave_program && stdin_is_tty
565 forced_interactive =
false;
569 if (forced_interactive)
570 m_interactive =
true;
573 if ((! m_interactive || forced_interactive)
575 line_editing =
false;
588 if (! docstrings_file.empty ())
589 Fbuilt_in_docstrings_file (*
this,
ovl (docstrings_file));
592 if (! doc_cache_file.empty ())
593 Fdoc_cache_file (*
this,
ovl (doc_cache_file));
595 std::string info_file = options.
info_file ();
596 if (! info_file.empty ())
597 Finfo_file (*
this,
ovl (info_file));
600 if (! info_program.empty ())
601 Finfo_program (*
this,
ovl (info_program));
604 if (! texi_macros_file.empty ())
605 Ftexi_macros_file (*
this,
ovl (texi_macros_file));
629 initialize_version_info ();
635 maximum_braindamage ();
640OCTAVE_THREAD_LOCAL
interpreter *interpreter::s_instance =
nullptr;
661 if (! m_history_initialized)
671 if (! read_history_file)
675 m_history_system.
initialize (read_history_file);
680 m_history_initialized =
true;
690 if (! m_load_path_initialized)
713 m_load_path.
set_add_hook ([
this] (
const std::string& dir) { this->execute_pkg_add (dir); });
717 m_load_path_initialized =
true;
735 if (! options.
gui ())
736 display_startup_message ();
739 display_startup_message ();
742 display_startup_message ();
771 m_initialized =
true;
773 run_startup_tests ();
788class cli_input_reader
793 : m_interpreter (interp), m_thread () { }
795 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (cli_input_reader)
815 std::thread m_thread;
820 bool& incomplete_parse)
837 execute_startup_files ();
845 int status = execute_eval_option_code ();
848 exit_status = status;
864 int status = execute_command_line_file ();
867 exit_status = status;
881 exit_status = server_loop ();
888 exit_status = server_loop ();
896 cli_input_reader reader (*
this);
900 exit_status = server_loop ();
904 exit_status = main_loop ();
909 catch (
const exit_exception& xe)
911 exit_status = xe.exit_status ();
922#define OCTAVE_IGNORE_EXCEPTION(E) \
925 recover_from_exception (); \
927 std::cerr << "error: ignoring " #E " while preparing to exit" \
931#define OCTAVE_SAFE_CALL(F, ARGS) \
936 error_system& es = get_error_system (); \
937 unwind_action restore_debug_on_error \
938 (&error_system::set_debug_on_error, &es, \
939 es.debug_on_error ()); \
941 unwind_action restore_debug_on_warning \
942 (&error_system::set_debug_on_warning, &es, \
943 es.debug_on_warning ()); \
945 es.debug_on_error (false); \
946 es.debug_on_warning (false); \
950 OCTAVE_IGNORE_EXCEPTION (const exit_exception&) \
951 OCTAVE_IGNORE_EXCEPTION (const interrupt_exception&) \
952 OCTAVE_IGNORE_EXCEPTION (const execution_exception&) \
953 OCTAVE_IGNORE_EXCEPTION (const std::bad_alloc&) \
958interpreter::shutdown ()
965 m_initialized =
false;
973 execute_atexit_fcns ();
1069interpreter::execute_atexit_fcns ()
1072 m_executing_atexit =
true;
1074 while (! m_atexit_fcns.empty ())
1076 std::string fcn = m_atexit_fcns.front ();
1078 m_atexit_fcns.pop_front ();
1087interpreter::run_startup_tests ()
1089 bool inhibit_startup_tests =
false;
1098 if (! inhibit_startup_tests)
1107 if (retval != 11.0f)
1109 std::cerr <<
"BLAS implementation returns incorrect single "
1110 "precision floating-point type" << std::endl;
1111 quit (1,
true,
false);
1117interpreter::display_startup_message ()
const
1137interpreter::execute_startup_files ()
1141 bool trace = m_init_trace;
1156 bool require_file =
false;
1158 std::string context;
1160 int exit_status = 0;
1169 int status = safe_source_file (config::local_site_defaults_file (),
1170 context, trace, require_file);
1173 exit_status = status;
1175 status = safe_source_file (config::site_defaults_file (),
1176 context, trace, require_file);
1179 exit_status = status;
1186 std::string ff_startup_m =
file_in_path (
"startup.m",
"");
1188 if (! ff_startup_m.empty ())
1190 int parse_status = 0;
1194 eval_string (std::string (
"startup"),
false, parse_status, 0);
1196 catch (
const interrupt_exception&)
1210 std::string user_config_dir = sys::env::get_user_config_directory ();
1212 std::string cfg_dir = user_config_dir + sys::file_ops::dir_sep_str ()
1215 std::string cfg_rc = sys::env::make_absolute (
"octaverc", cfg_dir);
1217 if (! cfg_rc.empty ())
1219 int status = safe_source_file (cfg_rc, context, trace,
1223 exit_status = status;
1230 bool home_rc_already_executed =
false;
1232 std::string initfile = sys::env::getenv (
"OCTAVE_INITFILE");
1234 if (initfile.empty ())
1235 initfile =
".octaverc";
1237 std::string home_dir = sys::env::get_home_directory ();
1239 std::string home_rc = sys::env::make_absolute (initfile, home_dir);
1241 std::string local_rc;
1243 if (! home_rc.empty ())
1245 int status = safe_source_file (home_rc, context, trace,
1249 exit_status = status;
1253 if (sys::file_exists (home_rc))
1258 local_rc = sys::env::make_absolute (initfile);
1260 home_rc_already_executed = sys::same_file (home_rc, local_rc);
1264 if (! home_rc_already_executed)
1266 if (local_rc.empty ())
1267 local_rc = sys::env::make_absolute (initfile);
1269 int status = safe_source_file (local_rc, context, trace,
1273 exit_status = status;
1277 if (m_interactive && trace)
1286interpreter::execute_eval_option_code ()
1288 if (! m_app_context)
1297 int parse_status = 0;
1301 eval_string (code_to_eval,
false, parse_status, 0);
1303 catch (
const interrupt_exception&)
1316 return parse_status;
1320interpreter::execute_command_line_file ()
1322 if (! m_app_context)
1330 unwind_action restore_interactive (interactive_fptr,
this, m_interactive);
1337 void (
application::*program_invocation_name_fptr) (const std::string&)
1340 (program_invocation_name_fptr, m_app_context,
1343 void (
application::*program_name_fptr) (const std::string&)
1348 m_interactive =
false;
1358 std::string fname = script_args[0];
1362 std::string context;
1364 bool require_file =
true;
1366 return safe_source_file (fname, context,
verbose, require_file);
1370interpreter::main_loop ()
1374 return m_evaluator.
repl ();
1378interpreter::server_loop ()
1392 return m_stream_list;
1398 return m_url_handle_manager;
1419 error (
"%s: symbol table scope missing", who.c_str ());
1433 std::string xdir = sys::file_ops::tilde_expand (dir);
1435 int cd_ok = sys::env::chdir (xdir);
1438 error (
"%s: %s", dir.c_str (), std::strerror (errno));
1460 m_evaluator.
mlock (skip_first);
1466 m_evaluator.
munlock (skip_first);
1472 return m_evaluator.
mislocked (skip_first);
1479 error (
"munlock: invalid value for NAME");
1502 error (
"mislocked: invalid value for NAME");
1510 bool retval =
false;
1533 bool silent,
int& parse_status,
1536 return m_evaluator.
eval_string (eval_str, silent, parse_status, nargout);
1541 bool silent,
int& parse_status)
1543 return m_evaluator.
eval_string (eval_str, silent, parse_status);
1548 bool silent,
int& parse_status,
1551 return m_evaluator.
eval_string (arg, silent, parse_status, nargout);
1558 return m_evaluator.
eval (try_code, nargout);
1563 const std::string& catch_code,
1566 return m_evaluator.
eval (try_code, catch_code, nargout);
1571 const std::string& try_code,
1574 return m_evaluator.
evalin (context, try_code, nargout);
1579 const std::string& try_code,
1580 const std::string& catch_code,
1583 return m_evaluator.
evalin (context, try_code, catch_code, nargout);
1600 return feval (std::string (name), args, nargout);
1611 error (
"feval: function '%s' not found", name.c_str ());
1615 return of->
call (m_evaluator, nargout, args);
1624 return fcn->
call (m_evaluator, nargout, args);
1652 std::list<octave_value_list> arg_list;
1653 arg_list.push_back (args);
1662 return xval.
subsref (
"(", arg_list, nargout);
1669 error (
"feval: first argument must be a string, inline function, or a function handle");
1690 error (
"feval: first argument must be a string, inline function, or a function handle");
1696 return feval (f_arg, tmp_args, nargout);
1702 return m_evaluator.
inputname (n, ids_only);
1759 return m_evaluator.
varval (name);
1766 m_evaluator.
assign (name, val);
1771 const std::string& name,
1774 m_evaluator.
assignin (context, name, val);
1779 const std::string& context,
bool verbose,
1800 return m_evaluator.
find (name);
1905std::list<std::string>
1911std::list<std::string>
1917std::list<std::string>
1923std::list<std::string>
1929std::list<std::string>
1941 static int sigint = 0;
1942 static bool first =
true;
1984 m_evaluator.
dbquit (
true);
2005 return m_input_system.
PS1 (args, nargout);
2011 return m_input_system.
PS1 ();
2017 return m_input_system.
PS1 (s);
2029 return m_input_system.
PS2 (args, nargout);
2035 return m_input_system.
PS2 ();
2041 return m_input_system.
PS2 (s);
2053 return m_evaluator.
PS4 (args, nargout);
2059 return m_evaluator.
PS4 ();
2065 return m_evaluator.
PS4 (s);
2079 if (! m_app_context)
2106std::set<std::string>
2143 m_tmp_files.
insert (file);
2159 bool cancel =
false;
2166 evalin (
"base",
"finish", 0);
2168 cancel = m_cancel_quit;
2192 throw exit_exception (exit_status);
2198 if (m_executing_atexit)
2201 m_atexit_fcns.push_front (fname);
2209 for (
auto it = m_atexit_fcns.begin ();
2210 it != m_atexit_fcns.end (); it++)
2214 m_atexit_fcns.erase (it);
2226interpreter::maximum_braindamage ()
2235 Foptimize_diagonal_matrix (
ovl (
false));
2236 Foptimize_permutation_matrix (
ovl (
false));
2237 Foptimize_range (
ovl (
false));
2253interpreter::execute_pkg_add (
const std::string& dir)
2259 catch (
const interrupt_exception&)
2275interpreter::safe_source_file (
const std::string& file_name,
2276 const std::string& context,
2277 bool verbose,
bool require_file)
2283 catch (
const interrupt_exception&)
2299OCTAVE_END_NAMESPACE(octave)
void set_program_names(const std::string &pname)
void forced_interactive(bool arg)
void intern_argv(const string_vector &args)
bool have_eval_option_code() const
cmdline_options options() const
static std::string program_name()
bool is_octave_program() const
bool have_script_file() const
static std::string program_invocation_name()
bool line_editing() const
bool forced_interactive() const
bool experimental_terminal_widget() const
std::string texi_macros_file() const
bool inhibit_startup_message() const
std::string doc_cache_file() const
std::string image_path() const
bool read_site_files() const
string_vector remaining_args() const
bool read_user_files() const
std::string info_program() const
bool read_history_file() const
std::string exec_path() const
bool no_window_system() const
std::string code_to_eval() const
string_vector all_args() const
std::string info_file() const
std::string docstrings_file() const
bool echo_commands() const
bool set_initial_path() const
bool forced_line_editing() const
bool inhibit_startup_tests() const
std::list< std::string > command_line_path() const
static void blink_matching_paren(bool flag)
static void restore_terminal_state()
static void add_event_hook(event_hook_fcn f)
static bool ignoring_entries()
static void clean_up_and_save(const std::string &="", int=-1)
static void ignore_entries(bool=true)
Vector representing the dimensions (size) of an Array.
octave_value image_path(const octave_value_list &args, int nargout)
octave_value exec_path(const octave_value_list &args, int nargout)
octave_value beep_on_error(const octave_value_list &args, int nargout)
void disable_warning(const std::string &id)
void save_exception(const execution_exception &ee)
void display_exception(const execution_exception &ee) const
void process_events(bool disable=false)
void interpreter_interrupted()
void directory_changed(const std::string &dir)
void start_gui(bool gui_app=false)
void unload_all_toolkits()
octave_value timestamp_format_string(const octave_value_list &args, int nargout)
void initialize(bool read_history_file=false)
octave_value global_varval(const std::string &name) const
octave_value varval(const std::string &name) const
void clear_variable(const std::string &name)
octave_value make_function_handle(const std::string &name)
void assignin(const std::string &context, const std::string &varname, const octave_value &val=octave_value())
bool isglobal(const std::string &name) const
void quit(int exit_status, bool force=false, bool confirm=true)
void clear_global_variables()
std::list< std::string > autoloaded_functions() const
void global_assign(const std::string &name, const octave_value &val=octave_value())
void install_variable(const std::string &name, const octave_value &value, bool global)
error_system & get_error_system()
void add_debug_watch_expression(const std::string &expr)
bool at_top_level() const
void read_site_files(bool flag)
void add_atexit_fcn(const std::string &fname)
bool remove_atexit_fcn(const std::string &fname)
octave_value find(const std::string &name)
void mlock(bool skip_first=false) const
profiler & get_profiler()
void source_file(const std::string &file_name, const std::string &context="", bool verbose=false, bool require_file=true)
std::list< std::string > variable_names()
void top_level_assign(const std::string &name, const octave_value &val=octave_value())
std::set< std::string > debug_watch_expressions() const
octave_value_list eval(const std::string &try_code, int nargout)
octave_value_list eval_string(const std::string &eval_str, bool silent, int &parse_status, int nargout)
void clear_symbol_regexp(const std::string &pat)
void handle_exception(const execution_exception &ee)
bool experimental_terminal_widget() const
symbol_scope get_current_scope() const
void clear_symbol_pattern(const std::string &pat)
void clear_global_variable_regexp(const std::string &pattern)
void clear_global_variable(const std::string &name)
void set_PS1(const std::string &s)
int chdir(const std::string &dir)
std::list< std::string > user_function_names()
void clear_global_variable_pattern(const std::string &pattern)
void clear_function_regexp(const std::string &pat)
octave_value top_level_varval(const std::string &name) const
symbol_scope get_top_scope() const
void intern_nargin(octave_idx_type nargs)
void parse_and_execute(const std::string &input, bool &incomplete_parse)
bool is_variable(const std::string &name) const
interpreter(application *app_context=nullptr)
void clear_variable_regexp(const std::string &pattern)
bool mislocked(bool skip_first=false) const
tree_evaluator & get_evaluator()
void assign(const std::string &name, const octave_value &val=octave_value())
void initialize_history(bool read_history_file=false)
void clear_symbol(const std::string &name)
std::list< std::string > global_variable_names()
octave_value_list evalin(const std::string &context, const std::string &try_code, int nargout)
void read_user_files(bool flag)
std::string mfilename(const std::string &opt="") const
void initialize_load_path(bool set_initial_path=true)
void clear_debug_watch_expressions()
void inhibit_startup_message(bool flag)
void clear_variable_pattern(const std::string &pattern)
void clear_function_pattern(const std::string &pat)
bool is_local_variable(const std::string &name) const
std::list< std::string > top_level_variable_names()
void munlock(bool skip_first=false) const
octave_value_list feval(const char *name, const octave_value_list &args=octave_value_list(), int nargout=0)
Evaluate an Octave function (built-in or interpreted) and return the list of result values.
url_handle_manager & get_url_handle_manager()
symbol_scope require_current_scope(const std::string &who) const
std::string inputname(int n, bool ids_only=true) const
void clear_function(const std::string &name)
void remove_debug_watch_expression(const std::string &expr)
void recover_from_exception()
void clear_all(bool force=false)
void mark_for_deletion(const std::string &file)
void set_PS2(const std::string &s)
stream_list & get_stream_list()
void set_PS4(const std::string &s)
void clear_functions(bool force=false)
void set_add_hook(const std::function< void(const std::string &)> &f)
void initialize(bool set_initial_path=false)
void read_dir_config(const std::string &dir) const
std::function< void(const std::string &)> get_add_hook()
void execute_pkg_add(const std::string &dir)
void set_command_line_path(const std::string &p)
octave_value save_default_options(const octave_value_list &args, int nargout)
octave_value crash_dumps_octave_core(const octave_value_list &args, int nargout)
virtual octave_value_list call(octave::tree_evaluator &tw, int nargout=0, const octave_value_list &args=octave_value_list())
void resize(const dim_vector &dv, bool fill=false)
octave_idx_type nfields() const
octave_idx_type length() const
octave_idx_type numel() const
void assign(const std::string &k, const Cell &val)
octave_value_list slice(octave_idx_type offset, octave_idx_type len, bool tags=false) const
octave_idx_type length() const
bool is_function_handle() const
bool is_undefined() const
bool is_inline_function() const
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
octave_function * function_value(bool silent=false) const
std::string string_value(bool force=false) const
octave_idx_type length() const
octave_idx_type numel() const
void clear_function(const std::string &name)
void clear_function_pattern(const std::string &pat)
void clear_functions(bool force=false)
octave_value find_function(const std::string &name, const symbol_scope &search_scope=symbol_scope::invalid())
void clear_mex_functions()
std::list< std::string > user_function_names()
void clear_function_regexp(const std::string &pat)
void insert(const std::string &file)
octave_value_list eval_string(const std::string &eval_str, bool silent, int &parse_status, int nargout)
bool is_global(const std::string &name) const
bool mislocked(bool skip_first=false) const
void clear_all(bool force=false)
void source_file(const std::string &file_name, const std::string &context="", bool verbose=false, bool require_file=true)
symbol_scope get_current_scope() const
octave_value echo(const octave_value_list &args, int nargout)
void set_PS4(const std::string &s)
void clear_global_variables()
void clear_global_variable(const std::string &name)
bool break_on_next_statement() const
std::string inputname(int n, bool ids_only=true) const
void munlock(bool skip_first=false) const
bool at_top_level() const
octave_value find(const std::string &name)
std::list< std::string > variable_names() const
bool is_local_variable(const std::string &name) const
bool in_debug_repl() const
profiler & get_profiler()
symbol_scope get_top_scope() const
void clear_symbol_pattern(const std::string &pattern)
void clear_symbol(const std::string &name)
void remove_debug_watch_expression(const std::string &expr)
void dbquit(bool all=false)
void clear_variable(const std::string &name)
bool is_variable(const std::string &name) const
void add_debug_watch_expression(const std::string &expr)
std::list< std::string > global_variable_names() const
void clear_global_variable_pattern(const std::string &pattern)
void assign(const std::string &name, const octave_value &val=octave_value())
void assignin(const std::string &context, const std::string &name, const octave_value &val=octave_value())
octave_value top_level_varval(const std::string &name) const
void clear_symbol_regexp(const std::string &pattern)
std::list< std::string > autoloaded_functions() const
void eval(std::shared_ptr< tree_statement_list > &stmt_list, bool interactive)
octave_value_list evalin(const std::string &context, const std::string &try_code, int nargout)
octave_value global_varval(const std::string &name) const
void top_level_assign(const std::string &name, const octave_value &val=octave_value())
void install_variable(const std::string &name, const octave_value &value, bool global)
void set_auto_fcn_var(stack_frame::auto_var_type avt, const octave_value &val=octave_value())
std::set< std::string > debug_watch_expressions() const
void clear_global_variable_regexp(const std::string &pattern)
void parse_and_execute(const std::string &input, bool &incomplete_parse)
void clear_debug_watch_expressions()
std::list< std::string > top_level_variable_names() const
void global_assign(const std::string &name, const octave_value &val=octave_value())
octave_value make_fcn_handle(const std::string &nm)
void mlock(bool skip_first=false) const
octave_value varval(const symbol_record &sym) const
octave_value PS4(const octave_value_list &args, int nargout)
std::string mfilename(const std::string &opt="") const
void clear_variable_regexp(const std::string &pattern)
void clear_variable_pattern(const std::string &pattern)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
#define DEFMETHOD(name, interp_name, args_name, nargout_name, doc)
Macro to define a builtin method.
#define DEFUN(name, args_name, nargout_name, doc)
Macro to define a builtin function.
#define DEFALIAS(alias, name)
Macro to define an alias for another existing function name.
octave_value_list Fconfirm_recursive_rmdir(const octave_value_list &args, int nargout)
void warning(const char *fmt,...)
void warning_with_id(const char *id, const char *fmt,...)
void verror_with_id_cfn(const char *id, const char *fmt, va_list args)
void verror_with_cfn(const char *fmt, va_list args)
void error(const char *fmt,...)
octave_f77_int_type F77_INT
void octave_set_default_fpucw(void)
#define OCTAVE_SAFE_CALL(F, ARGS)
octave_value_list F__version_info__(const octave_value_list &args, int)
bool octave_interpreter_ready
sys::time Vlast_chdir_time
std::atomic< bool > octave_initialized
bool octave_interpreter_ready
sys::time Vlast_chdir_time
std::atomic< bool > octave_initialized
void set_liboctave_error_handler(OCTAVE_NORETURN liboctave_error_handler f)
void set_liboctave_warning_handler(liboctave_warning_handler f)
void set_liboctave_error_with_id_handler(OCTAVE_NORETURN liboctave_error_with_id_handler f)
void set_liboctave_warning_with_id_handler(liboctave_warning_with_id_handler f)
int release_unreferenced_dynamic_libraries()
T::size_type numel(const T &str)
octave_value_list Fprint_struct_array_contents(const octave_value_list &args, int nargout)
octave_value_list Fstruct_levels_to_print(const octave_value_list &args, int nargout)
octave_value_list ovl(const OV_Args &... args)
Construct an octave_value_list with less typing.
octave_value_list Ffixed_point_format(const octave_value_list &args, int nargout)
std::atomic< bool > octave_signal_caught
void(* octave_interrupt_hook)()
void(* octave_signal_hook)()
std::atomic< int > octave_interrupt_state
void respond_to_pending_signals()
std::atomic< bool > can_interrupt
interrupt_handler catch_interrupts()
void install_signal_handlers()
void octave_save_signal_mask(void)
void octave_unblock_signal_by_name(const char *signame)
bool octave_get_sig_number(const char *signame, int *signum)
int octave_kill_wrapper(pid_t pid, int signum)
void octave_restore_signal_mask(void)
F77_RET_T const F77_DBLE * x
pid_t octave_getpid_wrapper(void)
int octave_unlink_wrapper(const char *nm)
int octave_isatty_wrapper(int fd)
std::string file_in_path(const std::string &name, const std::string &suffix)
int symbol_exist(const std::string &name, const std::string &type)
std::string octave_startup_message(bool html)
F77_RET_T F77_FUNC(xerbla, XERBLA)(F77_CONST_CHAR_ARG_DEF(s_arg
void octave_set_xerbla_handler(xerbla_handler_fptr fcn)
subroutine xsdot(n, dx, incx, dy, incy, retval)