26 #if defined (HAVE_CONFIG_H)
99 DEFUN (__version_info__, args, ,
107 int nargin = args.
length ();
109 if (nargin != 0 && nargin != 4)
116 else if (nargin == 4)
120 vinfo.
assign (
"Name", args(0));
121 vinfo.
assign (
"Version", args(1));
122 vinfo.
assign (
"Release", args(2));
123 vinfo.
assign (
"Date", args(3));
181 int numel = args.length ();
193 exit_status = args(0).xnint_value (
"quit: STATUS must be an integer");
195 = args(1).xstring_value (
"quit: second argument must be a string");
200 error (R
"(quit: second argument must be string "force")");
204 if (args(0).is_string ())
207 = R
"(quit: option must be string "cancel" or "force")";
209 std::string opt = args(0).xstring_value (msg);
213 else if (opt ==
"force")
219 exit_status = args(0).xnint_value (
"quit: STATUS must be an integer");
226 if (interp.executing_finish_script ())
227 interp.cancel_quit (
true);
232 interp.quit (exit_status, force);
239 DEFMETHOD (atexit, interp, args, nargout,
285 int nargin = args.length ();
287 if (nargin < 1 || nargin > 2)
290 std::string arg = args(0).xstring_value (
"atexit: FCN argument must be a string");
292 bool add_mode = (nargin == 2)
293 ? args(1).xbool_value (
"atexit: FLAG argument must be a logical value")
299 interp.add_atexit_fcn (arg);
302 bool found = interp.remove_atexit_fcn (arg);
305 retval =
ovl (found);
317 return ovl (interp.traditional ());
328 m_files.insert (file);
334 while (! m_files.empty ())
336 auto it = m_files.begin ();
348 initialize_version_info ()
352 args(0) =
"GNU Octave";
363 error (
"Fortran procedure terminated by call to XERBLA");
367 initialize_xerbla_error_handler ()
377 F77_FUNC (xerbla, XERBLA) (
"octave", 13 F77_CHAR_ARG_LEN (6));
379 typedef void (*xerbla_handler_ptr) ();
381 typedef void (*octave_set_xerbla_handler_ptr) (xerbla_handler_ptr);
388 =
reinterpret_cast<octave_set_xerbla_handler_ptr
>
389 (libs.search (
"octave_set_xerbla_handler"));
396 OCTAVE_NORETURN
static void
397 lo_error_handler (
const char *fmt, ...)
400 va_start (args, fmt);
407 OCTAVE_NORETURN
static void
408 lo_error_with_id_handler (
const char *
id,
const char *fmt, ...)
411 va_start (args, fmt);
419 initialize_error_handlers ()
432 : m_app_context (app_context),
438 m_error_system (*this),
440 m_help_system (*this),
441 m_input_system (*this),
442 m_output_system (*this),
443 m_history_system (*this),
444 m_dynamic_loader (*this),
446 m_load_save_system (*this),
448 m_symbol_table (*this),
449 m_stream_list (*this),
451 m_url_handle_manager (),
452 m_cdef_manager (*this),
453 m_gtk_manager (*this),
454 m_event_manager (*this),
455 m_gh_manager (nullptr),
456 m_interactive (false),
457 m_read_site_files (true),
458 m_read_init_files (m_app_context != nullptr),
460 m_traditional (false),
461 m_inhibit_startup_message (false),
462 m_load_path_initialized (false),
463 m_history_initialized (false),
464 m_interrupt_all_in_process_group (true),
465 m_cancel_quit (false),
466 m_executing_finish_script (false),
467 m_executing_atexit (false),
468 m_initialized (false)
476 throw std::runtime_error
477 (
"only one Octave interpreter may be active");
481 #if defined (OCTAVE_HAVE_WINDOWS_UTF8_LOCALE)
483 std::setlocale (LC_ALL,
".UTF8");
485 std::setlocale (LC_ALL,
"");
488 std::setlocale (LC_NUMERIC,
"C");
489 std::setlocale (LC_TIME,
"C");
490 sys::env::putenv (
"LC_NUMERIC",
"C");
491 sys::env::putenv (
"LC_TIME",
"C");
500 initialize_xerbla_error_handler ();
502 initialize_error_handlers ();
515 bool line_editing =
false;
534 for (
const auto& pth : command_line_path)
537 std::string exec_path = options.
exec_path ();
538 if (! exec_path.empty ())
541 std::string image_path = options.
image_path ();
542 if (! image_path.empty ())
555 m_interactive = (! is_octave_program && stdin_is_tty
563 forced_interactive =
false;
567 if (forced_interactive)
568 m_interactive =
true;
571 if ((! m_interactive || forced_interactive)
573 line_editing =
false;
586 if (! docstrings_file.empty ())
590 if (! doc_cache_file.empty ())
593 std::string info_file = options.
info_file ();
594 if (! info_file.empty ())
598 if (! info_program.empty ())
602 if (! texi_macros_file.empty ())
624 initialize_version_info ();
630 maximum_braindamage ();
635 OCTAVE_THREAD_LOCAL
interpreter *interpreter::s_instance =
nullptr;
656 if (! m_history_initialized)
666 if (! read_history_file)
670 m_history_system.
initialize (read_history_file);
675 m_history_initialized =
true;
685 if (! m_load_path_initialized)
709 { this->execute_pkg_add (dir); });
713 m_load_path_initialized =
true;
731 if (! options.
gui ())
732 display_startup_message ();
735 display_startup_message ();
738 display_startup_message ();
767 m_initialized =
true;
782 class cli_input_reader
787 : m_interpreter (interp), m_thread () { }
789 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (cli_input_reader)
809 std::thread m_thread;
814 bool& incomplete_parse)
831 execute_startup_files ();
839 int status = execute_eval_option_code ();
842 exit_status = status;
858 int status = execute_command_line_file ();
861 exit_status = status;
875 exit_status = server_loop ();
882 exit_status = server_loop ();
890 cli_input_reader reader (*
this);
894 exit_status = server_loop ();
898 exit_status = main_loop ();
903 catch (
const exit_exception& xe)
905 exit_status = xe.exit_status ();
916 #define OCTAVE_IGNORE_EXCEPTION(E) \
919 recover_from_exception (); \
921 std::cerr << "error: ignoring " #E " while preparing to exit" \
925 #define OCTAVE_SAFE_CALL(F, ARGS) \
930 unwind_action restore_debug_on_error \
931 (&error_system::set_debug_on_error, &m_error_system, \
932 m_error_system.debug_on_error ()); \
934 unwind_action restore_debug_on_warning \
935 (&error_system::set_debug_on_warning, &m_error_system, \
936 m_error_system.debug_on_warning ()); \
938 m_error_system.debug_on_error (false); \
939 m_error_system.debug_on_warning (false); \
943 OCTAVE_IGNORE_EXCEPTION (const exit_exception&) \
944 OCTAVE_IGNORE_EXCEPTION (const interrupt_exception&) \
945 OCTAVE_IGNORE_EXCEPTION (const execution_exception&) \
946 OCTAVE_IGNORE_EXCEPTION (const std::bad_alloc&) \
951 interpreter::shutdown ()
958 m_initialized =
false;
966 execute_atexit_fcns ();
1062 interpreter::execute_atexit_fcns ()
1065 m_executing_atexit =
true;
1067 while (! m_atexit_fcns.empty ())
1069 std::string fcn = m_atexit_fcns.front ();
1071 m_atexit_fcns.pop_front ();
1080 interpreter::display_startup_message ()
const
1100 interpreter::execute_startup_files ()
1119 bool require_file =
false;
1121 std::string context;
1123 int exit_status = 0;
1133 context,
verbose, require_file);
1136 exit_status = status;
1139 context,
verbose, require_file);
1142 exit_status = status;
1149 std::string ff_startup_m =
file_in_path (
"startup.m",
"");
1151 if (! ff_startup_m.empty ())
1153 int parse_status = 0;
1157 eval_string (std::string (
"startup"),
false, parse_status, 0);
1159 catch (
const interrupt_exception&)
1173 std::string user_config_dir = sys::env::get_user_config_directory ();
1178 std::string cfg_rc = sys::env::make_absolute (
"octaverc", cfg_dir);
1180 if (! cfg_rc.empty ())
1182 int status = safe_source_file (cfg_rc, context,
verbose,
1186 exit_status = status;
1193 bool home_rc_already_executed =
false;
1195 std::string initfile = sys::env::getenv (
"OCTAVE_INITFILE");
1197 if (initfile.empty ())
1198 initfile =
".octaverc";
1200 std::string home_dir = sys::env::get_home_directory ();
1202 std::string home_rc = sys::env::make_absolute (initfile, home_dir);
1204 std::string local_rc;
1206 if (! home_rc.empty ())
1208 int status = safe_source_file (home_rc, context,
verbose,
1212 exit_status = status;
1221 local_rc = sys::env::make_absolute (initfile);
1227 if (! home_rc_already_executed)
1229 if (local_rc.empty ())
1230 local_rc = sys::env::make_absolute (initfile);
1232 int status = safe_source_file (local_rc, context,
verbose,
1236 exit_status = status;
1241 std::cout << std::endl;
1249 interpreter::execute_eval_option_code ()
1251 if (! m_app_context)
1260 int parse_status = 0;
1264 eval_string (code_to_eval,
false, parse_status, 0);
1266 catch (
const interrupt_exception&)
1279 return parse_status;
1283 interpreter::execute_command_line_file ()
1285 if (! m_app_context)
1293 unwind_action restore_interactive (interactive_fptr,
this, m_interactive);
1300 void (
application::*program_invocation_name_fptr) (
const std::string&)
1303 (program_invocation_name_fptr, m_app_context,
1306 void (
application::*program_name_fptr) (
const std::string&)
1311 m_interactive =
false;
1321 std::string fname = script_args[0];
1325 std::string context;
1327 bool require_file =
true;
1329 return safe_source_file (fname, context,
verbose, require_file);
1333 interpreter::main_loop ()
1337 return m_evaluator.
repl ();
1341 interpreter::server_loop ()
1355 return m_stream_list;
1361 return m_url_handle_manager;
1382 error (
"%s: symbol table scope missing", who.c_str ());
1401 error (
"%s: %s", dir.c_str (), std::strerror (errno));
1423 m_evaluator.
mlock (skip_first);
1429 m_evaluator.
munlock (skip_first);
1435 return m_evaluator.
mislocked (skip_first);
1442 error (
"munlock: invalid value for NAME");
1465 error (
"mislocked: invalid value for NAME");
1473 bool retval =
false;
1496 bool silent,
int& parse_status,
1499 return m_evaluator.
eval_string (eval_str, silent, parse_status, nargout);
1504 bool silent,
int& parse_status)
1506 return m_evaluator.
eval_string (eval_str, silent, parse_status);
1511 bool silent,
int& parse_status,
1514 return m_evaluator.
eval_string (arg, silent, parse_status, nargout);
1521 return m_evaluator.
eval (try_code, nargout);
1526 const std::string& catch_code,
1529 return m_evaluator.
eval (try_code, catch_code, nargout);
1534 const std::string& try_code,
1537 return m_evaluator.
evalin (context, try_code, nargout);
1542 const std::string& try_code,
1543 const std::string& catch_code,
1546 return m_evaluator.
evalin (context, try_code, catch_code, nargout);
1563 return feval (std::string (name), args, nargout);
1574 error (
"feval: function '%s' not found", name.c_str ());
1578 return of->
call (m_evaluator, nargout, args);
1587 return fcn->
call (m_evaluator, nargout, args);
1615 std::list<octave_value_list> arg_list;
1616 arg_list.push_back (args);
1625 return xval.
subsref (
"(", arg_list, nargout);
1632 error (
"feval: first argument must be a string, inline function, or a function handle");
1653 error (
"feval: first argument must be a string, inline function, or a function handle");
1659 return feval (f_arg, tmp_args, nargout);
1716 return m_evaluator.
varval (name);
1723 m_evaluator.
assign (name, val);
1728 const std::string& name,
1731 m_evaluator.
assignin (context, name, val);
1736 const std::string& context,
bool verbose,
1757 return m_evaluator.
find (name);
1862 std::list<std::string>
1868 std::list<std::string>
1874 std::list<std::string>
1880 std::list<std::string>
1886 std::list<std::string>
1898 static int sigint = 0;
1899 static bool first =
true;
1941 m_evaluator.
dbquit (
true);
1962 return m_input_system.
PS1 (args, nargout);
1968 return m_input_system.
PS1 ();
1974 return m_input_system.
PS1 (s);
1986 return m_input_system.
PS2 (args, nargout);
1992 return m_input_system.
PS2 ();
1998 return m_input_system.
PS2 (s);
2010 return m_evaluator.
PS4 (args, nargout);
2016 return m_evaluator.
PS4 ();
2022 return m_evaluator.
PS4 (s);
2036 if (! m_app_context)
2063 std::set<std::string>
2098 m_tmp_files.
insert (file);
2114 bool cancel =
false;
2121 evalin (
"base",
"finish", 0);
2123 cancel = m_cancel_quit;
2147 throw exit_exception (exit_status);
2153 if (m_executing_atexit)
2156 m_atexit_fcns.push_front (fname);
2164 for (
auto it = m_atexit_fcns.begin ();
2165 it != m_atexit_fcns.end (); it++)
2169 m_atexit_fcns.erase (it);
2181 interpreter::maximum_braindamage ()
2208 m_error_system.
disable_warning (
"Octave:possible-matlab-short-circuit-operator");
2212 interpreter::execute_pkg_add (
const std::string& dir)
2218 catch (
const interrupt_exception&)
2234 interpreter::safe_source_file (
const std::string& file_name,
2235 const std::string& context,
2236 bool verbose,
bool require_file)
2242 catch (
const interrupt_exception&)
2258 OCTAVE_END_NAMESPACE(
octave)
octave_value_list Fprint_empty_dimensions(const octave_value_list &=octave_value_list(), int=0)
octave_value_list Fstruct_levels_to_print(const octave_value_list &=octave_value_list(), int=0)
octave_value_list Finfo_file(octave::interpreter &, const octave_value_list &=octave_value_list(), int=0)
octave_value_list Foptimize_diagonal_matrix(const octave_value_list &=octave_value_list(), int=0)
octave_value_list Ffixed_point_format(const octave_value_list &=octave_value_list(), int=0)
octave_value_list Foptimize_permutation_matrix(const octave_value_list &=octave_value_list(), int=0)
octave_value_list Fprint_struct_array_contents(const octave_value_list &=octave_value_list(), int=0)
octave_value_list Fdoc_cache_file(octave::interpreter &, const octave_value_list &=octave_value_list(), int=0)
octave_value_list Finfo_program(octave::interpreter &, const octave_value_list &=octave_value_list(), int=0)
octave_value_list Fconfirm_recursive_rmdir(const octave_value_list &=octave_value_list(), int=0)
octave_value_list F__version_info__(const octave_value_list &=octave_value_list(), int=0)
octave_value_list Ftexi_macros_file(octave::interpreter &, const octave_value_list &=octave_value_list(), int=0)
octave_value_list Foptimize_range(const octave_value_list &=octave_value_list(), int=0)
octave_value_list Fbuilt_in_docstrings_file(octave::interpreter &, const octave_value_list &=octave_value_list(), int=0)
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
std::string info_program() const
bool read_history_file() const
std::string exec_path() const
bool no_window_system() const
std::list< std::string > command_line_path() const
std::string code_to_eval() const
string_vector all_args() const
std::string info_file() const
bool verbose_flag() const
std::string docstrings_file() const
bool echo_commands() const
bool read_init_files() const
bool set_initial_path() const
bool forced_line_editing() 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)
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)
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)
void read_init_files(bool flag)
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
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
void execute_pkg_add(const std::string &dir)
std::function< void(const std::string &)> get_add_hook()
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 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)
std::set< std::string > debug_watch_expressions() const
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
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
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())
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)
profiler & get_profiler()
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
std::string site_defaults_file()
std::string local_site_defaults_file()
#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.
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,...)
std::string dir_sep_str()
void octave_set_default_fpucw(void)
#define OCTAVE_SAFE_CALL(F, ARGS)
bool octave_interpreter_ready
std::atomic< bool > octave_initialized
sys::time Vlast_chdir_time
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)
bool file_exists(const std::string &filename, bool is_dir)
int chdir(const std::string &path_arg)
bool same_file(const std::string &file1, const std::string &file2)
std::string tilde_expand(const std::string &name)
int release_unreferenced_dynamic_libraries()
T::size_type numel(const T &str)
octave_value_list ovl(const OV_Args &... args)
Construct an octave_value_list with less typing.
std::atomic< sig_atomic_t > octave_interrupt_state
void(* octave_interrupt_hook)()
void(* octave_signal_hook)()
volatile std::atomic< bool > octave_signal_caught
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)
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 &, const std::string &)
int symbol_exist(const std::string &name, const std::string &type="any")
std::string octave_startup_message(bool html)
#define OCTAVE_RELEASE_DATE
F77_RET_T F77_FUNC(xerbla, XERBLA)(F77_CONST_CHAR_ARG_DEF(s_arg
void octave_set_xerbla_handler(xerbla_handler_fptr fcn)