=> Bootstrap dependency digest>=20211023: found digest-20220214
===> Skipping vulnerability checks.
WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Building for qalculate-gtk-3.5.0nb26
/usr/pkg/bin/gmake  all-recursive
gmake[1]: Entering directory '/pbulk/work/math/qalculate-gtk/work/qalculate-gtk-3.5.0'
Making all in data
gmake[2]: Entering directory '/pbulk/work/math/qalculate-gtk/work/qalculate-gtk-3.5.0/data'
LC_ALL=C /pbulk/work/math/qalculate-gtk/work/.tools/bin/intltool-merge  -x -u -c ../po/.intltool-merge-cache ../po qalculate-gtk.appdata.xml.in qalculate-gtk.appdata.xml
LC_ALL=C /pbulk/work/math/qalculate-gtk/work/.tools/bin/intltool-merge  -d -u -c ../po/.intltool-merge-cache ../po qalculate-gtk.desktop.in qalculate-gtk.desktop
Generating and caching the translation database
Merging translations into qalculate-gtk.desktop.
Found cached translation database
Merging translations into qalculate-gtk.appdata.xml.
CREATED qalculate-gtk.appdata.xml
gmake[2]: Leaving directory '/pbulk/work/math/qalculate-gtk/work/qalculate-gtk-3.5.0/data'
Making all in src
gmake[2]: Entering directory '/pbulk/work/math/qalculate-gtk/work/qalculate-gtk-3.5.0/src'
c++ -DHAVE_CONFIG_H -I. -I..  -DPACKAGE_DATA_DIR=\""/usr/pkg/share"\" -DPACKAGE_DOC_DIR=\""/usr/pkg/share/doc/qalculate-gtk"\" -I/usr/pkg/include/gtk-3.0 -I/usr/X11R7/include -I/usr/pkg/include/pango-1.0 -I/usr/pkg/include/cairo -I/usr/pkg/include/dbus-1.0 -I/usr/pkg/lib/dbus-1.0/include -D_REENTRANT -I/usr/pkg/include/atk-1.0 -I/usr/pkg/include -pthread -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/freetype2 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/gdk-pixbuf-2.0 -I/usr/pkg/include/libpng16 -I/usr/X11R7/include/pixman-1 -I/usr/X11R7/include/libdrm -I/usr/pkg/include/at-spi2-atk/2.0 -I/usr/pkg/include/at-spi-2.0 -I/usr/pkg/include/fribidi -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include -I/usr/pkg/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm  -O2 -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cc
c++ -DHAVE_CONFIG_H -I. -I..  -DPACKAGE_DATA_DIR=\""/usr/pkg/share"\" -DPACKAGE_DOC_DIR=\""/usr/pkg/share/doc/qalculate-gtk"\" -I/usr/pkg/include/gtk-3.0 -I/usr/X11R7/include -I/usr/pkg/include/pango-1.0 -I/usr/pkg/include/cairo -I/usr/pkg/include/dbus-1.0 -I/usr/pkg/lib/dbus-1.0/include -D_REENTRANT -I/usr/pkg/include/atk-1.0 -I/usr/pkg/include -pthread -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/freetype2 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/gdk-pixbuf-2.0 -I/usr/pkg/include/libpng16 -I/usr/X11R7/include/pixman-1 -I/usr/X11R7/include/libdrm -I/usr/pkg/include/at-spi2-atk/2.0 -I/usr/pkg/include/at-spi-2.0 -I/usr/pkg/include/fribidi -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include -I/usr/pkg/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm  -O2 -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm -MT interface.o -MD -MP -MF .deps/interface.Tpo -c -o interface.o interface.cc
c++ -DHAVE_CONFIG_H -I. -I..  -DPACKAGE_DATA_DIR=\""/usr/pkg/share"\" -DPACKAGE_DOC_DIR=\""/usr/pkg/share/doc/qalculate-gtk"\" -I/usr/pkg/include/gtk-3.0 -I/usr/X11R7/include -I/usr/pkg/include/pango-1.0 -I/usr/pkg/include/cairo -I/usr/pkg/include/dbus-1.0 -I/usr/pkg/lib/dbus-1.0/include -D_REENTRANT -I/usr/pkg/include/atk-1.0 -I/usr/pkg/include -pthread -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/freetype2 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/gdk-pixbuf-2.0 -I/usr/pkg/include/libpng16 -I/usr/X11R7/include/pixman-1 -I/usr/X11R7/include/libdrm -I/usr/pkg/include/at-spi2-atk/2.0 -I/usr/pkg/include/at-spi-2.0 -I/usr/pkg/include/fribidi -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include -I/usr/pkg/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm  -O2 -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm -MT callbacks.o -MD -MP -MF .deps/callbacks.Tpo -c -o callbacks.o callbacks.cc
gcc -DHAVE_CONFIG_H -I. -I..  -DPACKAGE_DATA_DIR=\""/usr/pkg/share"\" -DPACKAGE_DOC_DIR=\""/usr/pkg/share/doc/qalculate-gtk"\" -I/usr/pkg/include/gtk-3.0 -I/usr/X11R7/include -I/usr/pkg/include/pango-1.0 -I/usr/pkg/include/cairo -I/usr/pkg/include/dbus-1.0 -I/usr/pkg/lib/dbus-1.0/include -D_REENTRANT -I/usr/pkg/include/atk-1.0 -I/usr/pkg/include -pthread -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/freetype2 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/gdk-pixbuf-2.0 -I/usr/pkg/include/libpng16 -I/usr/X11R7/include/pixman-1 -I/usr/X11R7/include/libdrm -I/usr/pkg/include/at-spi2-atk/2.0 -I/usr/pkg/include/at-spi-2.0 -I/usr/pkg/include/fribidi -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include -I/usr/pkg/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm  -O2 -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm -Wall -MT ui.o -MD -MP -MF .deps/ui.Tpo -c -o ui.o ui.c
gcc -DHAVE_CONFIG_H -I. -I..  -DPACKAGE_DATA_DIR=\""/usr/pkg/share"\" -DPACKAGE_DOC_DIR=\""/usr/pkg/share/doc/qalculate-gtk"\" -I/usr/pkg/include/gtk-3.0 -I/usr/X11R7/include -I/usr/pkg/include/pango-1.0 -I/usr/pkg/include/cairo -I/usr/pkg/include/dbus-1.0 -I/usr/pkg/lib/dbus-1.0/include -D_REENTRANT -I/usr/pkg/include/atk-1.0 -I/usr/pkg/include -pthread -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/freetype2 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/gdk-pixbuf-2.0 -I/usr/pkg/include/libpng16 -I/usr/X11R7/include/pixman-1 -I/usr/X11R7/include/libdrm -I/usr/pkg/include/at-spi2-atk/2.0 -I/usr/pkg/include/at-spi-2.0 -I/usr/pkg/include/fribidi -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include -I/usr/pkg/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm  -O2 -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm -Wall -MT flags.o -MD -MP -MF .deps/flags.Tpo -c -o flags.o flags.c
In file included from main.cc:25:
callbacks.h:63:40: error: macro "DECLARE_BUILTIN_FUNCTION" requires 2 arguments, but only 1 given
   63 | DECLARE_BUILTIN_FUNCTION(AnswerFunction)
      |                                        ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:26,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/BuiltinFunctions.h:39: note: macro "DECLARE_BUILTIN_FUNCTION" defined here
   39 | #define DECLARE_BUILTIN_FUNCTION(x, i)  class x : public MathFunction { \
      | 
In file included from main.cc:25:
callbacks.h:64:44: error: macro "DECLARE_BUILTIN_FUNCTION" requires 2 arguments, but only 1 given
   64 | DECLARE_BUILTIN_FUNCTION(ExpressionFunction)
      |                                            ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:26,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/BuiltinFunctions.h:39: note: macro "DECLARE_BUILTIN_FUNCTION" defined here
   39 | #define DECLARE_BUILTIN_FUNCTION(x, i)  class x : public MathFunction { \
      | 
mv -f .deps/ui.Tpo .deps/ui.Po
In file included from callbacks.cc:28:
callbacks.h:63:40: error: macro "DECLARE_BUILTIN_FUNCTION" requires 2 arguments, but only 1 given
   63 | DECLARE_BUILTIN_FUNCTION(AnswerFunction)
      |                                        ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:26,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/BuiltinFunctions.h:39: note: macro "DECLARE_BUILTIN_FUNCTION" defined here
   39 | #define DECLARE_BUILTIN_FUNCTION(x, i)  class x : public MathFunction { \
      | 
In file included from callbacks.cc:28:
callbacks.h:64:44: error: macro "DECLARE_BUILTIN_FUNCTION" requires 2 arguments, but only 1 given
   64 | DECLARE_BUILTIN_FUNCTION(ExpressionFunction)
      |                                            ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:26,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/BuiltinFunctions.h:39: note: macro "DECLARE_BUILTIN_FUNCTION" defined here
   39 | #define DECLARE_BUILTIN_FUNCTION(x, i)  class x : public MathFunction { \
      | 
In file included from interface.cc:25:
callbacks.h:63:40: error: macro "DECLARE_BUILTIN_FUNCTION" requires 2 arguments, but only 1 given
   63 | DECLARE_BUILTIN_FUNCTION(AnswerFunction)
      |                                        ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:26,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/BuiltinFunctions.h:39: note: macro "DECLARE_BUILTIN_FUNCTION" defined here
   39 | #define DECLARE_BUILTIN_FUNCTION(x, i)  class x : public MathFunction { \
      | 
In file included from interface.cc:25:
callbacks.h:64:44: error: macro "DECLARE_BUILTIN_FUNCTION" requires 2 arguments, but only 1 given
   64 | DECLARE_BUILTIN_FUNCTION(ExpressionFunction)
      |                                            ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:26,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/BuiltinFunctions.h:39: note: macro "DECLARE_BUILTIN_FUNCTION" defined here
   39 | #define DECLARE_BUILTIN_FUNCTION(x, i)  class x : public MathFunction { \
      | 
mv -f .deps/flags.Tpo .deps/flags.Po
In file included from main.cc:25:
callbacks.h:37:2: error: 'string' does not name a type; did you mean 'GString'?
   37 |  string name;
      |  ^~~~~~
      |  GString
callbacks.h:63:1: error: 'DECLARE_BUILTIN_FUNCTION' does not name a type
   63 | DECLARE_BUILTIN_FUNCTION(AnswerFunction)
      | ^~~~~~~~~~~~~~~~~~~~~~~~
callbacks.h:81:21: error: 'string' was not declared in this scope; did you mean 'std::string'?
   81 | bool string_is_less(string str1, string str2);
      |                     ^~~~~~
      |                     std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from main.cc:25:
callbacks.h:81:34: error: 'string' was not declared in this scope; did you mean 'std::string'?
   81 | bool string_is_less(string str1, string str2);
      |                                  ^~~~~~
      |                                  std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from main.cc:25:
callbacks.h:81:45: error: expression list treated as compound expression in initializer [-fpermissive]
   81 | bool string_is_less(string str1, string str2);
      |                                             ^
In file included from main.cc:25:
callbacks.h:132:180: error: 'string' has not been declared
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                    ^~~~~~
callbacks.h:132:201: error: 'string' was not declared in this scope; did you mean 'std::string'?
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                                         ^~~~~~
      |                                                                                                                                                                                                         std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from main.cc:25:
callbacks.h:132:211: error: 'string' has not been declared
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                                                   ^~~~~~
callbacks.h:132:224: error: 'string' was not declared in this scope; did you mean 'std::string'?
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                                                                ^~~~~~
      |                                                                                                                                                                                                                                std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from main.cc:25:
callbacks.h:133:114: error: 'string' has not been declared
  133 | void setResult(Prefix *prefix = NULL, bool update_history = true, bool update_parse = false, bool force = false, string transformation = "", size_t stack_index = 0, bool register_moved = false);
      |                                                                                                                  ^~~~~~
callbacks.h:133:193: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
  133 | void setResult(Prefix *prefix = NULL, bool update_history = true, bool update_parse = false, bool force = false, string transformation = "", size_t stack_index = 0, bool register_moved = false);
      |                                                                                                                                                                                                 ^
      |                                                                                                                                                                                                 |
      |                                                                                                                                                                                                 const char*
callbacks.h:138:6: error: variable or field 'RPNRegisterAdded' declared void
  138 | void RPNRegisterAdded(string text, gint index = 0);
      |      ^~~~~~~~~~~~~~~~
callbacks.h:138:23: error: 'string' was not declared in this scope; did you mean 'std::string'?
  138 | void RPNRegisterAdded(string text, gint index = 0);
      |                       ^~~~~~
      |                       std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from main.cc:25:
callbacks.h:138:41: error: expected primary-expression before 'index'
  138 | void RPNRegisterAdded(string text, gint index = 0);
      |                                         ^~~~~
callbacks.h:140:6: error: variable or field 'RPNRegisterChanged' declared void
  140 | void RPNRegisterChanged(string text, gint index);
      |      ^~~~~~~~~~~~~~~~~~
callbacks.h:140:25: error: 'string' was not declared in this scope; did you mean 'std::string'?
  140 | void RPNRegisterChanged(string text, gint index);
      |                         ^~~~~~
      |                         std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from main.cc:25:
callbacks.h:140:43: error: expected primary-expression before 'index'
  140 | void RPNRegisterChanged(string text, gint index);
      |                                           ^~~~~
main.cc:29:1: error: 'string' does not name a type; did you mean 'GString'?
   29 | string *parsed_to_str;
      | ^~~~~~
      | GString
main.cc:32:1: error: 'string' does not name a type; did you mean 'GString'?
   32 | string selected_function_category;
      | ^~~~~~
      | GString
main.cc:35:1: error: 'string' does not name a type; did you mean 'GString'?
   35 | string selected_variable_category;
      | ^~~~~~
      | GString
main.cc:37:1: error: 'string' does not name a type; did you mean 'GString'?
   37 | string result_text, parsed_text;
      | ^~~~~~
      | GString
main.cc:39:1: error: 'string' does not name a type; did you mean 'GString'?
   39 | string selected_unit_category;
      | ^~~~~~
      | GString
main.cc:40:1: error: 'string' does not name a type; did you mean 'GString'?
   40 | string selected_unit_selector_category;
      | ^~~~~~
      | GString
main.cc:47:8: error: 'vector' does not name a type; did you mean 'Vector'?
   47 | extern vector<string> recent_functions_pre;
      |        ^~~~~~
      |        Vector
main.cc:48:8: error: 'vector' does not name a type; did you mean 'Vector'?
   48 | extern vector<string> recent_variables_pre;
      |        ^~~~~~
      |        Vector
main.cc:49:8: error: 'vector' does not name a type; did you mean 'Vector'?
   49 | extern vector<string> recent_units_pre;
      |        ^~~~~~
      |        Vector
main.cc:64:1: error: 'string' does not name a type; did you mean 'GString'?
   64 | string calc_arg;
      | ^~~~~~
      | GString
main.cc: In function 'void create_application(GtkApplication*)':
main.cc:120:2: error: 'parsed_to_str' was not declared in this scope; did you mean 'parsed_tostruct'?
  120 |  parsed_to_str = new string;
      |  ^~~~~~~~~~~~~
      |  parsed_tostruct
main.cc:120:22: error: 'string' does not name a type; did you mean 'GString'?
  120 |  parsed_to_str = new string;
      |                      ^~~~~~
      |                      GString
main.cc:135:5: error: 'calc_arg' was not declared in this scope; did you mean 'va_arg'?
  135 |  if(calc_arg.empty() && first_time) {
      |     ^~~~~~~~
      |     va_arg
main.cc:167:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
  167 |  string ans_str = _("ans");
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
main.cc:168:104: error: 'ans_str' was not declared in this scope
  168 |  vans[0] = (KnownVariable*) CALCULATOR->addVariable(new KnownVariable(CALCULATOR->temporaryCategory(), ans_str, m_undefined, _("Last Answer"), false));
      |                                                                                                        ^~~~~~~
main.cc:181:41: error: expected type-specifier before 'AnswerFunction'
  181 |  f_answer = CALCULATOR->addFunction(new AnswerFunction());
      |                                         ^~~~~~~~~~~~~~
main.cc:182:45: error: expected type-specifier before 'ExpressionFunction'
  182 |  f_expression = CALCULATOR->addFunction(new ExpressionFunction());
      |                                             ^~~~~~~~~~~~~~~~~~
main.cc:197:2: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
  197 |  selected_function_category = _("All");
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |  selected_function
main.cc:200:2: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
  200 |  selected_variable_category = _("All");
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |  selected_variable
main.cc:203:2: error: 'selected_unit_category' was not declared in this scope
  203 |  selected_unit_category = _("All");
      |  ^~~~~~~~~~~~~~~~~~~~~~
main.cc:206:2: error: 'result_text' was not declared in this scope
  206 |  result_text = "0";
      |  ^~~~~~~~~~~
main.cc:207:2: error: 'parsed_text' was not declared in this scope; did you mean 'parsed_mstruct'?
  207 |  parsed_text = "0";
      |  ^~~~~~~~~~~
      |  parsed_mstruct
main.cc:237:21: error: 'recent_functions_pre' was not declared in this scope
  237 |  for(int i = ((int) recent_functions_pre.size()) - 1; i >= 0; i--) {
      |                     ^~~~~~~~~~~~~~~~~~~~
main.cc:240:21: error: 'recent_variables_pre' was not declared in this scope
  240 |  for(int i = ((int) recent_variables_pre.size()) - 1; i >= 0; i--) {
      |                     ^~~~~~~~~~~~~~~~~~~~
main.cc:243:21: error: 'recent_units_pre' was not declared in this scope
  243 |  for(int i = ((int) recent_units_pre.size()) - 1; i >= 0; i--) {
      |                     ^~~~~~~~~~~~~~~~
main.cc:251:20: error: 'ViewThread' does not name a type; did you mean 'view_thread'?
  251 |  view_thread = new ViewThread;
      |                    ^~~~~~~~~~
      |                    view_thread
main.cc:255:6: error: 'calc_arg' was not declared in this scope; did you mean 'va_arg'?
  255 |  if(!calc_arg.empty()) {
      |      ^~~~~~~~
      |      va_arg
main.cc:261:38: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
  261 |   setResult(NULL, false, false, false);
      |                                      ^
      |                                      |
      |                                      const char*
main.cc: In function 'gint qalculate_handle_local_options(GtkApplication*, GVariantDict*)':
main.cc:336:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
  336 |   string stmp, svar;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
main.cc:340:4: error: 'stmp' was not declared in this scope
  340 |    stmp = line;
      |    ^~~~
main.cc:342:40: error: 'string' is not a class, namespace, or enumeration
  342 |    if((i = stmp.find_first_of("=")) != string::npos) {
      |                                        ^~~~~~
main.cc:343:5: error: 'svar' was not declared in this scope
  343 |     svar = stmp.substr(0, i);
      |     ^~~~
main.cc:346:12: error: expected ';' before 'svalue'
  346 |      string svalue = stmp.substr(i + 1, stmp.length() - (i + 1));
      |            ^~~~~~~
      |            ;
main.cc:347:24: error: 'svalue' was not declared in this scope; did you mean 'GValue'?
  347 |      remove_blank_ends(svalue);
      |                        ^~~~~~
      |                        GValue
main.cc: In function 'gint qalculate_command_line(GtkApplication*, GApplicationCommandLine*)':
main.cc:369:2: error: 'calc_arg' was not declared in this scope; did you mean 'va_arg'?
  369 |  calc_arg = "";
      |  ^~~~~~~~
      |  va_arg
main.cc: In function 'int main(int, char**)':
main.cc:408:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
  408 |  string stmp;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from main.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
gmake[2]: *** [Makefile:515: main.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from interface.cc:25:
callbacks.h:37:2: error: 'string' does not name a type; did you mean 'GString'?
   37 |  string name;
      |  ^~~~~~
      |  GString
callbacks.h:63:1: error: 'DECLARE_BUILTIN_FUNCTION' does not name a type
   63 | DECLARE_BUILTIN_FUNCTION(AnswerFunction)
      | ^~~~~~~~~~~~~~~~~~~~~~~~
callbacks.h:81:21: error: 'string' was not declared in this scope; did you mean 'std::string'?
   81 | bool string_is_less(string str1, string str2);
      |                     ^~~~~~
      |                     std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from interface.cc:25:
callbacks.h:81:34: error: 'string' was not declared in this scope; did you mean 'std::string'?
   81 | bool string_is_less(string str1, string str2);
      |                                  ^~~~~~
      |                                  std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from interface.cc:25:
callbacks.h:81:45: error: expression list treated as compound expression in initializer [-fpermissive]
   81 | bool string_is_less(string str1, string str2);
      |                                             ^
In file included from interface.cc:25:
callbacks.h:132:180: error: 'string' has not been declared
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                    ^~~~~~
callbacks.h:132:201: error: 'string' was not declared in this scope; did you mean 'std::string'?
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                                         ^~~~~~
      |                                                                                                                                                                                                         std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from interface.cc:25:
callbacks.h:132:211: error: 'string' has not been declared
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                                                   ^~~~~~
callbacks.h:132:224: error: 'string' was not declared in this scope; did you mean 'std::string'?
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                                                                ^~~~~~
      |                                                                                                                                                                                                                                std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from interface.cc:25:
callbacks.h:133:114: error: 'string' has not been declared
  133 | void setResult(Prefix *prefix = NULL, bool update_history = true, bool update_parse = false, bool force = false, string transformation = "", size_t stack_index = 0, bool register_moved = false);
      |                                                                                                                  ^~~~~~
callbacks.h:133:193: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
  133 | void setResult(Prefix *prefix = NULL, bool update_history = true, bool update_parse = false, bool force = false, string transformation = "", size_t stack_index = 0, bool register_moved = false);
      |                                                                                                                                                                                                 ^
      |                                                                                                                                                                                                 |
      |                                                                                                                                                                                                 const char*
callbacks.h:138:6: error: variable or field 'RPNRegisterAdded' declared void
  138 | void RPNRegisterAdded(string text, gint index = 0);
      |      ^~~~~~~~~~~~~~~~
callbacks.h:138:23: error: 'string' was not declared in this scope; did you mean 'std::string'?
  138 | void RPNRegisterAdded(string text, gint index = 0);
      |                       ^~~~~~
      |                       std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from interface.cc:25:
callbacks.h:138:41: error: expected primary-expression before 'index'
  138 | void RPNRegisterAdded(string text, gint index = 0);
      |                                         ^~~~~
callbacks.h:140:6: error: variable or field 'RPNRegisterChanged' declared void
  140 | void RPNRegisterChanged(string text, gint index);
      |      ^~~~~~~~~~~~~~~~~~
callbacks.h:140:25: error: 'string' was not declared in this scope; did you mean 'std::string'?
  140 | void RPNRegisterChanged(string text, gint index);
      |                         ^~~~~~
      |                         std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from interface.cc:25:
callbacks.h:140:43: error: expected primary-expression before 'index'
  140 | void RPNRegisterChanged(string text, gint index);
      |                                           ^~~~~
interface.cc:66:8: error: 'vector' does not name a type; did you mean 'Vector'?
   66 | extern vector<mode_struct> modes;
      |        ^~~~~~
      |        Vector
interface.cc:125:8: error: 'vector' does not name a type; did you mean 'Vector'?
  125 | extern vector<GtkTreeViewColumn*> matrix_edit_columns, matrix_columns;
      |        ^~~~~~
      |        Vector
interface.cc:151:8: error: 'string' does not name a type; did you mean 'GString'?
  151 | extern string custom_result_font, custom_expression_font, custom_status_font;
      |        ^~~~~~
      |        GString
interface.cc:152:8: error: 'string' does not name a type; did you mean 'GString'?
  152 | extern string status_error_color, status_warning_color;
      |        ^~~~~~
      |        GString
interface.cc:162:8: error: 'string' does not name a type; did you mean 'GString'?
  162 | extern string nbases_error_color, nbases_warning_color;
      |        ^~~~~~
      |        GString
interface.cc:169:8: error: 'vector' does not name a type; did you mean 'Vector'?
  169 | extern vector<GtkWidget*> mode_items;
      |        ^~~~~~
      |        Vector
interface.cc:170:8: error: 'vector' does not name a type; did you mean 'Vector'?
  170 | extern vector<GtkWidget*> popup_result_mode_items;
      |        ^~~~~~
      |        Vector
interface.cc:172:8: error: 'deque' does not name a type
  172 | extern deque<string> expression_undo_buffer;
      |        ^~~~~
interface.cc:177:8: error: 'string' does not name a type; did you mean 'GString'?
  177 | extern string latest_button_unit_pre, latest_button_currency_pre;
      |        ^~~~~~
      |        GString
interface.cc:188:8: error: 'unordered_map' does not name a type
  188 | extern unordered_map<string, GdkPixbuf*> flag_images;
      |        ^~~~~~~~~~~~~
interface.cc:190:8: error: 'string' does not name a type; did you mean 'GString'?
  190 | extern string fix_history_string(const string &str);
      |        ^~~~~~
      |        GString
interface.cc: In function 'GtkBuilder* getBuilder(const char*)':
interface.cc:566:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
  566 |  string resstr = "/qalculate-gtk/ui/";
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
interface.cc:567:2: error: 'resstr' was not declared in this scope; did you mean 'eqstr'?
  567 |  resstr += filename;
      |  ^~~~~~
      |  eqstr
interface.cc: In function 'void set_keypad_tooltip(const gchar*, const char*, const char*, const char*, bool, bool)':
interface.cc:574:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
  574 |  string str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
interface.cc:575:9: error: 'str' was not declared in this scope; did you mean 'std'?
  575 |  if(s1) str += s1;
      |         ^~~
      |         std
interface.cc:577:10: error: 'str' was not declared in this scope; did you mean 'std'?
  577 |   if(s1) str += "\n\n";
      |          ^~~
      |          std
interface.cc:578:19: error: 'str' was not declared in this scope; did you mean 'std'?
  578 |   if(b_longpress) str += _("Right-click/long press: %s");
      |                   ^~~
      |                   std
interface.cc:579:8: error: 'str' was not declared in this scope; did you mean 'std'?
  579 |   else str += _("Right-click: %s");
      |        ^~~
      |        std
interface.cc:580:18: error: 'str' was not declared in this scope; did you mean 'std'?
  580 |   gsub("%s", s2, str);
      |                  ^~~
      |                  std
interface.cc:583:10: error: 'str' was not declared in this scope; did you mean 'std'?
  583 |   if(s2) str += "\n";
      |          ^~~
      |          std
interface.cc:584:15: error: 'str' was not declared in this scope; did you mean 'std'?
  584 |   else if(s1) str += "\n\n";
      |               ^~~
      |               std
interface.cc:585:3: error: 'str' was not declared in this scope; did you mean 'std'?
  585 |   str += _("Middle-click: %s");
      |   ^~~
      |   std
interface.cc:588:98: error: 'str' was not declared in this scope; did you mean 'std'?
  588 |  if(b_markup) gtk_widget_set_tooltip_markup(GTK_WIDGET(gtk_builder_get_object(main_builder, w)), str.c_str());
      |                                                                                                  ^~~
      |                                                                                                  std
interface.cc:589:88: error: 'str' was not declared in this scope; did you mean 'std'?
  589 |  else gtk_widget_set_tooltip_text(GTK_WIDGET(gtk_builder_get_object(main_builder, w)), str.c_str());
      |                                                                                        ^~~
      |                                                                                        std
interface.cc: In function 'void create_button_menus()':
interface.cc:740:6: error: 'latest_button_unit_pre' was not declared in this scope; did you mean 'latest_button_unit'?
  740 |  if(!latest_button_unit_pre.empty()) {
      |      ^~~~~~~~~~~~~~~~~~~~~~
      |      latest_button_unit
interface.cc:745:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
  745 |   string si_label_str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
interface.cc:747:4: error: 'si_label_str' was not declared in this scope
  747 |    si_label_str = ((CompositeUnit*) latest_button_unit)->print(false, true, printops.use_unicode_signs, &can_display_unicode_string_function, (void*) expressiontext);
      |    ^~~~~~~~~~~~
interface.cc:750:4: error: 'si_label_str' was not declared in this scope
  750 |    si_label_str = latest_button_unit->preferredDisplayName(true, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) expressiontext).name;
      |    ^~~~~~~~~~~~
interface.cc:752:83: error: 'si_label_str' was not declared in this scope
  752 |   gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(main_builder, "label_si")), si_label_str.c_str());
      |                                                                                   ^~~~~~~~~~~~
interface.cc:757:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
  757 |  vector<Unit*> to_us;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
interface.cc:757:13: error: expected primary-expression before '*' token
  757 |  vector<Unit*> to_us;
      |             ^
interface.cc:757:14: error: expected primary-expression before '>' token
  757 |  vector<Unit*> to_us;
      |              ^
interface.cc:757:16: error: 'to_us' was not declared in this scope
  757 |  vector<Unit*> to_us;
      |                ^~~~~
interface.cc:765:61: error: 'string_is_less' cannot be used as a function
  765 |     if(string_is_less(u->title(true), to_us[i2]->title(true))) {
      |                                                             ^
interface.cc:788:61: error: 'string_is_less' cannot be used as a function
  788 |     if(string_is_less(u->title(true), to_us[i2]->title(true))) {
      |                                                             ^
interface.cc:801:6: error: 'latest_button_currency_pre' was not declared in this scope; did you mean 'latest_button_currency'?
  801 |  if(!latest_button_currency_pre.empty()) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |      latest_button_currency
interface.cc:807:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
  807 |  string unit_label_str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:28:
callbacks.h:37:2: error: 'string' does not name a type; did you mean 'GString'?
   37 |  string name;
      |  ^~~~~~
      |  GString
interface.cc:809:3: error: 'unit_label_str' was not declared in this scope
  809 |   unit_label_str = ((CompositeUnit*) latest_button_currency)->print(false, true, printops.use_unicode_signs, &can_display_unicode_string_function, (void*) expressiontext);
      |   ^~~~~~~~~~~~~~
interface.cc:812:3: error: 'unit_label_str' was not declared in this scope
  812 |   unit_label_str = latest_button_currency->preferredDisplayName(true, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) expressiontext).name;
      |   ^~~~~~~~~~~~~~
interface.cc:814:84: error: 'unit_label_str' was not declared in this scope
  814 |  gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(main_builder, "label_euro")), unit_label_str.c_str());
      |                                                                                    ^~~~~~~~~~~~~~
interface.cc:831:61: error: 'string_is_less' cannot be used as a function
  831 |     if(string_is_less(u->title(true), to_us[i2]->title(true))) {
      |                                                             ^
In file included from interface.cc:26:
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.cc:841:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  841 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from interface.cc:32:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from interface.cc:26:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
interface.cc:841:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  841 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
interface.cc:841:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  841 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.h:63:1: error: 'DECLARE_BUILTIN_FUNCTION' does not name a type
   63 | DECLARE_BUILTIN_FUNCTION(AnswerFunction)
      | ^~~~~~~~~~~~~~~~~~~~~~~~
callbacks.h:81:21: error: 'string' was not declared in this scope; did you mean 'std::string'?
   81 | bool string_is_less(string str1, string str2);
      |                     ^~~~~~
      |                     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:28:
callbacks.h:81:34: error: 'string' was not declared in this scope; did you mean 'std::string'?
   81 | bool string_is_less(string str1, string str2);
      |                                  ^~~~~~
      |                                  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:28:
callbacks.h:81:45: error: expression list treated as compound expression in initializer [-fpermissive]
   81 | bool string_is_less(string str1, string str2);
      |                                             ^
In file included from callbacks.cc:28:
callbacks.h:132:180: error: 'string' has not been declared
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                    ^~~~~~
callbacks.h:132:201: error: 'string' was not declared in this scope; did you mean 'std::string'?
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                                         ^~~~~~
      |                                                                                                                                                                                                         std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:28:
callbacks.h:132:211: error: 'string' has not been declared
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                                                   ^~~~~~
callbacks.h:132:224: error: 'string' was not declared in this scope; did you mean 'std::string'?
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                                                                ^~~~~~
      |                                                                                                                                                                                                                                std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:28:
callbacks.h:133:114: error: 'string' has not been declared
  133 | void setResult(Prefix *prefix = NULL, bool update_history = true, bool update_parse = false, bool force = false, string transformation = "", size_t stack_index = 0, bool register_moved = false);
      |                                                                                                                  ^~~~~~
callbacks.h:133:193: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
  133 | void setResult(Prefix *prefix = NULL, bool update_history = true, bool update_parse = false, bool force = false, string transformation = "", size_t stack_index = 0, bool register_moved = false);
      |                                                                                                                                                                                                 ^
      |                                                                                                                                                                                                 |
      |                                                                                                                                                                                                 const char*
callbacks.h:138:6: error: variable or field 'RPNRegisterAdded' declared void
  138 | void RPNRegisterAdded(string text, gint index = 0);
      |      ^~~~~~~~~~~~~~~~
callbacks.h:138:23: error: 'string' was not declared in this scope; did you mean 'std::string'?
  138 | void RPNRegisterAdded(string text, gint index = 0);
      |                       ^~~~~~
      |                       std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:28:
callbacks.h:138:41: error: expected primary-expression before 'index'
  138 | void RPNRegisterAdded(string text, gint index = 0);
      |                                         ^~~~~
callbacks.h:140:6: error: variable or field 'RPNRegisterChanged' declared void
  140 | void RPNRegisterChanged(string text, gint index);
      |      ^~~~~~~~~~~~~~~~~~
callbacks.h:140:25: error: 'string' was not declared in this scope; did you mean 'std::string'?
  140 | void RPNRegisterChanged(string text, gint index);
      |                         ^~~~~~
      |                         std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:28:
callbacks.h:140:43: error: expected primary-expression before 'index'
  140 | void RPNRegisterChanged(string text, gint index);
      |                                           ^~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.cc:841:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  841 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.cc:841:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  841 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.cc:841:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  841 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.cc:845:13: error: expected primary-expression before '*' token
  845 |  vector<Unit*> to_us2;
      |             ^
interface.cc:845:14: error: expected primary-expression before '>' token
  845 |  vector<Unit*> to_us2;
      |              ^
interface.cc:845:16: error: 'to_us2' was not declared in this scope
  845 |  vector<Unit*> to_us2;
      |                ^~~~~~
In file included from interface.cc:26:
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.cc:883:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  883 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from interface.cc:32:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from interface.cc:26:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
interface.cc:883:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  883 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
interface.cc:883:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  883 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.cc:883:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  883 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.cc:883:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  883 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.cc:883:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  883 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), insert_button_currency, to_us[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.cc:888:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  888 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us2[i]->title(true).c_str(), insert_button_currency, to_us2[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from interface.cc:32:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from interface.cc:26:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
interface.cc:888:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  888 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us2[i]->title(true).c_str(), insert_button_currency, to_us2[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
interface.cc:888:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  888 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us2[i]->title(true).c_str(), insert_button_currency, to_us2[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.cc:888:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  888 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us2[i]->title(true).c_str(), insert_button_currency, to_us2[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:85:8: error: 'unordered_map' does not name a type
   85 | extern unordered_map<size_t, GtkWidget*> cal_year, cal_month, cal_day, cal_label;
      |        ^~~~~~~~~~~~~
callbacks.cc:129:8: error: 'string' does not name a type; did you mean 'GString'?
  129 | extern string selected_function_category;
      |        ^~~~~~
      |        GString
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.cc:888:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  888 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us2[i]->title(true).c_str(), insert_button_currency, to_us2[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:147:8: error: 'string' does not name a type; did you mean 'GString'?
  147 | extern string selected_variable_category;
      |        ^~~~~~
      |        GString
callbacks.cc:149:8: error: 'string' does not name a type; did you mean 'GString'?
  149 | extern string selected_unit_category;
      |        ^~~~~~
      |        GString
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.cc:888:3: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
  888 |   MENU_ITEM_WITH_POINTER_AND_FLAG(to_us2[i]->title(true).c_str(), insert_button_currency, to_us2[i])
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:150:8: error: 'string' does not name a type; did you mean 'GString'?
  150 | extern string selected_unit_selector_category;
      |        ^~~~~~
      |        GString
callbacks.cc:157:1: error: 'string' does not name a type; did you mean 'GString'?
  157 | string custom_result_font, custom_expression_font, custom_status_font;
      | ^~~~~~
      | GString
callbacks.cc:171:8: error: 'string' does not name a type; did you mean 'GString'?
  171 | extern string result_text, parsed_text;
      |        ^~~~~~
      |        GString
interface.cc: In function 'void create_main_window()':
interface.cc:1047:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1047 |    string flag_s = flags_r[i];
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:172:1: error: 'string' does not name a type; did you mean 'GString'?
  172 | string previous_expression;
      | ^~~~~~
      | GString
interface.cc:1048:19: error: 'flag_s' was not declared in this scope; did you mean 'flags_r'?
 1048 |    size_t i_ext = flag_s.find(".", 1);
      |                   ^~~~~~
      |                   flags_r
interface.cc:1049:16: error: 'string' is not a class, namespace, or enumeration
 1049 |    if(i_ext != string::npos) {
      |                ^~~~~~
callbacks.cc:174:1: error: 'string' does not name a type; did you mean 'GString'?
  174 | string result_text_long;
      | ^~~~~~
      | GString
callbacks.cc:183:1: error: 'vector' does not name a type; did you mean 'Vector'?
  183 | vector<vector<GtkWidget*> > insert_element_entries;
      | ^~~~~~
      | Vector
callbacks.cc:188:1: error: 'string' does not name a type; did you mean 'GString'?
  188 | string parsed_expression;
      | ^~~~~~
      | GString
interface.cc:1051:17: error: 'flag_images' was not declared in this scope
 1051 |     if(flagbuf) flag_images[flag_s.substr(0, i_ext)] = flagbuf;
      |                 ^~~~~~~~~~~
callbacks.cc:190:1: error: 'vector' does not name a type; did you mean 'Vector'?
  190 | vector<DataProperty*> tmp_props;
      | ^~~~~~
      | Vector
callbacks.cc:191:1: error: 'vector' does not name a type; did you mean 'Vector'?
  191 | vector<DataProperty*> tmp_props_orig;
      | ^~~~~~
      | Vector
callbacks.cc:196:1: error: 'string' does not name a type; did you mean 'GString'?
  196 | string prev_output_base, prev_input_base;
      | ^~~~~~
      | GString
callbacks.cc:198:1: error: 'string' does not name a type; did you mean 'GString'?
  198 | string command_convert_units_string;
      | ^~~~~~
      | GString
callbacks.cc:205:1: error: 'vector' does not name a type; did you mean 'Vector'?
  205 | vector<GtkTreeViewColumn*> matrix_edit_columns, matrix_columns;
      | ^~~~~~
      | Vector
callbacks.cc:211:1: error: 'vector' does not name a type; did you mean 'Vector'?
  211 | vector<string> expression_history;
      | ^~~~~~
      | Vector
callbacks.cc:220:1: error: 'string' does not name a type; did you mean 'GString'?
  220 | string default_plot_min = "0";
      | ^~~~~~
      | GString
callbacks.cc:221:1: error: 'string' does not name a type; did you mean 'GString'?
  221 | string default_plot_max = "10";
      | ^~~~~~
      | GString
callbacks.cc:222:1: error: 'string' does not name a type; did you mean 'GString'?
  222 | string default_plot_step = "1";
      | ^~~~~~
      | GString
callbacks.cc:230:1: error: 'string' does not name a type; did you mean 'GString'?
  230 | string default_plot_variable = "x";
      | ^~~~~~
      | GString
callbacks.cc:235:1: error: 'string' does not name a type; did you mean 'GString'?
  235 | string status_error_color, status_warning_color;
      | ^~~~~~
      | GString
interface.cc:1062:2: error: 'expression_undo_buffer' was not declared in this scope; did you mean 'expressionbuffer'?
 1062 |  expression_undo_buffer.push_back("");
      |  ^~~~~~~~~~~~~~~~~~~~~~
      |  expressionbuffer
callbacks.cc:237:1: error: 'string' does not name a type; did you mean 'GString'?
  237 | string nbases_error_color, nbases_warning_color;
      | ^~~~~~
      | GString
callbacks.cc:258:1: error: 'vector' does not name a type; did you mean 'Vector'?
  258 | vector<mode_struct> modes;
      | ^~~~~~
      | Vector
callbacks.cc:259:1: error: 'vector' does not name a type; did you mean 'Vector'?
  259 | vector<GtkWidget*> mode_items;
      | ^~~~~~
      | Vector
callbacks.cc:260:1: error: 'vector' does not name a type; did you mean 'Vector'?
  260 | vector<GtkWidget*> popup_result_mode_items;
      | ^~~~~~
      | Vector
callbacks.cc:261:1: error: 'vector' does not name a type; did you mean 'Vector'?
  261 | vector<GtkWidget*> popup_expression_mode_items;
      | ^~~~~~
      | Vector
interface.cc:1112:34: error: 'custom_result_font' was not declared in this scope; did you mean 'use_custom_result_font'?
 1112 |   gchar *gstr = font_name_to_css(custom_result_font.c_str());
      |                                  ^~~~~~~~~~~~~~~~~~
      |                                  use_custom_result_font
callbacks.cc:264:1: error: 'deque' does not name a type
  264 | deque<string> inhistory;
      | ^~~~~
callbacks.cc:265:1: error: 'deque' does not name a type
  265 | deque<bool> inhistory_protected;
      | ^~~~~
callbacks.cc:266:1: error: 'deque' does not name a type
  266 | deque<int> inhistory_type;
      | ^~~~~
callbacks.cc:267:1: error: 'deque' does not name a type
  267 | deque<int> inhistory_value;
      | ^~~~~
interface.cc:1117:6: error: 'custom_result_font' was not declared in this scope; did you mean 'use_custom_result_font'?
 1117 |   if(custom_result_font.empty()) {
      |      ^~~~~~~~~~~~~~~~~~
      |      use_custom_result_font
callbacks.cc:268:1: error: 'vector' does not name a type; did you mean 'Vector'?
  268 | vector<MathStructure*> history_parsed;
      | ^~~~~~
      | Vector
callbacks.cc:269:1: error: 'vector' does not name a type; did you mean 'Vector'?
  269 | vector<MathStructure*> history_answer;
      | ^~~~~~
      | Vector
callbacks.cc:271:1: error: 'deque' does not name a type
  271 | deque<string> expression_undo_buffer;
      | ^~~~~
callbacks.cc:280:1: error: 'unordered_map' does not name a type
  280 | unordered_map<void*, string> date_map;
      | ^~~~~~~~~~~~~
interface.cc:1125:34: error: 'custom_expression_font' was not declared in this scope; did you mean 'use_custom_expression_font'?
 1125 |   gchar *gstr = font_name_to_css(custom_expression_font.c_str());
      |                                  ^~~~~~~~~~~~~~~~~~~~~~
      |                                  use_custom_expression_font
callbacks.cc:281:1: error: 'unordered_map' does not name a type
  281 | unordered_map<void*, string> number_map;
      | ^~~~~~~~~~~~~
interface.cc:1129:6: error: 'custom_expression_font' was not declared in this scope; did you mean 'use_custom_expression_font'?
 1129 |   if(custom_expression_font.empty()) {
      |      ^~~~~~~~~~~~~~~~~~~~~~
      |      use_custom_expression_font
callbacks.cc:282:1: error: 'unordered_map' does not name a type
  282 | unordered_map<void*, string> number_base_map;
      | ^~~~~~~~~~~~~
interface.cc:1137:34: error: 'custom_status_font' was not declared in this scope; did you mean 'use_custom_status_font'?
 1137 |   gchar *gstr = font_name_to_css(custom_status_font.c_str());
      |                                  ^~~~~~~~~~~~~~~~~~
      |                                  use_custom_status_font
callbacks.cc:283:1: error: 'unordered_map' does not name a type
  283 | unordered_map<void*, bool> number_approx_map;
      | ^~~~~~~~~~~~~
callbacks.cc:284:1: error: 'unordered_map' does not name a type
  284 | unordered_map<void*, string> number_exp_map;
      | ^~~~~~~~~~~~~
interface.cc:1144:6: error: 'custom_status_font' was not declared in this scope; did you mean 'use_custom_status_font'?
 1144 |   if(custom_status_font.empty()) {
      |      ^~~~~~~~~~~~~~~~~~
      |      use_custom_status_font
callbacks.cc:285:1: error: 'unordered_map' does not name a type
  285 | unordered_map<void*, bool> number_exp_minus_map;
      | ^~~~~~~~~~~~~
interface.cc:1166:3: error: 'status_error_color' was not declared in this scope; did you mean 'status_error_color_set'?
 1166 |   status_error_color = ecs;
      |   ^~~~~~~~~~~~~~~~~~
      |   status_error_color_set
callbacks.cc:287:1: error: 'unordered_map' does not name a type
  287 | unordered_map<string, GdkPixbuf*> flag_images;
      | ^~~~~~~~~~~~~
callbacks.cc:292:1: error: 'unordered_map' does not name a type
  292 | unordered_map<string, GtkTreeIter> convert_category_map;
      | ^~~~~~~~~~~~~
interface.cc:1181:3: error: 'status_warning_color' was not declared in this scope; did you mean 'status_warning_color_set'?
 1181 |   status_warning_color = wcs;
      |   ^~~~~~~~~~~~~~~~~~~~
      |   status_warning_color_set
interface.cc:1242:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1242 |  string themestr;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:302:1: error: 'string' does not name a type; did you mean 'GString'?
  302 | string old_fromValue, old_toValue;
      | ^~~~~~
      | GString
callbacks.cc:308:1: error: 'string' does not name a type; did you mean 'GString'?
  308 | string last_found_version;
      | ^~~~~~
      | GString
interface.cc:1243:17: error: 'themestr' was not declared in this scope; did you mean 'theme'?
 1243 |  if(theme_name) themestr = theme_name;
      |                 ^~~~~~~~
      |                 theme
callbacks.cc:324:1: error: 'string' does not name a type; did you mean 'GString'?
  324 | string result_bin, result_oct, result_dec, result_hex;
      | ^~~~~~
      | GString
interface.cc:1245:5: error: 'themestr' was not declared in this scope; did you mean 'theme'?
 1245 |  if(themestr.substr(0, 7) == "Adwaita" || themestr.substr(0, 6) == "ooxmox" || themestr == "Breeze" || themestr == "Breeze-Dark" || themestr == "Yaru") {
      |     ^~~~~~~~
      |     theme
callbacks.cc:327:1: error: 'vector' does not name a type; did you mean 'Vector'?
  327 | vector<string> history_bookmarks;
      | ^~~~~~
      | Vector
callbacks.cc:376:1: error: 'AnswerFunction' does not name a type; did you mean 'UserFunction'?
  376 | AnswerFunction::AnswerFunction() : MathFunction(_("answer"), 1, 1, CALCULATOR->f_warning->category(), _("History Answer Value")) {
      | ^~~~~~~~~~~~~~
      | UserFunction
callbacks.cc:382:5: error: 'AnswerFunction' has not been declared
  382 | int AnswerFunction::calculate(MathStructure &mstruct, const MathStructure &vargs, const EvaluationOptions&) {
      |     ^~~~~~~~~~~~~~
interface.cc:1404:5: error: 'themestr' was not declared in this scope; did you mean 'theme'?
 1404 |  if(themestr.substr(0, 7) != "Adwaita" && themestr.substr(0, 6) != "ooxmox" && themestr != "Yaru") {
      |     ^~~~~~~~
      |     theme
interface.cc:1488:24: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
 1488 |  for(size_t i = 0; i < modes.size(); i++) {
      |                        ^~~~~
      |                        mode_t
callbacks.cc: In function 'int calculate(MathStructure&, const MathStructure&, const EvaluationOptions&)':
callbacks.cc:387:31: error: 'history_answer' was not declared in this scope; did you mean 'history_index'?
  387 |   if(index < 0) index = (int) history_answer.size() + 1 + index;
      |                               ^~~~~~~~~~~~~~
      |                               history_index
interface.cc:1495:3: error: 'mode_items' was not declared in this scope; did you mean 'set_mode_items'?
 1495 |   mode_items.push_back(item);
      |   ^~~~~~~~~~
      |   set_mode_items
callbacks.cc:388:34: error: 'history_answer' was not declared in this scope; did you mean 'history_index'?
  388 |   if(index <= 0 || index > (int) history_answer.size() || history_answer[(size_t) index - 1] == NULL) {
      |                                  ^~~~~~~~~~~~~~
      |                                  history_index
callbacks.cc: At global scope:
callbacks.cc:399:1: error: 'ExpressionFunction' does not name a type; did you mean 'DimensionFunction'?
  399 | ExpressionFunction::ExpressionFunction() : MathFunction(_("expression"), 1, 1, CALCULATOR->f_warning->category(), _("History Parsed Expression")) {
      | ^~~~~~~~~~~~~~~~~~
      | DimensionFunction
callbacks.cc:405:5: error: 'ExpressionFunction' has not been declared
  405 | int ExpressionFunction::calculate(MathStructure &mstruct, const MathStructure &vargs, const EvaluationOptions&) {
      |     ^~~~~~~~~~~~~~~~~~
callbacks.cc:405:5: error: redefinition of 'int calculate(MathStructure&, const MathStructure&, const EvaluationOptions&)'
callbacks.cc:382:5: note: 'int calculate(MathStructure&, const MathStructure&, const EvaluationOptions&)' previously defined here
  382 | int AnswerFunction::calculate(MathStructure &mstruct, const MathStructure &vargs, const EvaluationOptions&) {
      |     ^~~~~~~~~~~~~~
callbacks.cc: In function 'int calculate(MathStructure&, const MathStructure&, const EvaluationOptions&)':
callbacks.cc:410:31: error: 'history_parsed' was not declared in this scope
  410 |   if(index < 0) index = (int) history_parsed.size() + 1 + index;
      |                               ^~~~~~~~~~~~~~
callbacks.cc:411:34: error: 'history_parsed' was not declared in this scope
  411 |   if(index <= 0 || index > (int) history_parsed.size() || history_parsed[(size_t) index - 1] == NULL) {
      |                                  ^~~~~~~~~~~~~~
callbacks.cc: At global scope:
callbacks.cc:423:64: error: 'string' has not been declared
  423 | void executeCommand(int command_type, bool show_result = true, string ceu_str = "", Unit *u = NULL, int run = 1);
      |                                                                ^~~~~~
callbacks.cc:423:112: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
  423 | void executeCommand(int command_type, bool show_result = true, string ceu_str = "", Unit *u = NULL, int run = 1);
      |                                                                                                                ^
      |                                                                                                                |
      |                                                                                                                const char*
interface.cc:1502:3: error: 'popup_result_mode_items' was not declared in this scope
 1502 |   popup_result_mode_items.push_back(item);
      |   ^~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:427:1: error: 'string' does not name a type; did you mean 'GString'?
  427 | string print_with_evalops(const Number &nr) {
      | ^~~~~~
      | GString
callbacks.cc:467:6: error: variable or field 'add_line_breaks' declared void
  467 | void add_line_breaks(string &str, int expr = false, size_t first_i = 0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:467:22: error: 'string' was not declared in this scope; did you mean 'std::string'?
  467 | void add_line_breaks(string &str, int expr = false, size_t first_i = 0);
      |                      ^~~~~~
      |                      std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
interface.cc:1504:107: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
 1504 |  gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(main_builder, "menu_item_meta_mode_delete")), modes.size() > 2);
      |                                                                                                           ^~~~~
      |                                                                                                           mode_t
callbacks.cc:467:30: error: 'str' was not declared in this scope; did you mean 'std'?
  467 | void add_line_breaks(string &str, int expr = false, size_t first_i = 0);
      |                              ^~~
      |                              std
callbacks.cc:467:35: error: expected primary-expression before 'int'
  467 | void add_line_breaks(string &str, int expr = false, size_t first_i = 0);
      |                                   ^~~
callbacks.cc:467:60: error: expected primary-expression before 'first_i'
  467 | void add_line_breaks(string &str, int expr = false, size_t first_i = 0);
      |                                                            ^~~~~~~
callbacks.cc:469:29: error: 'string' does not name a type; did you mean 'GString'?
  469 | bool equalsIgnoreCase(const string &str1, const string &str2, size_t i2, size_t i2_end, size_t minlength) {
      |                             ^~~~~~
      |                             GString
callbacks.cc:469:49: error: 'string' does not name a type; did you mean 'GString'?
  469 | bool equalsIgnoreCase(const string &str1, const string &str2, size_t i2, size_t i2_end, size_t minlength) {
      |                                                 ^~~~~~
      |                                                 GString
callbacks.cc: In function 'bool equalsIgnoreCase(const int&, const int&, size_t, size_t, size_t)':
callbacks.cc:470:10: error: request for member 'empty' in 'str1', which is of non-class type 'const int'
  470 |  if(str1.empty() || str2.empty()) return false;
      |          ^~~~~
callbacks.cc:470:26: error: request for member 'empty' in 'str2', which is of non-class type 'const int'
  470 |  if(str1.empty() || str2.empty()) return false;
      |                          ^~~~~
callbacks.cc:472:15: error: 'string' has not been declared
  472 |  if(i2_end == string::npos) i2_end = str2.length();
      |               ^~~~~~
callbacks.cc:472:43: error: request for member 'length' in 'str2', which is of non-class type 'const int'
  472 |  if(i2_end == string::npos) i2_end = str2.length();
      |                                           ^~~~~~
callbacks.cc:475:22: error: request for member 'length' in 'str1', which is of non-class type 'const int'
  475 |    return i1 >= str1.length();
      |                      ^~~~~~
callbacks.cc:477:17: error: request for member 'length' in 'str1', which is of non-class type 'const int'
  477 |   if(i1 >= str1.length()) break;
      |                 ^~~~~~
callbacks.cc:478:11: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  478 |   if((str1[i1] < 0 && i1 + 1 < str1.length()) || (str2[i2] < 0 && i2 + 1 < str2.length())) {
      |           ^
callbacks.cc:478:37: error: request for member 'length' in 'str1', which is of non-class type 'const int'
  478 |   if((str1[i1] < 0 && i1 + 1 < str1.length()) || (str2[i2] < 0 && i2 + 1 < str2.length())) {
      |                                     ^~~~~~
callbacks.cc:478:55: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  478 |   if((str1[i1] < 0 && i1 + 1 < str1.length()) || (str2[i2] < 0 && i2 + 1 < str2.length())) {
      |                                                       ^
callbacks.cc:478:81: error: request for member 'length' in 'str2', which is of non-class type 'const int'
  478 |   if((str1[i1] < 0 && i1 + 1 < str1.length()) || (str2[i2] < 0 && i2 + 1 < str2.length())) {
      |                                                                                 ^~~~~~
callbacks.cc:480:11: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  480 |    if(str1[i1] < 0) {
      |           ^
callbacks.cc:481:27: error: request for member 'length' in 'str1', which is of non-class type 'const int'
  481 |     while(iu1 + i1 < str1.length() && str1[i1 + iu1] < 0) {
      |                           ^~~~~~
callbacks.cc:481:43: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  481 |     while(iu1 + i1 < str1.length() && str1[i1 + iu1] < 0) {
      |                                           ^
callbacks.cc:485:11: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  485 |    if(str2[i2] < 0) {
      |           ^
callbacks.cc:486:27: error: request for member 'length' in 'str2', which is of non-class type 'const int'
  486 |     while(iu2 + i2 < str2.length() && str2[i2 + iu2] < 0) {
      |                           ^~~~~~
callbacks.cc:486:43: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  486 |     while(iu2 + i2 < str2.length() && str2[i2 + iu2] < 0) {
      |                                           ^
callbacks.cc:493:13: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  493 |      if(str1[i1 + i] != str2[i2 + i]) {
      |             ^
callbacks.cc:493:29: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  493 |      if(str1[i1 + i] != str2[i2 + i]) {
      |                             ^
callbacks.cc:500:37: error: request for member 'c_str' in 'str1', which is of non-class type 'const int'
  500 |     char *gstr1 = utf8_strdown(str1.c_str() + (sizeof(char) * i1), iu1);
      |                                     ^~~~~
callbacks.cc:501:37: error: request for member 'c_str' in 'str2', which is of non-class type 'const int'
  501 |     char *gstr2 = utf8_strdown(str2.c_str() + (sizeof(char) * i2), iu2);
      |                                     ^~~~~
callbacks.cc:510:17: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  510 |   } else if(str1[i1] != str2[i2] && !((str1[i1] >= 'a' && str1[i1] <= 'z') && str1[i1] - 32 == str2[i2]) && !((str1[i1] <= 'Z' && str1[i1] >= 'A') && str1[i1] + 32 == str2[i2])) {
      |                 ^
callbacks.cc:510:29: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  510 |   } else if(str1[i1] != str2[i2] && !((str1[i1] >= 'a' && str1[i1] <= 'z') && str1[i1] - 32 == str2[i2]) && !((str1[i1] <= 'Z' && str1[i1] >= 'A') && str1[i1] + 32 == str2[i2])) {
      |                             ^
callbacks.cc:510:44: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  510 |   } else if(str1[i1] != str2[i2] && !((str1[i1] >= 'a' && str1[i1] <= 'z') && str1[i1] - 32 == str2[i2]) && !((str1[i1] <= 'Z' && str1[i1] >= 'A') && str1[i1] + 32 == str2[i2])) {
      |                                            ^
callbacks.cc:510:63: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  510 |   } else if(str1[i1] != str2[i2] && !((str1[i1] >= 'a' && str1[i1] <= 'z') && str1[i1] - 32 == str2[i2]) && !((str1[i1] <= 'Z' && str1[i1] >= 'A') && str1[i1] + 32 == str2[i2])) {
      |                                                               ^
callbacks.cc:510:83: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  510 |   } else if(str1[i1] != str2[i2] && !((str1[i1] >= 'a' && str1[i1] <= 'z') && str1[i1] - 32 == str2[i2]) && !((str1[i1] <= 'Z' && str1[i1] >= 'A') && str1[i1] + 32 == str2[i2])) {
      |                                                                                   ^
callbacks.cc:510:100: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  510 |   } else if(str1[i1] != str2[i2] && !((str1[i1] >= 'a' && str1[i1] <= 'z') && str1[i1] - 32 == str2[i2]) && !((str1[i1] <= 'Z' && str1[i1] >= 'A') && str1[i1] + 32 == str2[i2])) {
      |                                                                                                    ^
callbacks.cc:510:116: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  510 |   } else if(str1[i1] != str2[i2] && !((str1[i1] >= 'a' && str1[i1] <= 'z') && str1[i1] - 32 == str2[i2]) && !((str1[i1] <= 'Z' && str1[i1] >= 'A') && str1[i1] + 32 == str2[i2])) {
      |                                                                                                                    ^
callbacks.cc:510:135: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  510 |   } else if(str1[i1] != str2[i2] && !((str1[i1] >= 'a' && str1[i1] <= 'z') && str1[i1] - 32 == str2[i2]) && !((str1[i1] <= 'Z' && str1[i1] >= 'A') && str1[i1] + 32 == str2[i2])) {
      |                                                                                                                                       ^
callbacks.cc:510:155: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  510 |   } else if(str1[i1] != str2[i2] && !((str1[i1] >= 'a' && str1[i1] <= 'z') && str1[i1] - 32 == str2[i2]) && !((str1[i1] <= 'Z' && str1[i1] >= 'A') && str1[i1] + 32 == str2[i2])) {
      |                                                                                                                                                           ^
callbacks.cc:510:172: error: invalid types 'const int[size_t {aka long unsigned int}]' for array subscript
  510 |   } else if(str1[i1] != str2[i2] && !((str1[i1] >= 'a' && str1[i1] <= 'z') && str1[i1] - 32 == str2[i2]) && !((str1[i1] <= 'Z' && str1[i1] >= 'A') && str1[i1] + 32 == str2[i2])) {
      |                                                                                                                                                                            ^
callbacks.cc: At global scope:
callbacks.cc:518:48: error: 'string' does not name a type; did you mean 'GString'?
  518 | bool title_matches(ExpressionItem *item, const string &str, size_t minlength = 0) {
      |                                                ^~~~~~
      |                                                GString
callbacks.cc: In function 'bool title_matches(ExpressionItem*, const int&, size_t)':
callbacks.cc:519:8: error: 'string' does not name a type; did you mean 'GString'?
  519 |  const string &title = item->title(true);
      |        ^~~~~~
      |        GString
interface.cc: In function 'GtkWidget* get_preferences_dialog()':
interface.cc:1868:126: error: 'custom_result_font' was not declared in this scope; did you mean 'use_custom_result_font'?
 1868 |   gtk_font_chooser_set_font(GTK_FONT_CHOOSER(gtk_builder_get_object(preferences_builder, "preferences_button_result_font")), custom_result_font.c_str());
      |                                                                                                                              ^~~~~~~~~~~~~~~~~~
      |                                                                                                                              use_custom_result_font
callbacks.cc:523:12: error: 'title' was not declared in this scope
  523 |    if(i >= title.length()) return false;
      |            ^~~~~
callbacks.cc:524:7: error: 'title' was not declared in this scope
  524 |    if(title[i] != ' ') break;
      |       ^~~~~
callbacks.cc:527:15: error: 'title' was not declared in this scope
  527 |   size_t i2 = title.find(' ', i);
      |               ^~~~~
callbacks.cc:531:12: error: 'string' has not been declared
  531 |   if(i2 == string::npos) break;
      |            ^~~~~~
callbacks.cc: At global scope:
callbacks.cc:536:47: error: 'string' does not name a type; did you mean 'GString'?
  536 | bool name_matches(ExpressionItem *item, const string &str) {
      |                                               ^~~~~~
      |                                               GString
callbacks.cc: In function 'bool name_matches(ExpressionItem*, const int&)':
callbacks.cc:539:51: error: request for member 'length' in 'str', which is of non-class type 'const int'
  539 |    if(str == item->getName(i2).name.substr(0, str.length())) {
      |                                                   ^~~~~~
callbacks.cc:543:60: error: request for member 'length' in 'str', which is of non-class type 'const int'
  543 |    if(equalsIgnoreCase(str, item->getName(i2).name, 0, str.length(), 0)) {
      |                                                            ^~~~~~
callbacks.cc: At global scope:
callbacks.cc:550:37: error: 'string' does not name a type; did you mean 'GString'?
  550 | bool country_matches(Unit *u, const string &str, size_t minlength = 0) {
      |                                     ^~~~~~
      |                                     GString
callbacks.cc: In function 'bool country_matches(Unit*, const int&, size_t)':
callbacks.cc:551:8: error: 'string' does not name a type; did you mean 'GString'?
  551 |  const string &countries = u->countries();
      |        ^~~~~~
      |        GString
interface.cc:1870:130: error: 'custom_expression_font' was not declared in this scope; did you mean 'use_custom_expression_font'?
 1870 |   gtk_font_chooser_set_font(GTK_FONT_CHOOSER(gtk_builder_get_object(preferences_builder, "preferences_button_expression_font")), custom_expression_font.c_str());
      |                                                                                                                                  ^~~~~~~~~~~~~~~~~~~~~~
      |                                                                                                                                  use_custom_expression_font
callbacks.cc:555:12: error: 'countries' was not declared in this scope
  555 |    if(i >= countries.length()) return false;
      |            ^~~~~~~~~
callbacks.cc:556:7: error: 'countries' was not declared in this scope
  556 |    if(countries[i] != ' ') break;
      |       ^~~~~~~~~
interface.cc:1872:126: error: 'custom_status_font' was not declared in this scope; did you mean 'use_custom_status_font'?
 1872 |   gtk_font_chooser_set_font(GTK_FONT_CHOOSER(gtk_builder_get_object(preferences_builder, "preferences_button_status_font")), custom_status_font.c_str());
      |                                                                                                                              ^~~~~~~~~~~~~~~~~~
      |                                                                                                                              use_custom_status_font
callbacks.cc:559:15: error: 'countries' was not declared in this scope
  559 |   size_t i2 = countries.find(',', i);
      |               ^~~~~~~~~
callbacks.cc:563:12: error: 'string' has not been declared
  563 |   if(i2 == string::npos) break;
      |            ^~~~~~
callbacks.cc: At global scope:
callbacks.cc:568:29: error: 'string' was not declared in this scope; did you mean 'std::string'?
  568 | bool completion_names_match(string name, const string &str, size_t minlength = 0) {
      |                             ^~~~~~
      |                             std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:568:42: error: expected primary-expression before 'const'
  568 | bool completion_names_match(string name, const string &str, size_t minlength = 0) {
      |                                          ^~~~~
callbacks.cc:568:68: error: expected primary-expression before 'minlength'
  568 | bool completion_names_match(string name, const string &str, size_t minlength = 0) {
      |                                                                    ^~~~~~~~~
callbacks.cc:568:81: error: expression list treated as compound expression in initializer [-fpermissive]
  568 | bool completion_names_match(string name, const string &str, size_t minlength = 0) {
      |                                                                                 ^
callbacks.cc:587:6: error: variable or field 'remove_separator' declared void
  587 | void remove_separator(string &copy_text) {
      |      ^~~~~~~~~~~~~~~~
callbacks.cc:587:23: error: 'string' was not declared in this scope; did you mean 'std::string'?
  587 | void remove_separator(string &copy_text) {
      |                       ^~~~~~
      |                       std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:587:31: error: 'copy_text' was not declared in this scope
  587 | void remove_separator(string &copy_text) {
      |                               ^~~~~~~~~
callbacks.cc: In function 'void show_help(const char*, GObject*)':
callbacks.cc:606:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
  606 |  string surl;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:634:2: error: 'surl' was not declared in this scope
  634 |  surl = "file://" PACKAGE_DOC_DIR "/html/";
      |  ^~~~
interface.cc:1874:22: error: 'status_error_color' was not declared in this scope; did you mean 'status_error_color_set'?
 1874 |   gdk_rgba_parse(&c, status_error_color.c_str());
      |                      ^~~~~~~~~~~~~~~~~~
      |                      status_error_color_set
callbacks.cc: At global scope:
callbacks.cc:652:6: error: variable or field 'fix_history_string2' declared void
  652 | void fix_history_string2(string &str) {
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:652:26: error: 'string' was not declared in this scope; did you mean 'std::string'?
  652 | void fix_history_string2(string &str) {
      |                          ^~~~~~
      |                          std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
interface.cc:1876:22: error: 'status_warning_color' was not declared in this scope; did you mean 'status_warning_color_set'?
 1876 |   gdk_rgba_parse(&c, status_warning_color.c_str());
      |                      ^~~~~~~~~~~~~~~~~~~~
      |                      status_warning_color_set
interface.cc: At global scope:
interface.cc:2397:8: error: 'string' does not name a type; did you mean 'GString'?
 2397 | extern string prev_output_base, prev_input_base;
      |        ^~~~~~
      |        GString
interface.cc: In function 'GtkWidget* get_set_base_dialog()':
interface.cc:2563:2: error: 'prev_output_base' was not declared in this scope
 2563 |  prev_output_base = ""; prev_input_base = "";
      |  ^~~~~~~~~~~~~~~~
callbacks.cc:652:34: error: 'str' was not declared in this scope; did you mean 'std'?
  652 | void fix_history_string2(string &str) {
      |                                  ^~~
      |                                  std
callbacks.cc:657:1: error: 'string' does not name a type; did you mean 'GString'?
  657 | string fix_history_string(const string &str2) {
      | ^~~~~~
      | GString
callbacks.cc:664:6: error: variable or field 'unfix_history_string' declared void
  664 | void unfix_history_string(string &str) {
      |      ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:664:27: error: 'string' was not declared in this scope; did you mean 'std::string'?
  664 | void unfix_history_string(string &str) {
      |                           ^~~~~~
      |                           std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:664:35: error: 'str' was not declared in this scope; did you mean 'std'?
  664 | void unfix_history_string(string &str) {
      |                                   ^~~
      |                                   std
callbacks.cc:669:6: error: variable or field 'replace_result_cis' declared void
  669 | void replace_result_cis(string &resstr) {
      |      ^~~~~~~~~~~~~~~~~~
interface.cc:2563:25: error: 'prev_input_base' was not declared in this scope
 2563 |  prev_output_base = ""; prev_input_base = "";
      |                         ^~~~~~~~~~~~~~~
interface.cc: In function 'GtkWidget* get_nbases_dialog()':
interface.cc:2594:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
 2594 |   string themestr;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:669:25: error: 'string' was not declared in this scope; did you mean 'std::string'?
  669 | void replace_result_cis(string &resstr) {
      |                         ^~~~~~
      |                         std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
interface.cc:2596:4: error: 'themestr' was not declared in this scope
 2596 |    themestr = theme_name;
      |    ^~~~~~~~
callbacks.cc:669:33: error: 'resstr' was not declared in this scope; did you mean 'eqstr'?
  669 | void replace_result_cis(string &resstr) {
      |                                 ^~~~~~
      |                                 eqstr
callbacks.cc:672:6: error: variable or field 'improve_result_text' declared void
  672 | void improve_result_text(string &resstr) {
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:672:26: error: 'string' was not declared in this scope; did you mean 'std::string'?
  672 | void improve_result_text(string &resstr) {
      |                          ^~~~~~
      |                          std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
interface.cc:2600:6: error: 'themestr' was not declared in this scope
 2600 |   if(themestr.substr(0, 7) == "Adwaita" || themestr.substr(0, 6) == "ooxmox" || themestr == "Breeze" || themestr == "Breeze-Dark" || themestr == "Yaru") {
      |      ^~~~~~~~
callbacks.cc:672:34: error: 'resstr' was not declared in this scope; did you mean 'eqstr'?
  672 | void improve_result_text(string &resstr) {
      |                                  ^~~~~~
      |                                  eqstr
callbacks.cc:753:1: error: 'string' does not name a type; did you mean 'GString'?
  753 | string get_expression_text() {
      | ^~~~~~
      | GString
callbacks.cc:762:1: error: 'string' does not name a type; did you mean 'GString'?
  762 | string get_selected_expression_text(bool return_all_if_no_sel = false) {
      | ^~~~~~
      | GString
interface.cc:2652:3: error: 'nbases_error_color' was not declared in this scope
 2652 |   nbases_error_color = ecs;
      |   ^~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void add_expression_to_undo()':
callbacks.cc:779:5: error: 'expression_undo_buffer' was not declared in this scope; did you mean 'expressionbuffer'?
  779 |  if(expression_undo_buffer.size() > 100) expression_undo_buffer.pop_front();
      |     ^~~~~~~~~~~~~~~~~~~~~~
      |     expressionbuffer
interface.cc:2665:3: error: 'nbases_warning_color' was not declared in this scope; did you mean 'history_warning_color'?
 2665 |   nbases_warning_color = wcs;
      |   ^~~~~~~~~~~~~~~~~~~~
      |   history_warning_color
callbacks.cc:781:21: error: 'expression_undo_buffer' was not declared in this scope; did you mean 'expressionbuffer'?
  781 |  while(undo_index < expression_undo_buffer.size()) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~
      |                     expressionbuffer
interface.cc: At global scope:
interface.cc:2705:1: error: 'unordered_map' does not name a type
 2705 | unordered_map<size_t, GtkWidget*> cal_year, cal_month, cal_day, cal_label;
      | ^~~~~~~~~~~~~
interface.cc: In function 'GtkWidget* get_calendarconversion_dialog()':
interface.cc:2751:3: error: 'cal_year' was not declared in this scope
 2751 |   cal_year[CALENDAR_GREGORIAN] = GTK_WIDGET(gtk_builder_get_object(calendarconversion_builder, "year_1"));
      |   ^~~~~~~~
interface.cc:2752:3: error: 'cal_month' was not declared in this scope
 2752 |   cal_month[CALENDAR_GREGORIAN] = GTK_WIDGET(gtk_builder_get_object(calendarconversion_builder, "month_1"));
      |   ^~~~~~~~~
interface.cc:2753:3: error: 'cal_day' was not declared in this scope
 2753 |   cal_day[CALENDAR_GREGORIAN] = GTK_WIDGET(gtk_builder_get_object(calendarconversion_builder, "day_1"));
      |   ^~~~~~~
interface.cc:2754:3: error: 'cal_label' was not declared in this scope
 2754 |   cal_label[CALENDAR_GREGORIAN] = GTK_WIDGET(gtk_builder_get_object(calendarconversion_builder, "label_1"));
      |   ^~~~~~~~~
callbacks.cc:784:2: error: 'expression_undo_buffer' was not declared in this scope; did you mean 'expressionbuffer'?
  784 |  expression_undo_buffer.push_back(get_expression_text());
      |  ^~~~~~~~~~~~~~~~~~~~~~
      |  expressionbuffer
interface.cc: In function 'GtkWidget* get_periodic_dialog()':
interface.cc:2954:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
 2954 |   string tip;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/string:39,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from interface.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
interface.cc:2965:9: error: expected ';' before 'weight'
 2965 |   string weight;
      |         ^~~~~~~
      |         ;
interface.cc:2985:5: error: 'tip' was not declared in this scope
 2985 |     tip = e->getProperty(p_number);
      |     ^~~
interface.cc:2988:5: error: 'weight' was not declared in this scope; did you mean 'p_weight'?
 2988 |     weight = e->getPropertyDisplayString(p_weight);
      |     ^~~~~~
      |     p_weight
callbacks.cc:784:35: error: 'get_expression_text' was not declared in this scope; did you mean 'expressiontext'?
  784 |  expression_undo_buffer.push_back(get_expression_text());
      |                                   ^~~~~~~~~~~~~~~~~~~
      |                                   expressiontext
callbacks.cc: At global scope:
callbacks.cc:820:1: error: 'string' does not name a type; did you mean 'GString'?
  820 | string sdot, saltdot, sdiv, sslash, stimes, sminus;
      | ^~~~~~
      | GString
callbacks.cc:821:1: error: 'string' does not name a type; did you mean 'GString'?
  821 | string sdot_s, saltdot_s, sdiv_s, sslash_s, stimes_s, sminus_s;
      | ^~~~~~
      | GString
callbacks.cc: In function 'void set_operator_symbols()':
callbacks.cc:824:84: error: 'sminus' was not declared in this scope
  824 |  if(can_display_unicode_string_function_exact(SIGN_MINUS, (void*) expressiontext)) sminus = SIGN_MINUS;
      |                                                                                    ^~~~~~
callbacks.cc:825:7: error: 'sminus' was not declared in this scope
  825 |  else sminus = "-";
      |       ^~~~~~
callbacks.cc:826:81: error: 'sdiv' was not declared in this scope; did you mean 'qdiv'?
  826 |  if(can_display_unicode_string_function(SIGN_DIVISION, (void*) expressiontext)) sdiv = SIGN_DIVISION;
      |                                                                                 ^~~~
      |                                                                                 qdiv
callbacks.cc:827:7: error: 'sdiv' was not declared in this scope; did you mean 'qdiv'?
  827 |  else sdiv = "/";
      |       ^~~~
      |       qdiv
callbacks.cc:828:2: error: 'sslash' was not declared in this scope
  828 |  sslash = "/";
      |  ^~~~~~
callbacks.cc:829:81: error: 'sdot' was not declared in this scope
  829 |  if(can_display_unicode_string_function(SIGN_MULTIDOT, (void*) expressiontext)) sdot = SIGN_MULTIDOT;
      |                                                                                 ^~~~
callbacks.cc:830:7: error: 'sdot' was not declared in this scope
  830 |  else sdot = "*";
      |       ^~~~
callbacks.cc:831:82: error: 'saltdot' was not declared in this scope
  831 |  if(can_display_unicode_string_function(SIGN_MIDDLEDOT, (void*) expressiontext)) saltdot = SIGN_MIDDLEDOT;
      |                                                                                  ^~~~~~~
callbacks.cc:832:7: error: 'saltdot' was not declared in this scope
  832 |  else saltdot = "*";
      |       ^~~~~~~
callbacks.cc:833:87: error: 'stimes' was not declared in this scope; did you mean 'utimes'?
  833 |  if(can_display_unicode_string_function(SIGN_MULTIPLICATION, (void*) expressiontext)) stimes = SIGN_MULTIPLICATION;
      |                                                                                       ^~~~~~
      |                                                                                       utimes
callbacks.cc:834:7: error: 'stimes' was not declared in this scope; did you mean 'utimes'?
  834 |  else stimes = "*";
      |       ^~~~~~
      |       utimes
gmake[2]: *** [Makefile:515: interface.o] Error 1
callbacks.cc:836:83: error: 'sminus_s' was not declared in this scope; did you mean 'nr_minus_i'?
  836 |  if(can_display_unicode_string_function_exact(SIGN_MINUS, (void*) statuslabel_l)) sminus_s = SIGN_MINUS;
      |                                                                                   ^~~~~~~~
      |                                                                                   nr_minus_i
callbacks.cc:837:7: error: 'sminus_s' was not declared in this scope; did you mean 'nr_minus_i'?
  837 |  else sminus_s = "-";
      |       ^~~~~~~~
      |       nr_minus_i
callbacks.cc:838:80: error: 'sdiv_s' was not declared in this scope; did you mean 'qdiv_t'?
  838 |  if(can_display_unicode_string_function(SIGN_DIVISION, (void*) statuslabel_l)) sdiv_s = SIGN_DIVISION;
      |                                                                                ^~~~~~
      |                                                                                qdiv_t
callbacks.cc:839:7: error: 'sdiv_s' was not declared in this scope; did you mean 'qdiv_t'?
  839 |  else sdiv_s = "/";
      |       ^~~~~~
      |       qdiv_t
callbacks.cc:840:86: error: 'sslash_s' was not declared in this scope
  840 |  if(can_display_unicode_string_function_exact(SIGN_DIVISION, (void*) statuslabel_l)) sslash_s = SIGN_DIVISION_SLASH;
      |                                                                                      ^~~~~~~~
callbacks.cc:841:7: error: 'sslash_s' was not declared in this scope
  841 |  else sslash_s = "/";
      |       ^~~~~~~~
callbacks.cc:842:80: error: 'sdot_s' was not declared in this scope
  842 |  if(can_display_unicode_string_function(SIGN_MULTIDOT, (void*) statuslabel_l)) sdot_s = SIGN_MULTIDOT;
      |                                                                                ^~~~~~
callbacks.cc:843:7: error: 'sdot_s' was not declared in this scope
  843 |  else sdot_s = "*";
      |       ^~~~~~
callbacks.cc:844:81: error: 'saltdot_s' was not declared in this scope
  844 |  if(can_display_unicode_string_function(SIGN_MIDDLEDOT, (void*) statuslabel_l)) saltdot_s = SIGN_MIDDLEDOT;
      |                                                                                 ^~~~~~~~~
callbacks.cc:845:7: error: 'saltdot_s' was not declared in this scope
  845 |  else saltdot_s = "*";
      |       ^~~~~~~~~
callbacks.cc:846:86: error: 'stimes_s' was not declared in this scope
  846 |  if(can_display_unicode_string_function(SIGN_MULTIPLICATION, (void*) statuslabel_l)) stimes_s = SIGN_MULTIPLICATION;
      |                                                                                      ^~~~~~~~
callbacks.cc:847:7: error: 'stimes_s' was not declared in this scope
  847 |  else stimes_s = "*";
      |       ^~~~~~~~
callbacks.cc: In function 'const char* expression_sub_sign()':
callbacks.cc:855:9: error: 'sminus' was not declared in this scope
  855 |  return sminus.c_str();
      |         ^~~~~~
callbacks.cc: In function 'const char* expression_times_sign()':
callbacks.cc:858:99: error: 'sdot' was not declared in this scope
  858 |  if(printops.use_unicode_signs && printops.multiplication_sign == MULTIPLICATION_SIGN_DOT) return sdot.c_str();
      |                                                                                                   ^~~~
callbacks.cc:859:107: error: 'saltdot' was not declared in this scope
  859 |  else if(printops.use_unicode_signs && printops.multiplication_sign == MULTIPLICATION_SIGN_ALTDOT) return saltdot.c_str();
      |                                                                                                           ^~~~~~~
callbacks.cc:860:102: error: 'stimes' was not declared in this scope; did you mean 'utimes'?
  860 |  else if(printops.use_unicode_signs && printops.multiplication_sign == MULTIPLICATION_SIGN_X) return stimes.c_str();
      |                                                                                                      ^~~~~~
      |                                                                                                      utimes
callbacks.cc: In function 'const char* expression_divide_sign()':
callbacks.cc:865:62: error: 'sdiv' was not declared in this scope; did you mean 'qdiv'?
  865 |  if(printops.division_sign == DIVISION_SIGN_DIVISION) return sdiv.c_str();
      |                                                              ^~~~
      |                                                              qdiv
callbacks.cc:866:9: error: 'sslash' was not declared in this scope
  866 |  return sslash.c_str();
      |         ^~~~~~
callbacks.cc: In function 'PangoCoverageLevel get_least_coverage(const gchar*, GtkWidget*)':
callbacks.cc:938:35: warning: 'void pango_coverage_unref(PangoCoverage*)' is deprecated: Use 'g_object_unref' instead [-Wdeprecated-declarations]
  938 |      pango_coverage_unref(coverage);
      |                                   ^
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/pango-1.0/pango/pango-font.h:25,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/pango-1.0/pango/pango-attributes.h:25,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/pango-1.0/pango/pango.h:25,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdktypes.h:35,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/pango-1.0/pango/pango-coverage.h:82:20: note: declared here
   82 | void               pango_coverage_unref   (PangoCoverage      *coverage);
      |                    ^~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void set_unicode_buttons()':
callbacks.cc:1060:93: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1060 |  gtk_label_set_markup(GTK_LABEL(gtk_builder_get_object(main_builder, "label_history_xy")), (string("x") + SUP_STRING("y")).c_str());
      |                                                                                             ^~~~~~
      |                                                                                             std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc: At global scope:
callbacks.cc:1116:6: error: redefinition of 'bool string_is_less'
 1116 | bool string_is_less(string str1, string str2) {
      |      ^~~~~~~~~~~~~~
In file included from callbacks.cc:28:
callbacks.h:81:6: note: 'bool string_is_less' previously defined here
   81 | bool string_is_less(string str1, string str2);
      |      ^~~~~~~~~~~~~~
callbacks.cc:1116:21: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1116 | bool string_is_less(string str1, string str2) {
      |                     ^~~~~~
      |                     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1116:34: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1116 | bool string_is_less(string str1, string str2) {
      |                                  ^~~~~~
      |                                  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1129:2: error: 'string' does not name a type; did you mean 'GString'?
 1129 |  string item;
      |  ^~~~~~
      |  GString
callbacks.cc:1130:2: error: 'list' does not name a type
 1130 |  list<tree_struct> items;
      |  ^~~~
callbacks.cc:1131:2: error: 'list' does not name a type
 1131 |  list<tree_struct>::iterator it;
      |  ^~~~
callbacks.cc:1132:2: error: 'list' does not name a type
 1132 |  list<tree_struct>::reverse_iterator rit;
      |  ^~~~
callbacks.cc:1133:2: error: 'vector' does not name a type; did you mean 'Vector'?
 1133 |  vector<void*> objects;
      |  ^~~~~~
      |  Vector
callbacks.cc: In member function 'void tree_struct::sort()':
callbacks.cc:1136:3: error: 'items' was not declared in this scope
 1136 |   items.sort();
      |   ^~~~~
callbacks.cc:1137:7: error: 'list' was not declared in this scope; did you mean 'std::__cxx11::list'?
 1137 |   for(list<tree_struct>::iterator it = items.begin(); it != items.end(); ++it) {
      |       ^~~~
      |       std::__cxx11::list
In file included from /usr/include/g++/list:63,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:20,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_list.h:556:11: note: 'std::__cxx11::list' declared here
  556 |     class list : protected _List_base<_Tp, _Alloc>
      |           ^~~~
callbacks.cc:1137:23: error: expected primary-expression before '>' token
 1137 |   for(list<tree_struct>::iterator it = items.begin(); it != items.end(); ++it) {
      |                       ^
callbacks.cc:1137:26: error: '::iterator' has not been declared; did you mean 'std::iterator'?
 1137 |   for(list<tree_struct>::iterator it = items.begin(); it != items.end(); ++it) {
      |                          ^~~~~~~~
      |                          std::iterator
In file included from /usr/include/g++/bits/stl_algobase.h:65,
                 from /usr/include/g++/bits/char_traits.h:39,
                 from /usr/include/g++/ios:40,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stl_iterator_base_types.h:127:12: note: 'std::iterator' declared here
  127 |     struct iterator
      |            ^~~~~~~~
callbacks.cc:1137:55: error: 'it' was not declared in this scope; did you mean 'int'?
 1137 |   for(list<tree_struct>::iterator it = items.begin(); it != items.end(); ++it) {
      |                                                       ^~
      |                                                       int
callbacks.cc: In member function 'bool tree_struct::operator<(const tree_struct&) const':
callbacks.cc:1142:25: error: 'item' was not declared in this scope
 1142 |   return string_is_less(item, s1.item);
      |                         ^~~~
callbacks.cc:1142:34: error: 'const struct tree_struct' has no member named 'item'
 1142 |   return string_is_less(item, s1.item);
      |                                  ^~~~
callbacks.cc:1142:38: error: 'string_is_less' cannot be used as a function
 1142 |   return string_is_less(item, s1.item);
      |                                      ^
callbacks.cc: At global scope:
callbacks.cc:1147:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1147 | vector<void*> ia_units, ia_variables, ia_functions;
      | ^~~~~~
      | Vector
callbacks.cc:1148:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1148 | vector<string> recent_functions_pre;
      | ^~~~~~
      | Vector
callbacks.cc:1149:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1149 | vector<string> recent_variables_pre;
      | ^~~~~~
      | Vector
callbacks.cc:1150:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1150 | vector<string> recent_units_pre;
      | ^~~~~~
      | Vector
callbacks.cc:1151:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1151 | vector<GtkWidget*> recent_function_items;
      | ^~~~~~
      | Vector
callbacks.cc:1152:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1152 | vector<GtkWidget*> recent_variable_items;
      | ^~~~~~
      | Vector
callbacks.cc:1153:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1153 | vector<GtkWidget*> recent_unit_items;
      | ^~~~~~
      | Vector
callbacks.cc:1154:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1154 | vector<MathFunction*> recent_functions;
      | ^~~~~~
      | Vector
callbacks.cc:1155:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1155 | vector<Variable*> recent_variables;
      | ^~~~~~
      | Vector
callbacks.cc:1156:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1156 | vector<Unit*> recent_units;
      | ^~~~~~
      | Vector
callbacks.cc:1158:1: error: 'string' does not name a type; did you mean 'GString'?
 1158 | string latest_button_unit_pre, latest_button_currency_pre;
      | ^~~~~~
      | GString
callbacks.cc:1208:6: error: variable or field 'set_status_text' declared void
 1208 | void set_status_text(string text, bool break_begin = false, bool had_errors = false, bool had_warnings = false) {
      |      ^~~~~~~~~~~~~~~
callbacks.cc:1208:22: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1208 | void set_status_text(string text, bool break_begin = false, bool had_errors = false, bool had_warnings = false) {
      |                      ^~~~~~
      |                      std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1208:35: error: expected primary-expression before 'bool'
 1208 | void set_status_text(string text, bool break_begin = false, bool had_errors = false, bool had_warnings = false) {
      |                                   ^~~~
callbacks.cc:1208:61: error: expected primary-expression before 'bool'
 1208 | void set_status_text(string text, bool break_begin = false, bool had_errors = false, bool had_warnings = false) {
      |                                                             ^~~~
callbacks.cc:1208:86: error: expected primary-expression before 'bool'
 1208 | void set_status_text(string text, bool break_begin = false, bool had_errors = false, bool had_warnings = false) {
      |                                                                                      ^~~~
callbacks.cc: In function 'void update_status_text()':
callbacks.cc:1235:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1235 |  string str = "<span size=\"small\">";
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1240:3: error: 'str' was not declared in this scope; did you mean 'std'?
 1240 |   str += _("EXACT");
      |   ^~~
      |   std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1243:3: error: 'str' was not declared in this scope; did you mean 'std'?
 1243 |   str += _("APPROX");
      |   ^~~
      |   std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1247:3: error: 'str' was not declared in this scope; did you mean 'std'?
 1247 |   str += _("RPN");
      |   ^~~
      |   std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1255:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1255 |    str += _("BIN");
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1260:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1260 |    str += _("OCT");
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1265:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1265 |    str += _("DUO");
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1270:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1270 |    str += _("HEX");
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1275:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1275 |    str += _("ROMAN");
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1280:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1280 |    str += "B26";
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1285:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1285 |    str += CALCULATOR->customInputBase().print(CALCULATOR->messagePrintOptions());
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1290:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1290 |    str += "φ";
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1295:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1295 |    str += "ψ";
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1300:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1300 |    str += "Ï€";
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1305:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1305 |    str += "e";
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1310:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1310 |    str += "√2";
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1315:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1315 |    str += "UNICODE";
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1320:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1320 |    str += i2s(evalops.parse_options.base);
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1327:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1327 |    str += _("DEG");
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1332:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1332 |    str += _("RAD");
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1337:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1337 |    str += _("GRA");
      |    ^~~
      |    std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1344:3: error: 'str' was not declared in this scope; did you mean 'std'?
 1344 |   str += _("PREC");
      |   ^~~
      |   std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1348:3: error: 'str' was not declared in this scope; did you mean 'std'?
 1348 |   str += "<s>";
      |   ^~~
      |   std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1354:3: error: 'str' was not declared in this scope; did you mean 'std'?
 1354 |   str += "<s>";
      |   ^~~
      |   std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1360:3: error: 'str' was not declared in this scope; did you mean 'std'?
 1360 |   str += "<s>";
      |   ^~~
      |   std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1366:3: error: 'str' was not declared in this scope; did you mean 'std'?
 1366 |   str += "<s>";
      |   ^~~
      |   std
callbacks.cc:1206:28: error: 'str' was not declared in this scope; did you mean 'std'?
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1206:28: note: in definition of macro 'STATUS_SPACE'
 1206 | #define STATUS_SPACE if(b) str += "  "; else b = true;
      |                            ^~~
callbacks.cc:1372:3: error: 'str' was not declared in this scope; did you mean 'std'?
 1372 |   str += "<s>";
      |   ^~~
      |   std
callbacks.cc:1377:20: error: 'str' was not declared in this scope; did you mean 'std'?
 1377 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc: In function 'bool check_exchange_rates(GtkWidget*, bool)':
callbacks.cc:1424:61: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 1424 |   if(!b && set_result) setResult(NULL, false, false, false, "", 0, false);
      |                                                             ^~
      |                                                             |
      |                                                             const char*
In file included from callbacks.cc:28:
callbacks.h:133:121: note:   initializing argument 5 of 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)'
  133 | void setResult(Prefix *prefix = NULL, bool update_history = true, bool update_parse = false, bool force = false, string transformation = "", size_t stack_index = 0, bool register_moved = false);
      |                                                                                                                  ~~~~~~~^~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void display_errors(int*, GtkWidget*, int*, int)':
callbacks.cc:1439:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1439 |  string str = "";
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1450:20: error: 'str' was not declared in this scope; did you mean 'std'?
 1450 |     if(index == 1) str = "• " + str;
      |                    ^~~
      |                    std
callbacks.cc:1451:5: error: 'str' was not declared in this scope; did you mean 'std'?
 1451 |     str += "\n• ";
      |     ^~~
      |     std
callbacks.cc:1453:4: error: 'str' was not declared in this scope; did you mean 'std'?
 1453 |    str += CALCULATOR->message()->message();
      |    ^~~
      |    std
callbacks.cc:1459:6: error: 'inhistory' was not declared in this scope
 1459 |      inhistory.insert(inhistory.begin() + *inhistory_index, CALCULATOR->message()->message());
      |      ^~~~~~~~~
callbacks.cc:1460:6: error: 'inhistory_type' was not declared in this scope; did you mean 'inhistory_added'?
 1460 |      inhistory_type.insert(inhistory_type.begin() + *inhistory_index, QALCULATE_HISTORY_ERROR);
      |      ^~~~~~~~~~~~~~
      |      inhistory_added
callbacks.cc:1461:6: error: 'inhistory_protected' was not declared in this scope; did you mean 'inhistory_added'?
 1461 |      inhistory_protected.insert(inhistory_protected.begin() + *inhistory_index, false);
      |      ^~~~~~~~~~~~~~~~~~~
      |      inhistory_added
callbacks.cc:1462:6: error: 'inhistory_value' was not declared in this scope; did you mean 'inhistory_added'?
 1462 |      inhistory_value.insert(inhistory_value.begin() + *inhistory_index, nr_of_new_expressions);
      |      ^~~~~~~~~~~~~~~
      |      inhistory_added
callbacks.cc:1463:12: error: expected ';' before 'history_message'
 1463 |      string history_message = "- ";
      |            ^~~~~~~~~~~~~~~~
      |            ;
callbacks.cc:1464:6: error: 'history_message' was not declared in this scope; did you mean 'show_message'?
 1464 |      history_message += CALCULATOR->message()->message();
      |      ^~~~~~~~~~~~~~~
      |      show_message
callbacks.cc:1465:6: error: 'add_line_breaks' was not declared in this scope
 1465 |      add_line_breaks(history_message, false, 2);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:1466:12: error: expected ';' before 'history_str'
 1466 |      string history_str = "<span foreground=\"";
      |            ^~~~~~~~~~~~
      |            ;
callbacks.cc:1467:6: error: 'history_str' was not declared in this scope; did you mean 'history_iter'?
 1467 |      history_str += history_error_color;
      |      ^~~~~~~~~~~
      |      history_iter
callbacks.cc:1469:21: error: 'fix_history_string' was not declared in this scope
 1469 |      history_str += fix_history_string(history_message);
      |                     ^~~~~~~~~~~~~~~~~~
callbacks.cc:1474:6: error: 'inhistory' was not declared in this scope
 1474 |      inhistory.insert(inhistory.begin() + *inhistory_index, CALCULATOR->message()->message());
      |      ^~~~~~~~~
callbacks.cc:1475:6: error: 'inhistory_type' was not declared in this scope; did you mean 'inhistory_added'?
 1475 |      inhistory_type.insert(inhistory_type.begin() + *inhistory_index, QALCULATE_HISTORY_WARNING);
      |      ^~~~~~~~~~~~~~
      |      inhistory_added
callbacks.cc:1476:6: error: 'inhistory_protected' was not declared in this scope; did you mean 'inhistory_added'?
 1476 |      inhistory_protected.insert(inhistory_protected.begin() + *inhistory_index, false);
      |      ^~~~~~~~~~~~~~~~~~~
      |      inhistory_added
callbacks.cc:1477:6: error: 'inhistory_value' was not declared in this scope; did you mean 'inhistory_added'?
 1477 |      inhistory_value.insert(inhistory_value.begin() + *inhistory_index, nr_of_new_expressions);
      |      ^~~~~~~~~~~~~~~
      |      inhistory_added
callbacks.cc:1478:12: error: expected ';' before 'history_message'
 1478 |      string history_message = "- ";
      |            ^~~~~~~~~~~~~~~~
      |            ;
callbacks.cc:1479:6: error: 'history_message' was not declared in this scope; did you mean 'show_message'?
 1479 |      history_message += CALCULATOR->message()->message();
      |      ^~~~~~~~~~~~~~~
      |      show_message
callbacks.cc:1480:6: error: 'add_line_breaks' was not declared in this scope
 1480 |      add_line_breaks(history_message, false, 2);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:1481:12: error: expected ';' before 'history_str'
 1481 |      string history_str = "<span foreground=\"";
      |            ^~~~~~~~~~~~
      |            ;
callbacks.cc:1482:6: error: 'history_str' was not declared in this scope; did you mean 'history_iter'?
 1482 |      history_str += history_warning_color;
      |      ^~~~~~~~~~~
      |      history_iter
callbacks.cc:1484:21: error: 'fix_history_string' was not declared in this scope
 1484 |      history_str += fix_history_string(history_message);
      |                     ^~~~~~~~~~~~~~~~~~
callbacks.cc:1510:6: error: 'str' was not declared in this scope; did you mean 'std'?
 1510 |  if(!str.empty()) {
      |      ^~~
      |      std
callbacks.cc: In function 'gboolean on_check_version_idle(gpointer)':
callbacks.cc:1597:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1597 |  string new_version;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1601:61: error: 'new_version' was not declared in this scope; did you mean 'hb_version'?
 1601 |  int ret = checkAvailableVersion("qalculate-gtk", VERSION, &new_version, 5);
      |                                                             ^~~~~~~~~~~
      |                                                             hb_version
callbacks.cc:1603:31: error: 'last_found_version' was not declared in this scope
 1603 |  if(ret > 0 && new_version != last_found_version) {
      |                               ^~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'bool display_function_hint(MathFunction*, int)':
callbacks.cc:1629:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1629 |  string str, str2, str3;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1637:3: error: 'set_status_text' was not declared in this scope; did you mean 'update_status_text'?
 1637 |   set_status_text(gstr, false, false, true);
      |   ^~~~~~~~~~~~~~~
      |   update_status_text
callbacks.cc:1641:2: error: 'str' was not declared in this scope; did you mean 'std'?
 1641 |  str += ename->name;
      |  ^~~
      |  std
callbacks.cc:1661:5: error: 'str2' was not declared in this scope
 1661 |     str2 = arg->name();
      |     ^~~~
callbacks.cc:1663:5: error: 'str2' was not declared in this scope
 1663 |     str2 = _("argument");
      |     ^~~~
callbacks.cc:1669:25: error: 'str3' was not declared in this scope
 1669 |      if(i_reduced == 2) str3 = arg->print();
      |                         ^~~~
callbacks.cc:1670:11: error: 'str3' was not declared in this scope
 1670 |      else str3 = arg->printlong();
      |           ^~~~
callbacks.cc:1673:25: error: 'str3' was not declared in this scope
 1673 |      if(i_reduced == 2) str3 = arg_default.print();
      |                         ^~~~
callbacks.cc:1674:11: error: 'str3' was not declared in this scope
 1674 |      else str3 = arg_default.printlong();
      |           ^~~~
callbacks.cc:1676:9: error: 'str3' was not declared in this scope
 1676 |     if(!str3.empty()) {
      |         ^~~~
callbacks.cc:1677:6: error: 'str2' was not declared in this scope
 1677 |      str2 += ": ";
      |      ^~~~
callbacks.cc:1680:24: error: 'str2' was not declared in this scope
 1680 |     gsub("&", "&amp;", str2);
      |                        ^~~~
callbacks.cc:1706:24: error: 'str2' was not declared in this scope
 1706 |     gsub("&", "&amp;", str2);
      |                        ^~~~
callbacks.cc:1721:2: error: 'set_status_text' was not declared in this scope; did you mean 'update_status_text'?
 1721 |  set_status_text(str);
      |  ^~~~~~~~~~~~~~~
      |  update_status_text
callbacks.cc: At global scope:
callbacks.cc:1729:23: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1729 | bool last_is_operator(string str, bool allow_exp = false) {
      |                       ^~~~~~
      |                       std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1729:35: error: expected primary-expression before 'bool'
 1729 | bool last_is_operator(string str, bool allow_exp = false) {
      |                                   ^~~~
callbacks.cc:1729:57: error: expression list treated as compound expression in initializer [-fpermissive]
 1729 | bool last_is_operator(string str, bool allow_exp = false) {
      |                                                         ^
callbacks.cc:1751:6: error: variable or field 'add_to_expression_history' declared void
 1751 | void add_to_expression_history(string str);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:1751:32: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1751 | void add_to_expression_history(string str);
      |                                ^~~~~~
      |                                std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1753:1: error: 'vector' does not name a type; did you mean 'Vector'?
 1753 | vector<CalculatorMessage> autocalc_messages;
      | ^~~~~~
      | Vector
callbacks.cc: In function 'gboolean do_autocalc_history_timeout(gpointer)':
callbacks.cc:1758:66: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 1758 |   execute_expression(true, false, OPERATION_ADD, NULL, false, 0, "", "", false);
      |                                                                  ^~
      |                                                                  |
      |                                                                  const char*
In file included from callbacks.cc:28:
callbacks.h:132:187: note:   initializing argument 7 of 'void execute_expression(bool, bool, MathOperation, MathFunction*, bool, size_t, int, int, bool)'
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:1758:70: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 1758 |   execute_expression(true, false, OPERATION_ADD, NULL, false, 0, "", "", false);
      |                                                                      ^~
      |                                                                      |
      |                                                                      const char*
In file included from callbacks.cc:28:
callbacks.h:132:218: note:   initializing argument 8 of 'void execute_expression(bool, bool, MathOperation, MathFunction*, bool, size_t, int, int, bool)'
  132 | void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
      |                                                                                                                                                                                                                   ~~~~~~~^~~~~~~~~~~~~~
callbacks.cc:1761:27: error: 'autocalc_messages' was not declared in this scope
 1761 |  CALCULATOR->addMessages(&autocalc_messages);
      |                           ^~~~~~~~~~~~~~~~~
callbacks.cc:1762:2: error: 'result_text' was not declared in this scope
 1762 |  result_text = get_expression_text();
      |  ^~~~~~~~~~~
callbacks.cc:1762:16: error: 'get_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
 1762 |  result_text = get_expression_text();
      |                ^~~~~~~~~~~~~~~~~~~
      |                set_expression_text
callbacks.cc:1763:2: error: 'add_to_expression_history' was not declared in this scope; did you mean 'update_expression_icons'?
 1763 |  add_to_expression_history(result_text);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
      |  update_expression_icons
callbacks.cc:1765:36: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 1765 |  setResult(NULL, true, true, true, "", 0);
      |                                    ^~
      |                                    |
      |                                    const char*
In file included from callbacks.cc:28:
callbacks.h:133:121: note:   initializing argument 5 of 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)'
  133 | void setResult(Prefix *prefix = NULL, bool update_history = true, bool update_parse = false, bool force = false, string transformation = "", size_t stack_index = 0, bool register_moved = false);
      |                                                                                                                  ~~~~~~~^~~~~~~~~~~~~~~~~~~
callbacks.cc:1769:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1769 |    string s_cat = u->category();
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1770:7: error: 's_cat' was not declared in this scope
 1770 |    if(s_cat.empty()) s_cat = _("Uncategorized");
      |       ^~~~~
callbacks.cc:1771:7: error: 's_cat' was not declared in this scope
 1771 |    if(s_cat != selected_unit_category) {
      |       ^~~~~
callbacks.cc:1771:16: error: 'selected_unit_category' was not declared in this scope
 1771 |    if(s_cat != selected_unit_category) {
      |                ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:1772:24: error: 'convert_category_map' was not declared in this scope
 1772 |     GtkTreeIter iter = convert_category_map[s_cat];
      |                        ^~~~~~~~~~~~~~~~~~~~
callbacks.cc: At global scope:
callbacks.cc:1790:44: error: 'string' has not been declared
 1790 | void do_auto_calc(bool recalculate = true, string str = string()) {
      |                                            ^~~~~~
callbacks.cc:1790:57: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1790 | void do_auto_calc(bool recalculate = true, string str = string()) {
      |                                                         ^~~~~~
      |                                                         std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc: In function 'void do_auto_calc(bool, int)':
callbacks.cc:1801:22: error: request for member 'empty' in 'str', which is of non-class type 'int'
 1801 |   bool origstr = str.empty();
      |                      ^~~~~
callbacks.cc:1802:21: error: 'get_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
 1802 |   if(origstr) str = get_expression_text();
      |                     ^~~~~~~~~~~~~~~~~~~
      |                     set_expression_text
callbacks.cc:1803:10: error: request for member 'empty' in 'str', which is of non-class type 'int'
 1803 |   if(str.empty()) {clearresult(); return;}
      |          ^~~~~
callbacks.cc:1806:61: error: 'last_is_operator' cannot be used as a function
 1806 |    if(last_is_operator(str, evalops.parse_options.base == 10) && (evalops.parse_options.base != BASE_ROMAN_NUMERALS || str[str.length() - 1] != '|' || str.find('|') == str.length() - 1)) return;
      |                                                             ^
callbacks.cc:1806:128: error: request for member 'length' in 'str', which is of non-class type 'int'
 1806 |    if(last_is_operator(str, evalops.parse_options.base == 10) && (evalops.parse_options.base != BASE_ROMAN_NUMERALS || str[str.length() - 1] != '|' || str.find('|') == str.length() - 1)) return;
      |                                                                                                                                ^~~~~~
callbacks.cc:1806:156: error: request for member 'find' in 'str', which is of non-class type 'int'
 1806 |    if(last_is_operator(str, evalops.parse_options.base == 10) && (evalops.parse_options.base != BASE_ROMAN_NUMERALS || str[str.length() - 1] != '|' || str.find('|') == str.length() - 1)) return;
      |                                                                                                                                                            ^~~~
callbacks.cc:1806:173: error: request for member 'length' in 'str', which is of non-class type 'int'
 1806 |    if(last_is_operator(str, evalops.parse_options.base == 10) && (evalops.parse_options.base != BASE_ROMAN_NUMERALS || str[str.length() - 1] != '|' || str.find('|') == str.length() - 1)) return;
      |                                                                                                                                                                             ^~~~~~
callbacks.cc:1815:6: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1815 |      string c2 = gstr;
      |      ^~~~~~
      |      std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1817:12: error: expected ';' before 'c1'
 1817 |      string c1;
      |            ^~~
      |            ;
callbacks.cc:1822:7: error: 'c1' was not declared in this scope; did you mean 'y1'?
 1822 |       c1 = gstr;
      |       ^~
      |       y1
callbacks.cc:1825:10: error: 'c2' was not declared in this scope
 1825 |      if((c2.length() == 1 && is_in("*/^|&<>=)]", c2[0]) && (c2[0] != '|' || evalops.parse_options.base != BASE_ROMAN_NUMERALS)) || (c2.length() > 1 && (c2 == "∧" || c2 == "∨" || c2 == "⊻" || c2 == expression_times_sign() || c2 == expression_divide_sign() || c2 == SIGN_NOT_EQUAL || c2 == SIGN_GREATER_OR_EQUAL || c2 == SIGN_LESS_OR_EQUAL))) {
      |          ^~
callbacks.cc:1826:10: error: 'c1' was not declared in this scope; did you mean 'y1'?
 1826 |       if(c1.empty() || (c1.length() == 1 && is_in(OPERATORS LEFT_PARENTHESIS, c1[0]) && c1[0] != '!' && (c1[0] != '|' || (evalops.parse_options.base != BASE_ROMAN_NUMERALS && c1 != "|")) && (c1[0] != '&' || c2 != "&") && (c1[0] != '/' || (c2 != "/" && c2 != expression_divide_sign())) && (c1[0] != '*' || (c2 != "*" && c2 != expression_times_sign())) && ((c1[0] != '>' && c1[0] != '<') || (c2 != "=" && c2 != c1)) && ((c2 != ">" && c2 == "<") || (c1[0] != '=' && c1 != c2))) || (c1.length() > 1 && (c1 == "∧" || c1 == "∨" || c1 == "⊻" || c1 == SIGN_NOT_EQUAL || c1 == SIGN_GREATER_OR_EQUAL || c1 == SIGN_LESS_OR_EQUAL || (c1 == expression_times_sign() && c2 != "*" && c2 != expression_times_sign()) || (c1 == expression_divide_sign() && c2 != "/" && c2 != expression_divide_sign()) || c1 == expression_add_sign() || c1 == expression_sub_sign()))) {
      |          ^~
      |          y1
callbacks.cc:1838:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
 1838 |   string from_str = str, to_str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:1839:50: error: 'from_str' was not declared in this scope
 1839 |   if(origstr && CALCULATOR->separateToExpression(from_str, to_str, evalops, true, true)) {
      |                                                  ^~~~~~~~
callbacks.cc:1839:60: error: 'to_str' was not declared in this scope
 1839 |   if(origstr && CALCULATOR->separateToExpression(from_str, to_str, evalops, true, true)) {
      |                                                            ^~~~~~
callbacks.cc:1842:10: error: expected ';' before 'to_str1'
 1842 |    string to_str1, to_str2;
      |          ^~~~~~~~
      |          ;
callbacks.cc:1844:17: error: 'string' is not a class, namespace, or enumeration
 1844 |    if(ispace != string::npos) {
      |                 ^~~~~~
callbacks.cc:1845:5: error: 'to_str1' was not declared in this scope
 1845 |     to_str1 = to_str.substr(0, ispace);
      |     ^~~~~~~
callbacks.cc:1847:5: error: 'to_str2' was not declared in this scope
 1847 |     to_str2 = to_str.substr(ispace + 1);
      |     ^~~~~~~
callbacks.cc:2004:31: error: 'to_str1' was not declared in this scope
 2004 |    } else if(equalsIgnoreCase(to_str1, "base") || equalsIgnoreCase(to_str1, _("base"))) {
      |                               ^~~~~~~
callbacks.cc:2005:25: error: 'to_str2' was not declared in this scope
 2005 |     if(equalsIgnoreCase(to_str2, "golden") || equalsIgnoreCase(to_str2, "golden ratio") || to_str2 == "φ") to_base = BASE_GOLDEN_RATIO;
      |                         ^~~~~~~
callbacks.cc:2042:19: error: request for member 'find_first_of' in 'str', which is of non-class type 'int'
 2042 |    size_t i = str.find_first_of(SPACES LEFT_PARENTHESIS);
      |                   ^~~~~~~~~~~~~
callbacks.cc:2043:12: error: 'string' is not a class, namespace, or enumeration
 2043 |    if(i != string::npos) {
      |            ^~~~~~
callbacks.cc:2044:18: error: request for member 'substr' in 'str', which is of non-class type 'int'
 2044 |     to_str = str.substr(0, i);
      |                  ^~~~~~
callbacks.cc:2046:16: error: request for member 'substr' in 'str', which is of non-class type 'int'
 2046 |      str = str.substr(i + 1);
      |                ^~~~~~
callbacks.cc:2049:16: error: request for member 'substr' in 'str', which is of non-class type 'int'
 2049 |      str = str.substr(i + 1);
      |                ^~~~~~
callbacks.cc:2055:10: error: expected ';' before 'ceu_str'
 2055 |    string ceu_str = CALCULATOR->unlocalizeExpression(gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(main_builder, "convert_entry_unit"))), evalops.parse_options);
      |          ^~~~~~~~
      |          ;
callbacks.cc:2056:22: error: 'ceu_str' was not declared in this scope; did you mean 'eqstr'?
 2056 |    remove_blank_ends(ceu_str);
      |                      ^~~~~~~
      |                      eqstr
callbacks.cc:2080:70: error: cannot convert 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 2080 |   if(!CALCULATOR->calculate(&mauto, CALCULATOR->unlocalizeExpression(str, evalops.parse_options), 100, evalops, parsed_mstruct, parsed_tostruct)) {
      |                                                                      ^~~
      |                                                                      |
      |                                                                      int
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:17,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:709:47: note:   initializing argument 1 of 'std::string Calculator::unlocalizeExpression(std::string, const ParseOptions&) const'
  709 |  std::string unlocalizeExpression(std::string str, const ParseOptions &po = default_parse_options) const;
      |                                   ~~~~~~~~~~~~^~~
callbacks.cc:2096:61: error: 'autocalc_messages' was not declared in this scope
 2096 |   CALCULATOR->endTemporaryStopMessages(!mauto.isAborted(), &autocalc_messages);
      |                                                             ^~~~~~~~~~~~~~~~~
callbacks.cc:2178:3: error: 'date_map' was not declared in this scope
 2178 |   date_map.clear();
      |   ^~~~~~~~
callbacks.cc:2179:3: error: 'number_map' was not declared in this scope
 2179 |   number_map.clear();
      |   ^~~~~~~~~~
callbacks.cc:2180:3: error: 'number_base_map' was not declared in this scope
 2180 |   number_base_map.clear();
      |   ^~~~~~~~~~~~~~~
callbacks.cc:2181:3: error: 'number_exp_map' was not declared in this scope
 2181 |   number_exp_map.clear();
      |   ^~~~~~~~~~~~~~
callbacks.cc:2182:3: error: 'number_exp_minus_map' was not declared in this scope
 2182 |   number_exp_minus_map.clear();
      |   ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:2183:3: error: 'number_approx_map' was not declared in this scope
 2183 |   number_approx_map.clear();
      |   ^~~~~~~~~~~~~~~~~
callbacks.cc:2210:4: error: 'result_text' was not declared in this scope
 2210 |    result_text = displayed_mstruct->print();
      |    ^~~~~~~~~~~
callbacks.cc:2211:27: error: 'replace_result_cis' was not declared in this scope
 2211 |    if(complex_angle_form) replace_result_cis(result_text);
      |                           ^~~~~~~~~~~~~~~~~~
callbacks.cc:2222:5: error: 'result_text_long' was not declared in this scope; did you mean 'result_too_long'?
 2222 |     result_text_long = displayed_mstruct->print(printops_long);
      |     ^~~~~~~~~~~~~~~~
      |     result_too_long
callbacks.cc:2223:28: error: 'replace_result_cis' was not declared in this scope
 2223 |     if(complex_angle_form) replace_result_cis(result_text_long);
      |                            ^~~~~~~~~~~~~~~~~~
callbacks.cc:2226:5: error: 'result_text_long' was not declared in this scope; did you mean 'result_too_long'?
 2226 |     result_text_long = "";
      |     ^~~~~~~~~~~~~~~~
      |     result_too_long
callbacks.cc:2229:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 2229 |     string eqstr;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:2231:12: error: expected unqualified-id before '=' token
 2231 |      eqstr = "=";
      |            ^
callbacks.cc:2234:13: error: expected unqualified-id before '=' token
 2234 |       eqstr = SIGN_ALMOST_EQUAL;
      |             ^
callbacks.cc:2236:13: error: expected unqualified-id before '=' token
 2236 |       eqstr = "= ";
      |             ^
callbacks.cc:2237:13: error: expected unqualified-id before '+=' token
 2237 |       eqstr += _("approx.");
      |             ^~
callbacks.cc:2240:45: error: 'result_text_long' was not declared in this scope; did you mean 'result_too_long'?
 2240 |     gtk_widget_set_tooltip_text(resultview, result_text_long.length() < 1000 ? (eqstr + result_text_long).c_str() : "");
      |                                             ^~~~~~~~~~~~~~~~
      |                                             result_too_long
callbacks.cc:2240:87: error: expected primary-expression before '+' token
 2240 |     gtk_widget_set_tooltip_text(resultview, result_text_long.length() < 1000 ? (eqstr + result_text_long).c_str() : "");
      |                                                                                       ^
callbacks.cc:2244:4: error: 'result_bin' was not declared in this scope
 2244 |    result_bin = ""; result_oct = "", result_dec = "", result_hex = "";
      |    ^~~~~~~~~~
callbacks.cc:2244:21: error: 'result_oct' was not declared in this scope
 2244 |    result_bin = ""; result_oct = "", result_dec = "", result_hex = "";
      |                     ^~~~~~~~~~
callbacks.cc:2244:38: error: 'result_dec' was not declared in this scope; did you mean 'resultview'?
 2244 |    result_bin = ""; result_oct = "", result_dec = "", result_hex = "";
      |                                      ^~~~~~~~~~
      |                                      resultview
callbacks.cc:2244:55: error: 'result_hex' was not declared in this scope; did you mean 'resultview'?
 2244 |    result_bin = ""; result_oct = "", result_dec = "", result_hex = "";
      |                                                       ^~~~~~~~~~
      |                                                       resultview
callbacks.cc:2266:14: error: 'string' has not been declared
 2266 |      if(i != string::npos && result_oct.length() > i + 1 && result_oct[i] == '0' && is_in(NUMBERS, result_oct[i + 1])) result_oct.erase(i, 1);
      |              ^~~~~~
callbacks.cc: In function 'void display_parse_status()':
callbacks.cc:2318:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 2318 |  string text = gtext, str_f;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:2320:5: error: 'text' was not declared in this scope; did you mean 'gtext'?
 2320 |  if(text.empty()) {
      |     ^~~~
      |     gtext
callbacks.cc:2321:3: error: 'set_status_text' was not declared in this scope; did you mean 'update_status_text'?
 2321 |   set_status_text("", true, false, false);
      |   ^~~~~~~~~~~~~~~
      |   update_status_text
callbacks.cc:2322:3: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2322 |   parsed_expression = "";
      |   ^~~~~~~~~~~~~~~~~
      |   f_expression
callbacks.cc:2326:26: error: 'text' was not declared in this scope; did you mean 'gtext'?
 2326 |  remove_duplicate_blanks(text);
      |                          ^~~~
      |                          gtext
callbacks.cc:2328:10: error: 'string' is not a class, namespace, or enumeration
 2328 |  if(i != string::npos) {
      |          ^~~~~~
callbacks.cc:2329:3: error: 'str_f' was not declared in this scope; did you mean 'strtof'?
 2329 |   str_f = text.substr(0, i);
      |   ^~~~~
      |   strtof
callbacks.cc:2345:8: error: expected ';' before 'str_e'
 2345 |  string str_e, str_u, str_w;
      |        ^~~~~~
      |        ;
callbacks.cc:2353:4: error: 'str_e' was not declared in this scope; did you mean 'strsep'?
 2353 |    str_e = CALCULATOR->unlocalizeExpression(gtext, evalops.parse_options);
      |    ^~~~~
      |    strsep
callbacks.cc:2354:53: error: 'str_u' was not declared in this scope; did you mean 'strdup'?
 2354 |    bool b = CALCULATOR->separateToExpression(str_e, str_u, evalops, false, true);
      |                                                     ^~~~~
      |                                                     strdup
callbacks.cc:2355:51: error: 'str_w' was not declared in this scope
 2355 |    b = CALCULATOR->separateWhereExpression(str_e, str_w, evalops) || b;
      |                                                   ^~~~~
callbacks.cc:2361:4: error: 'str_e' was not declared in this scope; did you mean 'strsep'?
 2361 |    str_e = CALCULATOR->unlocalizeExpression(text, evalops.parse_options);
      |    ^~~~~
      |    strsep
callbacks.cc:2362:53: error: 'str_u' was not declared in this scope; did you mean 'strdup'?
 2362 |    bool b = CALCULATOR->separateToExpression(str_e, str_u, evalops, false, true);
      |                                                     ^~~~~
      |                                                     strdup
callbacks.cc:2363:51: error: 'str_w' was not declared in this scope
 2363 |    b = CALCULATOR->separateWhereExpression(str_e, str_w, evalops) || b;
      |                                                   ^~~~~
callbacks.cc:2385:4: error: 'str_e' was not declared in this scope; did you mean 'strsep'?
 2385 |    str_e = CALCULATOR->unlocalizeExpression(text, evalops.parse_options);
      |    ^~~~~
      |    strsep
callbacks.cc:2386:44: error: 'str_u' was not declared in this scope; did you mean 'strdup'?
 2386 |    CALCULATOR->separateToExpression(str_e, str_u, evalops, false, true);
      |                                            ^~~~~
      |                                            strdup
callbacks.cc:2387:47: error: 'str_w' was not declared in this scope
 2387 |    CALCULATOR->separateWhereExpression(str_e, str_w, evalops);
      |                                               ^~~~~
callbacks.cc:2427:6: error: 'str_e' was not declared in this scope; did you mean 'strsep'?
 2427 |   if(str_e.empty()) {
      |      ^~~~~
      |      strsep
callbacks.cc:2428:4: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2428 |    parsed_expression = "";
      |    ^~~~~~~~~~~~~~~~~
      |    f_expression
callbacks.cc:2432:4: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2432 |    parsed_expression = mparse.print(po);
      |    ^~~~~~~~~~~~~~~~~
      |    f_expression
callbacks.cc:2435:7: error: 'str_w' was not declared in this scope
 2435 |   if(!str_w.empty()) {
      |       ^~~~~
callbacks.cc:2441:4: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2441 |    parsed_expression += CALCULATOR->localWhereString();
      |    ^~~~~~~~~~~~~~~~~
      |    f_expression
callbacks.cc:2447:7: error: 'str_u' was not declared in this scope; did you mean 'strdup'?
 2447 |   if(!str_u.empty()) {
      |       ^~~~~
      |       strdup
callbacks.cc:2448:7: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2448 |    if(parsed_expression.empty()) {
      |       ^~~~~~~~~~~~~~~~~
      |       f_expression
callbacks.cc:2455:10: error: expected ';' before 'to_str1'
 2455 |    string to_str1, to_str2;
      |          ^~~~~~~~
      |          ;
callbacks.cc:2457:17: error: 'string' is not a class, namespace, or enumeration
 2457 |    if(ispace != string::npos) {
      |                 ^~~~~~
callbacks.cc:2458:5: error: 'to_str1' was not declared in this scope
 2458 |     to_str1 = str_u.substr(0, ispace);
      |     ^~~~~~~
callbacks.cc:2460:5: error: 'to_str2' was not declared in this scope
 2460 |     to_str2 = str_u.substr(ispace + 1);
      |     ^~~~~~~
callbacks.cc:2464:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2464 |     parsed_expression += _("hexadecimal number");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2466:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2466 |     parsed_expression += _("octal number");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2468:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2468 |     parsed_expression += _("decimal number");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2470:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2470 |     parsed_expression += _("duodecimal number");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2472:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2472 |     parsed_expression += _("binary number");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2474:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2474 |     parsed_expression += _("roman numerals");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2476:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2476 |     parsed_expression += _("bijective base-26");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2478:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2478 |     parsed_expression += _("sexagesimal number");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2480:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2480 |     parsed_expression += _("time format");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2482:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2482 |     parsed_expression += _("Unicode");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2484:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2484 |     parsed_expression += _("number bases");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2486:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2486 |     parsed_expression += _("calendars");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2488:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2488 |     parsed_expression += _("optimal unit");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2490:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2490 |     parsed_expression += _("base units");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2492:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2492 |     parsed_expression += _("mixed units");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2494:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2494 |     parsed_expression += _("fraction");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2496:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2496 |     parsed_expression += _("factors");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2498:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2498 |     parsed_expression += _("expanded partial fractions");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2500:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2500 |     parsed_expression += _("complex rectangular form");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2502:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2502 |     parsed_expression += _("complex exponential form");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2504:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2504 |     parsed_expression += _("complex polar form");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2506:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2506 |     parsed_expression += _("complex cis form");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2508:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2508 |     parsed_expression += _("complex angle notation");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2510:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2510 |     parsed_expression += _("complex phasor notation");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2512:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2512 |     parsed_expression += _("UTC time zone");
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2515:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2515 |     parsed_expression += "UTC";
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2550:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2550 |     parsed_expression += "UTC";
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2552:31: error: 'to_str1' was not declared in this scope
 2552 |    } else if(equalsIgnoreCase(to_str1, "base") || equalsIgnoreCase(to_str1, _("base"))) {
      |                               ^~~~~~~
callbacks.cc:2553:56: error: 'to_str2' was not declared in this scope
 2553 |     gchar *gstr = g_strdup_printf(_("number base %s"), to_str2.c_str());
      |                                                        ^~~~~~~
callbacks.cc:2554:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2554 |     parsed_expression += gstr;
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2572:5: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2572 |     parsed_expression += mparse.print(po);
      |     ^~~~~~~~~~~~~~~~~
      |     f_expression
callbacks.cc:2578:7: error: 'str_f' was not declared in this scope; did you mean 'strtof'?
 2578 |   if(!str_f.empty()) {str_f += " "; parsed_expression.insert(0, str_f);}
      |       ^~~~~
      |       strtof
callbacks.cc:2578:37: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2578 |   if(!str_f.empty()) {str_f += " "; parsed_expression.insert(0, str_f);}
      |                                     ^~~~~~~~~~~~~~~~~
      |                                     f_expression
callbacks.cc:2579:22: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2579 |   gsub("&", "&amp;", parsed_expression);
      |                      ^~~~~~~~~~~~~~~~~
      |                      f_expression
callbacks.cc:2582:15: error: 'set_status_text' was not declared in this scope; did you mean 'update_status_text'?
 2582 |   if(!b_func) set_status_text(parsed_expression.c_str(), true, had_errors, had_warnings);
      |               ^~~~~~~~~~~~~~~
      |               update_status_text
callbacks.cc:2585:19: error: 'parsed_expression' was not declared in this scope; did you mean 'f_expression'?
 2585 |   set_status_text(parsed_expression.c_str(), true, parsed_had_errors, parsed_had_warnings);
      |                   ^~~~~~~~~~~~~~~~~
      |                   f_expression
callbacks.cc:2585:3: error: 'set_status_text' was not declared in this scope; did you mean 'update_status_text'?
 2585 |   set_status_text(parsed_expression.c_str(), true, parsed_had_errors, parsed_had_warnings);
      |   ^~~~~~~~~~~~~~~
      |   update_status_text
callbacks.cc: In function 'void generate_units_tree_struct()':
callbacks.cc:2724:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 2724 |  string str, cat, cat_sub;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:2726:12: error: 'struct tree_struct' has no member named 'items'
 2726 |  unit_cats.items.clear();
      |            ^~~~~
callbacks.cc:2727:12: error: 'struct tree_struct' has no member named 'objects'
 2727 |  unit_cats.objects.clear();
      |            ^~~~~~~
callbacks.cc:2729:2: error: 'ia_units' was not declared in this scope
 2729 |  ia_units.clear();
      |  ^~~~~~~~
callbacks.cc:2730:2: error: 'list' was not declared in this scope; did you mean 'std::__cxx11::list'?
 2730 |  list<tree_struct>::iterator it;
      |  ^~~~
      |  std::__cxx11::list
In file included from /usr/include/g++/list:63,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:20,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_list.h:556:11: note: 'std::__cxx11::list' declared here
  556 |     class list : protected _List_base<_Tp, _Alloc>
      |           ^~~~
callbacks.cc:2730:18: error: expected primary-expression before '>' token
 2730 |  list<tree_struct>::iterator it;
      |                  ^
callbacks.cc:2730:21: error: '::iterator' has not been declared; did you mean 'std::iterator'?
 2730 |  list<tree_struct>::iterator it;
      |                     ^~~~~~~~
      |                     std::iterator
In file included from /usr/include/g++/bits/stl_algobase.h:65,
                 from /usr/include/g++/bits/char_traits.h:39,
                 from /usr/include/g++/ios:40,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stl_iterator_base_types.h:127:12: note: 'std::iterator' declared here
  127 |     struct iterator
      |            ^~~~~~~~
callbacks.cc:2736:64: error: 'string_is_less' cannot be used as a function
 2736 |     if(string_is_less(CALCULATOR->units[i]->title(), u->title())) {
      |                                                                ^
callbacks.cc:2746:5: error: 'cat' was not declared in this scope; did you mean 'cat_i'?
 2746 |     cat = CALCULATOR->units[i]->category();
      |     ^~~
      |     cat_i
callbacks.cc:2750:18: error: 'string' is not a class, namespace, or enumeration
 2750 |      if(cat_i == string::npos) {
      |                  ^~~~~~
callbacks.cc:2751:7: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2751 |       cat_sub = cat.substr(cat_i_prev, cat.length() - cat_i_prev);
      |       ^~~~~~~
      |       cat_i
callbacks.cc:2753:7: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2753 |       cat_sub = cat.substr(cat_i_prev, cat_i - cat_i_prev);
      |       ^~~~~~~
      |       cat_i
callbacks.cc:2756:10: error: 'it' was not declared in this scope; did you mean 'i'?
 2756 |      for(it = item->items.begin(); it != item->items.end(); ++it) {
      |          ^~
      |          i
callbacks.cc:2756:21: error: 'struct tree_struct' has no member named 'items'
 2756 |      for(it = item->items.begin(); it != item->items.end(); ++it) {
      |                     ^~~~~
callbacks.cc:2756:48: error: 'struct tree_struct' has no member named 'items'
 2756 |      for(it = item->items.begin(); it != item->items.end(); ++it) {
      |                                                ^~~~~
callbacks.cc:2757:10: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2757 |       if(cat_sub == it->item) {
      |          ^~~~~~~
      |          cat_i
callbacks.cc:2765:13: error: 'struct tree_struct' has no member named 'items'
 2765 |       item->items.push_back(cat);
      |             ^~~~~
callbacks.cc:2766:7: error: 'it' was not declared in this scope; did you mean 'i'?
 2766 |       it = item->items.end();
      |       ^~
      |       i
callbacks.cc:2766:18: error: 'struct tree_struct' has no member named 'items'
 2766 |       it = item->items.end();
      |                  ^~~~~
callbacks.cc:2770:13: error: 'struct tree_struct' has no member named 'item'
 2770 |       item->item = cat_sub;
      |             ^~~~
callbacks.cc:2770:20: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2770 |       item->item = cat_sub;
      |                    ^~~~~~~
      |                    cat_i
callbacks.cc:2772:18: error: 'string' is not a class, namespace, or enumeration
 2772 |      if(cat_i == string::npos) {
      |                  ^~~~~~
callbacks.cc:2780:34: error: 'struct tree_struct' has no member named 'objects'
 2780 |    for(size_t i3 = 0; i3 < item->objects.size(); i3++) {
      |                                  ^~~~~~~
callbacks.cc:2781:23: error: 'struct tree_struct' has no member named 'objects'
 2781 |     u = (Unit*) item->objects[i3];
      |                       ^~~~~~~
callbacks.cc:2782:64: error: 'string_is_less' cannot be used as a function
 2782 |     if(string_is_less(CALCULATOR->units[i]->title(), u->title())) {
      |                                                                ^
callbacks.cc:2784:12: error: 'struct tree_struct' has no member named 'objects'
 2784 |      item->objects.insert(item->objects.begin() + i3, (void*) CALCULATOR->units[i]);
      |            ^~~~~~~
callbacks.cc:2784:33: error: 'struct tree_struct' has no member named 'objects'
 2784 |      item->objects.insert(item->objects.begin() + i3, (void*) CALCULATOR->units[i]);
      |                                 ^~~~~~~
callbacks.cc:2788:17: error: 'struct tree_struct' has no member named 'objects'
 2788 |    if(!b) item->objects.push_back((void*) CALCULATOR->units[i]);
      |                 ^~~~~~~
callbacks.cc: In function 'void generate_variables_tree_struct()':
callbacks.cc:2799:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 2799 |  string str, cat, cat_sub;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:2801:16: error: 'struct tree_struct' has no member named 'items'
 2801 |  variable_cats.items.clear();
      |                ^~~~~
callbacks.cc:2802:16: error: 'struct tree_struct' has no member named 'objects'
 2802 |  variable_cats.objects.clear();
      |                ^~~~~~~
callbacks.cc:2804:2: error: 'ia_variables' was not declared in this scope; did you mean 'tVariables'?
 2804 |  ia_variables.clear();
      |  ^~~~~~~~~~~~
      |  tVariables
callbacks.cc:2805:2: error: 'list' was not declared in this scope; did you mean 'std::__cxx11::list'?
 2805 |  list<tree_struct>::iterator it;
      |  ^~~~
      |  std::__cxx11::list
In file included from /usr/include/g++/list:63,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:20,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_list.h:556:11: note: 'std::__cxx11::list' declared here
  556 |     class list : protected _List_base<_Tp, _Alloc>
      |           ^~~~
callbacks.cc:2805:18: error: expected primary-expression before '>' token
 2805 |  list<tree_struct>::iterator it;
      |                  ^
callbacks.cc:2805:21: error: '::iterator' has not been declared; did you mean 'std::iterator'?
 2805 |  list<tree_struct>::iterator it;
      |                     ^~~~~~~~
      |                     std::iterator
In file included from /usr/include/g++/bits/stl_algobase.h:65,
                 from /usr/include/g++/bits/char_traits.h:39,
                 from /usr/include/g++/ios:40,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stl_iterator_base_types.h:127:12: note: 'std::iterator' declared here
  127 |     struct iterator
      |            ^~~~~~~~
callbacks.cc:2812:68: error: 'string_is_less' cannot be used as a function
 2812 |     if(string_is_less(CALCULATOR->variables[i]->title(), v->title())) {
      |                                                                    ^
callbacks.cc:2822:5: error: 'cat' was not declared in this scope; did you mean 'cat_i'?
 2822 |     cat = CALCULATOR->variables[i]->category();
      |     ^~~
      |     cat_i
callbacks.cc:2826:18: error: 'string' is not a class, namespace, or enumeration
 2826 |      if(cat_i == string::npos) {
      |                  ^~~~~~
callbacks.cc:2827:7: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2827 |       cat_sub = cat.substr(cat_i_prev, cat.length() - cat_i_prev);
      |       ^~~~~~~
      |       cat_i
callbacks.cc:2829:7: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2829 |       cat_sub = cat.substr(cat_i_prev, cat_i - cat_i_prev);
      |       ^~~~~~~
      |       cat_i
callbacks.cc:2832:10: error: 'it' was not declared in this scope; did you mean 'i'?
 2832 |      for(it = item->items.begin(); it != item->items.end(); ++it) {
      |          ^~
      |          i
callbacks.cc:2832:21: error: 'struct tree_struct' has no member named 'items'
 2832 |      for(it = item->items.begin(); it != item->items.end(); ++it) {
      |                     ^~~~~
callbacks.cc:2832:48: error: 'struct tree_struct' has no member named 'items'
 2832 |      for(it = item->items.begin(); it != item->items.end(); ++it) {
      |                                                ^~~~~
callbacks.cc:2833:10: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2833 |       if(cat_sub == it->item) {
      |          ^~~~~~~
      |          cat_i
callbacks.cc:2841:13: error: 'struct tree_struct' has no member named 'items'
 2841 |       item->items.push_back(cat);
      |             ^~~~~
callbacks.cc:2842:7: error: 'it' was not declared in this scope; did you mean 'i'?
 2842 |       it = item->items.end();
      |       ^~
      |       i
callbacks.cc:2842:18: error: 'struct tree_struct' has no member named 'items'
 2842 |       it = item->items.end();
      |                  ^~~~~
callbacks.cc:2846:13: error: 'struct tree_struct' has no member named 'item'
 2846 |       item->item = cat_sub;
      |             ^~~~
callbacks.cc:2846:20: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2846 |       item->item = cat_sub;
      |                    ^~~~~~~
      |                    cat_i
callbacks.cc:2848:18: error: 'string' is not a class, namespace, or enumeration
 2848 |      if(cat_i == string::npos) {
      |                  ^~~~~~
callbacks.cc:2856:34: error: 'struct tree_struct' has no member named 'objects'
 2856 |    for(size_t i3 = 0; i3 < item->objects.size(); i3++) {
      |                                  ^~~~~~~
callbacks.cc:2857:27: error: 'struct tree_struct' has no member named 'objects'
 2857 |     v = (Variable*) item->objects[i3];
      |                           ^~~~~~~
callbacks.cc:2858:68: error: 'string_is_less' cannot be used as a function
 2858 |     if(string_is_less(CALCULATOR->variables[i]->title(), v->title())) {
      |                                                                    ^
callbacks.cc:2860:12: error: 'struct tree_struct' has no member named 'objects'
 2860 |      item->objects.insert(item->objects.begin() + i3, (void*) CALCULATOR->variables[i]);
      |            ^~~~~~~
callbacks.cc:2860:33: error: 'struct tree_struct' has no member named 'objects'
 2860 |      item->objects.insert(item->objects.begin() + i3, (void*) CALCULATOR->variables[i]);
      |                                 ^~~~~~~
callbacks.cc:2864:17: error: 'struct tree_struct' has no member named 'objects'
 2864 |    if(!b) item->objects.push_back((void*) CALCULATOR->variables[i]);
      |                 ^~~~~~~
callbacks.cc: In function 'void generate_functions_tree_struct()':
callbacks.cc:2875:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 2875 |  string str, cat, cat_sub;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:2877:16: error: 'struct tree_struct' has no member named 'items'
 2877 |  function_cats.items.clear();
      |                ^~~~~
callbacks.cc:2878:16: error: 'struct tree_struct' has no member named 'objects'
 2878 |  function_cats.objects.clear();
      |                ^~~~~~~
callbacks.cc:2880:2: error: 'ia_functions' was not declared in this scope; did you mean 'tFunctions'?
 2880 |  ia_functions.clear();
      |  ^~~~~~~~~~~~
      |  tFunctions
callbacks.cc:2881:2: error: 'list' was not declared in this scope; did you mean 'std::__cxx11::list'?
 2881 |  list<tree_struct>::iterator it;
      |  ^~~~
      |  std::__cxx11::list
In file included from /usr/include/g++/list:63,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:20,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_list.h:556:11: note: 'std::__cxx11::list' declared here
  556 |     class list : protected _List_base<_Tp, _Alloc>
      |           ^~~~
callbacks.cc:2881:18: error: expected primary-expression before '>' token
 2881 |  list<tree_struct>::iterator it;
      |                  ^
callbacks.cc:2881:21: error: '::iterator' has not been declared; did you mean 'std::iterator'?
 2881 |  list<tree_struct>::iterator it;
      |                     ^~~~~~~~
      |                     std::iterator
In file included from /usr/include/g++/bits/stl_algobase.h:65,
                 from /usr/include/g++/bits/char_traits.h:39,
                 from /usr/include/g++/ios:40,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stl_iterator_base_types.h:127:12: note: 'std::iterator' declared here
  127 |     struct iterator
      |            ^~~~~~~~
callbacks.cc:2889:68: error: 'string_is_less' cannot be used as a function
 2889 |     if(string_is_less(CALCULATOR->functions[i]->title(), f->title())) {
      |                                                                    ^
callbacks.cc:2899:5: error: 'cat' was not declared in this scope; did you mean 'cat_i'?
 2899 |     cat = CALCULATOR->functions[i]->category();
      |     ^~~
      |     cat_i
callbacks.cc:2903:18: error: 'string' is not a class, namespace, or enumeration
 2903 |      if(cat_i == string::npos) {
      |                  ^~~~~~
callbacks.cc:2904:7: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2904 |       cat_sub = cat.substr(cat_i_prev, cat.length() - cat_i_prev);
      |       ^~~~~~~
      |       cat_i
callbacks.cc:2906:7: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2906 |       cat_sub = cat.substr(cat_i_prev, cat_i - cat_i_prev);
      |       ^~~~~~~
      |       cat_i
callbacks.cc:2909:10: error: 'it' was not declared in this scope; did you mean 'i'?
 2909 |      for(it = item->items.begin(); it != item->items.end(); ++it) {
      |          ^~
      |          i
callbacks.cc:2909:21: error: 'struct tree_struct' has no member named 'items'
 2909 |      for(it = item->items.begin(); it != item->items.end(); ++it) {
      |                     ^~~~~
callbacks.cc:2909:48: error: 'struct tree_struct' has no member named 'items'
 2909 |      for(it = item->items.begin(); it != item->items.end(); ++it) {
      |                                                ^~~~~
callbacks.cc:2910:10: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2910 |       if(cat_sub == it->item) {
      |          ^~~~~~~
      |          cat_i
callbacks.cc:2918:13: error: 'struct tree_struct' has no member named 'items'
 2918 |       item->items.push_back(cat);
      |             ^~~~~
callbacks.cc:2919:7: error: 'it' was not declared in this scope; did you mean 'i'?
 2919 |       it = item->items.end();
      |       ^~
      |       i
callbacks.cc:2919:18: error: 'struct tree_struct' has no member named 'items'
 2919 |       it = item->items.end();
      |                  ^~~~~
callbacks.cc:2923:13: error: 'struct tree_struct' has no member named 'item'
 2923 |       item->item = cat_sub;
      |             ^~~~
callbacks.cc:2923:20: error: 'cat_sub' was not declared in this scope; did you mean 'cat_i'?
 2923 |       item->item = cat_sub;
      |                    ^~~~~~~
      |                    cat_i
callbacks.cc:2925:18: error: 'string' is not a class, namespace, or enumeration
 2925 |      if(cat_i == string::npos) {
      |                  ^~~~~~
callbacks.cc:2933:34: error: 'struct tree_struct' has no member named 'objects'
 2933 |    for(size_t i3 = 0; i3 < item->objects.size(); i3++) {
      |                                  ^~~~~~~
callbacks.cc:2934:31: error: 'struct tree_struct' has no member named 'objects'
 2934 |     f = (MathFunction*) item->objects[i3];
      |                               ^~~~~~~
callbacks.cc:2935:68: error: 'string_is_less' cannot be used as a function
 2935 |     if(string_is_less(CALCULATOR->functions[i]->title(), f->title())) {
      |                                                                    ^
callbacks.cc:2937:12: error: 'struct tree_struct' has no member named 'objects'
 2937 |      item->objects.insert(item->objects.begin() + i3, (void*) CALCULATOR->functions[i]);
      |            ^~~~~~~
callbacks.cc:2937:33: error: 'struct tree_struct' has no member named 'objects'
 2937 |      item->objects.insert(item->objects.begin() + i3, (void*) CALCULATOR->functions[i]);
      |                                 ^~~~~~~
callbacks.cc:2941:17: error: 'struct tree_struct' has no member named 'objects'
 2941 |    if(!b) item->objects.push_back((void*) CALCULATOR->functions[i]);
      |                 ^~~~~~~
callbacks.cc: In function 'void update_functions_tree()':
callbacks.cc:2962:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 2962 |  string str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:2964:16: error: 'struct tree_struct' has no member named 'it'
 2964 |  function_cats.it = function_cats.items.begin();
      |                ^~
callbacks.cc:2964:35: error: 'struct tree_struct' has no member named 'items'
 2964 |  function_cats.it = function_cats.items.begin();
      |                                   ^~~~~
callbacks.cc:2965:19: error: 'struct tree_struct' has no member named 'it'
 2965 |  if(function_cats.it != function_cats.items.end()) {
      |                   ^~
callbacks.cc:2965:39: error: 'struct tree_struct' has no member named 'items'
 2965 |  if(function_cats.it != function_cats.items.end()) {
      |                                       ^~~~~
callbacks.cc:2966:26: error: 'struct tree_struct' has no member named 'it'
 2966 |   item = &*function_cats.it;
      |                          ^~
callbacks.cc:2967:19: error: 'struct tree_struct' has no member named 'it'
 2967 |   ++function_cats.it;
      |                   ^~
callbacks.cc:2968:9: error: 'struct tree_struct' has no member named 'it'
 2968 |   item->it = item->items.begin();
      |         ^~
callbacks.cc:2968:20: error: 'struct tree_struct' has no member named 'items'
 2968 |   item->it = item->items.begin();
      |                    ^~~~~
callbacks.cc:2972:2: error: 'str' was not declared in this scope; did you mean 'std'?
 2972 |  str = "";
      |  ^~~
      |  std
callbacks.cc:2977:16: error: 'struct tree_struct' has no member named 'item'
 2977 |   str += item->item;
      |                ^~~~
callbacks.cc:2978:65: error: 'struct tree_struct' has no member named 'item'
 2978 |   gtk_tree_store_set(tFunctionCategories_store, &iter, 0, item->item.c_str(), 1, str.c_str(), -1);
      |                                                                 ^~~~
callbacks.cc:2979:13: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
 2979 |   if(str == selected_function_category) {
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |             selected_function
callbacks.cc:2983:23: error: 'struct tree_struct' has no member named 'it'
 2983 |   while(item && item->it == item->items.end()) {
      |                       ^~
callbacks.cc:2983:35: error: 'struct tree_struct' has no member named 'items'
 2983 |   while(item && item->it == item->items.end()) {
      |                                   ^~~~~
callbacks.cc:2985:16: error: 'string' is not a class, namespace, or enumeration
 2985 |    if(str_i == string::npos) {
      |                ^~~~~~
callbacks.cc:2995:20: error: 'struct tree_struct' has no member named 'it'
 2995 |    item2 = &*item->it;
      |                    ^~
callbacks.cc:2996:13: error: 'struct tree_struct' has no member named 'it'
 2996 |    if(item->it == item->items.begin()) iter2 = iter;
      |             ^~
callbacks.cc:2996:25: error: 'struct tree_struct' has no member named 'items'
 2996 |    if(item->it == item->items.begin()) iter2 = iter;
      |                         ^~~~~
callbacks.cc:2997:12: error: 'struct tree_struct' has no member named 'it'
 2997 |    ++item->it;
      |            ^~
callbacks.cc:2999:10: error: 'struct tree_struct' has no member named 'it'
 2999 |    item->it = item->items.begin();
      |          ^~
callbacks.cc:2999:21: error: 'struct tree_struct' has no member named 'items'
 2999 |    item->it = item->items.begin();
      |                     ^~~~~
callbacks.cc:3002:20: error: 'struct tree_struct' has no member named 'objects'
 3002 |  if(!function_cats.objects.empty()) {
      |                    ^~~~~~~
callbacks.cc:3007:6: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
 3007 |   if(selected_function_category == _("Uncategorized")) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |      selected_function
callbacks.cc:3011:6: error: 'ia_functions' was not declared in this scope; did you mean 'tFunctions'?
 3011 |  if(!ia_functions.empty()) {
      |      ^~~~~~~~~~~~
      |      tFunctions
callbacks.cc:3016:6: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
 3016 |   if(selected_function_category == _("Inactive")) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |      selected_function
callbacks.cc:3022:3: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
 3022 |   selected_function_category = _("All");
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |   selected_function
callbacks.cc: In function 'void on_tFunctionCategories_selection_changed(GtkTreeSelection*, gpointer)':
callbacks.cc:3060:3: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
 3060 |   selected_function_category = gstr;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |   selected_function
callbacks.cc:3069:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3069 |    string str = selected_function_category.substr(1, selected_function_category.length() - 1);
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3071:139: error: 'str' was not declared in this scope; did you mean 'gstr'?
 3071 |     if(CALCULATOR->functions[i]->isActive() && CALCULATOR->functions[i]->category().substr(0, selected_function_category.length() - 1) == str) {
      |                                                                                                                                           ^~~
      |                                                                                                                                           gstr
callbacks.cc:3089:3: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
 3089 |   selected_function_category = "";
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |   selected_function
callbacks.cc: In function 'void on_tFunctions_selection_changed(GtkTreeSelection*, gpointer)':
callbacks.cc:3112:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3112 |     string str, str2;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3114:5: error: 'str' was not declared in this scope; did you mean 'std'?
 3114 |     str += ename->name;
      |     ^~~
      |     std
callbacks.cc:3134:8: error: 'str2' was not declared in this scope
 3134 |        str2 = arg->name();
      |        ^~~~
callbacks.cc:3136:8: error: 'str2' was not declared in this scope
 3136 |        str2 = _("argument");
      |        ^~~~
callbacks.cc:3140:14: error: 'str2' was not declared in this scope
 3140 |       str += str2;
      |              ^~~~
callbacks.cc:3202:8: error: 'str2' was not declared in this scope
 3202 |        str2 = arg->printlong();
      |        ^~~~
callbacks.cc:3204:8: error: 'str2' was not declared in this scope
 3204 |        str2 = default_arg.printlong();
      |        ^~~~
callbacks.cc:3207:8: error: 'str2' was not declared in this scope
 3207 |        str2 += " (";
      |        ^~~~
callbacks.cc:3218:7: error: 'str2' was not declared in this scope
 3218 |       str2 += "\n";
      |       ^~~~
callbacks.cc: In function 'void update_variables_tree()':
callbacks.cc:3308:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3308 |  string str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3310:16: error: 'struct tree_struct' has no member named 'it'
 3310 |  variable_cats.it = variable_cats.items.begin();
      |                ^~
callbacks.cc:3310:35: error: 'struct tree_struct' has no member named 'items'
 3310 |  variable_cats.it = variable_cats.items.begin();
      |                                   ^~~~~
callbacks.cc:3311:19: error: 'struct tree_struct' has no member named 'it'
 3311 |  if(variable_cats.it != variable_cats.items.end()) {
      |                   ^~
callbacks.cc:3311:39: error: 'struct tree_struct' has no member named 'items'
 3311 |  if(variable_cats.it != variable_cats.items.end()) {
      |                                       ^~~~~
callbacks.cc:3312:26: error: 'struct tree_struct' has no member named 'it'
 3312 |   item = &*variable_cats.it;
      |                          ^~
callbacks.cc:3313:19: error: 'struct tree_struct' has no member named 'it'
 3313 |   ++variable_cats.it;
      |                   ^~
callbacks.cc:3314:9: error: 'struct tree_struct' has no member named 'it'
 3314 |   item->it = item->items.begin();
      |         ^~
callbacks.cc:3314:20: error: 'struct tree_struct' has no member named 'items'
 3314 |   item->it = item->items.begin();
      |                    ^~~~~
callbacks.cc:3318:2: error: 'str' was not declared in this scope; did you mean 'std'?
 3318 |  str = "";
      |  ^~~
      |  std
callbacks.cc:3323:16: error: 'struct tree_struct' has no member named 'item'
 3323 |   str += item->item;
      |                ^~~~
callbacks.cc:3324:65: error: 'struct tree_struct' has no member named 'item'
 3324 |   gtk_tree_store_set(tVariableCategories_store, &iter, 0, item->item.c_str(), 1, str.c_str(), -1);
      |                                                                 ^~~~
callbacks.cc:3325:13: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
 3325 |   if(str == selected_variable_category) {
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |             selected_variable
callbacks.cc:3330:23: error: 'struct tree_struct' has no member named 'it'
 3330 |   while(item && item->it == item->items.end()) {
      |                       ^~
callbacks.cc:3330:35: error: 'struct tree_struct' has no member named 'items'
 3330 |   while(item && item->it == item->items.end()) {
      |                                   ^~~~~
callbacks.cc:3332:16: error: 'string' is not a class, namespace, or enumeration
 3332 |    if(str_i == string::npos) {
      |                ^~~~~~
callbacks.cc:3342:20: error: 'struct tree_struct' has no member named 'it'
 3342 |    item2 = &*item->it;
      |                    ^~
callbacks.cc:3343:13: error: 'struct tree_struct' has no member named 'it'
 3343 |    if(item->it == item->items.begin()) iter2 = iter;
      |             ^~
callbacks.cc:3343:25: error: 'struct tree_struct' has no member named 'items'
 3343 |    if(item->it == item->items.begin()) iter2 = iter;
      |                         ^~~~~
callbacks.cc:3344:12: error: 'struct tree_struct' has no member named 'it'
 3344 |    ++item->it;
      |            ^~
callbacks.cc:3346:10: error: 'struct tree_struct' has no member named 'it'
 3346 |    item->it = item->items.begin();
      |          ^~
callbacks.cc:3346:21: error: 'struct tree_struct' has no member named 'items'
 3346 |    item->it = item->items.begin();
      |                     ^~~~~
callbacks.cc:3350:20: error: 'struct tree_struct' has no member named 'objects'
 3350 |  if(!variable_cats.objects.empty()) {
      |                    ^~~~~~~
callbacks.cc:3355:6: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
 3355 |   if(selected_variable_category == _("Uncategorized")) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |      selected_variable
callbacks.cc:3359:6: error: 'ia_variables' was not declared in this scope; did you mean 'tVariables'?
 3359 |  if(!ia_variables.empty()) {
      |      ^~~~~~~~~~~~
      |      tVariables
callbacks.cc:3364:6: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
 3364 |   if(selected_variable_category == _("Inactive")) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |      selected_variable
callbacks.cc:3370:3: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
 3370 |   selected_variable_category = _("All");
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |   selected_variable
callbacks.cc: In function 'void setVariableTreeItem(GtkTreeIter&, Variable*)':
callbacks.cc:3379:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3379 |  string value = "";
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3381:3: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3381 |   value = _("a previous result");
      |   ^~~~~
      |   GValue
callbacks.cc:3384:4: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3384 |    value = CALCULATOR->localizeExpression(((KnownVariable*) v)->expression());
      |    ^~~~~
      |    GValue
callbacks.cc:3403:5: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3403 |     value = _("matrix");
      |     ^~~~~
      |     GValue
callbacks.cc:3405:5: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3405 |     value = _("vector");
      |     ^~~~~
      |     GValue
callbacks.cc:3409:5: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3409 |     value = CALCULATOR->print(((KnownVariable*) v)->get(), 30, po);
      |     ^~~~~
      |     GValue
callbacks.cc:3415:37: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3415 |     case ASSUMPTION_SIGN_POSITIVE: {value = _("positive"); break;}
      |                                     ^~~~~
      |                                     GValue
callbacks.cc:3416:40: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3416 |     case ASSUMPTION_SIGN_NONPOSITIVE: {value = _("non-positive"); break;}
      |                                        ^~~~~
      |                                        GValue
callbacks.cc:3417:37: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3417 |     case ASSUMPTION_SIGN_NEGATIVE: {value = _("negative"); break;}
      |                                     ^~~~~
      |                                     GValue
callbacks.cc:3418:40: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3418 |     case ASSUMPTION_SIGN_NONNEGATIVE: {value = _("non-negative"); break;}
      |                                        ^~~~~
      |                                        GValue
callbacks.cc:3419:36: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3419 |     case ASSUMPTION_SIGN_NONZERO: {value = _("non-zero"); break;}
      |                                    ^~~~~
      |                                    GValue
callbacks.cc:3422:8: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3422 |    if(!value.empty() && ((UnknownVariable*) v)->assumptions()->type() != ASSUMPTION_TYPE_NONE) value += " ";
      |        ^~~~~
      |        GValue
callbacks.cc:3424:36: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3424 |     case ASSUMPTION_TYPE_INTEGER: {value += _("integer"); break;}
      |                                    ^~~~~
      |                                    GValue
callbacks.cc:3425:37: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3425 |     case ASSUMPTION_TYPE_RATIONAL: {value += _("rational"); break;}
      |                                     ^~~~~
      |                                     GValue
callbacks.cc:3426:33: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3426 |     case ASSUMPTION_TYPE_REAL: {value += _("real"); break;}
      |                                 ^~~~~
      |                                 GValue
callbacks.cc:3427:36: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3427 |     case ASSUMPTION_TYPE_COMPLEX: {value += _("complex"); break;}
      |                                    ^~~~~
      |                                    GValue
callbacks.cc:3428:35: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3428 |     case ASSUMPTION_TYPE_NUMBER: {value += _("number"); break;}
      |                                   ^~~~~
      |                                   GValue
callbacks.cc:3429:38: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3429 |     case ASSUMPTION_TYPE_NONMATRIX: {value += _("(not matrix)"); break;}
      |                                      ^~~~~
      |                                      GValue
callbacks.cc:3432:7: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3432 |    if(value.empty()) value = _("unknown");
      |       ^~~~~
      |       GValue
callbacks.cc:3434:4: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3434 |    value = _("default assumptions");
      |    ^~~~~
      |    GValue
callbacks.cc:3437:77: error: 'value' was not declared in this scope; did you mean 'GValue'?
 3437 |  gtk_list_store_set(tVariables_store, &iter2, 0, v->title(true).c_str(), 1, value.c_str(), 2, (gpointer) v, 3, TRUE, -1);
      |                                                                             ^~~~~
      |                                                                             GValue
callbacks.cc: In function 'void on_tVariableCategories_selection_changed(GtkTreeSelection*, gpointer)':
callbacks.cc:3467:3: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
 3467 |   selected_variable_category = gstr;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |   selected_variable
callbacks.cc:3477:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3477 |    string str = selected_variable_category.substr(1, selected_variable_category.length() - 1);
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3479:139: error: 'str' was not declared in this scope; did you mean 'gstr'?
 3479 |     if(CALCULATOR->variables[i]->isActive() && CALCULATOR->variables[i]->category().substr(0, selected_variable_category.length() - 1) == str) {
      |                                                                                                                                           ^~~
      |                                                                                                                                           gstr
callbacks.cc:3499:3: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
 3499 |   selected_variable_category = "";
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |   selected_variable
callbacks.cc: In function 'void update_units_tree()':
callbacks.cc:3560:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3560 |  string str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3562:12: error: 'struct tree_struct' has no member named 'it'
 3562 |  unit_cats.it = unit_cats.items.begin();
      |            ^~
callbacks.cc:3562:27: error: 'struct tree_struct' has no member named 'items'
 3562 |  unit_cats.it = unit_cats.items.begin();
      |                           ^~~~~
callbacks.cc:3563:15: error: 'struct tree_struct' has no member named 'it'
 3563 |  if(unit_cats.it != unit_cats.items.end()) {
      |               ^~
callbacks.cc:3563:31: error: 'struct tree_struct' has no member named 'items'
 3563 |  if(unit_cats.it != unit_cats.items.end()) {
      |                               ^~~~~
callbacks.cc:3564:22: error: 'struct tree_struct' has no member named 'it'
 3564 |   item = &*unit_cats.it;
      |                      ^~
callbacks.cc:3565:15: error: 'struct tree_struct' has no member named 'it'
 3565 |   ++unit_cats.it;
      |               ^~
callbacks.cc:3566:9: error: 'struct tree_struct' has no member named 'it'
 3566 |   item->it = item->items.begin();
      |         ^~
callbacks.cc:3566:20: error: 'struct tree_struct' has no member named 'items'
 3566 |   item->it = item->items.begin();
      |                    ^~~~~
callbacks.cc:3570:2: error: 'str' was not declared in this scope; did you mean 'std'?
 3570 |  str = "";
      |  ^~~
      |  std
callbacks.cc:3575:16: error: 'struct tree_struct' has no member named 'item'
 3575 |   str += item->item;
      |                ^~~~
callbacks.cc:3576:61: error: 'struct tree_struct' has no member named 'item'
 3576 |   gtk_tree_store_set(tUnitCategories_store, &iter, 0, item->item.c_str(), 1, str.c_str(), -1);
      |                                                             ^~~~
callbacks.cc:3577:13: error: 'selected_unit_category' was not declared in this scope
 3577 |   if(str == selected_unit_category) {
      |             ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:3581:23: error: 'struct tree_struct' has no member named 'it'
 3581 |   while(item && item->it == item->items.end()) {
      |                       ^~
callbacks.cc:3581:35: error: 'struct tree_struct' has no member named 'items'
 3581 |   while(item && item->it == item->items.end()) {
      |                                   ^~~~~
callbacks.cc:3583:16: error: 'string' is not a class, namespace, or enumeration
 3583 |    if(str_i == string::npos) {
      |                ^~~~~~
callbacks.cc:3593:20: error: 'struct tree_struct' has no member named 'it'
 3593 |    item2 = &*item->it;
      |                    ^~
callbacks.cc:3594:13: error: 'struct tree_struct' has no member named 'it'
 3594 |    if(item->it == item->items.begin()) iter2 = iter;
      |             ^~
callbacks.cc:3594:25: error: 'struct tree_struct' has no member named 'items'
 3594 |    if(item->it == item->items.begin()) iter2 = iter;
      |                         ^~~~~
callbacks.cc:3595:12: error: 'struct tree_struct' has no member named 'it'
 3595 |    ++item->it;
      |            ^~
callbacks.cc:3597:10: error: 'struct tree_struct' has no member named 'it'
 3597 |    item->it = item->items.begin();
      |          ^~
callbacks.cc:3597:21: error: 'struct tree_struct' has no member named 'items'
 3597 |    item->it = item->items.begin();
      |                     ^~~~~
callbacks.cc:3600:16: error: 'struct tree_struct' has no member named 'objects'
 3600 |  if(!unit_cats.objects.empty()) {
      |                ^~~~~~~
callbacks.cc:3604:6: error: 'selected_unit_category' was not declared in this scope
 3604 |   if(selected_unit_category == _("Uncategorized")) {
      |      ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:3609:6: error: 'ia_units' was not declared in this scope
 3609 |  if(!ia_units.empty()) {
      |      ^~~~~~~~
callbacks.cc:3612:6: error: 'selected_unit_category' was not declared in this scope
 3612 |   if(selected_unit_category == _("Inactive")) {
      |      ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:3619:3: error: 'selected_unit_category' was not declared in this scope
 3619 |   selected_unit_category = _("All");
      |   ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void setUnitTreeItem(GtkTreeIter&, Unit*)':
callbacks.cc:3628:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3628 |  string snames, sbase;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3632:13: error: 'snames' was not declared in this scope; did you mean 'tNames'?
 3632 |   if(i > 1) snames += " / ";
      |             ^~~~~~
      |             tNames
callbacks.cc:3633:3: error: 'snames' was not declared in this scope; did you mean 'tNames'?
 3633 |   snames += u->getName(i).name;
      |   ^~~~~~
      |   tNames
callbacks.cc:3638:4: error: 'snames' was not declared in this scope; did you mean 'tNames'?
 3638 |    snames = "";
      |    ^~~~~~
      |    tNames
callbacks.cc:3639:4: error: 'sbase' was not declared in this scope; did you mean 'to_base'?
 3639 |    sbase = ((CompositeUnit*) u)->print(false, true, printops.use_unicode_signs, &can_display_unicode_string_function, (void*) tUnits);
      |    ^~~~~
      |    to_base
callbacks.cc:3644:4: error: 'sbase' was not declared in this scope; did you mean 'to_base'?
 3644 |    sbase = au->firstBaseUnit()->preferredDisplayName(printops.abbreviate_names, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) tUnits).name;
      |    ^~~~~
      |    to_base
callbacks.cc:3652:4: error: 'sbase' was not declared in this scope; did you mean 'to_base'?
 3652 |    sbase = "";
      |    ^~~~~
      |    to_base
callbacks.cc:3657:107: error: 'snames' was not declared in this scope; did you mean 'tNames'?
 3657 |  gtk_list_store_set(tUnits_store, &iter2, UNITS_TITLE_COLUMN, u->title(true).c_str(), UNITS_NAMES_COLUMN, snames.c_str(), UNITS_BASE_COLUMN, sbase.c_str(), UNITS_POINTER_COLUMN, (gpointer) u, UNITS_VISIBLE_COLUMN, TRUE, UNITS_VISIBLE_COLUMN_CONVERT, TRUE, -1);
      |                                                                                                           ^~~~~~
      |                                                                                                           tNames
callbacks.cc:3657:142: error: 'sbase' was not declared in this scope; did you mean 'to_base'?
 3657 |  gtk_list_store_set(tUnits_store, &iter2, UNITS_TITLE_COLUMN, u->title(true).c_str(), UNITS_NAMES_COLUMN, snames.c_str(), UNITS_BASE_COLUMN, sbase.c_str(), UNITS_POINTER_COLUMN, (gpointer) u, UNITS_VISIBLE_COLUMN, TRUE, UNITS_VISIBLE_COLUMN_CONVERT, TRUE, -1);
      |                                                                                                                                              ^~~~~
      |                                                                                                                                              to_base
callbacks.cc:3659:3: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
 3659 |   unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(u->referenceName());
      |   ^~~~~~~~~~~~~
      |   std::unordered_map
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
callbacks.cc:3659:34: error: expected primary-expression before '*' token
 3659 |   unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(u->referenceName());
      |                                  ^
callbacks.cc:3659:35: error: expected primary-expression before '>' token
 3659 |   unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(u->referenceName());
      |                                   ^
callbacks.cc:3659:38: error: '::const_iterator' has not been declared
 3659 |   unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(u->referenceName());
      |                                      ^~~~~~~~~~~~~~
callbacks.cc:3660:6: error: 'it_flag' was not declared in this scope
 3660 |   if(it_flag != flag_images.end()) {
      |      ^~~~~~~
callbacks.cc:3660:17: error: 'flag_images' was not declared in this scope
 3660 |   if(it_flag != flag_images.end()) {
      |                 ^~~~~~~~~~~
callbacks.cc: In function 'void on_tUnitCategories_selection_changed(GtkTreeSelection*, gpointer)':
callbacks.cc:3700:3: error: 'selected_unit_category' was not declared in this scope
 3700 |   selected_unit_category = gstr;
      |   ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:3709:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3709 |    string str = selected_unit_category.substr(1, selected_unit_category.length() - 1);
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3711:127: error: 'str' was not declared in this scope; did you mean 'gstr'?
 3711 |     if(CALCULATOR->units[i]->isActive() && CALCULATOR->units[i]->category().substr(0, selected_unit_category.length() - 1) == str) {
      |                                                                                                                               ^~~
      |                                                                                                                               gstr
callbacks.cc:3735:3: error: 'selected_unit_category' was not declared in this scope
 3735 |   selected_unit_category = "";
      |   ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void update_unit_selector_tree()':
callbacks.cc:3797:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3797 |  string str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3799:12: error: 'struct tree_struct' has no member named 'it'
 3799 |  unit_cats.it = unit_cats.items.begin();
      |            ^~
callbacks.cc:3799:27: error: 'struct tree_struct' has no member named 'items'
 3799 |  unit_cats.it = unit_cats.items.begin();
      |                           ^~~~~
callbacks.cc:3800:15: error: 'struct tree_struct' has no member named 'it'
 3800 |  if(unit_cats.it != unit_cats.items.end()) {
      |               ^~
callbacks.cc:3800:31: error: 'struct tree_struct' has no member named 'items'
 3800 |  if(unit_cats.it != unit_cats.items.end()) {
      |                               ^~~~~
callbacks.cc:3801:22: error: 'struct tree_struct' has no member named 'it'
 3801 |   item = &*unit_cats.it;
      |                      ^~
callbacks.cc:3802:15: error: 'struct tree_struct' has no member named 'it'
 3802 |   ++unit_cats.it;
      |               ^~
callbacks.cc:3803:9: error: 'struct tree_struct' has no member named 'it'
 3803 |   item->it = item->items.begin();
      |         ^~
callbacks.cc:3803:20: error: 'struct tree_struct' has no member named 'items'
 3803 |   item->it = item->items.begin();
      |                    ^~~~~
callbacks.cc:3807:2: error: 'str' was not declared in this scope; did you mean 'std'?
 3807 |  str = "";
      |  ^~~
      |  std
callbacks.cc:3809:2: error: 'convert_category_map' was not declared in this scope
 3809 |  convert_category_map.clear();
      |  ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:3813:16: error: 'struct tree_struct' has no member named 'item'
 3813 |   str += item->item;
      |                ^~~~
callbacks.cc:3814:69: error: 'struct tree_struct' has no member named 'item'
 3814 |   gtk_tree_store_set(tUnitSelectorCategories_store, &iter, 0, item->item.c_str(), 1, str.c_str(), -1);
      |                                                                     ^~~~
callbacks.cc:3815:13: error: 'selected_unit_category' was not declared in this scope
 3815 |   if(str == selected_unit_category) {
      |             ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:3820:23: error: 'struct tree_struct' has no member named 'it'
 3820 |   while(item && item->it == item->items.end()) {
      |                       ^~
callbacks.cc:3820:35: error: 'struct tree_struct' has no member named 'items'
 3820 |   while(item && item->it == item->items.end()) {
      |                                   ^~~~~
callbacks.cc:3822:16: error: 'string' is not a class, namespace, or enumeration
 3822 |    if(str_i == string::npos) {
      |                ^~~~~~
callbacks.cc:3832:20: error: 'struct tree_struct' has no member named 'it'
 3832 |    item2 = &*item->it;
      |                    ^~
callbacks.cc:3833:13: error: 'struct tree_struct' has no member named 'it'
 3833 |    if(item->it == item->items.begin()) iter2 = iter;
      |             ^~
callbacks.cc:3833:25: error: 'struct tree_struct' has no member named 'items'
 3833 |    if(item->it == item->items.begin()) iter2 = iter;
      |                         ^~~~~
callbacks.cc:3834:12: error: 'struct tree_struct' has no member named 'it'
 3834 |    ++item->it;
      |            ^~
callbacks.cc:3836:10: error: 'struct tree_struct' has no member named 'it'
 3836 |    item->it = item->items.begin();
      |          ^~
callbacks.cc:3836:21: error: 'struct tree_struct' has no member named 'items'
 3836 |    item->it = item->items.begin();
      |                     ^~~~~
callbacks.cc:3839:16: error: 'struct tree_struct' has no member named 'objects'
 3839 |  if(!unit_cats.objects.empty()) {
      |                ^~~~~~~
callbacks.cc:3844:6: error: 'selected_unit_category' was not declared in this scope
 3844 |   if(selected_unit_category == _("Uncategorized")) {
      |      ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:3851:3: error: 'selected_unit_category' was not declared in this scope
 3851 |   selected_unit_category = _("All");
      |   ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_functions_entry_search_changed(GtkEntry*, gpointer)':
callbacks.cc:3863:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3863 |  string str = gtk_entry_get_text(w);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3864:20: error: 'str' was not declared in this scope; did you mean 'std'?
 3864 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:3870:10: error: expected ';' before 'title'
 3870 |    string title = u->title(true);
      |          ^~~~~~
      |          ;
callbacks.cc:3871:22: error: 'title' was not declared in this scope
 3871 |    remove_blank_ends(title);
      |                      ^~~~~
callbacks.cc:3878:13: error: 'string' is not a class, namespace, or enumeration
 3878 |     if(i == string::npos) break;
      |             ^~~~~~
callbacks.cc: In function 'void on_variables_entry_search_changed(GtkEntry*, gpointer)':
callbacks.cc:3918:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3918 |  string str = gtk_entry_get_text(w);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3919:20: error: 'str' was not declared in this scope; did you mean 'std'?
 3919 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:3925:10: error: expected ';' before 'title'
 3925 |    string title = u->title(true);
      |          ^~~~~~
      |          ;
callbacks.cc:3926:22: error: 'title' was not declared in this scope
 3926 |    remove_blank_ends(title);
      |                      ^~~~~
callbacks.cc:3933:13: error: 'string' is not a class, namespace, or enumeration
 3933 |     if(i == string::npos) break;
      |             ^~~~~~
callbacks.cc: In function 'void on_units_entry_search_changed(GtkEntry*, gpointer)':
callbacks.cc:3974:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 3974 |  string str = gtk_entry_get_text(w);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:3975:20: error: 'str' was not declared in this scope; did you mean 'std'?
 3975 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc: In function 'void on_units_convert_search_changed(GtkEntry*, gpointer)':
callbacks.cc:4006:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 4006 |  string str = gtk_entry_get_text(w);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:4007:20: error: 'str' was not declared in this scope; did you mean 'std'?
 4007 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc: In function 'void on_convert_entry_search_changed(GtkEntry*, gpointer)':
callbacks.cc:4035:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 4035 |  string str = gtk_entry_get_text(w);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:4036:20: error: 'str' was not declared in this scope; did you mean 'std'?
 4036 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc: In function 'void setUnitSelectorTreeItem(GtkTreeIter&, Unit*)':
callbacks.cc:4069:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 4069 |  string snames, sbase;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:4071:3: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
 4071 |   unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(u->referenceName());
      |   ^~~~~~~~~~~~~
      |   std::unordered_map
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
callbacks.cc:4071:34: error: expected primary-expression before '*' token
 4071 |   unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(u->referenceName());
      |                                  ^
callbacks.cc:4071:35: error: expected primary-expression before '>' token
 4071 |   unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(u->referenceName());
      |                                   ^
callbacks.cc:4071:38: error: '::const_iterator' has not been declared
 4071 |   unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(u->referenceName());
      |                                      ^~~~~~~~~~~~~~
callbacks.cc:4072:98: error: 'it_flag' was not declared in this scope
 4072 |   gtk_list_store_set(tUnitSelector_store, &iter2, 0, u->title(true).c_str(), 1, (gpointer) u, 2, it_flag == flag_images.end() ? NULL : it_flag->second, 3, TRUE, -1);
      |                                                                                                  ^~~~~~~
callbacks.cc:4072:109: error: 'flag_images' was not declared in this scope
 4072 |   gtk_list_store_set(tUnitSelector_store, &iter2, 0, u->title(true).c_str(), 1, (gpointer) u, 2, it_flag == flag_images.end() ? NULL : it_flag->second, 3, TRUE, -1);
      |                                                                                                             ^~~~~~~~~~~
callbacks.cc: In function 'void on_tUnitSelectorCategories_selection_changed(GtkTreeSelection*, gpointer)':
callbacks.cc:4100:3: error: 'selected_unit_selector_category' was not declared in this scope
 4100 |   selected_unit_selector_category = gstr;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:4108:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
 4108 |    string str = selected_unit_selector_category.substr(1, selected_unit_selector_category.length() - 1);
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:4110:213: error: 'str' was not declared in this scope; did you mean 'gstr'?
 4110 |     if(CALCULATOR->units[i]->isActive() && (!CALCULATOR->units[i]->isHidden() || CALCULATOR->units[i]->isCurrency()) && CALCULATOR->units[i]->category().substr(0, selected_unit_selector_category.length() - 1) == str) {
      |                                                                                                                                                                                                                     ^~~
      |                                                                                                                                                                                                                     gstr
callbacks.cc:4160:3: error: 'selected_unit_selector_category' was not declared in this scope
 4160 |   selected_unit_selector_category = "";
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_tDatasets_selection_changed(GtkTreeSelection*, gpointer)':
callbacks.cc:4264:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
 4264 |   string str, str2;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:4266:4: error: 'str' was not declared in this scope; did you mean 'std'?
 4266 |    str = ds->description();
      |    ^~~
      |    std
callbacks.cc:4272:3: error: 'str' was not declared in this scope; did you mean 'std'?
 4272 |   str = _("Properties");
      |   ^~~
      |   std
callbacks.cc:4333:6: error: 'str2' was not declared in this scope
 4333 |      str2 = arg->name();
      |      ^~~~
callbacks.cc:4335:6: error: 'str2' was not declared in this scope
 4335 |      str2 = _("argument");
      |      ^~~~
callbacks.cc:4339:12: error: 'str2' was not declared in this scope
 4339 |     str += str2;
      |            ^~~~
callbacks.cc: In function 'void on_dataset_button_function_clicked(GtkButton*, gpointer)':
callbacks.cc:4390:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
 4390 |   string str = ds->preferredDisplayName(printops.abbreviate_names, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) w).name;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:4391:3: error: 'str' was not declared in this scope; did you mean 'std'?
 4391 |   str += "(";
      |   ^~~
      |   std
callbacks.cc: In function 'void on_tDataObjects_selection_changed(GtkTreeSelection*, gpointer)':
callbacks.cc:4420:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
 4420 |   string sval;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:4426:9: error: expected ';' before 'str'
 4426 |   string str;
      |         ^~~~
      |         ;
callbacks.cc:4429:5: error: 'sval' was not declared in this scope
 4429 |     sval = o->getPropertyDisplayString(dp);
      |     ^~~~
callbacks.cc:4432:6: error: 'str' was not declared in this scope; did you mean 'std'?
 4432 |      str = "<span weight=\"bold\">"; str += dp->title(); str += ":"; str += "</span>";
      |      ^~~
      |      std
callbacks.cc: In function 'void update_function_arguments_list(MathFunction*)':
callbacks.cc:4637:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
 4637 |   string str, str2;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:4643:5: error: 'str' was not declared in this scope; did you mean 'std'?
 4643 |     str = arg->printlong();
      |     ^~~
      |     std
callbacks.cc:4644:5: error: 'str2' was not declared in this scope
 4644 |     str2 = arg->name();
      |     ^~~~
callbacks.cc:4646:5: error: 'str' was not declared in this scope; did you mean 'std'?
 4646 |     str = defarg.printlong();
      |     ^~~
      |     std
callbacks.cc:4647:5: error: 'str2' was not declared in this scope
 4647 |     str2 = "";
      |     ^~~~
callbacks.cc:4649:59: error: 'str2' was not declared in this scope
 4649 |    gtk_list_store_set(tFunctionArguments_store, &iter, 0, str2.c_str(), 1, str.c_str(), 2, (gpointer) arg, -1);
      |                                                           ^~~~
callbacks.cc:4649:76: error: 'str' was not declared in this scope; did you mean 'std'?
 4649 |    gtk_list_store_set(tFunctionArguments_store, &iter, 0, str2.c_str(), 1, str.c_str(), 2, (gpointer) arg, -1);
      |                                                                            ^~~
      |                                                                            std
callbacks.cc: In function 'void create_umenu()':
callbacks.cc:4695:12: error: 'struct tree_struct' has no member named 'rit'
 4695 |  unit_cats.rit = unit_cats.items.rbegin();
      |            ^~~
callbacks.cc:4695:28: error: 'struct tree_struct' has no member named 'items'
 4695 |  unit_cats.rit = unit_cats.items.rbegin();
      |                            ^~~~~
callbacks.cc:4696:15: error: 'struct tree_struct' has no member named 'rit'
 4696 |  if(unit_cats.rit != unit_cats.items.rend()) {
      |               ^~~
callbacks.cc:4696:32: error: 'struct tree_struct' has no member named 'items'
 4696 |  if(unit_cats.rit != unit_cats.items.rend()) {
      |                                ^~~~~
callbacks.cc:4697:23: error: 'struct tree_struct' has no member named 'rit'
 4697 |   titem = &*unit_cats.rit;
      |                       ^~~
callbacks.cc:4698:15: error: 'struct tree_struct' has no member named 'rit'
 4698 |   ++unit_cats.rit;
      |               ^~~
callbacks.cc:4699:10: error: 'struct tree_struct' has no member named 'rit'
 4699 |   titem->rit = titem->items.rbegin();
      |          ^~~
callbacks.cc:4699:23: error: 'struct tree_struct' has no member named 'items'
 4699 |   titem->rit = titem->items.rbegin();
      |                       ^~~~~
callbacks.cc:4703:2: error: 'stack' was not declared in this scope; did you mean 'std::stack'?
 4703 |  stack<GtkWidget*> menus;
      |  ^~~~~
      |  std::stack
In file included from /usr/include/g++/stack:61,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:19,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_stack.h:99:11: note: 'std::stack' declared here
   99 |     class stack
      |           ^~~~~
callbacks.cc:4703:17: error: expected primary-expression before '*' token
 4703 |  stack<GtkWidget*> menus;
      |                 ^
callbacks.cc:4703:18: error: expected primary-expression before '>' token
 4703 |  stack<GtkWidget*> menus;
      |                  ^
callbacks.cc:4703:20: error: 'menus' was not declared in this scope
 4703 |  stack<GtkWidget*> menus;
      |                    ^~~~~
callbacks.cc:4707:25: error: 'struct tree_struct' has no member named 'items'
 4707 |   bool b_empty = titem->items.size() == 0;
      |                         ^~~~~
callbacks.cc:4709:33: error: 'struct tree_struct' has no member named 'objects'
 4709 |    for(size_t i = 0; i < titem->objects.size(); i++) {
      |                                 ^~~~~~~
callbacks.cc:4710:24: error: 'struct tree_struct' has no member named 'objects'
 4710 |     u = (Unit*) titem->objects[i];
      |                        ^~~~~~~
In file included from callbacks.cc:29:
callbacks.cc:4718:32: error: 'struct tree_struct' has no member named 'item'
 4718 |    SUBMENU_ITEM_PREPEND(titem->item.c_str(), sub3)
      |                                ^~~~
interface.h:34:72: note: in definition of macro 'SUBMENU_ITEM_PREPEND'
   34 | #define SUBMENU_ITEM_PREPEND(x,y)  item = gtk_menu_item_new_with_label(x); gtk_widget_show (item); gtk_menu_shell_prepend(GTK_MENU_SHELL(y), item); sub = gtk_menu_new(); gtk_widget_show (sub); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), sub);
      |                                                                        ^
callbacks.cc:4722:33: error: 'struct tree_struct' has no member named 'objects'
 4722 |    for(size_t i = 0; i < titem->objects.size(); i++) {
      |                                 ^~~~~~~
callbacks.cc:4723:24: error: 'struct tree_struct' has no member named 'objects'
 4723 |     u = (Unit*) titem->objects[i];
      |                        ^~~~~~~
In file included from callbacks.cc:29:
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.h:18:110: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from callbacks.cc:29:
interface.h:18:124: error: 'string' was not declared in this scope; did you mean 'std::string'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
interface.h:18:124: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:29:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
callbacks.cc:4726:25: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
 4726 |      if(is_currencies) {MENU_ITEM_WITH_POINTER_AND_FLAG(u->title(true).c_str(), insert_unit, u)}
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
callbacks.cc:4726:25: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
 4726 |      if(is_currencies) {MENU_ITEM_WITH_POINTER_AND_FLAG(u->title(true).c_str(), insert_unit, u)}
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:145: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:211: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.h:18:222: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
callbacks.cc:4732:34: error: 'struct tree_struct' has no member named 'objects'
 4732 |     for(size_t i = 0; i < titem->objects.size(); i++) {
      |                                  ^~~~~~~
callbacks.cc:4733:25: error: 'struct tree_struct' has no member named 'objects'
 4733 |      u = (Unit*) titem->objects[i];
      |                         ^~~~~~~
In file included from callbacks.cc:29:
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.h:18:110: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from callbacks.cc:29:
interface.h:18:124: error: 'string' was not declared in this scope; did you mean 'std::string'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
interface.h:18:124: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:29:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
callbacks.cc:4735:7: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
 4735 |       MENU_ITEM_WITH_POINTER_AND_FLAG(u->title(true).c_str(), insert_unit, u)
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
callbacks.cc:4735:7: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
 4735 |       MENU_ITEM_WITH_POINTER_AND_FLAG(u->title(true).c_str(), insert_unit, u)
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:145: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:211: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.h:18:222: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
callbacks.cc:4742:25: error: 'struct tree_struct' has no member named 'rit'
 4742 |   while(titem && titem->rit == titem->items.rend()) {
      |                         ^~~
callbacks.cc:4742:39: error: 'struct tree_struct' has no member named 'items'
 4742 |   while(titem && titem->rit == titem->items.rend()) {
      |                                       ^~~~~
callbacks.cc:4748:22: error: 'struct tree_struct' has no member named 'rit'
 4748 |    titem2 = &*titem->rit;
      |                      ^~~
callbacks.cc:4749:13: error: 'struct tree_struct' has no member named 'rit'
 4749 |    ++titem->rit;
      |             ^~~
callbacks.cc:4751:11: error: 'struct tree_struct' has no member named 'rit'
 4751 |    titem->rit = titem->items.rbegin();
      |           ^~~
callbacks.cc:4751:24: error: 'struct tree_struct' has no member named 'items'
 4751 |    titem->rit = titem->items.rbegin();
      |                        ^~~~~
callbacks.cc:4755:34: error: 'struct tree_struct' has no member named 'objects'
 4755 |  for(size_t i = 0; i < unit_cats.objects.size(); i++) {
      |                                  ^~~~~~~
callbacks.cc:4756:25: error: 'struct tree_struct' has no member named 'objects'
 4756 |   u = (Unit*) unit_cats.objects[i];
      |                         ^~~~~~~
callbacks.cc: In function 'void create_umenu2()':
callbacks.cc:4782:12: error: 'struct tree_struct' has no member named 'rit'
 4782 |  unit_cats.rit = unit_cats.items.rbegin();
      |            ^~~
callbacks.cc:4782:28: error: 'struct tree_struct' has no member named 'items'
 4782 |  unit_cats.rit = unit_cats.items.rbegin();
      |                            ^~~~~
callbacks.cc:4783:15: error: 'struct tree_struct' has no member named 'rit'
 4783 |  if(unit_cats.rit != unit_cats.items.rend()) {
      |               ^~~
callbacks.cc:4783:32: error: 'struct tree_struct' has no member named 'items'
 4783 |  if(unit_cats.rit != unit_cats.items.rend()) {
      |                                ^~~~~
callbacks.cc:4784:23: error: 'struct tree_struct' has no member named 'rit'
 4784 |   titem = &*unit_cats.rit;
      |                       ^~~
callbacks.cc:4785:15: error: 'struct tree_struct' has no member named 'rit'
 4785 |   ++unit_cats.rit;
      |               ^~~
callbacks.cc:4786:10: error: 'struct tree_struct' has no member named 'rit'
 4786 |   titem->rit = titem->items.rbegin();
      |          ^~~
callbacks.cc:4786:23: error: 'struct tree_struct' has no member named 'items'
 4786 |   titem->rit = titem->items.rbegin();
      |                       ^~~~~
callbacks.cc:4790:2: error: 'stack' was not declared in this scope; did you mean 'std::stack'?
 4790 |  stack<GtkWidget*> menus;
      |  ^~~~~
      |  std::stack
In file included from /usr/include/g++/stack:61,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:19,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_stack.h:99:11: note: 'std::stack' declared here
   99 |     class stack
      |           ^~~~~
callbacks.cc:4790:17: error: expected primary-expression before '*' token
 4790 |  stack<GtkWidget*> menus;
      |                 ^
callbacks.cc:4790:18: error: expected primary-expression before '>' token
 4790 |  stack<GtkWidget*> menus;
      |                  ^
callbacks.cc:4790:20: error: 'menus' was not declared in this scope
 4790 |  stack<GtkWidget*> menus;
      |                    ^~~~~
callbacks.cc:4794:25: error: 'struct tree_struct' has no member named 'items'
 4794 |   bool b_empty = titem->items.size() == 0;
      |                         ^~~~~
callbacks.cc:4796:33: error: 'struct tree_struct' has no member named 'objects'
 4796 |    for(size_t i = 0; i < titem->objects.size(); i++) {
      |                                 ^~~~~~~
callbacks.cc:4797:24: error: 'struct tree_struct' has no member named 'objects'
 4797 |     u = (Unit*) titem->objects[i];
      |                        ^~~~~~~
In file included from callbacks.cc:29:
callbacks.cc:4805:32: error: 'struct tree_struct' has no member named 'item'
 4805 |    SUBMENU_ITEM_PREPEND(titem->item.c_str(), sub3)
      |                                ^~~~
interface.h:34:72: note: in definition of macro 'SUBMENU_ITEM_PREPEND'
   34 | #define SUBMENU_ITEM_PREPEND(x,y)  item = gtk_menu_item_new_with_label(x); gtk_widget_show (item); gtk_menu_shell_prepend(GTK_MENU_SHELL(y), item); sub = gtk_menu_new(); gtk_widget_show (sub); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), sub);
      |                                                                        ^
callbacks.cc:4809:33: error: 'struct tree_struct' has no member named 'objects'
 4809 |    for(size_t i = 0; i < titem->objects.size(); i++) {
      |                                 ^~~~~~~
callbacks.cc:4810:24: error: 'struct tree_struct' has no member named 'objects'
 4810 |     u = (Unit*) titem->objects[i];
      |                        ^~~~~~~
In file included from callbacks.cc:29:
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.h:18:110: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from callbacks.cc:29:
interface.h:18:124: error: 'string' was not declared in this scope; did you mean 'std::string'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
interface.h:18:124: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:29:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
callbacks.cc:4813:25: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
 4813 |      if(is_currencies) {MENU_ITEM_WITH_POINTER_AND_FLAG(u->title(true).c_str(), convert_to_unit, u)}
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
callbacks.cc:4813:25: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
 4813 |      if(is_currencies) {MENU_ITEM_WITH_POINTER_AND_FLAG(u->title(true).c_str(), convert_to_unit, u)}
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:145: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:211: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.h:18:222: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
callbacks.cc:4819:34: error: 'struct tree_struct' has no member named 'objects'
 4819 |     for(size_t i = 0; i < titem->objects.size(); i++) {
      |                                  ^~~~~~~
callbacks.cc:4820:25: error: 'struct tree_struct' has no member named 'objects'
 4820 |      u = (Unit*) titem->objects[i];
      |                         ^~~~~~~
In file included from callbacks.cc:29:
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.h:18:110: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from callbacks.cc:29:
interface.h:18:124: error: 'string' was not declared in this scope; did you mean 'std::string'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
interface.h:18:124: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:29:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
callbacks.cc:4822:7: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
 4822 |       MENU_ITEM_WITH_POINTER_AND_FLAG(u->title(true).c_str(), convert_to_unit, u)
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
callbacks.cc:4822:7: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
 4822 |       MENU_ITEM_WITH_POINTER_AND_FLAG(u->title(true).c_str(), convert_to_unit, u)
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:145: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:211: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.h:18:222: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
callbacks.cc:4829:25: error: 'struct tree_struct' has no member named 'rit'
 4829 |   while(titem && titem->rit == titem->items.rend()) {
      |                         ^~~
callbacks.cc:4829:39: error: 'struct tree_struct' has no member named 'items'
 4829 |   while(titem && titem->rit == titem->items.rend()) {
      |                                       ^~~~~
callbacks.cc:4835:22: error: 'struct tree_struct' has no member named 'rit'
 4835 |    titem2 = &*titem->rit;
      |                      ^~~
callbacks.cc:4836:13: error: 'struct tree_struct' has no member named 'rit'
 4836 |    ++titem->rit;
      |             ^~~
callbacks.cc:4838:11: error: 'struct tree_struct' has no member named 'rit'
 4838 |    titem->rit = titem->items.rbegin();
      |           ^~~
callbacks.cc:4838:24: error: 'struct tree_struct' has no member named 'items'
 4838 |    titem->rit = titem->items.rbegin();
      |                        ^~~~~
callbacks.cc:4842:34: error: 'struct tree_struct' has no member named 'objects'
 4842 |  for(size_t i = 0; i < unit_cats.objects.size(); i++) {
      |                                  ^~~~~~~
callbacks.cc:4843:25: error: 'struct tree_struct' has no member named 'objects'
 4843 |   u = (Unit*) unit_cats.objects[i];
      |                         ^~~~~~~
callbacks.cc: In function 'void create_vmenu()':
callbacks.cc:4879:16: error: 'struct tree_struct' has no member named 'rit'
 4879 |  variable_cats.rit = variable_cats.items.rbegin();
      |                ^~~
callbacks.cc:4879:36: error: 'struct tree_struct' has no member named 'items'
 4879 |  variable_cats.rit = variable_cats.items.rbegin();
      |                                    ^~~~~
callbacks.cc:4880:19: error: 'struct tree_struct' has no member named 'rit'
 4880 |  if(variable_cats.rit != variable_cats.items.rend()) {
      |                   ^~~
callbacks.cc:4880:40: error: 'struct tree_struct' has no member named 'items'
 4880 |  if(variable_cats.rit != variable_cats.items.rend()) {
      |                                        ^~~~~
callbacks.cc:4881:27: error: 'struct tree_struct' has no member named 'rit'
 4881 |   titem = &*variable_cats.rit;
      |                           ^~~
callbacks.cc:4882:19: error: 'struct tree_struct' has no member named 'rit'
 4882 |   ++variable_cats.rit;
      |                   ^~~
callbacks.cc:4883:10: error: 'struct tree_struct' has no member named 'rit'
 4883 |   titem->rit = titem->items.rbegin();
      |          ^~~
callbacks.cc:4883:23: error: 'struct tree_struct' has no member named 'items'
 4883 |   titem->rit = titem->items.rbegin();
      |                       ^~~~~
callbacks.cc:4888:2: error: 'stack' was not declared in this scope; did you mean 'std::stack'?
 4888 |  stack<GtkWidget*> menus;
      |  ^~~~~
      |  std::stack
In file included from /usr/include/g++/stack:61,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:19,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_stack.h:99:11: note: 'std::stack' declared here
   99 |     class stack
      |           ^~~~~
callbacks.cc:4888:17: error: expected primary-expression before '*' token
 4888 |  stack<GtkWidget*> menus;
      |                 ^
callbacks.cc:4888:18: error: expected primary-expression before '>' token
 4888 |  stack<GtkWidget*> menus;
      |                  ^
callbacks.cc:4888:20: error: 'menus' was not declared in this scope
 4888 |  stack<GtkWidget*> menus;
      |                    ^~~~~
callbacks.cc:4892:25: error: 'struct tree_struct' has no member named 'items'
 4892 |   bool b_empty = titem->items.size() == 0;
      |                         ^~~~~
callbacks.cc:4894:33: error: 'struct tree_struct' has no member named 'objects'
 4894 |    for(size_t i = 0; i < titem->objects.size(); i++) {
      |                                 ^~~~~~~
callbacks.cc:4895:28: error: 'struct tree_struct' has no member named 'objects'
 4895 |     v = (Variable*) titem->objects[i];
      |                            ^~~~~~~
In file included from callbacks.cc:29:
callbacks.cc:4903:32: error: 'struct tree_struct' has no member named 'item'
 4903 |    SUBMENU_ITEM_PREPEND(titem->item.c_str(), sub3)
      |                                ^~~~
interface.h:34:72: note: in definition of macro 'SUBMENU_ITEM_PREPEND'
   34 | #define SUBMENU_ITEM_PREPEND(x,y)  item = gtk_menu_item_new_with_label(x); gtk_widget_show (item); gtk_menu_shell_prepend(GTK_MENU_SHELL(y), item); sub = gtk_menu_new(); gtk_widget_show (sub); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), sub);
      |                                                                        ^
callbacks.cc:4906:33: error: 'struct tree_struct' has no member named 'objects'
 4906 |    for(size_t i = 0; i < titem->objects.size(); i++) {
      |                                 ^~~~~~~
callbacks.cc:4907:28: error: 'struct tree_struct' has no member named 'objects'
 4907 |     v = (Variable*) titem->objects[i];
      |                            ^~~~~~~
callbacks.cc:4915:25: error: 'struct tree_struct' has no member named 'rit'
 4915 |   while(titem && titem->rit == titem->items.rend()) {
      |                         ^~~
callbacks.cc:4915:39: error: 'struct tree_struct' has no member named 'items'
 4915 |   while(titem && titem->rit == titem->items.rend()) {
      |                                       ^~~~~
callbacks.cc:4921:22: error: 'struct tree_struct' has no member named 'rit'
 4921 |    titem2 = &*titem->rit;
      |                      ^~~
callbacks.cc:4922:13: error: 'struct tree_struct' has no member named 'rit'
 4922 |    ++titem->rit;
      |             ^~~
callbacks.cc:4924:11: error: 'struct tree_struct' has no member named 'rit'
 4924 |    titem->rit = titem->items.rbegin();
      |           ^~~
callbacks.cc:4924:24: error: 'struct tree_struct' has no member named 'items'
 4924 |    titem->rit = titem->items.rbegin();
      |                        ^~~~~
callbacks.cc:4929:38: error: 'struct tree_struct' has no member named 'objects'
 4929 |  for(size_t i = 0; i < variable_cats.objects.size(); i++) {
      |                                      ^~~~~~~
callbacks.cc:4930:33: error: 'struct tree_struct' has no member named 'objects'
 4930 |   v = (Variable*) variable_cats.objects[i];
      |                                 ^~~~~~~
callbacks.cc: In function 'void create_fmenu()':
callbacks.cc:5037:16: error: 'struct tree_struct' has no member named 'rit'
 5037 |  function_cats.rit = function_cats.items.rbegin();
      |                ^~~
callbacks.cc:5037:36: error: 'struct tree_struct' has no member named 'items'
 5037 |  function_cats.rit = function_cats.items.rbegin();
      |                                    ^~~~~
callbacks.cc:5038:19: error: 'struct tree_struct' has no member named 'rit'
 5038 |  if(function_cats.rit != function_cats.items.rend()) {
      |                   ^~~
callbacks.cc:5038:40: error: 'struct tree_struct' has no member named 'items'
 5038 |  if(function_cats.rit != function_cats.items.rend()) {
      |                                        ^~~~~
callbacks.cc:5039:27: error: 'struct tree_struct' has no member named 'rit'
 5039 |   titem = &*function_cats.rit;
      |                           ^~~
callbacks.cc:5040:19: error: 'struct tree_struct' has no member named 'rit'
 5040 |   ++function_cats.rit;
      |                   ^~~
callbacks.cc:5041:10: error: 'struct tree_struct' has no member named 'rit'
 5041 |   titem->rit = titem->items.rbegin();
      |          ^~~
callbacks.cc:5041:23: error: 'struct tree_struct' has no member named 'items'
 5041 |   titem->rit = titem->items.rbegin();
      |                       ^~~~~
callbacks.cc:5045:2: error: 'stack' was not declared in this scope; did you mean 'std::stack'?
 5045 |  stack<GtkWidget*> menus;
      |  ^~~~~
      |  std::stack
In file included from /usr/include/g++/stack:61,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:19,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_stack.h:99:11: note: 'std::stack' declared here
   99 |     class stack
      |           ^~~~~
callbacks.cc:5045:17: error: expected primary-expression before '*' token
 5045 |  stack<GtkWidget*> menus;
      |                 ^
callbacks.cc:5045:18: error: expected primary-expression before '>' token
 5045 |  stack<GtkWidget*> menus;
      |                  ^
callbacks.cc:5045:20: error: 'menus' was not declared in this scope
 5045 |  stack<GtkWidget*> menus;
      |                    ^~~~~
callbacks.cc:5049:25: error: 'struct tree_struct' has no member named 'items'
 5049 |   bool b_empty = titem->items.size() == 0;
      |                         ^~~~~
callbacks.cc:5051:33: error: 'struct tree_struct' has no member named 'objects'
 5051 |    for(size_t i = 0; i < titem->objects.size(); i++) {
      |                                 ^~~~~~~
callbacks.cc:5052:32: error: 'struct tree_struct' has no member named 'objects'
 5052 |     f = (MathFunction*) titem->objects[i];
      |                                ^~~~~~~
In file included from callbacks.cc:29:
callbacks.cc:5060:32: error: 'struct tree_struct' has no member named 'item'
 5060 |    SUBMENU_ITEM_PREPEND(titem->item.c_str(), sub3)
      |                                ^~~~
interface.h:34:72: note: in definition of macro 'SUBMENU_ITEM_PREPEND'
   34 | #define SUBMENU_ITEM_PREPEND(x,y)  item = gtk_menu_item_new_with_label(x); gtk_widget_show (item); gtk_menu_shell_prepend(GTK_MENU_SHELL(y), item); sub = gtk_menu_new(); gtk_widget_show (sub); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), sub);
      |                                                                        ^
callbacks.cc:5061:33: error: 'struct tree_struct' has no member named 'objects'
 5061 |    for(size_t i = 0; i < titem->objects.size(); i++) {
      |                                 ^~~~~~~
callbacks.cc:5062:32: error: 'struct tree_struct' has no member named 'objects'
 5062 |     f = (MathFunction*) titem->objects[i];
      |                                ^~~~~~~
callbacks.cc:5072:25: error: 'struct tree_struct' has no member named 'rit'
 5072 |   while(titem && titem->rit == titem->items.rend()) {
      |                         ^~~
callbacks.cc:5072:39: error: 'struct tree_struct' has no member named 'items'
 5072 |   while(titem && titem->rit == titem->items.rend()) {
      |                                       ^~~~~
callbacks.cc:5078:22: error: 'struct tree_struct' has no member named 'rit'
 5078 |    titem2 = &*titem->rit;
      |                      ^~~
callbacks.cc:5079:13: error: 'struct tree_struct' has no member named 'rit'
 5079 |    ++titem->rit;
      |             ^~~
callbacks.cc:5081:11: error: 'struct tree_struct' has no member named 'rit'
 5081 |    titem->rit = titem->items.rbegin();
      |           ^~~
callbacks.cc:5081:24: error: 'struct tree_struct' has no member named 'items'
 5081 |    titem->rit = titem->items.rbegin();
      |                        ^~~~~
callbacks.cc:5085:38: error: 'struct tree_struct' has no member named 'objects'
 5085 |  for(size_t i = 0; i < function_cats.objects.size(); i++) {
      |                                      ^~~~~~~
callbacks.cc:5086:37: error: 'struct tree_struct' has no member named 'objects'
 5086 |   f = (MathFunction*) function_cats.objects[i];
      |                                     ^~~~~~~
callbacks.cc: At global scope:
callbacks.cc:5093:1: error: 'string' does not name a type; did you mean 'GString'?
 5093 | string sub_suffix(const ExpressionName *ename) {
      | ^~~~~~
      | GString
callbacks.cc: In function 'void update_completion()':
callbacks.cc:5125:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 5125 |  string str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:5132:5: error: 'str' was not declared in this scope; did you mean 'std'?
 5132 |     str = sub_suffix(ename_r);
      |     ^~~
      |     std
callbacks.cc:5132:22: error: invalid initialization of reference of type 'const string&' {aka 'const std::__cxx11::basic_string<char>&'} from expression of type 'const ExpressionName*'
 5132 |     str = sub_suffix(ename_r);
      |                      ^~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:16,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/util.h:89:43: note: in passing argument 1 of 'std::string sub_suffix(const string&, const string&, const string&)'
   89 | std::string sub_suffix(const std::string &name, const std::string &tag_begin, const std::string &tag_end);
      |                        ~~~~~~~~~~~~~~~~~~~^~~~
callbacks.cc:5134:5: error: 'str' was not declared in this scope; did you mean 'std'?
 5134 |     str = ename_r->name;
      |     ^~~
      |     std
callbacks.cc:5136:4: error: 'str' was not declared in this scope; did you mean 'std'?
 5136 |    str += "()";
      |    ^~~
      |    std
callbacks.cc:5142:25: error: invalid initialization of reference of type 'const string&' {aka 'const std::__cxx11::basic_string<char>&'} from expression of type 'const ExpressionName*'
 5142 |       str += sub_suffix(ename);
      |                         ^~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:16,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/util.h:89:43: note: in passing argument 1 of 'std::string sub_suffix(const string&, const string&, const string&)'
   89 | std::string sub_suffix(const std::string &name, const std::string &tag_begin, const std::string &tag_end);
      |                        ~~~~~~~~~~~~~~~~~~~^~~~
callbacks.cc:5163:8: error: 'str' was not declared in this scope; did you mean 'std'?
 5163 |        str = sub_suffix(ename_r);
      |        ^~~
      |        std
callbacks.cc:5163:25: error: invalid initialization of reference of type 'const string&' {aka 'const std::__cxx11::basic_string<char>&'} from expression of type 'const ExpressionName*'
 5163 |        str = sub_suffix(ename_r);
      |                         ^~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:16,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/util.h:89:43: note: in passing argument 1 of 'std::string sub_suffix(const string&, const string&, const string&)'
   89 | std::string sub_suffix(const std::string &name, const std::string &tag_begin, const std::string &tag_end);
      |                        ~~~~~~~~~~~~~~~~~~~^~~~
callbacks.cc:5165:8: error: 'str' was not declared in this scope; did you mean 'std'?
 5165 |        str = ename_r->name;
      |        ^~~
      |        std
callbacks.cc:5169:6: error: 'str' was not declared in this scope; did you mean 'std'?
 5169 |      str += " <i>";
      |      ^~~
      |      std
callbacks.cc:5171:25: error: invalid initialization of reference of type 'const string&' {aka 'const std::__cxx11::basic_string<char>&'} from expression of type 'const ExpressionName*'
 5171 |       str += sub_suffix(ename);
      |                         ^~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:16,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/util.h:89:43: note: in passing argument 1 of 'std::string sub_suffix(const string&, const string&, const string&)'
   89 | std::string sub_suffix(const std::string &name, const std::string &tag_begin, const std::string &tag_end);
      |                        ~~~~~~~~~~~~~~~~~~~^~~~
callbacks.cc:5179:5: error: 'str' was not declared in this scope; did you mean 'std'?
 5179 |     str = sub_suffix(ename_r);
      |     ^~~
      |     std
callbacks.cc:5179:22: error: invalid initialization of reference of type 'const string&' {aka 'const std::__cxx11::basic_string<char>&'} from expression of type 'const ExpressionName*'
 5179 |     str = sub_suffix(ename_r);
      |                      ^~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:16,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/util.h:89:43: note: in passing argument 1 of 'std::string sub_suffix(const string&, const string&, const string&)'
   89 | std::string sub_suffix(const std::string &name, const std::string &tag_begin, const std::string &tag_end);
      |                        ~~~~~~~~~~~~~~~~~~~^~~~
callbacks.cc:5185:12: error: 'str' was not declared in this scope; did you mean 'std'?
 5185 |      pos = str.find("_to_");
      |            ^~~
      |            std
callbacks.cc:5188:16: error: 'string' is not a class, namespace, or enumeration
 5188 |      if(pos != string::npos) {
      |                ^~~~~~
callbacks.cc:5189:7: error: 'str' was not declared in this scope; did you mean 'std'?
 5189 |       str = ename_r->name;
      |       ^~~
      |       std
callbacks.cc:5194:19: error: 'string' is not a class, namespace, or enumeration
 5194 |      while(pos != string::npos) {
      |                   ^~~~~~
callbacks.cc:5195:23: error: 'str' was not declared in this scope; did you mean 'std'?
 5195 |       if((pos == 1 && str[0] == 'm') || (pos > 1 && str[pos - 1] == 'm' && str[pos - 2] == '>')) {
      |                       ^~~
      |                       std
callbacks.cc:5200:13: error: 'str' was not declared in this scope; did you mean 'std'?
 5200 |       pos = str.find("_to_", pos);
      |             ^~~
      |             std
callbacks.cc:5205:58: error: 'str' was not declared in this scope; did you mean 'std'?
 5205 |     if(b) gtk_list_store_set(completion_store, &iter, 0, str.c_str(), 1, CALCULATOR->variables[i]->title().c_str(), 2, CALCULATOR->variables[i], 3, FALSE, 4, 0, 6, PANGO_WEIGHT_NORMAL, 7, 0, 8, NULL, -1);
      |                                                          ^~~
      |                                                          std
callbacks.cc:5209:11: error: expected ';' before 'title'
 5209 |     string title;
      |           ^~~~~~
      |           ;
callbacks.cc:5211:6: error: 'title' was not declared in this scope
 5211 |      title = _("a previous result");
      |      ^~~~~
callbacks.cc:5214:7: error: 'title' was not declared in this scope
 5214 |       title = CALCULATOR->localizeExpression(((KnownVariable*) v)->expression());
      |       ^~~~~
callbacks.cc:5218:8: error: 'title' was not declared in this scope
 5218 |        title = _("matrix");
      |        ^~~~~
callbacks.cc:5220:8: error: 'title' was not declared in this scope
 5220 |        title = _("vector");
      |        ^~~~~
callbacks.cc:5224:8: error: 'title' was not declared in this scope
 5224 |        title = CALCULATOR->print(((KnownVariable*) v)->get(), 30, po);
      |        ^~~~~
callbacks.cc:5230:40: error: 'title' was not declared in this scope
 5230 |        case ASSUMPTION_SIGN_POSITIVE: {title = _("positive"); break;}
      |                                        ^~~~~
callbacks.cc:5231:43: error: 'title' was not declared in this scope
 5231 |        case ASSUMPTION_SIGN_NONPOSITIVE: {title = _("non-positive"); break;}
      |                                           ^~~~~
callbacks.cc:5232:40: error: 'title' was not declared in this scope
 5232 |        case ASSUMPTION_SIGN_NEGATIVE: {title = _("negative"); break;}
      |                                        ^~~~~
callbacks.cc:5233:43: error: 'title' was not declared in this scope
 5233 |        case ASSUMPTION_SIGN_NONNEGATIVE: {title = _("non-negative"); break;}
      |                                           ^~~~~
callbacks.cc:5234:39: error: 'title' was not declared in this scope
 5234 |        case ASSUMPTION_SIGN_NONZERO: {title = _("non-zero"); break;}
      |                                       ^~~~~
callbacks.cc:5237:11: error: 'title' was not declared in this scope
 5237 |       if(!title.empty() && ((UnknownVariable*) v)->assumptions()->type() != ASSUMPTION_TYPE_NONE) title += " ";
      |           ^~~~~
callbacks.cc:5239:39: error: 'title' was not declared in this scope
 5239 |        case ASSUMPTION_TYPE_INTEGER: {title += _("integer"); break;}
      |                                       ^~~~~
callbacks.cc:5240:40: error: 'title' was not declared in this scope
 5240 |        case ASSUMPTION_TYPE_RATIONAL: {title += _("rational"); break;}
      |                                        ^~~~~
callbacks.cc:5241:36: error: 'title' was not declared in this scope
 5241 |        case ASSUMPTION_TYPE_REAL: {title += _("real"); break;}
      |                                    ^~~~~
callbacks.cc:5242:39: error: 'title' was not declared in this scope
 5242 |        case ASSUMPTION_TYPE_COMPLEX: {title += _("complex"); break;}
      |                                       ^~~~~
callbacks.cc:5243:38: error: 'title' was not declared in this scope
 5243 |        case ASSUMPTION_TYPE_NUMBER: {title += _("number"); break;}
      |                                      ^~~~~
callbacks.cc:5244:41: error: 'title' was not declared in this scope
 5244 |        case ASSUMPTION_TYPE_NONMATRIX: {title += _("(not matrix)"); break;}
      |                                         ^~~~~
callbacks.cc:5247:10: error: 'title' was not declared in this scope
 5247 |       if(title.empty()) title = _("unknown");
      |          ^~~~~
callbacks.cc:5249:7: error: 'title' was not declared in this scope
 5249 |       title = _("default assumptions");
      |       ^~~~~
callbacks.cc:5252:58: error: 'str' was not declared in this scope; did you mean 'std'?
 5252 |     if(b) gtk_list_store_set(completion_store, &iter, 0, str.c_str(), 1, title.c_str(), 2, CALCULATOR->variables[i], 3, FALSE, 4, 0, 6, PANGO_WEIGHT_NORMAL, 7, 0, 8, NULL, -1);
      |                                                          ^~~
      |                                                          std
callbacks.cc:5252:74: error: 'title' was not declared in this scope
 5252 |     if(b) gtk_list_store_set(completion_store, &iter, 0, str.c_str(), 1, title.c_str(), 2, CALCULATOR->variables[i], 3, FALSE, 4, 0, 6, PANGO_WEIGHT_NORMAL, 7, 0, 8, NULL, -1);
      |                                                                          ^~~~~
callbacks.cc:5253:83: error: 'title' was not declared in this scope
 5253 |     else gtk_list_store_set(completion_store, &iter, 0, ename_r->name.c_str(), 1, title.c_str(), 2, CALCULATOR->variables[i], 3, FALSE, 4, 0, 6, PANGO_WEIGHT_NORMAL, 7, 0, 8, NULL, -1);
      |                                                                                   ^~~~~
callbacks.cc:5269:8: error: 'str' was not declared in this scope; did you mean 'std'?
 5269 |        str = sub_suffix(ename_r);
      |        ^~~
      |        std
callbacks.cc:5269:25: error: invalid initialization of reference of type 'const string&' {aka 'const std::__cxx11::basic_string<char>&'} from expression of type 'const ExpressionName*'
 5269 |        str = sub_suffix(ename_r);
      |                         ^~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:16,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/util.h:89:43: note: in passing argument 1 of 'std::string sub_suffix(const string&, const string&, const string&)'
   89 | std::string sub_suffix(const std::string &name, const std::string &tag_begin, const std::string &tag_end);
      |                        ~~~~~~~~~~~~~~~~~~~^~~~
callbacks.cc:5271:8: error: 'str' was not declared in this scope; did you mean 'std'?
 5271 |        str = ename_r->name;
      |        ^~~
      |        std
callbacks.cc:5275:6: error: 'str' was not declared in this scope; did you mean 'std'?
 5275 |      str += " <i>";
      |      ^~~
      |      std
callbacks.cc:5277:25: error: invalid initialization of reference of type 'const string&' {aka 'const std::__cxx11::basic_string<char>&'} from expression of type 'const ExpressionName*'
 5277 |       str += sub_suffix(ename);
      |                         ^~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:16,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/util.h:89:43: note: in passing argument 1 of 'std::string sub_suffix(const string&, const string&, const string&)'
   89 | std::string sub_suffix(const std::string &name, const std::string &tag_begin, const std::string &tag_end);
      |                        ~~~~~~~~~~~~~~~~~~~^~~~
callbacks.cc:5285:5: error: 'str' was not declared in this scope; did you mean 'std'?
 5285 |     str = sub_suffix(ename_r);
      |     ^~~
      |     std
callbacks.cc:5285:22: error: invalid initialization of reference of type 'const string&' {aka 'const std::__cxx11::basic_string<char>&'} from expression of type 'const ExpressionName*'
 5285 |     str = sub_suffix(ename_r);
      |                      ^~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:16,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/util.h:89:43: note: in passing argument 1 of 'std::string sub_suffix(const string&, const string&, const string&)'
   89 | std::string sub_suffix(const std::string &name, const std::string &tag_begin, const std::string &tag_end);
      |                        ~~~~~~~~~~~~~~~~~~~^~~~
callbacks.cc:5288:4: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
 5288 |    unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.end();
      |    ^~~~~~~~~~~~~
      |    std::unordered_map
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
callbacks.cc:5288:35: error: expected primary-expression before '*' token
 5288 |    unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.end();
      |                                   ^
callbacks.cc:5288:36: error: expected primary-expression before '>' token
 5288 |    unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.end();
      |                                    ^
callbacks.cc:5288:39: error: '::const_iterator' has not been declared
 5288 |    unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.end();
      |                                       ^~~~~~~~~~~~~~
callbacks.cc:5289:24: error: 'it_flag' was not declared in this scope
 5289 |    if(u->isCurrency()) it_flag = flag_images.find(u->referenceName());
      |                        ^~~~~~~
callbacks.cc:5289:34: error: 'flag_images' was not declared in this scope
 5289 |    if(u->isCurrency()) it_flag = flag_images.find(u->referenceName());
      |                                  ^~~~~~~~~~~
callbacks.cc:5290:57: error: 'str' was not declared in this scope; did you mean 'std'?
 5290 |    if(b) gtk_list_store_set(completion_store, &iter, 0, str.c_str(), 1, u->title().c_str(), 2, u, 3, FALSE, 4, 0, 5, it_flag == flag_images.end() ? NULL : it_flag->second, 6, PANGO_WEIGHT_NORMAL, 7, 0, 8, NULL, -1);
      |                                                         ^~~
      |                                                         std
callbacks.cc:5290:118: error: 'it_flag' was not declared in this scope
 5290 |    if(b) gtk_list_store_set(completion_store, &iter, 0, str.c_str(), 1, u->title().c_str(), 2, u, 3, FALSE, 4, 0, 5, it_flag == flag_images.end() ? NULL : it_flag->second, 6, PANGO_WEIGHT_NORMAL, 7, 0, 8, NULL, -1);
      |                                                                                                                      ^~~~~~~
callbacks.cc:5290:129: error: 'flag_images' was not declared in this scope
 5290 |    if(b) gtk_list_store_set(completion_store, &iter, 0, str.c_str(), 1, u->title().c_str(), 2, u, 3, FALSE, 4, 0, 5, it_flag == flag_images.end() ? NULL : it_flag->second, 6, PANGO_WEIGHT_NORMAL, 7, 0, 8, NULL, -1);
      |                                                                                                                                 ^~~~~~~~~~~
callbacks.cc:5291:127: error: 'it_flag' was not declared in this scope
 5291 |    else gtk_list_store_set(completion_store, &iter, 0, ename_r->name.c_str(), 1, u->title().c_str(), 2, u, 3, FALSE, 4, 0, 5, it_flag == flag_images.end() ? NULL : it_flag->second, 6, PANGO_WEIGHT_NORMAL, 7, 0, 8, NULL, -1);
      |                                                                                                                               ^~~~~~~
callbacks.cc:5291:138: error: 'flag_images' was not declared in this scope
 5291 |    else gtk_list_store_set(completion_store, &iter, 0, ename_r->name.c_str(), 1, u->title().c_str(), 2, u, 3, FALSE, 4, 0, 5, it_flag == flag_images.end() ? NULL : it_flag->second, 6, PANGO_WEIGHT_NORMAL, 7, 0, 8, NULL, -1);
      |                                                                                                                                          ^~~~~~~~~~~
callbacks.cc:5300:3: error: 'str' was not declared in this scope; did you mean 'std'?
 5300 |   str = "";
      |   ^~~
      |   std
callbacks.cc:5302:10: error: 'string' does not name a type; did you mean 'GString'?
 5302 |    const string *pstr;
      |          ^~~~~~
      |          GString
callbacks.cc:5303:20: error: 'pstr' was not declared in this scope
 5303 |    if(name_i == 1) pstr = &p->longName(false);
      |                    ^~~~
callbacks.cc:5304:25: error: 'pstr' was not declared in this scope
 5304 |    else if(name_i == 2) pstr = &p->unicodeName(false);
      |                         ^~~~
callbacks.cc:5305:9: error: 'pstr' was not declared in this scope
 5305 |    else pstr = &p->shortName(false);
      |         ^~~~
callbacks.cc:5306:8: error: 'pstr' was not declared in this scope
 5306 |    if(!pstr->empty()) {
      |        ^~~~
callbacks.cc:5335:8: error: expected ';' before 'str2'
 5335 |  string str2;
      |        ^~~~~
      |        ;
callbacks.cc:5337:42: error: 'str' was not declared in this scope; did you mean 'std'?
 5337 | #define COMPLETION_CONVERT_STRING2(x, y) str = _(x); if(str != x) {str += " <i>"; str += x; str += "</i>";} str2 = _(y);  str += " <i>"; str += str2; str += "</i>"; if(str2 != y) {str += " <i>"; str += y; str += "</i>";}
      |                                          ^~~
callbacks.cc:5337:42: note: in definition of macro 'COMPLETION_CONVERT_STRING2'
 5337 | #define COMPLETION_CONVERT_STRING2(x, y) str = _(x); if(str != x) {str += " <i>"; str += x; str += "</i>";} str2 = _(y);  str += " <i>"; str += str2; str += "</i>"; if(str2 != y) {str += " <i>"; str += y; str += "</i>";}
      |                                          ^~~
callbacks.cc:5337:109: error: 'str2' was not declared in this scope
 5337 | #define COMPLETION_CONVERT_STRING2(x, y) str = _(x); if(str != x) {str += " <i>"; str += x; str += "</i>";} str2 = _(y);  str += " <i>"; str += str2; str += "</i>"; if(str2 != y) {str += " <i>"; str += y; str += "</i>";}
      |                                                                                                             ^~~~
callbacks.cc:5337:109: note: in definition of macro 'COMPLETION_CONVERT_STRING2'
 5337 | #define COMPLETION_CONVERT_STRING2(x, y) str = _(x); if(str != x) {str += " <i>"; str += x; str += "</i>";} str2 = _(y);  str += " <i>"; str += str2; str += "</i>"; if(str2 != y) {str += " <i>"; str += y; str += "</i>";}
      |                                                                                                             ^~~~
callbacks.cc: At global scope:
callbacks.cc:5405:1: error: 'string' does not name a type; did you mean 'GString'?
 5405 | string get_value_string(const MathStructure &mstruct_, bool rlabel = false, Prefix *prefix = NULL) {
      | ^~~~~~
      | GString
callbacks.cc: In function 'cairo_surface_t* draw_structure(MathStructure&, PrintOptions, bool, InternalPrintStruct, gint*, int, GdkRGBA*)':
callbacks.cc:5483:3: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
 5483 |   vector<cairo_surface_t*> surface_terms;
      |   ^~~~~~
      |   std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:5483:25: error: expected primary-expression before '*' token
 5483 |   vector<cairo_surface_t*> surface_terms;
      |                         ^
callbacks.cc:5483:26: error: expected primary-expression before '>' token
 5483 |   vector<cairo_surface_t*> surface_terms;
      |                          ^
callbacks.cc:5483:28: error: 'surface_terms' was not declared in this scope
 5483 |   vector<cairo_surface_t*> surface_terms;
      |                            ^~~~~~~~~~~~~
callbacks.cc:5485:14: error: expected primary-expression before '>' token
 5485 |   vector<gint> hpt;
      |              ^
callbacks.cc:5485:16: error: 'hpt' was not declared in this scope
 5485 |   vector<gint> hpt;
      |                ^~~
callbacks.cc:5486:14: error: expected primary-expression before '>' token
 5486 |   vector<gint> wpt;
      |              ^
callbacks.cc:5486:16: error: 'wpt' was not declared in this scope
 5486 |   vector<gint> wpt;
      |                ^~~
callbacks.cc:5487:14: error: expected primary-expression before '>' token
 5487 |   vector<gint> cpt;
      |              ^
callbacks.cc:5487:16: error: 'cpt' was not declared in this scope
 5487 |   vector<gint> cpt;
      |                ^~~
callbacks.cc:5571:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 5571 |     string str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:5572:11: error: expected ';' before 'exp'
 5572 |     string exp = "";
      |           ^~~~
      |           ;
callbacks.cc:5574:17: error: cannot convert 'double (*)(double)' to 'std::string*' {aka 'std::__cxx11::basic_string<char>*'} in assignment
 5574 |     ips_n.exp = &exp;
      |                 ^~~~
      |                 |
      |                 double (*)(double)
callbacks.cc:5576:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5576 |     TTBP(str)
      |          ^~~
callbacks.cc:350:46: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                              ^~~
callbacks.cc:5576:5: note: in expansion of macro 'TTBP'
 5576 |     TTBP(str)
      |     ^~~~
callbacks.cc:5576:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5576 |     TTBP(str)
      |          ^~~
callbacks.cc:350:104: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                        ^~~
callbacks.cc:5576:5: note: in expansion of macro 'TTBP'
 5576 |     TTBP(str)
      |     ^~~~
callbacks.cc:5576:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5576 |     TTBP(str)
      |          ^~~
callbacks.cc:350:163: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                   ^~~
callbacks.cc:5576:5: note: in expansion of macro 'TTBP'
 5576 |     TTBP(str)
      |     ^~~~
callbacks.cc:5576:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5576 |     TTBP(str)
      |          ^~~
callbacks.cc:350:202: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                                                          ^~~
callbacks.cc:5576:5: note: in expansion of macro 'TTBP'
 5576 |     TTBP(str)
      |     ^~~~
callbacks.cc:5576:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5576 |     TTBP(str)
      |          ^~~
callbacks.cc:349:40: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                        ^~~
callbacks.cc:5576:5: note: in expansion of macro 'TTBP'
 5576 |     TTBP(str)
      |     ^~~~
callbacks.cc:5576:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5576 |     TTBP(str)
      |          ^~~
callbacks.cc:349:101: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                     ^~~
callbacks.cc:5576:5: note: in expansion of macro 'TTBP'
 5576 |     TTBP(str)
      |     ^~~~
callbacks.cc:5576:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5576 |     TTBP(str)
      |          ^~~
callbacks.cc:349:161: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                 ^~~
callbacks.cc:5576:5: note: in expansion of macro 'TTBP'
 5576 |     TTBP(str)
      |     ^~~~
callbacks.cc:5576:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5576 |     TTBP(str)
      |          ^~~
callbacks.cc:349:200: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                                                        ^~~
callbacks.cc:5576:5: note: in expansion of macro 'TTBP'
 5576 |     TTBP(str)
      |     ^~~~
callbacks.cc:5577:5: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
 5577 |     unordered_map<void*, string>::iterator it = number_map.find((void*) &m.number());
      |     ^~~~~~~~~~~~~
      |     std::unordered_map
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
callbacks.cc:5577:19: error: expected primary-expression before 'void'
 5577 |     unordered_map<void*, string>::iterator it = number_map.find((void*) &m.number());
      |                   ^~~~
callbacks.cc:5578:11: error: expected ';' before 'value_str'
 5578 |     string value_str;
      |           ^~~~~~~~~~
      |           ;
callbacks.cc:5579:8: error: 'it' was not declared in this scope; did you mean 'int'?
 5579 |     if(it != number_map.end()) {
      |        ^~
      |        int
callbacks.cc:5579:14: error: 'number_map' was not declared in this scope
 5579 |     if(it != number_map.end()) {
      |              ^~~~~~~~~~
callbacks.cc:5580:6: error: 'value_str' was not declared in this scope
 5580 |      value_str += it->second;
      |      ^~~~~~~~~
callbacks.cc:5581:9: error: 'number_approx_map' was not declared in this scope
 5581 |      if(number_approx_map.find((void*) &m.number()) != number_approx_map.end()) {
      |         ^~~~~~~~~~~~~~~~~
callbacks.cc:5584:9: error: 'number_exp_map' was not declared in this scope
 5584 |      if(number_exp_map.find((void*) &m.number()) != number_exp_map.end()) {
      |         ^~~~~~~~~~~~~~
callbacks.cc:5586:19: error: 'number_exp_minus_map' was not declared in this scope
 5586 |       exp_minus = number_exp_minus_map[(void*) &m.number()];
      |                   ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:5589:6: error: 'value_str' was not declared in this scope
 5589 |      value_str = m.number().print(po, ips_n);
      |      ^~~~~~~~~
callbacks.cc:5593:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5593 |       if(str.length() > 1 && value_str[0] == '0' && is_in(NUMBERS, value_str[1])) value_str.erase(0, 1);
      |          ^~~
      |          std
callbacks.cc:5596:6: error: 'number_exp_map' was not declared in this scope
 5596 |      number_exp_map[(void*) &m.number()] = exp;
      |      ^~~~~~~~~~~~~~
callbacks.cc:5597:6: error: 'number_exp_minus_map' was not declared in this scope
 5597 |      number_exp_minus_map[(void*) &m.number()] = exp_minus;
      |      ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:5599:7: error: 'number_approx_map' was not declared in this scope
 5599 |       number_approx_map[(void*) &m.number()] = *po.is_approximate;
      |       ^~~~~~~~~~~~~~~~~
callbacks.cc:5601:7: error: 'number_approx_map' was not declared in this scope
 5601 |       number_approx_map[(void*) &m.number()] = FALSE;
      |       ^~~~~~~~~~~~~~~~~
callbacks.cc:5603:6: error: 'number_base_map' was not declared in this scope
 5603 |      number_base_map[(void*) &m.number()] = "";
      |      ^~~~~~~~~~~~~~~
callbacks.cc:5605:96: error: request for member 'empty' in 'exp', which is of non-class type 'double(double)'
 5605 |     if((!use_e_notation || (po.base != BASE_DECIMAL && po.base >= 2 && po.base <= 36)) && !exp.empty()) {
      |                                                                                                ^~~~~
callbacks.cc:5606:9: error: 'value_str' was not declared in this scope
 5606 |      if(value_str == "1") {
      |         ^~~~~~~~~
callbacks.cc:5609:7: error: 'number_map' was not declared in this scope
 5609 |       number_map[(void*) &mnr[0].number()] = (po.base != BASE_DECIMAL && po.base >= 2 && po.base <= 36) ? i2s(po.base) : "10";
      |       ^~~~~~~~~~
callbacks.cc:5624:7: error: 'number_map' was not declared in this scope
 5624 |       number_map[(void*) &mnr[0].number()] = value_str;
      |       ^~~~~~~~~~
callbacks.cc:5625:7: error: 'number_approx_map' was not declared in this scope
 5625 |       number_approx_map[(void*) &mnr[0].number()] = number_approx_map[(void*) &m.number()];
      |       ^~~~~~~~~~~~~~~~~
callbacks.cc:5643:12: error: request for member 'empty' in 'exp', which is of non-class type 'double(double)'
 5643 |     if(exp.empty() && (po.base == BASE_SEXAGESIMAL || po.base == BASE_TIME)) {
      |            ^~~~~
callbacks.cc:5644:12: error: expected ';' before 'estr'
 5644 |      string estr;
      |            ^~~~~
      |            ;
callbacks.cc:5645:31: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                               ^~~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:5645:27: note: in expansion of macro 'TTP'
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                           ^~~
callbacks.cc:5645:31: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                               ^~~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:5645:27: note: in expansion of macro 'TTP'
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                           ^~~
callbacks.cc:5645:31: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                               ^~~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:5645:27: note: in expansion of macro 'TTP'
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                           ^~~
callbacks.cc:5645:31: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                               ^~~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:5645:27: note: in expansion of macro 'TTP'
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                           ^~~
callbacks.cc:5645:31: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                               ^~~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:5645:27: note: in expansion of macro 'TTP'
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                           ^~~
callbacks.cc:5645:31: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                               ^~~~
callbacks.cc:355:43: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                           ^~~
callbacks.cc:5645:27: note: in expansion of macro 'TTP'
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                           ^~~
callbacks.cc:5645:31: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                               ^~~~
callbacks.cc:355:104: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                        ^~~
callbacks.cc:5645:27: note: in expansion of macro 'TTP'
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                           ^~~
callbacks.cc:5645:31: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                               ^~~~
callbacks.cc:355:164: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                    ^~~
callbacks.cc:5645:27: note: in expansion of macro 'TTP'
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                           ^~~
callbacks.cc:5645:31: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                               ^~~~
callbacks.cc:355:203: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                           ^~~
callbacks.cc:5645:27: note: in expansion of macro 'TTP'
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                           ^~~
callbacks.cc:5645:31: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                               ^~~~
callbacks.cc:355:237: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                             ^~~
callbacks.cc:5645:27: note: in expansion of macro 'TTP'
 5645 |      if(po.lower_case_e) {TTP(estr, "e");}
      |                           ^~~
callbacks.cc:5646:22: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5646 |      else {TTP_SMALL(estr, "E");}
      |                      ^~~~
callbacks.cc:357:49: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                 ^~~
callbacks.cc:5646:12: note: in expansion of macro 'TTP_SMALL'
 5646 |      else {TTP_SMALL(estr, "E");}
      |            ^~~~~~~~~
callbacks.cc:5646:22: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5646 |      else {TTP_SMALL(estr, "E");}
      |                      ^~~~
callbacks.cc:357:108: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                            ^~~
callbacks.cc:5646:12: note: in expansion of macro 'TTP_SMALL'
 5646 |      else {TTP_SMALL(estr, "E");}
      |            ^~~~~~~~~
callbacks.cc:5646:22: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5646 |      else {TTP_SMALL(estr, "E");}
      |                      ^~~~
callbacks.cc:357:147: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                   ^~~
callbacks.cc:5646:12: note: in expansion of macro 'TTP_SMALL'
 5646 |      else {TTP_SMALL(estr, "E");}
      |            ^~~~~~~~~
callbacks.cc:5646:22: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5646 |      else {TTP_SMALL(estr, "E");}
      |                      ^~~~
callbacks.cc:357:182: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                      ^~~
callbacks.cc:5646:12: note: in expansion of macro 'TTP_SMALL'
 5646 |      else {TTP_SMALL(estr, "E");}
      |            ^~~~~~~~~
callbacks.cc:5646:22: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5646 |      else {TTP_SMALL(estr, "E");}
      |                      ^~~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:5646:12: note: in expansion of macro 'TTP_SMALL'
 5646 |      else {TTP_SMALL(estr, "E");}
      |            ^~~~~~~~~
callbacks.cc:5646:22: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5646 |      else {TTP_SMALL(estr, "E");}
      |                      ^~~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:5646:12: note: in expansion of macro 'TTP_SMALL'
 5646 |      else {TTP_SMALL(estr, "E");}
      |            ^~~~~~~~~
callbacks.cc:5646:22: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5646 |      else {TTP_SMALL(estr, "E");}
      |                      ^~~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:5646:12: note: in expansion of macro 'TTP_SMALL'
 5646 |      else {TTP_SMALL(estr, "E");}
      |            ^~~~~~~~~
callbacks.cc:5646:22: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5646 |      else {TTP_SMALL(estr, "E");}
      |                      ^~~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:5646:12: note: in expansion of macro 'TTP_SMALL'
 5646 |      else {TTP_SMALL(estr, "E");}
      |            ^~~~~~~~~
callbacks.cc:5646:22: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5646 |      else {TTP_SMALL(estr, "E");}
      |                      ^~~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:5646:12: note: in expansion of macro 'TTP_SMALL'
 5646 |      else {TTP_SMALL(estr, "E");}
      |            ^~~~~~~~~
callbacks.cc:5647:36: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5647 |      if(po.lower_case_e) gsub("e", estr, value_str);
      |                                    ^~~~
      |                                    eqstr
callbacks.cc:5647:42: error: 'value_str' was not declared in this scope
 5647 |      if(po.lower_case_e) gsub("e", estr, value_str);
      |                                          ^~~~~~~~~
callbacks.cc:5648:21: error: 'estr' was not declared in this scope; did you mean 'eqstr'?
 5648 |      else gsub("E", estr, value_str);
      |                     ^~~~
      |                     eqstr
callbacks.cc:5648:27: error: 'value_str' was not declared in this scope
 5648 |      else gsub("E", estr, value_str);
      |                           ^~~~~~~~~
callbacks.cc:5650:5: error: 'str' was not declared in this scope; did you mean 'std'?
 5650 |     str += value_str;
      |     ^~~
      |     std
callbacks.cc:5650:12: error: 'value_str' was not declared in this scope
 5650 |     str += value_str;
      |            ^~~~~~~~~
callbacks.cc:5652:13: error: request for member 'empty' in 'exp', which is of non-class type 'double(double)'
 5652 |     if(!exp.empty()) {
      |             ^~~~~
callbacks.cc:5660:170: error: 'string' is not a class, namespace, or enumeration
 5660 |     bool twos = (((po.base == 2 && po.twos_complement) || (po.base == 16 && po.hexadecimal_twos_complement)) && m.number().isNegative() && value_str.find(SIGN_MINUS) == string::npos && value_str.find("-") == string::npos);
      |                                                                                                                                                                          ^~~~~~
callbacks.cc:5660:209: error: 'string' is not a class, namespace, or enumeration
 5660 |     bool twos = (((po.base == 2 && po.twos_complement) || (po.base == 16 && po.hexadecimal_twos_complement)) && m.number().isNegative() && value_str.find(SIGN_MINUS) == string::npos && value_str.find("-") == string::npos);
      |                                                                                                                                                                                                                 ^~~~~~
callbacks.cc:5664:12: error: expected ';' before 'str_base'
 5664 |      string str_base;
      |            ^~~~~~~~~
      |            ;
callbacks.cc:5665:9: error: 'it' was not declared in this scope; did you mean 'int'?
 5665 |      if(it != number_map.end()) {
      |         ^~
      |         int
callbacks.cc:5665:15: error: 'number_map' was not declared in this scope
 5665 |      if(it != number_map.end()) {
      |               ^~~~~~~~~~
callbacks.cc:5666:7: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5666 |       str_base = number_base_map[(void*) &m.number()];
      |       ^~~~~~~~
      |       to_base
callbacks.cc:5666:18: error: 'number_base_map' was not declared in this scope
 5666 |       str_base = number_base_map[(void*) &m.number()];
      |                  ^~~~~~~~~~~~~~~
callbacks.cc:5669:33: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5669 |        case BASE_GOLDEN_RATIO: {str_base = "<i>φ</i>"; break;}
      |                                 ^~~~~~~~
      |                                 to_base
callbacks.cc:5670:39: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5670 |        case BASE_SUPER_GOLDEN_RATIO: {str_base = "<i>ψ</i>"; break;}
      |                                       ^~~~~~~~
      |                                       to_base
callbacks.cc:5671:23: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5671 |        case BASE_PI: {str_base = "<i>Ï€</i>"; break;}
      |                       ^~~~~~~~
      |                       to_base
callbacks.cc:5672:22: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5672 |        case BASE_E: {str_base = "<i>e</i>"; break;}
      |                      ^~~~~~~~
      |                      to_base
callbacks.cc:5673:26: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5673 |        case BASE_SQRT2: {str_base = "√2"; break;}
      |                          ^~~~~~~~
      |                          to_base
callbacks.cc:5674:28: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5674 |        case BASE_UNICODE: {str_base = "Unicode"; break;}
      |                            ^~~~~~~~
      |                            to_base
callbacks.cc:5675:33: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5675 |        case BASE_BIJECTIVE_26: {str_base = "b26"; break;}
      |                                 ^~~~~~~~
      |                                 to_base
callbacks.cc:5676:27: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5676 |        case BASE_CUSTOM: {str_base = CALCULATOR->customOutputBase().print(CALCULATOR->messagePrintOptions()); break;}
      |                           ^~~~~~~~
      |                           to_base
callbacks.cc:5677:18: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5677 |        default: {str_base = i2s(po.base);}
      |                  ^~~~~~~~
      |                  to_base
callbacks.cc:5679:16: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5679 |       if(twos) str_base += '-';
      |                ^~~~~~~~
      |                to_base
callbacks.cc:5680:7: error: 'number_base_map' was not declared in this scope
 5680 |       number_base_map[(void*) &m.number()] = str_base;
      |       ^~~~~~~~~~~~~~~
callbacks.cc:5680:46: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5680 |       number_base_map[(void*) &m.number()] = str_base;
      |                                              ^~~~~~~~
      |                                              to_base
callbacks.cc:5682:13: error: 'str_base' was not declared in this scope; did you mean 'to_base'?
 5682 |      str += str_base;
      |             ^~~~~~~~
      |             to_base
callbacks.cc:5706:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 5706 |     string str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:5707:5: error: 'str' was not declared in this scope; did you mean 'std'?
 5707 |     str = "<i>";
      |     ^~~
      |     std
callbacks.cc:5730:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 5730 |     string str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:5731:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5731 |     TTBP(str)
      |          ^~~
callbacks.cc:350:46: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                              ^~~
callbacks.cc:5731:5: note: in expansion of macro 'TTBP'
 5731 |     TTBP(str)
      |     ^~~~
callbacks.cc:5731:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5731 |     TTBP(str)
      |          ^~~
callbacks.cc:350:104: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                        ^~~
callbacks.cc:5731:5: note: in expansion of macro 'TTBP'
 5731 |     TTBP(str)
      |     ^~~~
callbacks.cc:5731:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5731 |     TTBP(str)
      |          ^~~
callbacks.cc:350:163: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                   ^~~
callbacks.cc:5731:5: note: in expansion of macro 'TTBP'
 5731 |     TTBP(str)
      |     ^~~~
callbacks.cc:5731:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5731 |     TTBP(str)
      |          ^~~
callbacks.cc:350:202: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                                                          ^~~
callbacks.cc:5731:5: note: in expansion of macro 'TTBP'
 5731 |     TTBP(str)
      |     ^~~~
callbacks.cc:5731:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5731 |     TTBP(str)
      |          ^~~
callbacks.cc:349:40: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                        ^~~
callbacks.cc:5731:5: note: in expansion of macro 'TTBP'
 5731 |     TTBP(str)
      |     ^~~~
callbacks.cc:5731:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5731 |     TTBP(str)
      |          ^~~
callbacks.cc:349:101: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                     ^~~
callbacks.cc:5731:5: note: in expansion of macro 'TTBP'
 5731 |     TTBP(str)
      |     ^~~~
callbacks.cc:5731:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5731 |     TTBP(str)
      |          ^~~
callbacks.cc:349:161: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                 ^~~
callbacks.cc:5731:5: note: in expansion of macro 'TTBP'
 5731 |     TTBP(str)
      |     ^~~~
callbacks.cc:5731:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5731 |     TTBP(str)
      |          ^~~
callbacks.cc:349:200: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                                                        ^~~
callbacks.cc:5731:5: note: in expansion of macro 'TTBP'
 5731 |     TTBP(str)
      |     ^~~~
callbacks.cc:5732:5: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
 5732 |     unordered_map<void*, string>::iterator it = date_map.find((void*) m.datetime());
      |     ^~~~~~~~~~~~~
      |     std::unordered_map
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
callbacks.cc:5732:19: error: expected primary-expression before 'void'
 5732 |     unordered_map<void*, string>::iterator it = date_map.find((void*) m.datetime());
      |                   ^~~~
callbacks.cc:5733:8: error: 'it' was not declared in this scope; did you mean 'int'?
 5733 |     if(it != date_map.end()) {
      |        ^~
      |        int
callbacks.cc:5733:14: error: 'date_map' was not declared in this scope
 5733 |     if(it != date_map.end()) {
      |              ^~~~~~~~
callbacks.cc:5734:6: error: 'str' was not declared in this scope; did you mean 'std'?
 5734 |      str += it->second;
      |      ^~~
      |      std
callbacks.cc:5736:12: error: expected ';' before 'value_str'
 5736 |      string value_str = m.datetime()->print(po);
      |            ^~~~~~~~~~
      |            ;
callbacks.cc:5737:39: error: 'value_str' was not declared in this scope
 5737 |      date_map[(void*) m.datetime()] = value_str;
      |                                       ^~~~~~~~~
callbacks.cc:5738:6: error: 'str' was not declared in this scope; did you mean 'std'?
 5738 |      str += value_str;
      |      ^~~
      |      std
callbacks.cc:5740:9: error: 'str' was not declared in this scope; did you mean 'std'?
 5740 |     TTE(str)
      |         ^~~
callbacks.cc:354:20: note: in definition of macro 'TTE'
  354 | #define TTE(str)   str += "</span>";
      |                    ^~~
callbacks.cc:5760:5: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
 5760 |     vector<cairo_surface_t*> surface_terms;
      |     ^~~~~~
      |     std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:5760:27: error: expected primary-expression before '*' token
 5760 |     vector<cairo_surface_t*> surface_terms;
      |                           ^
callbacks.cc:5760:28: error: expected primary-expression before '>' token
 5760 |     vector<cairo_surface_t*> surface_terms;
      |                            ^
callbacks.cc:5760:30: error: 'surface_terms' was not declared in this scope
 5760 |     vector<cairo_surface_t*> surface_terms;
      |                              ^~~~~~~~~~~~~
callbacks.cc:5761:16: error: expected primary-expression before '>' token
 5761 |     vector<gint> hpt;
      |                ^
callbacks.cc:5761:18: error: 'hpt' was not declared in this scope
 5761 |     vector<gint> hpt;
      |                  ^~~
callbacks.cc:5762:16: error: expected primary-expression before '>' token
 5762 |     vector<gint> wpt;
      |                ^
callbacks.cc:5762:18: error: 'wpt' was not declared in this scope
 5762 |     vector<gint> wpt;
      |                  ^~~
callbacks.cc:5763:16: error: expected primary-expression before '>' token
 5763 |     vector<gint> cpt;
      |                ^
callbacks.cc:5763:18: error: 'cpt' was not declared in this scope
 5763 |     vector<gint> cpt;
      |                  ^~~
callbacks.cc:5954:5: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
 5954 |     vector<cairo_surface_t*> surface_terms;
      |     ^~~~~~
      |     std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:5954:27: error: expected primary-expression before '*' token
 5954 |     vector<cairo_surface_t*> surface_terms;
      |                           ^
callbacks.cc:5954:28: error: expected primary-expression before '>' token
 5954 |     vector<cairo_surface_t*> surface_terms;
      |                            ^
callbacks.cc:5954:30: error: 'surface_terms' was not declared in this scope
 5954 |     vector<cairo_surface_t*> surface_terms;
      |                              ^~~~~~~~~~~~~
callbacks.cc:5955:16: error: expected primary-expression before '>' token
 5955 |     vector<gint> hpt;
      |                ^
callbacks.cc:5955:18: error: 'hpt' was not declared in this scope
 5955 |     vector<gint> hpt;
      |                  ^~~
callbacks.cc:5956:16: error: expected primary-expression before '>' token
 5956 |     vector<gint> wpt;
      |                ^
callbacks.cc:5956:18: error: 'wpt' was not declared in this scope
 5956 |     vector<gint> wpt;
      |                  ^~~
callbacks.cc:5957:16: error: expected primary-expression before '>' token
 5957 |     vector<gint> cpt;
      |                ^
callbacks.cc:5957:18: error: 'cpt' was not declared in this scope
 5957 |     vector<gint> cpt;
      |                  ^~~
callbacks.cc:5964:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 5964 |     string str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:5966:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5966 |      TTP(str, "cis");
      |          ^~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:5966:6: note: in expansion of macro 'TTP'
 5966 |      TTP(str, "cis");
      |      ^~~
callbacks.cc:5966:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5966 |      TTP(str, "cis");
      |          ^~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:5966:6: note: in expansion of macro 'TTP'
 5966 |      TTP(str, "cis");
      |      ^~~
callbacks.cc:5966:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5966 |      TTP(str, "cis");
      |          ^~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:5966:6: note: in expansion of macro 'TTP'
 5966 |      TTP(str, "cis");
      |      ^~~
callbacks.cc:5966:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5966 |      TTP(str, "cis");
      |          ^~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:5966:6: note: in expansion of macro 'TTP'
 5966 |      TTP(str, "cis");
      |      ^~~
callbacks.cc:5966:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5966 |      TTP(str, "cis");
      |          ^~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:5966:6: note: in expansion of macro 'TTP'
 5966 |      TTP(str, "cis");
      |      ^~~
callbacks.cc:5966:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5966 |      TTP(str, "cis");
      |          ^~~
callbacks.cc:355:43: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                           ^~~
callbacks.cc:5966:6: note: in expansion of macro 'TTP'
 5966 |      TTP(str, "cis");
      |      ^~~
callbacks.cc:5966:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5966 |      TTP(str, "cis");
      |          ^~~
callbacks.cc:355:104: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                        ^~~
callbacks.cc:5966:6: note: in expansion of macro 'TTP'
 5966 |      TTP(str, "cis");
      |      ^~~
callbacks.cc:5966:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5966 |      TTP(str, "cis");
      |          ^~~
callbacks.cc:355:164: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                    ^~~
callbacks.cc:5966:6: note: in expansion of macro 'TTP'
 5966 |      TTP(str, "cis");
      |      ^~~
callbacks.cc:5966:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5966 |      TTP(str, "cis");
      |          ^~~
callbacks.cc:355:203: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                           ^~~
callbacks.cc:5966:6: note: in expansion of macro 'TTP'
 5966 |      TTP(str, "cis");
      |      ^~~
callbacks.cc:5966:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5966 |      TTP(str, "cis");
      |          ^~~
callbacks.cc:355:237: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                             ^~~
callbacks.cc:5966:6: note: in expansion of macro 'TTP'
 5966 |      TTP(str, "cis");
      |      ^~~
callbacks.cc:5968:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |                ^~~
callbacks.cc:357:49: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                 ^~~
callbacks.cc:5968:6: note: in expansion of macro 'TTP_SMALL'
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |      ^~~~~~~~~
callbacks.cc:5968:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |                ^~~
callbacks.cc:357:108: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                            ^~~
callbacks.cc:5968:6: note: in expansion of macro 'TTP_SMALL'
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |      ^~~~~~~~~
callbacks.cc:5968:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |                ^~~
callbacks.cc:357:147: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                   ^~~
callbacks.cc:5968:6: note: in expansion of macro 'TTP_SMALL'
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |      ^~~~~~~~~
callbacks.cc:5968:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |                ^~~
callbacks.cc:357:182: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                      ^~~
callbacks.cc:5968:6: note: in expansion of macro 'TTP_SMALL'
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |      ^~~~~~~~~
callbacks.cc:5968:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |                ^~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:5968:6: note: in expansion of macro 'TTP_SMALL'
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |      ^~~~~~~~~
callbacks.cc:5968:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |                ^~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:5968:6: note: in expansion of macro 'TTP_SMALL'
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |      ^~~~~~~~~
callbacks.cc:5968:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |                ^~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:5968:6: note: in expansion of macro 'TTP_SMALL'
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |      ^~~~~~~~~
callbacks.cc:5968:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |                ^~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:5968:6: note: in expansion of macro 'TTP_SMALL'
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |      ^~~~~~~~~
callbacks.cc:5968:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |                ^~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:5968:6: note: in expansion of macro 'TTP_SMALL'
 5968 |      TTP_SMALL(str, SIGN_MULTIDOT);
      |      ^~~~~~~~~
callbacks.cc:5970:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |                ^~~
callbacks.cc:357:49: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                 ^~~
callbacks.cc:5970:6: note: in expansion of macro 'TTP_SMALL'
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |      ^~~~~~~~~
callbacks.cc:5970:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |                ^~~
callbacks.cc:357:108: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                            ^~~
callbacks.cc:5970:6: note: in expansion of macro 'TTP_SMALL'
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |      ^~~~~~~~~
callbacks.cc:5970:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |                ^~~
callbacks.cc:357:147: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                   ^~~
callbacks.cc:5970:6: note: in expansion of macro 'TTP_SMALL'
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |      ^~~~~~~~~
callbacks.cc:5970:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |                ^~~
callbacks.cc:357:182: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                      ^~~
callbacks.cc:5970:6: note: in expansion of macro 'TTP_SMALL'
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |      ^~~~~~~~~
callbacks.cc:5970:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |                ^~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:5970:6: note: in expansion of macro 'TTP_SMALL'
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |      ^~~~~~~~~
callbacks.cc:5970:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |                ^~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:5970:6: note: in expansion of macro 'TTP_SMALL'
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |      ^~~~~~~~~
callbacks.cc:5970:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |                ^~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:5970:6: note: in expansion of macro 'TTP_SMALL'
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |      ^~~~~~~~~
callbacks.cc:5970:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |                ^~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:5970:6: note: in expansion of macro 'TTP_SMALL'
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |      ^~~~~~~~~
callbacks.cc:5970:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |                ^~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:5970:6: note: in expansion of macro 'TTP_SMALL'
 5970 |      TTP_SMALL(str, SIGN_MIDDLEDOT);
      |      ^~~~~~~~~
callbacks.cc:5972:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |                ^~~
callbacks.cc:357:49: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                 ^~~
callbacks.cc:5972:6: note: in expansion of macro 'TTP_SMALL'
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |      ^~~~~~~~~
callbacks.cc:5972:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |                ^~~
callbacks.cc:357:108: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                            ^~~
callbacks.cc:5972:6: note: in expansion of macro 'TTP_SMALL'
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |      ^~~~~~~~~
callbacks.cc:5972:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |                ^~~
callbacks.cc:357:147: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                   ^~~
callbacks.cc:5972:6: note: in expansion of macro 'TTP_SMALL'
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |      ^~~~~~~~~
callbacks.cc:5972:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |                ^~~
callbacks.cc:357:182: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                      ^~~
callbacks.cc:5972:6: note: in expansion of macro 'TTP_SMALL'
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |      ^~~~~~~~~
callbacks.cc:5972:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |                ^~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:5972:6: note: in expansion of macro 'TTP_SMALL'
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |      ^~~~~~~~~
callbacks.cc:5972:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |                ^~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:5972:6: note: in expansion of macro 'TTP_SMALL'
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |      ^~~~~~~~~
callbacks.cc:5972:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |                ^~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:5972:6: note: in expansion of macro 'TTP_SMALL'
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |      ^~~~~~~~~
callbacks.cc:5972:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |                ^~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:5972:6: note: in expansion of macro 'TTP_SMALL'
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |      ^~~~~~~~~
callbacks.cc:5972:16: error: 'str' was not declared in this scope; did you mean 'std'?
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |                ^~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:5972:6: note: in expansion of macro 'TTP_SMALL'
 5972 |      TTP_SMALL(str, SIGN_MULTIPLICATION);
      |      ^~~~~~~~~
callbacks.cc:5974:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5974 |      TTP(str, "*");
      |          ^~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:5974:6: note: in expansion of macro 'TTP'
 5974 |      TTP(str, "*");
      |      ^~~
callbacks.cc:5974:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5974 |      TTP(str, "*");
      |          ^~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:5974:6: note: in expansion of macro 'TTP'
 5974 |      TTP(str, "*");
      |      ^~~
callbacks.cc:5974:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5974 |      TTP(str, "*");
      |          ^~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:5974:6: note: in expansion of macro 'TTP'
 5974 |      TTP(str, "*");
      |      ^~~
callbacks.cc:5974:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5974 |      TTP(str, "*");
      |          ^~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:5974:6: note: in expansion of macro 'TTP'
 5974 |      TTP(str, "*");
      |      ^~~
callbacks.cc:5974:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5974 |      TTP(str, "*");
      |          ^~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:5974:6: note: in expansion of macro 'TTP'
 5974 |      TTP(str, "*");
      |      ^~~
callbacks.cc:5974:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5974 |      TTP(str, "*");
      |          ^~~
callbacks.cc:355:43: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                           ^~~
callbacks.cc:5974:6: note: in expansion of macro 'TTP'
 5974 |      TTP(str, "*");
      |      ^~~
callbacks.cc:5974:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5974 |      TTP(str, "*");
      |          ^~~
callbacks.cc:355:104: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                        ^~~
callbacks.cc:5974:6: note: in expansion of macro 'TTP'
 5974 |      TTP(str, "*");
      |      ^~~
callbacks.cc:5974:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5974 |      TTP(str, "*");
      |          ^~~
callbacks.cc:355:164: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                    ^~~
callbacks.cc:5974:6: note: in expansion of macro 'TTP'
 5974 |      TTP(str, "*");
      |      ^~~
callbacks.cc:5974:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5974 |      TTP(str, "*");
      |          ^~~
callbacks.cc:355:203: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                           ^~~
callbacks.cc:5974:6: note: in expansion of macro 'TTP'
 5974 |      TTP(str, "*");
      |      ^~~
callbacks.cc:5974:10: error: 'str' was not declared in this scope; did you mean 'std'?
 5974 |      TTP(str, "*");
      |          ^~~
callbacks.cc:355:237: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                             ^~~
callbacks.cc:5974:6: note: in expansion of macro 'TTP'
 5974 |      TTP(str, "*");
      |      ^~~
callbacks.cc:5976:41: error: 'str' was not declared in this scope; did you mean 'std'?
 5976 |     pango_layout_set_markup(layout_mul, str.c_str(), -1);
      |                                         ^~~
      |                                         std
callbacks.cc:5979:12: error: expected primary-expression before 'int'
 5979 |     vector<int> nm;
      |            ^~~
callbacks.cc:5999:8: error: 'nm' was not declared in this scope; did you mean 'm'?
 5999 |        nm.push_back(MULTIPLICATION_SIGN_OPERATOR);
      |        ^~
      |        m
callbacks.cc:6001:8: error: 'nm' was not declared in this scope; did you mean 'm'?
 6001 |        nm.push_back(m[i].neededMultiplicationSign(po, ips_n, m, i + 1, ips_n.wrap || (m[i].isPower() && m[i][0].needsParenthesis(po, ips_n, m[i], 1, ips.division_depth > 0 || ips.power_depth > 0, ips.power_depth > 0)), par_prev, ips.division_depth > 0 || ips.power_depth > 0, ips.power_depth > 0));
      |        ^~
      |        m
callbacks.cc:6003:14: error: 'nm' was not declared in this scope; did you mean 'm'?
 6003 |       switch(nm[i]) {
      |              ^~
      |              m
callbacks.cc:6033:7: error: 'nm' was not declared in this scope; did you mean 'm'?
 6033 |       nm.push_back(-1);
      |       ^~
      |       m
callbacks.cc:6051:16: error: 'nm' was not declared in this scope; did you mean 'm'?
 6051 |      } else if(nm[1] == MULTIPLICATION_SIGN_NONE) {
      |                ^~
      |                m
callbacks.cc:6054:12: error: expected ';' before 'imagefile'
 6054 |      string imagefile = "/qalculate-gtk/flags/"; imagefile += m[i_unit].unit()->referenceName(); imagefile += ".png";
      |            ^~~~~~~~~~
      |            ;
callbacks.cc:6054:50: error: 'imagefile' was not declared in this scope
 6054 |      string imagefile = "/qalculate-gtk/flags/"; imagefile += m[i_unit].unit()->referenceName(); imagefile += ".png";
      |                                                  ^~~~~~~~~
callbacks.cc:6076:15: error: 'nm' was not declared in this scope; did you mean 'm'?
 6076 |        switch(nm[i]) {
      |               ^~
      |               m
callbacks.cc:6326:6: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
 6326 |      vector<cairo_surface_t*> surface_terms;
      |      ^~~~~~
      |      std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:6326:28: error: expected primary-expression before '*' token
 6326 |      vector<cairo_surface_t*> surface_terms;
      |                            ^
callbacks.cc:6326:29: error: expected primary-expression before '>' token
 6326 |      vector<cairo_surface_t*> surface_terms;
      |                             ^
callbacks.cc:6326:31: error: 'surface_terms' was not declared in this scope
 6326 |      vector<cairo_surface_t*> surface_terms;
      |                               ^~~~~~~~~~~~~
callbacks.cc:6327:17: error: expected primary-expression before '>' token
 6327 |      vector<gint> hpt;
      |                 ^
callbacks.cc:6327:19: error: 'hpt' was not declared in this scope
 6327 |      vector<gint> hpt;
      |                   ^~~
callbacks.cc:6328:17: error: expected primary-expression before '>' token
 6328 |      vector<gint> wpt;
      |                 ^
callbacks.cc:6328:19: error: 'wpt' was not declared in this scope
 6328 |      vector<gint> wpt;
      |                   ^~~
callbacks.cc:6329:17: error: expected primary-expression before '>' token
 6329 |      vector<gint> cpt;
      |                 ^
callbacks.cc:6329:19: error: 'cpt' was not declared in this scope
 6329 |      vector<gint> cpt;
      |                   ^~~
callbacks.cc:6392:6: error: 'string' was not declared in this scope; did you mean 'std::string'?
 6392 |      string str;
      |      ^~~~~~
      |      std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:6393:11: error: 'str' was not declared in this scope; did you mean 'std'?
 6393 |      TTBP(str);
      |           ^~~
callbacks.cc:350:46: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                              ^~~
callbacks.cc:6393:6: note: in expansion of macro 'TTBP'
 6393 |      TTBP(str);
      |      ^~~~
callbacks.cc:6393:11: error: 'str' was not declared in this scope; did you mean 'std'?
 6393 |      TTBP(str);
      |           ^~~
callbacks.cc:350:104: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                        ^~~
callbacks.cc:6393:6: note: in expansion of macro 'TTBP'
 6393 |      TTBP(str);
      |      ^~~~
callbacks.cc:6393:11: error: 'str' was not declared in this scope; did you mean 'std'?
 6393 |      TTBP(str);
      |           ^~~
callbacks.cc:350:163: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                   ^~~
callbacks.cc:6393:6: note: in expansion of macro 'TTBP'
 6393 |      TTBP(str);
      |      ^~~~
callbacks.cc:6393:11: error: 'str' was not declared in this scope; did you mean 'std'?
 6393 |      TTBP(str);
      |           ^~~
callbacks.cc:350:202: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                                                          ^~~
callbacks.cc:6393:6: note: in expansion of macro 'TTBP'
 6393 |      TTBP(str);
      |      ^~~~
callbacks.cc:6393:11: error: 'str' was not declared in this scope; did you mean 'std'?
 6393 |      TTBP(str);
      |           ^~~
callbacks.cc:349:40: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                        ^~~
callbacks.cc:6393:6: note: in expansion of macro 'TTBP'
 6393 |      TTBP(str);
      |      ^~~~
callbacks.cc:6393:11: error: 'str' was not declared in this scope; did you mean 'std'?
 6393 |      TTBP(str);
      |           ^~~
callbacks.cc:349:101: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                     ^~~
callbacks.cc:6393:6: note: in expansion of macro 'TTBP'
 6393 |      TTBP(str);
      |      ^~~~
callbacks.cc:6393:11: error: 'str' was not declared in this scope; did you mean 'std'?
 6393 |      TTBP(str);
      |           ^~~
callbacks.cc:349:161: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                 ^~~
callbacks.cc:6393:6: note: in expansion of macro 'TTBP'
 6393 |      TTBP(str);
      |      ^~~~
callbacks.cc:6393:11: error: 'str' was not declared in this scope; did you mean 'std'?
 6393 |      TTBP(str);
      |           ^~~
callbacks.cc:349:200: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                                                        ^~~
callbacks.cc:6393:6: note: in expansion of macro 'TTBP'
 6393 |      TTBP(str);
      |      ^~~~
callbacks.cc:6396:8: error: 'str' was not declared in this scope; did you mean 'std'?
 6396 |        str += "&gt;";
      |        ^~~
      |        std
callbacks.cc:6400:8: error: 'str' was not declared in this scope; did you mean 'std'?
 6400 |        str += "&lt;";
      |        ^~~
      |        std
callbacks.cc:6405:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6405 |         str += SIGN_GREATER_OR_EQUAL;
      |         ^~~
      |         std
callbacks.cc:6407:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6407 |         str += "&gt;=";
      |         ^~~
      |         std
callbacks.cc:6413:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6413 |         str += SIGN_LESS_OR_EQUAL;
      |         ^~~
      |         std
callbacks.cc:6415:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6415 |         str += "&lt;=";
      |         ^~~
      |         std
callbacks.cc:6421:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6421 |      TTE(str);
      |          ^~~
callbacks.cc:354:20: note: in definition of macro 'TTE'
  354 | #define TTE(str)   str += "</span>";
      |                    ^~~
callbacks.cc:6516:5: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
 6516 |     vector<cairo_surface_t*> surface_terms;
      |     ^~~~~~
      |     std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:6516:27: error: expected primary-expression before '*' token
 6516 |     vector<cairo_surface_t*> surface_terms;
      |                           ^
callbacks.cc:6516:28: error: expected primary-expression before '>' token
 6516 |     vector<cairo_surface_t*> surface_terms;
      |                            ^
callbacks.cc:6516:30: error: 'surface_terms' was not declared in this scope
 6516 |     vector<cairo_surface_t*> surface_terms;
      |                              ^~~~~~~~~~~~~
callbacks.cc:6517:16: error: expected primary-expression before '>' token
 6517 |     vector<gint> hpt;
      |                ^
callbacks.cc:6517:18: error: 'hpt' was not declared in this scope
 6517 |     vector<gint> hpt;
      |                  ^~~
callbacks.cc:6518:16: error: expected primary-expression before '>' token
 6518 |     vector<gint> wpt;
      |                ^
callbacks.cc:6518:18: error: 'wpt' was not declared in this scope
 6518 |     vector<gint> wpt;
      |                  ^~~
callbacks.cc:6519:16: error: expected primary-expression before '>' token
 6519 |     vector<gint> cpt;
      |                ^
callbacks.cc:6519:18: error: 'cpt' was not declared in this scope
 6519 |     vector<gint> cpt;
      |                  ^~~
callbacks.cc:6548:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 6548 |     string str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:6549:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6549 |     TTBP(str);
      |          ^~~
callbacks.cc:350:46: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                              ^~~
callbacks.cc:6549:5: note: in expansion of macro 'TTBP'
 6549 |     TTBP(str);
      |     ^~~~
callbacks.cc:6549:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6549 |     TTBP(str);
      |          ^~~
callbacks.cc:350:104: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                        ^~~
callbacks.cc:6549:5: note: in expansion of macro 'TTBP'
 6549 |     TTBP(str);
      |     ^~~~
callbacks.cc:6549:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6549 |     TTBP(str);
      |          ^~~
callbacks.cc:350:163: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                   ^~~
callbacks.cc:6549:5: note: in expansion of macro 'TTBP'
 6549 |     TTBP(str);
      |     ^~~~
callbacks.cc:6549:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6549 |     TTBP(str);
      |          ^~~
callbacks.cc:350:202: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                                                          ^~~
callbacks.cc:6549:5: note: in expansion of macro 'TTBP'
 6549 |     TTBP(str);
      |     ^~~~
callbacks.cc:6549:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6549 |     TTBP(str);
      |          ^~~
callbacks.cc:349:40: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                        ^~~
callbacks.cc:6549:5: note: in expansion of macro 'TTBP'
 6549 |     TTBP(str);
      |     ^~~~
callbacks.cc:6549:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6549 |     TTBP(str);
      |          ^~~
callbacks.cc:349:101: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                     ^~~
callbacks.cc:6549:5: note: in expansion of macro 'TTBP'
 6549 |     TTBP(str);
      |     ^~~~
callbacks.cc:6549:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6549 |     TTBP(str);
      |          ^~~
callbacks.cc:349:161: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                 ^~~
callbacks.cc:6549:5: note: in expansion of macro 'TTBP'
 6549 |     TTBP(str);
      |     ^~~~
callbacks.cc:6549:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6549 |     TTBP(str);
      |          ^~~
callbacks.cc:349:200: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                                                        ^~~
callbacks.cc:6549:5: note: in expansion of macro 'TTBP'
 6549 |     TTBP(str);
      |     ^~~~
callbacks.cc:6554:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6554 |         str += SIGN_ALMOST_EQUAL;
      |         ^~~
      |         std
callbacks.cc:6556:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6556 |         str += "=";
      |         ^~~
      |         std
callbacks.cc:6562:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6562 |         str += SIGN_NOT_EQUAL;
      |         ^~~
      |         std
callbacks.cc:6564:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6564 |         str += "!=";
      |         ^~~
      |         std
callbacks.cc:6569:8: error: 'str' was not declared in this scope; did you mean 'std'?
 6569 |        str += "&gt;";
      |        ^~~
      |        std
callbacks.cc:6573:8: error: 'str' was not declared in this scope; did you mean 'std'?
 6573 |        str += "&lt;";
      |        ^~~
      |        std
callbacks.cc:6578:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6578 |         str += SIGN_GREATER_OR_EQUAL;
      |         ^~~
      |         std
callbacks.cc:6580:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6580 |         str += "&gt;=";
      |         ^~~
      |         std
callbacks.cc:6586:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6586 |         str += SIGN_LESS_OR_EQUAL;
      |         ^~~
      |         std
callbacks.cc:6588:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6588 |         str += "&lt;=";
      |         ^~~
      |         std
callbacks.cc:6594:41: error: 'str' was not declared in this scope; did you mean 'std'?
 6594 |      if(po.spell_out_logical_operators) str += _("and");
      |                                         ^~~
      |                                         std
callbacks.cc:6595:11: error: 'str' was not declared in this scope; did you mean 'std'?
 6595 |      else str += "&amp;&amp;";
      |           ^~~
      |           std
callbacks.cc:6597:41: error: 'str' was not declared in this scope; did you mean 'std'?
 6597 |      if(po.spell_out_logical_operators) str += _("or");
      |                                         ^~~
      |                                         std
callbacks.cc:6598:11: error: 'str' was not declared in this scope; did you mean 'std'?
 6598 |      else str += "||";
      |           ^~~
      |           std
callbacks.cc:6600:6: error: 'str' was not declared in this scope; did you mean 'std'?
 6600 |      str += "xor";
      |      ^~~
      |      std
callbacks.cc:6602:6: error: 'str' was not declared in this scope; did you mean 'std'?
 6602 |      str += "&amp;";
      |      ^~~
      |      std
callbacks.cc:6604:6: error: 'str' was not declared in this scope; did you mean 'std'?
 6604 |      str += "|";
      |      ^~~
      |      std
callbacks.cc:6606:6: error: 'str' was not declared in this scope; did you mean 'std'?
 6606 |      str += "xor";
      |      ^~~
      |      std
callbacks.cc:6609:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6609 |     TTE(str);
      |         ^~~
callbacks.cc:354:20: note: in definition of macro 'TTE'
  354 | #define TTE(str)   str += "</span>";
      |                    ^~~
callbacks.cc:6717:7: error: 'string' was not declared in this scope; did you mean 'std::string'?
 6717 |       string str;
      |       ^~~~~~
      |       std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:6718:12: error: 'str' was not declared in this scope; did you mean 'std'?
 6718 |       TTBP(str)
      |            ^~~
callbacks.cc:350:46: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                              ^~~
callbacks.cc:6718:7: note: in expansion of macro 'TTBP'
 6718 |       TTBP(str)
      |       ^~~~
callbacks.cc:6718:12: error: 'str' was not declared in this scope; did you mean 'std'?
 6718 |       TTBP(str)
      |            ^~~
callbacks.cc:350:104: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                        ^~~
callbacks.cc:6718:7: note: in expansion of macro 'TTBP'
 6718 |       TTBP(str)
      |       ^~~~
callbacks.cc:6718:12: error: 'str' was not declared in this scope; did you mean 'std'?
 6718 |       TTBP(str)
      |            ^~~
callbacks.cc:350:163: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                   ^~~
callbacks.cc:6718:7: note: in expansion of macro 'TTBP'
 6718 |       TTBP(str)
      |       ^~~~
callbacks.cc:6718:12: error: 'str' was not declared in this scope; did you mean 'std'?
 6718 |       TTBP(str)
      |            ^~~
callbacks.cc:350:202: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                                                          ^~~
callbacks.cc:6718:7: note: in expansion of macro 'TTBP'
 6718 |       TTBP(str)
      |       ^~~~
callbacks.cc:6718:12: error: 'str' was not declared in this scope; did you mean 'std'?
 6718 |       TTBP(str)
      |            ^~~
callbacks.cc:349:40: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                        ^~~
callbacks.cc:6718:7: note: in expansion of macro 'TTBP'
 6718 |       TTBP(str)
      |       ^~~~
callbacks.cc:6718:12: error: 'str' was not declared in this scope; did you mean 'std'?
 6718 |       TTBP(str)
      |            ^~~
callbacks.cc:349:101: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                     ^~~
callbacks.cc:6718:7: note: in expansion of macro 'TTBP'
 6718 |       TTBP(str)
      |       ^~~~
callbacks.cc:6718:12: error: 'str' was not declared in this scope; did you mean 'std'?
 6718 |       TTBP(str)
      |            ^~~
callbacks.cc:349:161: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                 ^~~
callbacks.cc:6718:7: note: in expansion of macro 'TTBP'
 6718 |       TTBP(str)
      |       ^~~~
callbacks.cc:6718:12: error: 'str' was not declared in this scope; did you mean 'std'?
 6718 |       TTBP(str)
      |            ^~~
callbacks.cc:349:200: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                                                        ^~~
callbacks.cc:6718:7: note: in expansion of macro 'TTBP'
 6718 |       TTBP(str)
      |       ^~~~
callbacks.cc:6719:7: error: 'str' was not declared in this scope; did you mean 'std'?
 6719 |       str += "[ ]";
      |       ^~~
      |       std
callbacks.cc:6739:6: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
 6739 |      vector<gint> col_w;
      |      ^~~~~~
      |      std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:6739:17: error: expected primary-expression before '>' token
 6739 |      vector<gint> col_w;
      |                 ^
callbacks.cc:6739:19: error: 'col_w' was not declared in this scope
 6739 |      vector<gint> col_w;
      |                   ^~~~~
callbacks.cc:6740:17: error: expected primary-expression before '>' token
 6740 |      vector<gint> row_h;
      |                 ^
callbacks.cc:6740:19: error: 'row_h' was not declared in this scope
 6740 |      vector<gint> row_h;
      |                   ^~~~~
callbacks.cc:6741:17: error: expected primary-expression before '>' token
 6741 |      vector<gint> row_uh;
      |                 ^
callbacks.cc:6741:19: error: 'row_uh' was not declared in this scope
 6741 |      vector<gint> row_uh;
      |                   ^~~~~~
callbacks.cc:6742:17: error: expected primary-expression before '>' token
 6742 |      vector<gint> row_dh;
      |                 ^
callbacks.cc:6742:19: error: 'row_dh' was not declared in this scope
 6742 |      vector<gint> row_dh;
      |                   ^~~~~~
callbacks.cc:6743:24: error: expected primary-expression before '>' token
 6743 |      vector<vector<gint> > element_w;
      |                        ^
callbacks.cc:6743:26: error: expected primary-expression before '>' token
 6743 |      vector<vector<gint> > element_w;
      |                          ^
callbacks.cc:6743:28: error: 'element_w' was not declared in this scope; did you mean 'Element'?
 6743 |      vector<vector<gint> > element_w;
      |                            ^~~~~~~~~
      |                            Element
callbacks.cc:6744:24: error: expected primary-expression before '>' token
 6744 |      vector<vector<gint> > element_h;
      |                        ^
callbacks.cc:6744:26: error: expected primary-expression before '>' token
 6744 |      vector<vector<gint> > element_h;
      |                          ^
callbacks.cc:6744:28: error: 'element_h' was not declared in this scope; did you mean 'Element'?
 6744 |      vector<vector<gint> > element_h;
      |                            ^~~~~~~~~
      |                            Element
callbacks.cc:6745:24: error: expected primary-expression before '>' token
 6745 |      vector<vector<gint> > element_c;
      |                        ^
callbacks.cc:6745:26: error: expected primary-expression before '>' token
 6745 |      vector<vector<gint> > element_c;
      |                          ^
callbacks.cc:6745:28: error: 'element_c' was not declared in this scope; did you mean 'Element'?
 6745 |      vector<vector<gint> > element_c;
      |                            ^~~~~~~~~
      |                            Element
callbacks.cc:6746:35: error: expected primary-expression before '*' token
 6746 |      vector<vector<cairo_surface_t*> > surface_elements;
      |                                   ^
callbacks.cc:6746:36: error: expected primary-expression before '>' token
 6746 |      vector<vector<cairo_surface_t*> > surface_elements;
      |                                    ^
callbacks.cc:6746:38: error: expected primary-expression before '>' token
 6746 |      vector<vector<cairo_surface_t*> > surface_elements;
      |                                      ^
callbacks.cc:6746:40: error: 'surface_elements' was not declared in this scope; did you mean 'surface_result'?
 6746 |      vector<vector<cairo_surface_t*> > surface_elements;
      |                                        ^~~~~~~~~~~~~~~~
      |                                        surface_result
callbacks.cc:6752:6: error: 'string' was not declared in this scope; did you mean 'std::string'?
 6752 |      string str;
      |      ^~~~~~
      |      std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:6754:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6754 |      TTP(str, po.comma())
      |          ^~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:6754:6: note: in expansion of macro 'TTP'
 6754 |      TTP(str, po.comma())
      |      ^~~
callbacks.cc:6754:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6754 |      TTP(str, po.comma())
      |          ^~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:6754:6: note: in expansion of macro 'TTP'
 6754 |      TTP(str, po.comma())
      |      ^~~
callbacks.cc:6754:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6754 |      TTP(str, po.comma())
      |          ^~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:6754:6: note: in expansion of macro 'TTP'
 6754 |      TTP(str, po.comma())
      |      ^~~
callbacks.cc:6754:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6754 |      TTP(str, po.comma())
      |          ^~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:6754:6: note: in expansion of macro 'TTP'
 6754 |      TTP(str, po.comma())
      |      ^~~
callbacks.cc:6754:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6754 |      TTP(str, po.comma())
      |          ^~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:6754:6: note: in expansion of macro 'TTP'
 6754 |      TTP(str, po.comma())
      |      ^~~
callbacks.cc:6754:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6754 |      TTP(str, po.comma())
      |          ^~~
callbacks.cc:355:43: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                           ^~~
callbacks.cc:6754:6: note: in expansion of macro 'TTP'
 6754 |      TTP(str, po.comma())
      |      ^~~
callbacks.cc:6754:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6754 |      TTP(str, po.comma())
      |          ^~~
callbacks.cc:355:104: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                        ^~~
callbacks.cc:6754:6: note: in expansion of macro 'TTP'
 6754 |      TTP(str, po.comma())
      |      ^~~
callbacks.cc:6754:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6754 |      TTP(str, po.comma())
      |          ^~~
callbacks.cc:355:164: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                    ^~~
callbacks.cc:6754:6: note: in expansion of macro 'TTP'
 6754 |      TTP(str, po.comma())
      |      ^~~
callbacks.cc:6754:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6754 |      TTP(str, po.comma())
      |          ^~~
callbacks.cc:355:203: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                           ^~~
callbacks.cc:6754:6: note: in expansion of macro 'TTP'
 6754 |      TTP(str, po.comma())
      |      ^~~
callbacks.cc:6754:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6754 |      TTP(str, po.comma())
      |          ^~~
callbacks.cc:355:237: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                             ^~~
callbacks.cc:6754:6: note: in expansion of macro 'TTP'
 6754 |      TTP(str, po.comma())
      |      ^~~
callbacks.cc:6755:44: error: 'str' was not declared in this scope; did you mean 'std'?
 6755 |      pango_layout_set_markup(layout_comma, str.c_str(), -1);
      |                                            ^~~
      |                                            std
callbacks.cc:6865:5: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
 6865 |     vector<cairo_surface_t*> surface_args;
      |     ^~~~~~
      |     std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:6865:27: error: expected primary-expression before '*' token
 6865 |     vector<cairo_surface_t*> surface_args;
      |                           ^
callbacks.cc:6865:28: error: expected primary-expression before '>' token
 6865 |     vector<cairo_surface_t*> surface_args;
      |                            ^
callbacks.cc:6865:30: error: 'surface_args' was not declared in this scope; did you mean 'surface_result'?
 6865 |     vector<cairo_surface_t*> surface_args;
      |                              ^~~~~~~~~~~~
      |                              surface_result
callbacks.cc:6866:16: error: expected primary-expression before '>' token
 6866 |     vector<gint> hpa;
      |                ^
callbacks.cc:6866:18: error: 'hpa' was not declared in this scope
 6866 |     vector<gint> hpa;
      |                  ^~~
callbacks.cc:6867:16: error: expected primary-expression before '>' token
 6867 |     vector<gint> cpa;
      |                ^
callbacks.cc:6867:18: error: 'cpa' was not declared in this scope
 6867 |     vector<gint> cpa;
      |                  ^~~
callbacks.cc:6868:16: error: expected primary-expression before '>' token
 6868 |     vector<gint> wpa;
      |                ^
callbacks.cc:6868:18: error: 'wpa' was not declared in this scope
 6868 |     vector<gint> wpa;
      |                  ^~~
callbacks.cc:6872:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 6872 |     string str, func_str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:6873:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6873 |     TTP(str, CALCULATOR->getComma())
      |         ^~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:6873:5: note: in expansion of macro 'TTP'
 6873 |     TTP(str, CALCULATOR->getComma())
      |     ^~~
callbacks.cc:6873:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6873 |     TTP(str, CALCULATOR->getComma())
      |         ^~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:6873:5: note: in expansion of macro 'TTP'
 6873 |     TTP(str, CALCULATOR->getComma())
      |     ^~~
callbacks.cc:6873:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6873 |     TTP(str, CALCULATOR->getComma())
      |         ^~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:6873:5: note: in expansion of macro 'TTP'
 6873 |     TTP(str, CALCULATOR->getComma())
      |     ^~~
callbacks.cc:6873:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6873 |     TTP(str, CALCULATOR->getComma())
      |         ^~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:6873:5: note: in expansion of macro 'TTP'
 6873 |     TTP(str, CALCULATOR->getComma())
      |     ^~~
callbacks.cc:6873:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6873 |     TTP(str, CALCULATOR->getComma())
      |         ^~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:6873:5: note: in expansion of macro 'TTP'
 6873 |     TTP(str, CALCULATOR->getComma())
      |     ^~~
callbacks.cc:6873:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6873 |     TTP(str, CALCULATOR->getComma())
      |         ^~~
callbacks.cc:355:43: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                           ^~~
callbacks.cc:6873:5: note: in expansion of macro 'TTP'
 6873 |     TTP(str, CALCULATOR->getComma())
      |     ^~~
callbacks.cc:6873:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6873 |     TTP(str, CALCULATOR->getComma())
      |         ^~~
callbacks.cc:355:104: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                        ^~~
callbacks.cc:6873:5: note: in expansion of macro 'TTP'
 6873 |     TTP(str, CALCULATOR->getComma())
      |     ^~~
callbacks.cc:6873:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6873 |     TTP(str, CALCULATOR->getComma())
      |         ^~~
callbacks.cc:355:164: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                    ^~~
callbacks.cc:6873:5: note: in expansion of macro 'TTP'
 6873 |     TTP(str, CALCULATOR->getComma())
      |     ^~~
callbacks.cc:6873:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6873 |     TTP(str, CALCULATOR->getComma())
      |         ^~~
callbacks.cc:355:203: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                           ^~~
callbacks.cc:6873:5: note: in expansion of macro 'TTP'
 6873 |     TTP(str, CALCULATOR->getComma())
      |     ^~~
callbacks.cc:6873:9: error: 'str' was not declared in this scope; did you mean 'std'?
 6873 |     TTP(str, CALCULATOR->getComma())
      |         ^~~
callbacks.cc:355:237: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                             ^~~
callbacks.cc:6873:5: note: in expansion of macro 'TTP'
 6873 |     TTP(str, CALCULATOR->getComma())
      |     ^~~
callbacks.cc:6874:43: error: 'str' was not declared in this scope; did you mean 'std'?
 6874 |     pango_layout_set_markup(layout_comma, str.c_str(), -1);
      |                                           ^~~
      |                                           std
callbacks.cc:6956:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 6956 |     string str, str2;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:6957:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6957 |     TTBP(str);
      |          ^~~
callbacks.cc:350:46: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                              ^~~
callbacks.cc:6957:5: note: in expansion of macro 'TTBP'
 6957 |     TTBP(str);
      |     ^~~~
callbacks.cc:6957:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6957 |     TTBP(str);
      |          ^~~
callbacks.cc:350:104: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                        ^~~
callbacks.cc:6957:5: note: in expansion of macro 'TTBP'
 6957 |     TTBP(str);
      |     ^~~~
callbacks.cc:6957:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6957 |     TTBP(str);
      |          ^~~
callbacks.cc:350:163: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                   ^~~
callbacks.cc:6957:5: note: in expansion of macro 'TTBP'
 6957 |     TTBP(str);
      |     ^~~~
callbacks.cc:6957:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6957 |     TTBP(str);
      |          ^~~
callbacks.cc:350:202: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                                                          ^~~
callbacks.cc:6957:5: note: in expansion of macro 'TTBP'
 6957 |     TTBP(str);
      |     ^~~~
callbacks.cc:6957:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6957 |     TTBP(str);
      |          ^~~
callbacks.cc:349:40: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                        ^~~
callbacks.cc:6957:5: note: in expansion of macro 'TTBP'
 6957 |     TTBP(str);
      |     ^~~~
callbacks.cc:6957:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6957 |     TTBP(str);
      |          ^~~
callbacks.cc:349:101: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                     ^~~
callbacks.cc:6957:5: note: in expansion of macro 'TTBP'
 6957 |     TTBP(str);
      |     ^~~~
callbacks.cc:6957:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6957 |     TTBP(str);
      |          ^~~
callbacks.cc:349:161: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                 ^~~
callbacks.cc:6957:5: note: in expansion of macro 'TTBP'
 6957 |     TTBP(str);
      |     ^~~~
callbacks.cc:6957:10: error: 'str' was not declared in this scope; did you mean 'std'?
 6957 |     TTBP(str);
      |          ^~~
callbacks.cc:349:200: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                                                        ^~~
callbacks.cc:6957:5: note: in expansion of macro 'TTBP'
 6957 |     TTBP(str);
      |     ^~~~
callbacks.cc:6962:6: error: 'str' was not declared in this scope; did you mean 'std'?
 6962 |      str += m.prefix()->name(po.abbreviate_names && ename->abbreviation && (ename->suffix || ename->name.find("_") == string::npos), po.use_unicode_signs, po.can_display_unicode_string_function, po.can_display_unicode_string_arg);
      |      ^~~
      |      std
callbacks.cc:6962:119: error: 'string' is not a class, namespace, or enumeration
 6962 |      str += m.prefix()->name(po.abbreviate_names && ename->abbreviation && (ename->suffix || ename->name.find("_") == string::npos), po.use_unicode_signs, po.can_display_unicode_string_function, po.can_display_unicode_string_arg);
      |                                                                                                                       ^~~~~~
callbacks.cc:6966:20: error: 'string' is not a class, namespace, or enumeration
 6966 |      bool b = i == string::npos || i == ename->name.length() - 1 || i == 0;
      |                    ^~~~~~
callbacks.cc:6974:7: error: 'str' was not declared in this scope; did you mean 'std'?
 6974 |       str += ename->name.substr(0, ename->name.length() - i2);
      |       ^~~
      |       std
callbacks.cc:6976:7: error: 'str' was not declared in this scope; did you mean 'std'?
 6976 |       str += ename->name.substr(0, i);
      |       ^~~
      |       std
callbacks.cc:6979:18: error: 'str' was not declared in this scope; did you mean 'std'?
 6979 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:351:47: note: in definition of macro 'TTB_XSMALL'
  351 | #define TTB_XSMALL(str)   if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                               ^~~
callbacks.cc:6979:7: note: in expansion of macro 'TTBP_SMALL'
 6979 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:6979:18: error: 'str' was not declared in this scope; did you mean 'std'?
 6979 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:351:106: note: in definition of macro 'TTB_XSMALL'
  351 | #define TTB_XSMALL(str)   if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                          ^~~
callbacks.cc:6979:7: note: in expansion of macro 'TTBP_SMALL'
 6979 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:6979:18: error: 'str' was not declared in this scope; did you mean 'std'?
 6979 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:351:145: note: in definition of macro 'TTB_XSMALL'
  351 | #define TTB_XSMALL(str)   if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                 ^~~
callbacks.cc:6979:7: note: in expansion of macro 'TTBP_SMALL'
 6979 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:6979:18: error: 'str' was not declared in this scope; did you mean 'std'?
 6979 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:350:46: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                              ^~~
callbacks.cc:6979:7: note: in expansion of macro 'TTBP_SMALL'
 6979 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:6979:18: error: 'str' was not declared in this scope; did you mean 'std'?
 6979 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:350:104: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                        ^~~
callbacks.cc:6979:7: note: in expansion of macro 'TTBP_SMALL'
 6979 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:6979:18: error: 'str' was not declared in this scope; did you mean 'std'?
 6979 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:350:163: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                   ^~~
callbacks.cc:6979:7: note: in expansion of macro 'TTBP_SMALL'
 6979 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:6979:18: error: 'str' was not declared in this scope; did you mean 'std'?
 6979 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:350:202: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                                                          ^~~
callbacks.cc:6979:7: note: in expansion of macro 'TTBP_SMALL'
 6979 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:6980:7: error: 'str' was not declared in this scope; did you mean 'std'?
 6980 |       str += "<sub>";
      |       ^~~
      |       std
callbacks.cc:6988:6: error: 'str' was not declared in this scope; did you mean 'std'?
 6988 |      str += ename->name;
      |      ^~~
      |      std
callbacks.cc:6990:20: error: 'str' was not declared in this scope; did you mean 'std'?
 6990 |     gsub("_", " ", str);
      |                    ^~~
      |                    std
callbacks.cc:7009:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 7009 |     string str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:7012:6: error: 'str' was not declared in this scope; did you mean 'std'?
 7012 |      str = "<i>";
      |      ^~~
      |      std
callbacks.cc:7014:10: error: 'str' was not declared in this scope; did you mean 'std'?
 7014 |     TTBP(str);
      |          ^~~
callbacks.cc:350:46: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                              ^~~
callbacks.cc:7014:5: note: in expansion of macro 'TTBP'
 7014 |     TTBP(str);
      |     ^~~~
callbacks.cc:7014:10: error: 'str' was not declared in this scope; did you mean 'std'?
 7014 |     TTBP(str);
      |          ^~~
callbacks.cc:350:104: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                        ^~~
callbacks.cc:7014:5: note: in expansion of macro 'TTBP'
 7014 |     TTBP(str);
      |     ^~~~
callbacks.cc:7014:10: error: 'str' was not declared in this scope; did you mean 'std'?
 7014 |     TTBP(str);
      |          ^~~
callbacks.cc:350:163: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                   ^~~
callbacks.cc:7014:5: note: in expansion of macro 'TTBP'
 7014 |     TTBP(str);
      |     ^~~~
callbacks.cc:7014:10: error: 'str' was not declared in this scope; did you mean 'std'?
 7014 |     TTBP(str);
      |          ^~~
callbacks.cc:350:202: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                                                          ^~~
callbacks.cc:7014:5: note: in expansion of macro 'TTBP'
 7014 |     TTBP(str);
      |     ^~~~
callbacks.cc:7014:10: error: 'str' was not declared in this scope; did you mean 'std'?
 7014 |     TTBP(str);
      |          ^~~
callbacks.cc:349:40: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                        ^~~
callbacks.cc:7014:5: note: in expansion of macro 'TTBP'
 7014 |     TTBP(str);
      |     ^~~~
callbacks.cc:7014:10: error: 'str' was not declared in this scope; did you mean 'std'?
 7014 |     TTBP(str);
      |          ^~~
callbacks.cc:349:101: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                     ^~~
callbacks.cc:7014:5: note: in expansion of macro 'TTBP'
 7014 |     TTBP(str);
      |     ^~~~
callbacks.cc:7014:10: error: 'str' was not declared in this scope; did you mean 'std'?
 7014 |     TTBP(str);
      |          ^~~
callbacks.cc:349:161: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                 ^~~
callbacks.cc:7014:5: note: in expansion of macro 'TTBP'
 7014 |     TTBP(str);
      |     ^~~~
callbacks.cc:7014:10: error: 'str' was not declared in this scope; did you mean 'std'?
 7014 |     TTBP(str);
      |          ^~~
callbacks.cc:349:200: note: in definition of macro 'TTB'
  349 | #define TTB(str)   if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";}
      |                                                                                                                                                                                                        ^~~
callbacks.cc:7014:5: note: in expansion of macro 'TTBP'
 7014 |     TTBP(str);
      |     ^~~~
callbacks.cc:7019:20: error: 'string' is not a class, namespace, or enumeration
 7019 |      bool b = i == string::npos || i == ename->name.length() - 1 || i == 0;
      |                    ^~~~~~
callbacks.cc:7027:7: error: 'str' was not declared in this scope; did you mean 'std'?
 7027 |       str += ename->name.substr(0, ename->name.length() - i2);
      |       ^~~
      |       std
callbacks.cc:7029:7: error: 'str' was not declared in this scope; did you mean 'std'?
 7029 |       str += ename->name.substr(0, i);
      |       ^~~
      |       std
callbacks.cc:7032:18: error: 'str' was not declared in this scope; did you mean 'std'?
 7032 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:351:47: note: in definition of macro 'TTB_XSMALL'
  351 | #define TTB_XSMALL(str)   if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                               ^~~
callbacks.cc:7032:7: note: in expansion of macro 'TTBP_SMALL'
 7032 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:7032:18: error: 'str' was not declared in this scope; did you mean 'std'?
 7032 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:351:106: note: in definition of macro 'TTB_XSMALL'
  351 | #define TTB_XSMALL(str)   if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                          ^~~
callbacks.cc:7032:7: note: in expansion of macro 'TTBP_SMALL'
 7032 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:7032:18: error: 'str' was not declared in this scope; did you mean 'std'?
 7032 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:351:145: note: in definition of macro 'TTB_XSMALL'
  351 | #define TTB_XSMALL(str)   if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                 ^~~
callbacks.cc:7032:7: note: in expansion of macro 'TTBP_SMALL'
 7032 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:7032:18: error: 'str' was not declared in this scope; did you mean 'std'?
 7032 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:350:46: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                              ^~~
callbacks.cc:7032:7: note: in expansion of macro 'TTBP_SMALL'
 7032 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:7032:18: error: 'str' was not declared in this scope; did you mean 'std'?
 7032 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:350:104: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                        ^~~
callbacks.cc:7032:7: note: in expansion of macro 'TTBP_SMALL'
 7032 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:7032:18: error: 'str' was not declared in this scope; did you mean 'std'?
 7032 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:350:163: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                   ^~~
callbacks.cc:7032:7: note: in expansion of macro 'TTBP_SMALL'
 7032 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:7032:18: error: 'str' was not declared in this scope; did you mean 'std'?
 7032 |       TTBP_SMALL(str);
      |                  ^~~
callbacks.cc:350:202: note: in definition of macro 'TTB_SMALL'
  350 | #define TTB_SMALL(str)   if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";}
      |                                                                                                                                                                                                          ^~~
callbacks.cc:7032:7: note: in expansion of macro 'TTBP_SMALL'
 7032 |       TTBP_SMALL(str);
      |       ^~~~~~~~~~
callbacks.cc:7033:7: error: 'str' was not declared in this scope; did you mean 'std'?
 7033 |       str += "<sub>";
      |       ^~~
      |       std
callbacks.cc:7041:6: error: 'str' was not declared in this scope; did you mean 'std'?
 7041 |      str += ename->name;
      |      ^~~
      |      std
callbacks.cc:7043:20: error: 'str' was not declared in this scope; did you mean 'std'?
 7043 |     gsub("_", " ", str);
      |                    ^~~
      |                    std
callbacks.cc:7131:6: error: 'string' was not declared in this scope; did you mean 'std::string'?
 7131 |      string root_str;
      |      ^~~~~~
      |      std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:7132:16: error: 'root_str' was not declared in this scope; did you mean 'root_h'?
 7132 |      TT_XSMALL(root_str, i2s(i_root));
      |                ^~~~~~~~
callbacks.cc:357:49: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                 ^~~
callbacks.cc:7132:16: error: 'root_str' was not declared in this scope; did you mean 'root_h'?
 7132 |      TT_XSMALL(root_str, i2s(i_root));
      |                ^~~~~~~~
callbacks.cc:357:108: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                            ^~~
callbacks.cc:7132:16: error: 'root_str' was not declared in this scope; did you mean 'root_h'?
 7132 |      TT_XSMALL(root_str, i2s(i_root));
      |                ^~~~~~~~
callbacks.cc:357:147: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                   ^~~
callbacks.cc:7132:16: error: 'root_str' was not declared in this scope; did you mean 'root_h'?
 7132 |      TT_XSMALL(root_str, i2s(i_root));
      |                ^~~~~~~~
callbacks.cc:357:182: note: in definition of macro 'TT_XSMALL'
  357 | #define TT_XSMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"medium\">";} else if(scaledown == 1) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                      ^~~
callbacks.cc:7134:43: error: 'root_str' was not declared in this scope; did you mean 'root_h'?
 7134 |      pango_layout_set_markup(layout_root, root_str.c_str(), -1);
      |                                           ^~~~~~~~
      |                                           root_h
callbacks.cc:7244:6: error: 'string' was not declared in this scope; did you mean 'std::string'?
 7244 |      string s = "d";
      |      ^~~~~~
      |      std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:7245:28: error: 's' was not declared in this scope
 7245 |      if(m[1].isSymbolic()) s += m[1].symbol();
      |                            ^
callbacks.cc:7246:11: error: 's' was not declared in this scope
 7246 |      else s += m[1].variable()->preferredDisplayName(po.abbreviate_names, po.use_unicode_signs, false, po.use_reference_names, po.can_display_unicode_string_function, po.can_display_unicode_string_arg).name;
      |           ^
callbacks.cc:7247:37: error: 's' was not declared in this scope
 7247 |      mdx.transform(STRUCT_DIVISION, s);
      |                                     ^
callbacks.cc:7292:5: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
 7292 |     vector<cairo_surface_t*> surface_args;
      |     ^~~~~~
      |     std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:7292:27: error: expected primary-expression before '*' token
 7292 |     vector<cairo_surface_t*> surface_args;
      |                           ^
callbacks.cc:7292:28: error: expected primary-expression before '>' token
 7292 |     vector<cairo_surface_t*> surface_args;
      |                            ^
callbacks.cc:7292:30: error: 'surface_args' was not declared in this scope; did you mean 'surface_result'?
 7292 |     vector<cairo_surface_t*> surface_args;
      |                              ^~~~~~~~~~~~
      |                              surface_result
callbacks.cc:7293:16: error: expected primary-expression before '>' token
 7293 |     vector<gint> hpa;
      |                ^
callbacks.cc:7293:18: error: 'hpa' was not declared in this scope
 7293 |     vector<gint> hpa;
      |                  ^~~
callbacks.cc:7294:16: error: expected primary-expression before '>' token
 7294 |     vector<gint> cpa;
      |                ^
callbacks.cc:7294:18: error: 'cpa' was not declared in this scope
 7294 |     vector<gint> cpa;
      |                  ^~~
callbacks.cc:7295:16: error: expected primary-expression before '>' token
 7295 |     vector<gint> wpa;
      |                ^
callbacks.cc:7295:18: error: 'wpa' was not declared in this scope
 7295 |     vector<gint> wpa;
      |                  ^~~
callbacks.cc:7299:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 7299 |     string str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:7300:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7300 |     TTP(str, po.comma())
      |         ^~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:7300:5: note: in expansion of macro 'TTP'
 7300 |     TTP(str, po.comma())
      |     ^~~
callbacks.cc:7300:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7300 |     TTP(str, po.comma())
      |         ^~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:7300:5: note: in expansion of macro 'TTP'
 7300 |     TTP(str, po.comma())
      |     ^~~
callbacks.cc:7300:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7300 |     TTP(str, po.comma())
      |         ^~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:7300:5: note: in expansion of macro 'TTP'
 7300 |     TTP(str, po.comma())
      |     ^~~
callbacks.cc:7300:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7300 |     TTP(str, po.comma())
      |         ^~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:7300:5: note: in expansion of macro 'TTP'
 7300 |     TTP(str, po.comma())
      |     ^~~
callbacks.cc:7300:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7300 |     TTP(str, po.comma())
      |         ^~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:7300:5: note: in expansion of macro 'TTP'
 7300 |     TTP(str, po.comma())
      |     ^~~
callbacks.cc:7300:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7300 |     TTP(str, po.comma())
      |         ^~~
callbacks.cc:355:43: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                           ^~~
callbacks.cc:7300:5: note: in expansion of macro 'TTP'
 7300 |     TTP(str, po.comma())
      |     ^~~
callbacks.cc:7300:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7300 |     TTP(str, po.comma())
      |         ^~~
callbacks.cc:355:104: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                        ^~~
callbacks.cc:7300:5: note: in expansion of macro 'TTP'
 7300 |     TTP(str, po.comma())
      |     ^~~
callbacks.cc:7300:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7300 |     TTP(str, po.comma())
      |         ^~~
callbacks.cc:355:164: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                    ^~~
callbacks.cc:7300:5: note: in expansion of macro 'TTP'
 7300 |     TTP(str, po.comma())
      |     ^~~
callbacks.cc:7300:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7300 |     TTP(str, po.comma())
      |         ^~~
callbacks.cc:355:203: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                           ^~~
callbacks.cc:7300:5: note: in expansion of macro 'TTP'
 7300 |     TTP(str, po.comma())
      |     ^~~
callbacks.cc:7300:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7300 |     TTP(str, po.comma())
      |         ^~~
callbacks.cc:355:237: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                             ^~~
callbacks.cc:7300:5: note: in expansion of macro 'TTP'
 7300 |     TTP(str, po.comma())
      |     ^~~
callbacks.cc:7301:43: error: 'str' was not declared in this scope; did you mean 'std'?
 7301 |     pango_layout_set_markup(layout_comma, str.c_str(), -1);
      |                                           ^~~
      |                                           std
callbacks.cc:7314:13: error: expected ';' before 'defstr'
 7314 |       string defstr = m.function()->getDefaultValue(argcount);
      |             ^~~~~~~
      |             ;
callbacks.cc:7316:25: error: 'defstr' was not declared in this scope; did you mean 'eqstr'?
 7316 |       remove_blank_ends(defstr);
      |                         ^~~~~~
      |                         eqstr
callbacks.cc:7322:132: error: 'string' is not a class, namespace, or enumeration
 7322 |       } else if(m[argcount - 1].isInteger() && (!arg || arg->type() != ARGUMENT_TYPE_TEXT) && defstr.find_first_not_of(NUMBERS) == string::npos && m[argcount - 1].number() == s2i(defstr)) {
      |                                                                                                                                    ^~~~~~
callbacks.cc:7337:20: error: 'string' is not a class, namespace, or enumeration
 7337 |      bool b = i == string::npos || i == ename->name.length() - 1 || i == 0;
      |                    ^~~~~~
callbacks.cc:7461:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 7461 |     string str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:7462:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7462 |     TTP(str, _("undefined"));
      |         ^~~
callbacks.cc:356:48: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                ^~~
callbacks.cc:7462:5: note: in expansion of macro 'TTP'
 7462 |     TTP(str, _("undefined"));
      |     ^~~
callbacks.cc:7462:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7462 |     TTP(str, _("undefined"));
      |         ^~~
callbacks.cc:356:106: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                          ^~~
callbacks.cc:7462:5: note: in expansion of macro 'TTP'
 7462 |     TTP(str, _("undefined"));
      |     ^~~
callbacks.cc:7462:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7462 |     TTP(str, _("undefined"));
      |         ^~~
callbacks.cc:356:165: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                     ^~~
callbacks.cc:7462:5: note: in expansion of macro 'TTP'
 7462 |     TTP(str, _("undefined"));
      |     ^~~
callbacks.cc:7462:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7462 |     TTP(str, _("undefined"));
      |         ^~~
callbacks.cc:356:204: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                            ^~~
callbacks.cc:7462:5: note: in expansion of macro 'TTP'
 7462 |     TTP(str, _("undefined"));
      |     ^~~
callbacks.cc:7462:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7462 |     TTP(str, _("undefined"));
      |         ^~~
callbacks.cc:356:239: note: in definition of macro 'TT_SMALL'
  356 | #define TT_SMALL(str, x)  {if(scaledown <= 0) {str += "<span size=\"large\">";} else if(scaledown == 1) {str += "<span size=\"medium\">";} else if(scaledown == 2) {str += "<span size=\"small\">";} else {str += "<span size=\"x-small\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                               ^~~
callbacks.cc:7462:5: note: in expansion of macro 'TTP'
 7462 |     TTP(str, _("undefined"));
      |     ^~~
callbacks.cc:7462:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7462 |     TTP(str, _("undefined"));
      |         ^~~
callbacks.cc:355:43: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                           ^~~
callbacks.cc:7462:5: note: in expansion of macro 'TTP'
 7462 |     TTP(str, _("undefined"));
      |     ^~~
callbacks.cc:7462:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7462 |     TTP(str, _("undefined"));
      |         ^~~
callbacks.cc:355:104: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                        ^~~
callbacks.cc:7462:5: note: in expansion of macro 'TTP'
 7462 |     TTP(str, _("undefined"));
      |     ^~~
callbacks.cc:7462:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7462 |     TTP(str, _("undefined"));
      |         ^~~
callbacks.cc:355:164: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                    ^~~
callbacks.cc:7462:5: note: in expansion of macro 'TTP'
 7462 |     TTP(str, _("undefined"));
      |     ^~~
callbacks.cc:7462:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7462 |     TTP(str, _("undefined"));
      |         ^~~
callbacks.cc:355:203: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                           ^~~
callbacks.cc:7462:5: note: in expansion of macro 'TTP'
 7462 |     TTP(str, _("undefined"));
      |     ^~~
callbacks.cc:7462:9: error: 'str' was not declared in this scope; did you mean 'std'?
 7462 |     TTP(str, _("undefined"));
      |         ^~~
callbacks.cc:355:237: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                             ^~~
callbacks.cc:7462:5: note: in expansion of macro 'TTP'
 7462 |     TTP(str, _("undefined"));
      |     ^~~
callbacks.cc:7463:37: error: 'str' was not declared in this scope; did you mean 'std'?
 7463 |     pango_layout_set_markup(layout, str.c_str(), -1);
      |                                     ^~~
      |                                     std
callbacks.cc:7522:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 7522 |     string str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:7523:8: error: 'str' was not declared in this scope; did you mean 'std'?
 7523 |     TT(str, _("approx."));
      |        ^~~
callbacks.cc:355:43: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                           ^~~
callbacks.cc:7523:8: error: 'str' was not declared in this scope; did you mean 'std'?
 7523 |     TT(str, _("approx."));
      |        ^~~
callbacks.cc:355:104: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                        ^~~
callbacks.cc:7523:8: error: 'str' was not declared in this scope; did you mean 'std'?
 7523 |     TT(str, _("approx."));
      |        ^~~
callbacks.cc:355:164: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                    ^~~
callbacks.cc:7523:8: error: 'str' was not declared in this scope; did you mean 'std'?
 7523 |     TT(str, _("approx."));
      |        ^~~
callbacks.cc:355:203: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                           ^~~
callbacks.cc:7523:8: error: 'str' was not declared in this scope; did you mean 'std'?
 7523 |     TT(str, _("approx."));
      |        ^~~
callbacks.cc:355:237: note: in definition of macro 'TT'
  355 | #define TT(str, x)   {if(scaledown <= 0) {str += "<span size=\"xx-large\">";} else if(scaledown == 1) {str += "<span size=\"x-large\">";} else if(scaledown == 2) {str += "<span size=\"large\">";} else {str += "<span size=\"medium\">";} str += x; str += "</span>";}
      |                                                                                                                                                                                                                                             ^~~
callbacks.cc:7524:44: error: 'str' was not declared in this scope; did you mean 'std'?
 7524 |     pango_layout_set_markup(layout_equals, str.c_str(), -1);
      |                                            ^~~
      |                                            std
callbacks.cc: In function 'void clearresult()':
callbacks.cc:7562:2: error: 'date_map' was not declared in this scope
 7562 |  date_map.clear();
      |  ^~~~~~~~
callbacks.cc:7563:2: error: 'number_map' was not declared in this scope
 7563 |  number_map.clear();
      |  ^~~~~~~~~~
callbacks.cc:7564:2: error: 'number_base_map' was not declared in this scope
 7564 |  number_base_map.clear();
      |  ^~~~~~~~~~~~~~~
callbacks.cc:7565:2: error: 'number_exp_map' was not declared in this scope
 7565 |  number_exp_map.clear();
      |  ^~~~~~~~~~~~~~
callbacks.cc:7566:2: error: 'number_exp_minus_map' was not declared in this scope
 7566 |  number_exp_minus_map.clear();
      |  ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:7567:2: error: 'number_approx_map' was not declared in this scope
 7567 |  number_approx_map.clear();
      |  ^~~~~~~~~~~~~~~~~
callbacks.cc:7579:2: error: 'result_bin' was not declared in this scope
 7579 |  result_bin = ""; result_oct = ""; result_dec = ""; result_hex = "";
      |  ^~~~~~~~~~
callbacks.cc:7579:19: error: 'result_oct' was not declared in this scope
 7579 |  result_bin = ""; result_oct = ""; result_dec = ""; result_hex = "";
      |                   ^~~~~~~~~~
callbacks.cc:7579:36: error: 'result_dec' was not declared in this scope; did you mean 'resultview'?
 7579 |  result_bin = ""; result_oct = ""; result_dec = ""; result_hex = "";
      |                                    ^~~~~~~~~~
      |                                    resultview
callbacks.cc:7579:53: error: 'result_hex' was not declared in this scope; did you mean 'resultview'?
 7579 |  result_bin = ""; result_oct = ""; result_dec = ""; result_hex = "";
      |                                                     ^~~~~~~~~~
      |                                                     resultview
callbacks.cc: At global scope:
callbacks.cc:7599:6: error: 'ViewThread' has not been declared
 7599 | void ViewThread::run() {
      |      ^~~~~~~~~~
callbacks.cc: In function 'void run()':
callbacks.cc:7603:12: error: invalid conversion from 'int*' to 'int' [-fpermissive]
 7603 |   if(!read(&scale_tmp)) break;
      |            ^~~~~~~~~~
      |            |
      |            int*
callbacks.cc:7603:22: error: too few arguments to function 'ssize_t read(int, void*, size_t)'
 7603 |   if(!read(&scale_tmp)) break;
      |                      ^
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gcredentials.h:34,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:48,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
/usr/include/unistd.h:132:10: note: declared here
  132 | ssize_t  read(int, void *, size_t);
      |          ^~~~
callbacks.cc:7605:12: error: invalid conversion from 'void**' to 'int' [-fpermissive]
 7605 |   if(!read(&x) || !x) break;
      |            ^~
      |            |
      |            void**
callbacks.cc:7605:14: error: too few arguments to function 'ssize_t read(int, void*, size_t)'
 7605 |   if(!read(&x) || !x) break;
      |              ^
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gcredentials.h:34,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:48,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
/usr/include/unistd.h:132:10: note: declared here
  132 | ssize_t  read(int, void *, size_t);
      |          ^~~~
callbacks.cc:7608:12: error: invalid conversion from 'bool*' to 'int' [-fpermissive]
 7608 |   if(!read(&b_stack)) break;
      |            ^~~~~~~~
      |            |
      |            bool*
callbacks.cc:7608:20: error: too few arguments to function 'ssize_t read(int, void*, size_t)'
 7608 |   if(!read(&b_stack)) break;
      |                    ^
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gcredentials.h:34,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:48,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
/usr/include/unistd.h:132:10: note: declared here
  132 | ssize_t  read(int, void *, size_t);
      |          ^~~~
callbacks.cc:7609:12: error: invalid conversion from 'void**' to 'int' [-fpermissive]
 7609 |   if(!read(&x)) break;
      |            ^~
      |            |
      |            void**
callbacks.cc:7609:14: error: too few arguments to function 'ssize_t read(int, void*, size_t)'
 7609 |   if(!read(&x)) break;
      |              ^
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gcredentials.h:34,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:48,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
/usr/include/unistd.h:132:10: note: declared here
  132 | ssize_t  read(int, void *, size_t);
      |          ^~~~
callbacks.cc:7611:12: error: invalid conversion from 'void**' to 'int' [-fpermissive]
 7611 |   if(!read(&x)) break;
      |            ^~
      |            |
      |            void**
callbacks.cc:7611:14: error: too few arguments to function 'ssize_t read(int, void*, size_t)'
 7611 |   if(!read(&x)) break;
      |              ^
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gcredentials.h:34,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:48,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
/usr/include/unistd.h:132:10: note: declared here
  132 | ssize_t  read(int, void *, size_t);
      |          ^~~~
callbacks.cc:7617:13: error: invalid conversion from 'bool**' to 'int' [-fpermissive]
 7617 |    if(!read(&po.is_approximate)) break;
      |             ^~~~~~~~~~~~~~~~~~
      |             |
      |             bool**
callbacks.cc:7617:31: error: too few arguments to function 'ssize_t read(int, void*, size_t)'
 7617 |    if(!read(&po.is_approximate)) break;
      |                               ^
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gcredentials.h:34,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:48,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
/usr/include/unistd.h:132:10: note: declared here
  132 | ssize_t  read(int, void *, size_t);
      |          ^~~~
callbacks.cc:7619:13: error: invalid conversion from 'void**' to 'int' [-fpermissive]
 7619 |    if(!read(&x_to)) break;
      |             ^~~~~
      |             |
      |             void**
callbacks.cc:7619:18: error: too few arguments to function 'ssize_t read(int, void*, size_t)'
 7619 |    if(!read(&x_to)) break;
      |                  ^
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gcredentials.h:34,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:48,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
/usr/include/unistd.h:132:10: note: declared here
  132 | ssize_t  read(int, void *, size_t);
      |          ^~~~
callbacks.cc:7654:4: error: 'parsed_text' was not declared in this scope; did you mean 'parsed_mstruct'?
 7654 |    parsed_text = mp.print(po);
      |    ^~~~~~~~~~~
      |    parsed_mstruct
callbacks.cc:7669:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
 7669 |    string mstr;
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:7679:6: error: 'mstr' was not declared in this scope
 7679 |      mstr = mm2.getElement(index_r + 1, index_c + 1)->print(printops);
      |      ^~~~
callbacks.cc:7688:3: error: 'result_text' was not declared in this scope
 7688 |   result_text = m.print(printops);
      |   ^~~~~~~~~~~
callbacks.cc:7689:26: error: 'replace_result_cis' was not declared in this scope
 7689 |   if(complex_angle_form) replace_result_cis(result_text);
      |                          ^~~~~~~~~~~~~~~~~~
callbacks.cc:7693:4: error: 'result_bin' was not declared in this scope
 7693 |    result_bin = ""; result_oct = "", result_dec = "", result_hex = "";
      |    ^~~~~~~~~~
callbacks.cc:7693:21: error: 'result_oct' was not declared in this scope
 7693 |    result_bin = ""; result_oct = "", result_dec = "", result_hex = "";
      |                     ^~~~~~~~~~
callbacks.cc:7693:38: error: 'result_dec' was not declared in this scope; did you mean 'resultview'?
 7693 |    result_bin = ""; result_oct = "", result_dec = "", result_hex = "";
      |                                      ^~~~~~~~~~
      |                                      resultview
callbacks.cc:7693:55: error: 'result_hex' was not declared in this scope; did you mean 'resultview'?
 7693 |    result_bin = ""; result_oct = "", result_dec = "", result_hex = "";
      |                                                       ^~~~~~~~~~
      |                                                       resultview
callbacks.cc:7715:14: error: 'string' has not been declared
 7715 |      if(i != string::npos && result_oct.length() > i + 1 && result_oct[i] == '0' && is_in(NUMBERS, result_oct[i + 1])) result_oct.erase(i, 1);
      |              ^~~~~~
callbacks.cc:7735:4: error: 'result_text_long' was not declared in this scope; did you mean 'result_too_long'?
 7735 |    result_text_long = m.print(printops_long);
      |    ^~~~~~~~~~~~~~~~
      |    result_too_long
callbacks.cc:7736:27: error: 'replace_result_cis' was not declared in this scope
 7736 |    if(complex_angle_form) replace_result_cis(result_text_long);
      |                           ^~~~~~~~~~~~~~~~~~
callbacks.cc:7738:4: error: 'result_text_long' was not declared in this scope; did you mean 'result_too_long'?
 7738 |    result_text_long = "";
      |    ^~~~~~~~~~~~~~~~
      |    result_too_long
callbacks.cc: In function 'void reload_history(gint)':
callbacks.cc:7825:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 7825 |  string history_str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:7827:13: error: 'inhistory' was not declared in this scope
 7827 |  size_t i = inhistory.size();
      |             ^~~~~~~~~
callbacks.cc:7831:10: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
 7831 |   switch(inhistory_type[i]) {
      |          ^~~~~~~~~~~~~~
      |          historystore
callbacks.cc:7834:5: error: 'history_str' was not declared in this scope; did you mean 'history_iter'?
 7834 |     history_str = "";
      |     ^~~~~~~~~~~
      |     history_iter
callbacks.cc:7854:5: error: 'add_line_breaks' was not declared in this scope
 7854 |     add_line_breaks(history_str, 2, history_expr_i);
      |     ^~~~~~~~~~~~~~~
callbacks.cc:7855:5: error: 'fix_history_string2' was not declared in this scope
 7855 |     fix_history_string2(history_str);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:7856:5: error: 'improve_result_text' was not declared in this scope
 7856 |     improve_result_text(history_str);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:7859:20: error: 'string' is not a class, namespace, or enumeration
 7859 |      if(trans_l != string::npos) {
      |                    ^~~~~~
callbacks.cc:7865:128: error: 'inhistory_value' was not declared in this scope
 7865 |     gtk_list_store_insert_with_values(historystore, &history_iter, from_index < 0 ? -1 : pos, 0, history_str.c_str(), 1, i, 3, inhistory_value[i], 4, 0, 5, history_scroll_width, 6, 1.0, 7, PANGO_ALIGN_RIGHT, -1);
      |                                                                                                                                ^~~~~~~~~~~~~~~
callbacks.cc:7875:12: error: expected ';' before 'expr_str'
 7875 |      string expr_str;
      |            ^~~~~~~~~
      |            ;
callbacks.cc:7876:67: error: 'expr_str' was not declared in this scope
 7876 |      if(inhistory_type[i + 1] == QALCULATE_HISTORY_RPN_OPERATION) expr_str = ("RPN Operation");
      |                                                                   ^~~~~~~~
callbacks.cc:7877:73: error: 'expr_str' was not declared in this scope
 7877 |      else if(inhistory_type[i + 1] == QALCULATE_HISTORY_REGISTER_MOVED) expr_str = ("RPN Register Moved");
      |                                                                         ^~~~~~~~
callbacks.cc:7878:11: error: 'expr_str' was not declared in this scope
 7878 |      else expr_str = inhistory[i + 1];
      |           ^~~~~~~~
callbacks.cc:7879:6: error: 'history_str' was not declared in this scope; did you mean 'history_iter'?
 7879 |      history_str = fix_history_string(expr_str);
      |      ^~~~~~~~~~~
      |      history_iter
callbacks.cc:7879:39: error: 'expr_str' was not declared in this scope
 7879 |      history_str = fix_history_string(expr_str);
      |                                       ^~~~~~~~
callbacks.cc:7879:20: error: 'fix_history_string' was not declared in this scope
 7879 |      history_str = fix_history_string(expr_str);
      |                    ^~~~~~~~~~~~~~~~~~
callbacks.cc:7883:12: error: expected ';' before 'str2'
 7883 |      string str2;
      |            ^~~~~
      |            ;
callbacks.cc:7885:7: error: 'str2' was not declared in this scope
 7885 |       str2 = "=";
      |       ^~~~
callbacks.cc:7888:8: error: 'str2' was not declared in this scope
 7888 |        str2 = SIGN_ALMOST_EQUAL;
      |        ^~~~
callbacks.cc:7890:8: error: 'str2' was not declared in this scope
 7890 |        str2 = _("approx.");
      |        ^~~~
callbacks.cc:7893:21: error: 'str2' was not declared in this scope
 7893 |      history_str += str2;
      |                     ^~~~
callbacks.cc:7903:7: error: 'add_line_breaks' was not declared in this scope
 7903 |       add_line_breaks(history_str, 1, 0);
      |       ^~~~~~~~~~~~~~~
callbacks.cc:7904:7: error: 'fix_history_string2' was not declared in this scope
 7904 |       fix_history_string2(history_str);
      |       ^~~~~~~~~~~~~~~~~~~
callbacks.cc:7917:9: error: 'inhistory_protected' was not declared in this scope
 7917 |      if(inhistory_protected[i + 1] || (i + 2 < inhistory.size() && inhistory_type[i + 2] == QALCULATE_HISTORY_BOOKMARK)) {
      |         ^~~~~~~~~~~~~~~~~~~
callbacks.cc:7921:129: error: 'inhistory_value' was not declared in this scope
 7921 |      gtk_list_store_insert_with_values(historystore, &history_iter, from_index < 0 ? -1 : pos, 0, history_str.c_str(), 1, i, 2, inhistory_value[i] > 0 ? i2s(inhistory_value[i]).c_str() : "   ", 3, inhistory_value[i], 4, EXPRESSION_YPAD, 5, 6, 6, 0.0, 7, PANGO_ALIGN_LEFT, -1);
      |                                                                                                                                 ^~~~~~~~~~~~~~~
callbacks.cc:7929:11: error: expected ';' before 'str'
 7929 |     string str = "- ";
      |           ^~~~
      |           ;
callbacks.cc:7930:5: error: 'str' was not declared in this scope; did you mean 'std'?
 7930 |     str += inhistory[i];
      |     ^~~
      |     std
callbacks.cc:7931:5: error: 'add_line_breaks' was not declared in this scope
 7931 |     add_line_breaks(str, false, 2);
      |     ^~~~~~~~~~~~~~~
callbacks.cc:7932:5: error: 'fix_history_string2' was not declared in this scope
 7932 |     fix_history_string2(str);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:7933:5: error: 'history_str' was not declared in this scope; did you mean 'history_iter'?
 7933 |     history_str = "<span foreground=\"";
      |     ^~~~~~~~~~~
      |     history_iter
callbacks.cc:7939:128: error: 'inhistory_value' was not declared in this scope
 7939 |     gtk_list_store_insert_with_values(historystore, &history_iter, from_index < 0 ? -1 : pos, 0, history_str.c_str(), 1, i, 3, inhistory_value[i], 4, 0, 5, 6, 6, 0.0, 7, PANGO_ALIGN_LEFT, -1);
      |                                                                                                                                ^~~~~~~~~~~~~~~
callbacks.cc:7947:11: error: expected ';' before 'str'
 7947 |     string str = inhistory[i];
      |           ^~~~
      |           ;
callbacks.cc:7948:21: error: 'str' was not declared in this scope; did you mean 'std'?
 7948 |     add_line_breaks(str, false);
      |                     ^~~
      |                     std
callbacks.cc:7948:5: error: 'add_line_breaks' was not declared in this scope
 7948 |     add_line_breaks(str, false);
      |     ^~~~~~~~~~~~~~~
callbacks.cc:7949:5: error: 'fix_history_string2' was not declared in this scope
 7949 |     fix_history_string2(str);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:7950:5: error: 'history_str' was not declared in this scope; did you mean 'history_iter'?
 7950 |     history_str = "<span foreground=\"";
      |     ^~~~~~~~~~~
      |     history_iter
callbacks.cc:7956:128: error: 'inhistory_value' was not declared in this scope
 7956 |     gtk_list_store_insert_with_values(historystore, &history_iter, from_index < 0 ? -1 : pos, 0, history_str.c_str(), 1, i, 3, inhistory_value[i], 4, 0, 5, 6, 6, 0.0, 7, PANGO_ALIGN_LEFT, -1);
      |                                                                                                                                ^~~~~~~~~~~~~~~
callbacks.cc: At global scope:
callbacks.cc:7966:6: error: variable or field 'add_line_breaks' declared void
 7966 | void add_line_breaks(string &str, int expr, size_t first_i) {
      |      ^~~~~~~~~~~~~~~
callbacks.cc:7966:22: error: 'string' was not declared in this scope; did you mean 'std::string'?
 7966 | void add_line_breaks(string &str, int expr, size_t first_i) {
      |                      ^~~~~~
      |                      std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:7966:30: error: 'str' was not declared in this scope; did you mean 'std'?
 7966 | void add_line_breaks(string &str, int expr, size_t first_i) {
      |                              ^~~
      |                              std
callbacks.cc:7966:35: error: expected primary-expression before 'int'
 7966 | void add_line_breaks(string &str, int expr, size_t first_i) {
      |                                   ^~~
callbacks.cc:7966:52: error: expected primary-expression before 'first_i'
 7966 | void add_line_breaks(string &str, int expr, size_t first_i) {
      |                                                    ^~~~~~~
callbacks.cc: In function 'void update_result_bases()':
callbacks.cc:8167:6: error: 'result_hex' was not declared in this scope; did you mean 'resultview'?
 8167 |  if(!result_hex.empty() || !result_dec.empty() || !result_oct.empty() || !result_bin.empty()) {
      |      ^~~~~~~~~~
      |      resultview
callbacks.cc:8167:29: error: 'result_dec' was not declared in this scope; did you mean 'resultview'?
 8167 |  if(!result_hex.empty() || !result_dec.empty() || !result_oct.empty() || !result_bin.empty()) {
      |                             ^~~~~~~~~~
      |                             resultview
callbacks.cc:8167:52: error: 'result_oct' was not declared in this scope
 8167 |  if(!result_hex.empty() || !result_dec.empty() || !result_oct.empty() || !result_bin.empty()) {
      |                                                    ^~~~~~~~~~
callbacks.cc:8167:75: error: 'result_bin' was not declared in this scope
 8167 |  if(!result_hex.empty() || !result_dec.empty() || !result_oct.empty() || !result_bin.empty()) {
      |                                                                           ^~~~~~~~~~
callbacks.cc:8168:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
 8168 |   string str1, str2;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:8171:4: error: 'str1' was not declared in this scope
 8171 |    str1 = "=";
      |    ^~~~
callbacks.cc:8173:4: error: 'str1' was not declared in this scope
 8173 |    str1 = SIGN_ALMOST_EQUAL;
      |    ^~~~
callbacks.cc:8176:4: error: 'str1' was not declared in this scope
 8176 |    str1 = "= ";
      |    ^~~~
callbacks.cc:8179:3: error: 'str1' was not declared in this scope
 8179 |   str1 += " ";
      |   ^~~~
callbacks.cc:8180:22: error: 'str2' was not declared in this scope
 8180 |   if(b_almost_equal) str2 = SIGN_ALMOST_EQUAL " ";
      |                      ^~~~
callbacks.cc:8181:8: error: 'str2' was not declared in this scope
 8181 |   else str2 = "= ";
      |        ^~~~
callbacks.cc: At global scope:
callbacks.cc:8268:84: error: 'string' has not been declared
 8268 | void setResult(Prefix *prefix, bool update_history, bool update_parse, bool force, string transformation, size_t stack_index, bool register_moved) {
      |                                                                                    ^~~~~~
callbacks.cc: In function 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)':
callbacks.cc:8317:5: error: 'result_text' was not declared in this scope
 8317 |     result_text = _("RPN Register Moved");
      |     ^~~~~~~~~~~
callbacks.cc:8318:5: error: 'inhistory_type' was not declared in this scope; did you mean 'inhistory_index'?
 8318 |     inhistory_type.push_back(QALCULATE_HISTORY_REGISTER_MOVED);
      |     ^~~~~~~~~~~~~~
      |     inhistory_index
callbacks.cc:8319:5: error: 'inhistory_protected' was not declared in this scope
 8319 |     inhistory_protected.push_back(false);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8320:5: error: 'inhistory' was not declared in this scope
 8320 |     inhistory.push_back("");
      |     ^~~~~~~~~
callbacks.cc:8321:5: error: 'inhistory_value' was not declared in this scope; did you mean 'inhistory_index'?
 8321 |     inhistory_value.push_back(nr_of_new_expressions);
      |     ^~~~~~~~~~~~~~~
      |     inhistory_index
callbacks.cc:8323:23: error: 'result_text' was not declared in this scope
 8323 |     remove_blank_ends(result_text);
      |                       ^~~~~~~~~~~
callbacks.cc:8327:6: error: 'inhistory_type' was not declared in this scope; did you mean 'inhistory_index'?
 8327 |      inhistory_type.push_back(QALCULATE_HISTORY_RPN_OPERATION);
      |      ^~~~~~~~~~~~~~
      |      inhistory_index
callbacks.cc:8328:6: error: 'inhistory_protected' was not declared in this scope
 8328 |      inhistory_protected.push_back(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8329:6: error: 'inhistory' was not declared in this scope
 8329 |      inhistory.push_back("");
      |      ^~~~~~~~~
callbacks.cc:8330:6: error: 'inhistory_value' was not declared in this scope; did you mean 'inhistory_index'?
 8330 |      inhistory_value.push_back(nr_of_new_expressions);
      |      ^~~~~~~~~~~~~~~
      |      inhistory_index
callbacks.cc:8332:6: error: 'inhistory_type' was not declared in this scope; did you mean 'inhistory_index'?
 8332 |      inhistory_type.push_back(QALCULATE_HISTORY_EXPRESSION);
      |      ^~~~~~~~~~~~~~
      |      inhistory_index
callbacks.cc:8333:6: error: 'inhistory_protected' was not declared in this scope
 8333 |      inhistory_protected.push_back(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8334:6: error: 'inhistory' was not declared in this scope
 8334 |      inhistory.push_back(result_text);
      |      ^~~~~~~~~
callbacks.cc:8335:6: error: 'inhistory_value' was not declared in this scope; did you mean 'inhistory_index'?
 8335 |      inhistory_value.push_back(nr_of_new_expressions);
      |      ^~~~~~~~~~~~~~~
      |      inhistory_index
callbacks.cc:8337:7: error: 'string' was not declared in this scope; did you mean 'std::string'?
 8337 |       string expression_str = get_expression_text();
      |       ^~~~~~
      |       std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:8338:93: error: 'expression_str' was not declared in this scope; did you mean 'expressiontext'?
 8338 |       if((parsed_mstruct && parsed_mstruct->containsFunction(CALCULATOR->f_uncertainty)) || expression_str.find("+/-") != string::npos || expression_str.find("+/" SIGN_MINUS) != string::npos || expression_str.find("±") != string::npos) printops.interval_display = INTERVAL_DISPLAY_PLUSMINUS;
      |                                                                                             ^~~~~~~~~~~~~~
      |                                                                                             expressiontext
callbacks.cc:8338:123: error: 'string' is not a class, namespace, or enumeration
 8338 |       if((parsed_mstruct && parsed_mstruct->containsFunction(CALCULATOR->f_uncertainty)) || expression_str.find("+/-") != string::npos || expression_str.find("+/" SIGN_MINUS) != string::npos || expression_str.find("±") != string::npos) printops.interval_display = INTERVAL_DISPLAY_PLUSMINUS;
      |                                                                                                                           ^~~~~~
callbacks.cc:8338:179: error: 'string' is not a class, namespace, or enumeration
 8338 |       if((parsed_mstruct && parsed_mstruct->containsFunction(CALCULATOR->f_uncertainty)) || expression_str.find("+/-") != string::npos || expression_str.find("+/" SIGN_MINUS) != string::npos || expression_str.find("±") != string::npos) printops.interval_display = INTERVAL_DISPLAY_PLUSMINUS;
      |                                                                                                                                                                                   ^~~~~~
callbacks.cc:8338:224: error: 'string' is not a class, namespace, or enumeration
 8338 |       if((parsed_mstruct && parsed_mstruct->containsFunction(CALCULATOR->f_uncertainty)) || expression_str.find("+/-") != string::npos || expression_str.find("+/" SIGN_MINUS) != string::npos || expression_str.find("±") != string::npos) printops.interval_display = INTERVAL_DISPLAY_PLUSMINUS;
      |                                                                                                                                                                                                                               ^~~~~~
callbacks.cc:8345:92: error: 'result_text' was not declared in this scope
 8345 |    gtk_list_store_insert_with_values(historystore, &history_iter, 0, 0, fix_history_string(result_text).c_str(), 1, inhistory.size() - 1, 2, i2s(nr_of_new_expressions).c_str(), 3, nr_of_new_expressions, 4, EXPRESSION_YPAD, 5, 6, 6, 0.0, 7, PANGO_ALIGN_LEFT, -1);
      |                                                                                            ^~~~~~~~~~~
callbacks.cc:8345:73: error: 'fix_history_string' was not declared in this scope
 8345 |    gtk_list_store_insert_with_values(historystore, &history_iter, 0, 0, fix_history_string(result_text).c_str(), 1, inhistory.size() - 1, 2, i2s(nr_of_new_expressions).c_str(), 3, nr_of_new_expressions, 4, EXPRESSION_YPAD, 5, 6, 6, 0.0, 7, PANGO_ALIGN_LEFT, -1);
      |                                                                         ^~~~~~~~~~~~~~~~~~
callbacks.cc:8345:117: error: 'inhistory' was not declared in this scope
 8345 |    gtk_list_store_insert_with_values(historystore, &history_iter, 0, 0, fix_history_string(result_text).c_str(), 1, inhistory.size() - 1, 2, i2s(nr_of_new_expressions).c_str(), 3, nr_of_new_expressions, 4, EXPRESSION_YPAD, 5, 6, 6, 0.0, 7, PANGO_ALIGN_LEFT, -1);
      |                                                                                                                     ^~~~~~~~~
callbacks.cc:8349:4: error: 'history_parsed' was not declared in this scope; did you mean 'history_iter'?
 8349 |    history_parsed.push_back(NULL);
      |    ^~~~~~~~~~~~~~
      |    history_iter
callbacks.cc:8350:4: error: 'history_answer' was not declared in this scope; did you mean 'history_iter'?
 8350 |    history_answer.push_back(NULL);
      |    ^~~~~~~~~~~~~~
      |    history_iter
callbacks.cc:8353:23: error: request for member 'empty' in 'transformation', which is of non-class type 'int'
 8353 |    if(!transformation.empty()) {
      |                       ^~~~~
callbacks.cc:8354:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 8354 |     string history_str = transformation;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:8355:5: error: 'history_str' was not declared in this scope; did you mean 'history_iter'?
 8355 |     history_str += ":";
      |     ^~~~~~~~~~~
      |     history_iter
callbacks.cc:8356:5: error: 'add_line_breaks' was not declared in this scope
 8356 |     add_line_breaks(history_str, 3, 0);
      |     ^~~~~~~~~~~~~~~
callbacks.cc:8357:5: error: 'fix_history_string2' was not declared in this scope
 8357 |     fix_history_string2(history_str);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8358:5: error: 'improve_result_text' was not declared in this scope
 8358 |     improve_result_text(history_str);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8371:5: error: 'inhistory' was not declared in this scope
 8371 |     inhistory.insert(inhistory.begin() + inhistory_index, transformation);
      |     ^~~~~~~~~
callbacks.cc:8372:5: error: 'inhistory_type' was not declared in this scope; did you mean 'inhistory_index'?
 8372 |     inhistory_type.insert(inhistory_type.begin() + inhistory_index, QALCULATE_HISTORY_TRANSFORMATION);
      |     ^~~~~~~~~~~~~~
      |     inhistory_index
callbacks.cc:8373:5: error: 'inhistory_protected' was not declared in this scope
 8373 |     inhistory_protected.insert(inhistory_protected.begin() + inhistory_index, false);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8374:5: error: 'inhistory_value' was not declared in this scope; did you mean 'inhistory_index'?
 8374 |     inhistory_value.insert(inhistory_value.begin() + inhistory_index, nr_of_new_expressions);
      |     ^~~~~~~~~~~~~~~
      |     inhistory_index
callbacks.cc:8382:3: error: 'result_text' was not declared in this scope
 8382 |   result_text = "?";
      |   ^~~~~~~~~~~
callbacks.cc:8386:3: error: 'parsed_text' was not declared in this scope; did you mean 'parsed_mstruct'?
 8386 |   parsed_text = "aborted";
      |   ^~~~~~~~~~~
      |   parsed_mstruct
callbacks.cc:8575:3: error: 'parsed_text' was not declared in this scope; did you mean 'parsed_mstruct'?
 8575 |   parsed_text = result_text;
      |   ^~~~~~~~~~~
      |   parsed_mstruct
callbacks.cc:8575:17: error: 'result_text' was not declared in this scope
 8575 |   parsed_text = result_text;
      |                 ^~~~~~~~~~~
callbacks.cc:8583:6: error: 'result_text' was not declared in this scope
 8583 |   if(result_text.length() > 500000) {
      |      ^~~~~~~~~~~
callbacks.cc:8586:22: error: 'result_text' was not declared in this scope
 8586 |   RPNRegisterChanged(result_text, stack_index);
      |                      ^~~~~~~~~~~
callbacks.cc:8586:3: error: 'RPNRegisterChanged' was not declared in this scope; did you mean 'RPNRegisterRemoved'?
 8586 |   RPNRegisterChanged(result_text, stack_index);
      |   ^~~~~~~~~~~~~~~~~~
      |   RPNRegisterRemoved
callbacks.cc:8589:6: error: 'result_text' was not declared in this scope
 8589 |   if(result_text.length() > 500000) {
      |      ^~~~~~~~~~~
callbacks.cc:8592:6: error: 'parsed_text' was not declared in this scope; did you mean 'parsed_mstruct'?
 8592 |   if(parsed_text.length() > 500000) {
      |      ^~~~~~~~~~~
      |      parsed_mstruct
callbacks.cc:8598:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
 8598 |    string str = expr_str;
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:8599:4: error: 'str' was not declared in this scope; did you mean 'std'?
 8599 |    str += "<span font-style=\"italic\" foreground=\"";
      |    ^~~
      |    std
callbacks.cc:8602:10: error: expected ';' before 'str2'
 8602 |    string str2;
      |          ^~~~~
      |          ;
callbacks.cc:8604:5: error: 'str2' was not declared in this scope
 8604 |     str2 = "=";
      |     ^~~~
callbacks.cc:8605:5: error: 'inhistory_type' was not declared in this scope; did you mean 'inhistory_index'?
 8605 |     inhistory_type.insert(inhistory_type.begin() + inhistory_index, QALCULATE_HISTORY_PARSE);
      |     ^~~~~~~~~~~~~~
      |     inhistory_index
callbacks.cc:8606:5: error: 'inhistory_protected' was not declared in this scope
 8606 |     inhistory_protected.insert(inhistory_protected.begin() + inhistory_index, false);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8607:5: error: 'inhistory_value' was not declared in this scope; did you mean 'inhistory_index'?
 8607 |     inhistory_value.insert(inhistory_value.begin() + inhistory_index, nr_of_new_expressions);
      |     ^~~~~~~~~~~~~~~
      |     inhistory_index
callbacks.cc:8610:6: error: 'str2' was not declared in this scope
 8610 |      str2 = SIGN_ALMOST_EQUAL;
      |      ^~~~
callbacks.cc:8612:6: error: 'str2' was not declared in this scope
 8612 |      str2 = _("approx.");
      |      ^~~~
callbacks.cc:8614:5: error: 'inhistory_type' was not declared in this scope; did you mean 'inhistory_index'?
 8614 |     inhistory_type.insert(inhistory_type.begin() + inhistory_index, QALCULATE_HISTORY_PARSE_APPROXIMATE);
      |     ^~~~~~~~~~~~~~
      |     inhistory_index
callbacks.cc:8615:5: error: 'inhistory_protected' was not declared in this scope
 8615 |     inhistory_protected.insert(inhistory_protected.begin() + inhistory_index, false);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8616:5: error: 'inhistory_value' was not declared in this scope; did you mean 'inhistory_index'?
 8616 |     inhistory_value.insert(inhistory_value.begin() + inhistory_index, nr_of_new_expressions);
      |     ^~~~~~~~~~~~~~~
      |     inhistory_index
callbacks.cc:8618:11: error: 'str2' was not declared in this scope
 8618 |    str += str2;
      |           ^~~~
callbacks.cc:8620:30: error: 'parsed_text' was not declared in this scope; did you mean 'parsed_mstruct'?
 8620 |    str += fix_history_string(parsed_text);
      |                              ^~~~~~~~~~~
      |                              parsed_mstruct
callbacks.cc:8620:11: error: 'fix_history_string' was not declared in this scope
 8620 |    str += fix_history_string(parsed_text);
      |           ^~~~~~~~~~~~~~~~~~
callbacks.cc:8622:4: error: 'inhistory' was not declared in this scope
 8622 |    inhistory.insert(inhistory.begin() + inhistory_index, parsed_text);
      |    ^~~~~~~~~
callbacks.cc:8623:55: error: 'history_parsed' was not declared in this scope; did you mean 'history_iter'?
 8623 |    if(nr_of_new_expressions > 0 && parsed_mstruct && !history_parsed[nr_of_new_expressions - 1]) {
      |                                                       ^~~~~~~~~~~~~~
      |                                                       history_iter
callbacks.cc:8632:5: error: 'unfix_history_string' was not declared in this scope
 8632 |     unfix_history_string(str);
      |     ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:8633:5: error: 'add_line_breaks' was not declared in this scope
 8633 |     add_line_breaks(str, 1, 0);
      |     ^~~~~~~~~~~~~~~
callbacks.cc:8634:5: error: 'fix_history_string2' was not declared in this scope
 8634 |     fix_history_string2(str);
      |     ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8654:23: error: 'result_text' was not declared in this scope
 8654 |    RPNRegisterChanged(result_text, stack_index);
      |                       ^~~~~~~~~~~
callbacks.cc:8654:4: error: 'RPNRegisterChanged' was not declared in this scope; did you mean 'RPNRegisterRemoved'?
 8654 |    RPNRegisterChanged(result_text, stack_index);
      |    ^~~~~~~~~~~~~~~~~~
      |    RPNRegisterRemoved
callbacks.cc:8657:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
 8657 |   string str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:8661:4: error: 'str' was not declared in this scope; did you mean 'std'?
 8661 |    str = "=";
      |    ^~~
      |    std
callbacks.cc:8664:5: error: 'str' was not declared in this scope; did you mean 'std'?
 8664 |     str = SIGN_ALMOST_EQUAL;
      |     ^~~
      |     std
callbacks.cc:8666:5: error: 'str' was not declared in this scope; did you mean 'std'?
 8666 |     str = "= ";
      |     ^~~
      |     std
callbacks.cc:8670:9: error: expected ';' before 'history_str'
 8670 |   string history_str;
      |         ^~~~~~~~~~~~
      |         ;
callbacks.cc:8672:71: error: request for member 'empty' in 'transformation', which is of non-class type 'int'
 8672 |   if(!update_parse && current_inhistory_index >= 0 && !transformation.empty() && history_index == history_index_bak) {
      |                                                                       ^~~~~
callbacks.cc:8673:4: error: 'history_str' was not declared in this scope; did you mean 'history_iter'?
 8673 |    history_str = transformation;
      |    ^~~~~~~~~~~
      |    history_iter
callbacks.cc:8677:3: error: 'history_str' was not declared in this scope; did you mean 'history_iter'?
 8677 |   history_str += str;
      |   ^~~~~~~~~~~
      |   history_iter
callbacks.cc:8677:18: error: 'str' was not declared in this scope; did you mean 'std'?
 8677 |   history_str += str;
      |                  ^~~
      |                  std
callbacks.cc:8680:18: error: 'result_text' was not declared in this scope
 8680 |   history_str += result_text;
      |                  ^~~~~~~~~~~
callbacks.cc:8681:3: error: 'add_line_breaks' was not declared in this scope
 8681 |   add_line_breaks(history_str, 2, history_expr_i);
      |   ^~~~~~~~~~~~~~~
callbacks.cc:8682:3: error: 'fix_history_string2' was not declared in this scope
 8682 |   fix_history_string2(history_str);
      |   ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8683:3: error: 'improve_result_text' was not declared in this scope
 8683 |   improve_result_text(history_str);
      |   ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8686:18: error: 'string' is not a class, namespace, or enumeration
 8686 |    if(trans_l != string::npos) {
      |                  ^~~~~~
callbacks.cc:8692:71: error: request for member 'empty' in 'transformation', which is of non-class type 'int'
 8692 |   if(!update_parse && current_inhistory_index >= 0 && !transformation.empty() && history_index_bak == history_index) {
      |                                                                       ^~~~~
callbacks.cc:8698:3: error: 'inhistory' was not declared in this scope
 8698 |   inhistory.insert(inhistory.begin() + inhistory_index, result_text);
      |   ^~~~~~~~~
callbacks.cc:8701:4: error: 'inhistory_type' was not declared in this scope; did you mean 'inhistory_index'?
 8701 |    inhistory_type.insert(inhistory_type.begin() + inhistory_index, QALCULATE_HISTORY_RESULT_APPROXIMATE);
      |    ^~~~~~~~~~~~~~
      |    inhistory_index
callbacks.cc:8703:4: error: 'inhistory_type' was not declared in this scope; did you mean 'inhistory_index'?
 8703 |    inhistory_type.insert(inhistory_type.begin() + inhistory_index, QALCULATE_HISTORY_RESULT);
      |    ^~~~~~~~~~~~~~
      |    inhistory_index
callbacks.cc:8705:3: error: 'inhistory_protected' was not declared in this scope
 8705 |   inhistory_protected.insert(inhistory_protected.begin() + inhistory_index, false);
      |   ^~~~~~~~~~~~~~~~~~~
callbacks.cc:8706:3: error: 'inhistory_value' was not declared in this scope; did you mean 'inhistory_index'?
 8706 |   inhistory_value.insert(inhistory_value.begin() + inhistory_index, nr_of_new_expressions);
      |   ^~~~~~~~~~~~~~~
      |   inhistory_index
callbacks.cc:8707:77: error: 'history_answer' was not declared in this scope; did you mean 'history_iter'?
 8707 |   if(nr_of_new_expressions > 0 && mstruct && nr_of_new_expressions <= (int) history_answer.size()) {
      |                                                                             ^~~~~~~~~~~~~~
      |                                                                             history_iter
callbacks.cc:8723:7: error: 'result_text_long' was not declared in this scope; did you mean 'result_too_long'?
 8723 |    if(result_text_long.empty()) {
      |       ^~~~~~~~~~~~~~~~
      |       result_too_long
callbacks.cc: In member function 'virtual void CommandThread::run()':
callbacks.cc:8818:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
 8818 |     string ceu_str;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:8820:6: error: 'ceu_str' was not declared in this scope; did you mean 'eqstr'?
 8820 |      ceu_str = CALCULATOR->unlocalizeExpression(gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(main_builder, "convert_entry_unit"))), evalops.parse_options);
      |      ^~~~~~~
      |      eqstr
callbacks.cc:8833:85: error: 'ceu_str' was not declared in this scope; did you mean 'eqstr'?
 8833 |     ((MathStructure*) x)->set(CALCULATOR->calculate(*((MathStructure*) x), evalops, ceu_str));
      |                                                                                     ^~~~~~~
      |                                                                                     eqstr
callbacks.cc:8837:74: error: 'command_convert_units_string' was not declared in this scope; did you mean 'command_convert_unit'?
 8837 |     ((MathStructure*) x)->set(CALCULATOR->convert(*((MathStructure*) x), command_convert_units_string, evalops));
      |                                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                          command_convert_unit
callbacks.cc: At global scope:
callbacks.cc:8869:57: error: 'string' has not been declared
 8869 | void executeCommand(int command_type, bool show_result, string ceu_str, Unit *u, int run) {
      |                                                         ^~~~~~
callbacks.cc: In function 'void executeCommand(int, bool, int, Unit*, int)':
callbacks.cc:8887:4: error: 'command_convert_units_string' was not declared in this scope; did you mean 'command_convert_unit'?
 8887 |    command_convert_units_string = ceu_str;
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |    command_convert_unit
callbacks.cc:8915:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
 8915 |   string progress_str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:8918:5: error: 'progress_str' was not declared in this scope
 8918 |     progress_str = _("Factorizing…");
      |     ^~~~~~~~~~~~
callbacks.cc:8922:5: error: 'progress_str' was not declared in this scope
 8922 |     progress_str = _("Expanding partial fractions…");
      |     ^~~~~~~~~~~~
callbacks.cc:8926:5: error: 'progress_str' was not declared in this scope
 8926 |     progress_str = _("Expanding…");
      |     ^~~~~~~~~~~~
callbacks.cc:8931:5: error: 'progress_str' was not declared in this scope
 8931 |     progress_str = _("Calculating…");
      |     ^~~~~~~~~~~~
callbacks.cc:8935:5: error: 'progress_str' was not declared in this scope
 8935 |     progress_str = _("Converting…");
      |     ^~~~~~~~~~~~
callbacks.cc:8939:89: error: 'progress_str' was not declared in this scope
 8939 |   gtk_window_set_title(GTK_WINDOW(gtk_builder_get_object(main_builder, "main_window")), progress_str.c_str());
      |                                                                                         ^~~~~~~~~~~~
callbacks.cc:8980:56: error: request for member 'empty' in 'ceu_str', which is of non-class type 'int'
 8980 |  if(command_type == COMMAND_CONVERT_STRING && !ceu_str.empty()) {
      |                                                        ^~~~~
callbacks.cc:8981:13: error: invalid types 'int[int]' for array subscript
 8981 |   if(ceu_str[0] == '?') {
      |             ^
callbacks.cc:8983:21: error: request for member 'length' in 'ceu_str', which is of non-class type 'int'
 8983 |   } else if(ceu_str.length() > 1 && ceu_str[1] == '?' && (ceu_str[0] == 'b' || ceu_str[0] == 'a' || ceu_str[0] == 'd')) {
      |                     ^~~~~~
callbacks.cc:8983:44: error: invalid types 'int[int]' for array subscript
 8983 |   } else if(ceu_str.length() > 1 && ceu_str[1] == '?' && (ceu_str[0] == 'b' || ceu_str[0] == 'a' || ceu_str[0] == 'd')) {
      |                                            ^
callbacks.cc:8983:66: error: invalid types 'int[int]' for array subscript
 8983 |   } else if(ceu_str.length() > 1 && ceu_str[1] == '?' && (ceu_str[0] == 'b' || ceu_str[0] == 'a' || ceu_str[0] == 'd')) {
      |                                                                  ^
callbacks.cc:8983:87: error: invalid types 'int[int]' for array subscript
 8983 |   } else if(ceu_str.length() > 1 && ceu_str[1] == '?' && (ceu_str[0] == 'b' || ceu_str[0] == 'a' || ceu_str[0] == 'd')) {
      |                                                                                       ^
callbacks.cc:8983:108: error: invalid types 'int[int]' for array subscript
 8983 |   } else if(ceu_str.length() > 1 && ceu_str[1] == '?' && (ceu_str[0] == 'b' || ceu_str[0] == 'a' || ceu_str[0] == 'd')) {
      |                                                                                                            ^
callbacks.cc:8984:23: error: invalid types 'int[int]' for array subscript
 8984 |    to_prefix = ceu_str[0];
      |                       ^
callbacks.cc:9005:73: error: operands to '?:' have different types 'int' and 'const char*'
 9005 |    setResult(NULL, true, false, true, command_type == COMMAND_TRANSFORM ? ceu_str : "");
      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
callbacks.cc: In function 'void result_format_updated()':
callbacks.cc:9072:41: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9072 |  else setResult(NULL, true, false, false);
      |                                         ^
      |                                         |
      |                                         const char*
callbacks.cc: In function 'void result_action_executed()':
callbacks.cc:9079:35: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9079 |  setResult(NULL, true, false, true);
      |                                   ^
      |                                   |
      |                                   const char*
callbacks.cc: In function 'void result_prefix_changed(Prefix*)':
callbacks.cc:9094:42: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9094 |   executeCommand(COMMAND_CALCULATE, false);
      |                                          ^
      |                                          |
      |                                          const char*
callbacks.cc:9102:42: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9102 |  else setResult(prefix, true, false, true);
      |                                          ^
      |                                          |
      |                                          const char*
callbacks.cc: At global scope:
callbacks.cc:9137:6: error: variable or field 'add_to_expression_history' declared void
 9137 | void add_to_expression_history(string str) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:9137:32: error: 'string' was not declared in this scope; did you mean 'std::string'?
 9137 | void add_to_expression_history(string str) {
      |                                ^~~~~~
      |                                std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc: In function 'void set_previous_expression()':
callbacks.cc:9156:46: error: 'previous_expression' was not declared in this scope; did you mean 'set_previous_expression'?
 9156 |   gtk_text_buffer_set_text(expressionbuffer, previous_expression.c_str(), -1);
      |                                              ^~~~~~~~~~~~~~~~~~~
      |                                              set_previous_expression
callbacks.cc: At global scope:
callbacks.cc:9170:130: error: 'string' has not been declared
 9170 | void execute_expression(bool force, bool do_mathoperation, MathOperation op, MathFunction *f, bool do_stack, size_t stack_index, string execute_str, string str, bool check_exrates) {
      |                                                                                                                                  ^~~~~~
callbacks.cc:9170:150: error: 'string' has not been declared
 9170 | void execute_expression(bool force, bool do_mathoperation, MathOperation op, MathFunction *f, bool do_stack, size_t stack_index, string execute_str, string str, bool check_exrates) {
      |                                                                                                                                                      ^~~~~~
callbacks.cc: In function 'void execute_expression(bool, bool, MathOperation, MathFunction*, bool, size_t, int, int, bool)':
callbacks.cc:9174:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
 9174 |  string saved_execute_str = execute_str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:9190:17: error: request for member 'empty' in 'execute_str', which is of non-class type 'int'
 9190 |  if(execute_str.empty()) {
      |                 ^~~~~
callbacks.cc:9194:9: error: request for member 'empty' in 'str', which is of non-class type 'int'
 9194 |  if(str.empty() && !do_mathoperation) {
      |         ^~~~~
callbacks.cc:9200:10: error: invalid conversion from 'gchar*' {aka 'char*'} to 'int' [-fpermissive]
 9200 |    str = gstr;
      |          ^~~~
      |          |
      |          gchar* {aka char*}
callbacks.cc:9208:10: error: invalid conversion from 'gchar*' {aka 'char*'} to 'int' [-fpermissive]
 9208 |    str = gstr;
      |          ^~~~
      |          |
      |          gchar* {aka char*}
callbacks.cc:9210:48: error: request for member 'find_first_not_of' in 'str', which is of non-class type 'int'
 9210 |    if(!force && (expression_has_changed || str.find_first_not_of(SPACES) == string::npos)) {
      |                                                ^~~~~~~~~~~~~~~~~
callbacks.cc:9210:77: error: 'string' is not a class, namespace, or enumeration
 9210 |    if(!force && (expression_has_changed || str.find_first_not_of(SPACES) == string::npos)) {
      |                                                                             ^~~~~~
callbacks.cc:9217:33: error: request for member 'empty' in 'str', which is of non-class type 'int'
 9217 |    if(!do_mathoperation && !str.empty()) add_to_expression_history(str);
      |                                 ^~~~~
callbacks.cc:9217:42: error: 'add_to_expression_history' was not declared in this scope; did you mean 'update_expression_icons'?
 9217 |    if(!do_mathoperation && !str.empty()) add_to_expression_history(str);
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                          update_expression_icons
callbacks.cc:9221:8: error: expected ';' before 'from_str'
 9221 |  string from_str = str, to_str;
      |        ^~~~~~~~~
      |        ;
callbacks.cc:9222:17: error: request for member 'empty' in 'execute_str', which is of non-class type 'int'
 9222 |  if(execute_str.empty() && CALCULATOR->separateToExpression(from_str, to_str, evalops, true, !do_stack)) {
      |                 ^~~~~
callbacks.cc:9222:61: error: 'from_str' was not declared in this scope
 9222 |  if(execute_str.empty() && CALCULATOR->separateToExpression(from_str, to_str, evalops, true, !do_stack)) {
      |                                                             ^~~~~~~~
callbacks.cc:9222:71: error: 'to_str' was not declared in this scope
 9222 |  if(execute_str.empty() && CALCULATOR->separateToExpression(from_str, to_str, evalops, true, !do_stack)) {
      |                                                                       ^~~~~~
callbacks.cc:9224:9: error: expected ';' before 'to_str1'
 9224 |   string to_str1, to_str2;
      |         ^~~~~~~~
      |         ;
callbacks.cc:9226:16: error: 'string' is not a class, namespace, or enumeration
 9226 |   if(ispace != string::npos) {
      |                ^~~~~~
callbacks.cc:9227:4: error: 'to_str1' was not declared in this scope
 9227 |    to_str1 = to_str.substr(0, ispace);
      |    ^~~~~~~
callbacks.cc:9229:4: error: 'to_str2' was not declared in this scope
 9229 |    to_str2 = to_str.substr(ispace + 1);
      |    ^~~~~~~
callbacks.cc:9267:60: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9267 |    if(from_str.empty()) {setResult(NULL, true, false, false); set_previous_expression();}
      |                                                            ^
      |                                                            |
      |                                                            const char*
callbacks.cc:9296:60: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9296 |    if(from_str.empty()) {setResult(NULL, true, false, false); set_previous_expression();}
      |                                                            ^
      |                                                            |
      |                                                            const char*
callbacks.cc:9306:60: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9306 |    if(from_str.empty()) {setResult(NULL, true, false, false); set_previous_expression();}
      |                                                            ^
      |                                                            |
      |                                                            const char*
callbacks.cc:9316:26: error: 'result_text' was not declared in this scope
 9316 |     convert_number_bases(result_text.c_str());
      |                          ^~~~~~~~~~~
callbacks.cc:9337:32: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9337 |     executeCommand(COMMAND_EVAL);
      |                                ^
      |                                |
      |                                const char*
callbacks.cc:9353:32: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9353 |     executeCommand(COMMAND_EVAL);
      |                                ^
      |                                |
      |                                const char*
callbacks.cc:9369:32: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9369 |     executeCommand(COMMAND_EVAL);
      |                                ^
      |                                |
      |                                const char*
callbacks.cc:9385:32: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9385 |     executeCommand(COMMAND_EVAL);
      |                                ^
      |                                |
      |                                const char*
callbacks.cc:9401:32: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9401 |     executeCommand(COMMAND_EVAL);
      |                                ^
      |                                |
      |                                const char*
callbacks.cc:9413:43: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9413 |     executeCommand(COMMAND_CONVERT_OPTIMAL);
      |                                           ^
      |                                           |
      |                                           const char*
callbacks.cc:9429:40: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9429 |     executeCommand(COMMAND_CONVERT_BASE);
      |                                        ^
      |                                        |
      |                                        const char*
callbacks.cc:9462:37: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9462 |     executeCommand(COMMAND_FACTORIZE);
      |                                     ^
      |                                     |
      |                                     const char*
callbacks.cc:9472:52: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9472 |     executeCommand(COMMAND_EXPAND_PARTIAL_FRACTIONS);
      |                                                    ^
      |                                                    |
      |                                                    const char*
callbacks.cc:9478:30: error: 'to_str1' was not declared in this scope
 9478 |   } else if(equalsIgnoreCase(to_str1, "base") || equalsIgnoreCase(to_str1, _("base"))) {
      |                              ^~~~~~~
callbacks.cc:9479:24: error: 'to_str2' was not declared in this scope
 9479 |    if(equalsIgnoreCase(to_str2, "golden") || equalsIgnoreCase(to_str2, "golden ratio") || to_str2 == "φ") to_base = BASE_GOLDEN_RATIO;
      |                        ^~~~~~~
callbacks.cc:9522:39: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9522 |     setResult(NULL, true, false, false);
      |                                       ^
      |                                       |
      |                                       const char*
callbacks.cc:9533:39: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9533 |     setResult(NULL, true, false, false);
      |                                       ^
      |                                       |
      |                                       const char*
callbacks.cc:9540:24: error: request for member 'empty' in 'execute_str', which is of non-class type 'int'
 9540 |  } else if(execute_str.empty()) {
      |                        ^~~~~
callbacks.cc:9541:18: error: request for member 'find_first_of' in 'str', which is of non-class type 'int'
 9541 |   size_t i = str.find_first_of(SPACES LEFT_PARENTHESIS);
      |                  ^~~~~~~~~~~~~
callbacks.cc:9542:11: error: 'string' is not a class, namespace, or enumeration
 9542 |   if(i != string::npos) {
      |           ^~~~~~
callbacks.cc:9543:17: error: request for member 'substr' in 'str', which is of non-class type 'int'
 9543 |    to_str = str.substr(0, i);
      |                 ^~~~~~
callbacks.cc:9545:23: error: request for member 'substr' in 'str', which is of non-class type 'int'
 9545 |     execute_str = str.substr(i + 1);
      |                       ^~~~~~
callbacks.cc:9548:23: error: request for member 'substr' in 'str', which is of non-class type 'int'
 9548 |     execute_str = str.substr(i + 1);
      |                       ^~~~~~
callbacks.cc:9559:17: error: request for member 'empty' in 'execute_str', which is of non-class type 'int'
 9559 |  if(execute_str.empty() && !do_conv && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(main_builder, "convert_button_continuous_conversion")))) {
      |                 ^~~~~
callbacks.cc:9560:9: error: expected ';' before 'ceu_str'
 9560 |   string ceu_str = CALCULATOR->unlocalizeExpression(gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(main_builder, "convert_entry_unit"))), evalops.parse_options);
      |         ^~~~~~~~
      |         ;
callbacks.cc:9561:21: error: 'ceu_str' was not declared in this scope; did you mean 'eqstr'?
 9561 |   remove_blank_ends(ceu_str);
      |                     ^~~~~~~
      |                     eqstr
callbacks.cc:9588:93: error: request for member 'empty' in 'execute_str', which is of non-class type 'int'
 9588 |    CALCULATOR->setRPNRegister(stack_index + 1, CALCULATOR->unlocalizeExpression(execute_str.empty() ? str : execute_str, evalops.parse_options), 0, evalops, parsed_mstruct, parsed_tostruct);
      |                                                                                             ^~~~~
callbacks.cc:9598:10: error: expected ';' before 'str2'
 9598 |    string str2 = CALCULATOR->unlocalizeExpression(execute_str.empty() ? str : execute_str, evalops.parse_options);
      |          ^~~~~
      |          ;
callbacks.cc:9599:27: error: 'str2' was not declared in this scope; did you mean 'str'?
 9599 |    CALCULATOR->parseSigns(str2);
      |                           ^~~~
      |                           str
callbacks.cc:9634:35: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
 9634 |     } else if(str2 == "!=" || str == "=!" || str == "<>") {
      |                               ~~~~^~~~~~~
callbacks.cc:9634:50: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
 9634 |     } else if(str2 == "!=" || str == "=!" || str == "<>") {
      |                                              ~~~~^~~~~~~
callbacks.cc:9637:35: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
 9637 |     } else if(str2 == "<=" || str == "=<") {
      |                               ~~~~^~~~~~~
callbacks.cc:9640:35: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
 9640 |     } else if(str2 == ">=" || str == "=>") {
      |                               ~~~~^~~~~~~
callbacks.cc:9711:79: error: request for member 'empty' in 'execute_str', which is of non-class type 'int'
 9711 |   CALCULATOR->calculate(mstruct, CALCULATOR->unlocalizeExpression(execute_str.empty() ? str : execute_str, evalops.parse_options), 0, evalops, parsed_mstruct, parsed_tostruct);
      |                                                                               ^~~~~
callbacks.cc:9784:3: error: 'result_text' was not declared in this scope
 9784 |   result_text = _("RPN Operation");
      |   ^~~~~~~~~~~
callbacks.cc:9786:3: error: 'result_text' was not declared in this scope
 9786 |   result_text = str;
      |   ^~~~~~~~~~~
callbacks.cc:9796:4: error: 'RPNRegisterAdded' was not declared in this scope; did you mean 'RPNRegisterRemoved'?
 9796 |    RPNRegisterAdded("");
      |    ^~~~~~~~~~~~~~~~
      |    RPNRegisterRemoved
callbacks.cc:9806:92: error: 'saved_execute_str' was not declared in this scope; did you mean 'execute_str'?
 9806 |   execute_expression(force, do_mathoperation, op, f, rpn_mode, do_stack ? stack_index : 0, saved_execute_str, str, false);
      |                                                                                            ^~~~~~~~~~~~~~~~~
      |                                                                                            execute_str
callbacks.cc:9814:118: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9814 |    executeCommand(do_pfe ? COMMAND_EXPAND_PARTIAL_FRACTIONS : (do_expand ? COMMAND_EXPAND : COMMAND_FACTORIZE), false);
      |                                                                                                                      ^
      |                                                                                                                      |
      |                                                                                                                      const char*
callbacks.cc:9817:119: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9817 |    executeCommand(do_pfe ? COMMAND_EXPAND_PARTIAL_FRACTIONS  : (do_expand ? COMMAND_EXPAND : COMMAND_FACTORIZE), false);
      |                                                                                                                       ^
      |                                                                                                                       |
      |                                                                                                                       const char*
callbacks.cc:9820:16: error: 'previous_expression' was not declared in this scope; did you mean 'set_previous_expression'?
 9820 |  if(!do_stack) previous_expression = execute_str.empty() ? str : execute_str;
      |                ^~~~~~~~~~~~~~~~~~~
      |                set_previous_expression
callbacks.cc:9820:50: error: request for member 'empty' in 'execute_str', which is of non-class type 'int'
 9820 |  if(!do_stack) previous_expression = execute_str.empty() ? str : execute_str;
      |                                                  ^~~~~
callbacks.cc:9821:61: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
 9821 |  setResult(NULL, true, !do_stack || stack_index == 0, true, "", do_stack ? stack_index : 0);
      |                                                             ^~
      |                                                             |
      |                                                             const char*
callbacks.cc:8268:91: note:   initializing argument 5 of 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)'
 8268 | void setResult(Prefix *prefix, bool update_history, bool update_parse, bool force, string transformation, size_t stack_index, bool register_moved) {
      |                                                                                    ~~~~~~~^~~~~~~~~~~~~~
callbacks.cc:9827:11: error: expected ';' before 's_cat'
 9827 |     string s_cat = u->category();
      |           ^~~~~~
      |           ;
callbacks.cc:9828:8: error: 's_cat' was not declared in this scope
 9828 |     if(s_cat.empty()) s_cat = _("Uncategorized");
      |        ^~~~~
callbacks.cc:9829:8: error: 's_cat' was not declared in this scope
 9829 |     if(s_cat != selected_unit_category) {
      |        ^~~~~
callbacks.cc:9829:17: error: 'selected_unit_category' was not declared in this scope
 9829 |     if(s_cat != selected_unit_category) {
      |                 ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:9830:25: error: 'convert_category_map' was not declared in this scope
 9830 |      GtkTreeIter iter = convert_category_map[s_cat];
      |                         ^~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void calculateRPN(int)':
callbacks.cc:9913:6: error: 'get_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
 9913 |   if(get_expression_text().find_first_not_of(SPACES) != string::npos) {
      |      ^~~~~~~~~~~~~~~~~~~
      |      set_expression_text
callbacks.cc:9913:57: error: 'string' has not been declared
 9913 |   if(get_expression_text().find_first_not_of(SPACES) != string::npos) {
      |                                                         ^~~~~~
callbacks.cc: In function 'void calculateRPN(MathFunction*)':
callbacks.cc:9921:6: error: 'get_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
 9921 |   if(get_expression_text().find_first_not_of(SPACES) != string::npos) {
      |      ^~~~~~~~~~~~~~~~~~~
      |      set_expression_text
callbacks.cc:9921:57: error: 'string' has not been declared
 9921 |   if(get_expression_text().find_first_not_of(SPACES) != string::npos) {
      |                                                         ^~~~~~
callbacks.cc: At global scope:
callbacks.cc:9927:6: error: variable or field 'RPNRegisterAdded' declared void
 9927 | void RPNRegisterAdded(string text, gint index) {
      |      ^~~~~~~~~~~~~~~~
callbacks.cc:9927:23: error: 'string' was not declared in this scope; did you mean 'std::string'?
 9927 | void RPNRegisterAdded(string text, gint index) {
      |                       ^~~~~~
      |                       std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:9927:41: error: expected primary-expression before 'index'
 9927 | void RPNRegisterAdded(string text, gint index) {
      |                                         ^~~~~
callbacks.cc:9981:6: error: variable or field 'RPNRegisterChanged' declared void
 9981 | void RPNRegisterChanged(string text, gint index) {
      |      ^~~~~~~~~~~~~~~~~~
callbacks.cc:9981:25: error: 'string' was not declared in this scope; did you mean 'std::string'?
 9981 | void RPNRegisterChanged(string text, gint index) {
      |                         ^~~~~~
      |                         std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:9981:43: error: expected primary-expression before 'index'
 9981 | void RPNRegisterChanged(string text, gint index) {
      |                                           ^~~~~
callbacks.cc: In function 'void recreate_recent_functions()':
callbacks.cc:10003:2: error: 'recent_function_items' was not declared in this scope
10003 |  recent_function_items.clear();
      |  ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10005:24: error: 'recent_functions' was not declared in this scope; did you mean 'insert_function'?
10005 |  for(size_t i = 0; i < recent_functions.size(); i++) {
      |                        ^~~~~~~~~~~~~~~~
      |                        insert_function
callbacks.cc: In function 'void recreate_recent_variables()':
callbacks.cc:10026:2: error: 'recent_variable_items' was not declared in this scope
10026 |  recent_variable_items.clear();
      |  ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10028:24: error: 'recent_variables' was not declared in this scope; did you mean 'edit_variable'?
10028 |  for(size_t i = 0; i < recent_variables.size(); i++) {
      |                        ^~~~~~~~~~~~~~~~
      |                        edit_variable
callbacks.cc: In function 'void recreate_recent_units()':
callbacks.cc:10049:2: error: 'recent_unit_items' was not declared in this scope
10049 |  recent_unit_items.clear();
      |  ^~~~~~~~~~~~~~~~~
callbacks.cc:10051:24: error: 'recent_units' was not declared in this scope
10051 |  for(size_t i = 0; i < recent_units.size(); i++) {
      |                        ^~~~~~~~~~~~
callbacks.cc: In function 'void function_inserted(MathFunction*)':
callbacks.cc:10076:5: error: 'recent_function_items' was not declared in this scope
10076 |  if(recent_function_items.size() <= 0) {
      |     ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10079:24: error: 'recent_functions' was not declared in this scope; did you mean 'insert_function'?
10079 |  for(size_t i = 0; i < recent_functions.size(); i++) {
      |                        ^~~~~~~~~~~~~~~~
      |                        insert_function
callbacks.cc:10082:23: error: 'recent_function_items' was not declared in this scope
10082 |    gtk_widget_destroy(recent_function_items[i]);
      |                       ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10087:5: error: 'recent_function_items' was not declared in this scope
10087 |  if(recent_function_items.size() >= 5) {
      |     ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10088:3: error: 'recent_functions' was not declared in this scope; did you mean 'insert_function'?
10088 |   recent_functions.erase(recent_functions.begin());
      |   ^~~~~~~~~~~~~~~~
      |   insert_function
callbacks.cc:10093:2: error: 'recent_function_items' was not declared in this scope
10093 |  recent_function_items.push_back(item);
      |  ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10094:2: error: 'recent_functions' was not declared in this scope; did you mean 'insert_function'?
10094 |  recent_functions.push_back(object);
      |  ^~~~~~~~~~~~~~~~
      |  insert_function
callbacks.cc: In function 'void variable_inserted(Variable*)':
callbacks.cc:10106:5: error: 'recent_variable_items' was not declared in this scope
10106 |  if(recent_variable_items.size() <= 0) {
      |     ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10109:24: error: 'recent_variables' was not declared in this scope; did you mean 'edit_variable'?
10109 |  for(size_t i = 0; i < recent_variables.size(); i++) {
      |                        ^~~~~~~~~~~~~~~~
      |                        edit_variable
callbacks.cc:10112:23: error: 'recent_variable_items' was not declared in this scope
10112 |    gtk_widget_destroy(recent_variable_items[i]);
      |                       ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10117:5: error: 'recent_variable_items' was not declared in this scope
10117 |  if(recent_variable_items.size() >= 5) {
      |     ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10118:3: error: 'recent_variables' was not declared in this scope; did you mean 'edit_variable'?
10118 |   recent_variables.erase(recent_variables.begin());
      |   ^~~~~~~~~~~~~~~~
      |   edit_variable
callbacks.cc:10123:2: error: 'recent_variable_items' was not declared in this scope
10123 |  recent_variable_items.push_back(item);
      |  ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10124:2: error: 'recent_variables' was not declared in this scope; did you mean 'edit_variable'?
10124 |  recent_variables.push_back(object);
      |  ^~~~~~~~~~~~~~~~
      |  edit_variable
callbacks.cc: In function 'void unit_inserted(Unit*)':
callbacks.cc:10136:5: error: 'recent_unit_items' was not declared in this scope
10136 |  if(recent_unit_items.size() <= 0) {
      |     ^~~~~~~~~~~~~~~~~
callbacks.cc:10139:24: error: 'recent_units' was not declared in this scope
10139 |  for(size_t i = 0; i < recent_units.size(); i++) {
      |                        ^~~~~~~~~~~~
callbacks.cc:10142:23: error: 'recent_unit_items' was not declared in this scope
10142 |    gtk_widget_destroy(recent_unit_items[i]);
      |                       ^~~~~~~~~~~~~~~~~
callbacks.cc:10147:5: error: 'recent_unit_items' was not declared in this scope
10147 |  if(recent_unit_items.size() >= 5) {
      |     ^~~~~~~~~~~~~~~~~
callbacks.cc:10148:3: error: 'recent_units' was not declared in this scope
10148 |   recent_units.erase(recent_units.begin());
      |   ^~~~~~~~~~~~
callbacks.cc:10153:2: error: 'recent_unit_items' was not declared in this scope
10153 |  recent_unit_items.push_back(item);
      |  ^~~~~~~~~~~~~~~~~
callbacks.cc:10154:2: error: 'recent_units' was not declared in this scope
10154 |  recent_units.push_back(object);
      |  ^~~~~~~~~~~~
callbacks.cc: In function 'void apply_function(MathFunction*, GtkWidget*)':
callbacks.cc:10167:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
10167 |  string str = f->preferredInputName(printops.abbreviate_names, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) expressionbuffer).name;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:10169:3: error: 'str' was not declared in this scope; did you mean 'std'?
10169 |   str += "()";
      |   ^~~
      |   std
callbacks.cc:10171:3: error: 'str' was not declared in this scope; did you mean 'std'?
10171 |   str += "(";
      |   ^~~
      |   std
callbacks.cc:10172:10: error: 'get_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
10172 |   str += get_expression_text();
      |          ^~~~~~~~~~~~~~~~~~~
      |          set_expression_text
callbacks.cc:10178:14: error: 'str' was not declared in this scope; did you mean 'std'?
10178 |  insert_text(str.c_str());
      |              ^~~
      |              std
callbacks.cc: In function 'gint on_function_int_input(GtkSpinButton*, gpointer, gpointer)':
callbacks.cc:10184:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
10184 |  string str = gtk_entry_get_text(GTK_ENTRY(entry));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:10185:20: error: 'str' was not declared in this scope; did you mean 'std'?
10185 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:10186:39: error: 'string' is not a class, namespace, or enumeration
10186 |  if(str.find_first_not_of(NUMBERS) != string::npos) {
      |                                       ^~~~~~
callbacks.cc: At global scope:
callbacks.cc:10203:2: error: 'vector' does not name a type; did you mean 'Vector'?
10203 |  vector<GtkWidget*> label;
      |  ^~~~~~
      |  Vector
callbacks.cc:10204:2: error: 'vector' does not name a type; did you mean 'Vector'?
10204 |  vector<GtkWidget*> entry;
      |  ^~~~~~
      |  Vector
callbacks.cc:10205:2: error: 'vector' does not name a type; did you mean 'Vector'?
10205 |  vector<GtkWidget*> type_label;
      |  ^~~~~~
      |  Vector
callbacks.cc:10206:2: error: 'vector' does not name a type; did you mean 'Vector'?
10206 |  vector<GtkWidget*> boolean_buttons;
      |  ^~~~~~
      |  Vector
callbacks.cc:10207:2: error: 'vector' does not name a type; did you mean 'Vector'?
10207 |  vector<int> boolean_index;
      |  ^~~~~~
      |  Vector
callbacks.cc:10213:1: error: 'unordered_map' does not name a type
10213 | unordered_map<MathFunction*, FunctionDialog*> function_dialogs;
      | ^~~~~~~~~~~~~
callbacks.cc: In function 'void insert_function_do(MathFunction*, FunctionDialog*)':
callbacks.cc:10216:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
10216 |  string str = f->preferredInputName(printops.abbreviate_names, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) expressiontext).name + "(", str2;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:10221:10: error: expected ';' before 'defstr'
10221 |    string defstr = f->getDefaultValue(argcount);
      |          ^~~~~~~
      |          ;
callbacks.cc:10222:22: error: 'defstr' was not declared in this scope; did you mean 'eqstr'?
10222 |    remove_blank_ends(defstr);
      |                      ^~~~~~
      |                      eqstr
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10224:59: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10224 |     if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_index[argcount - 1]]))) {
      |                                                           ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtktogglebutton.h:39:50: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10224:37: note: in expansion of macro 'GTK_TOGGLE_BUTTON'
10224 |     if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_index[argcount - 1]]))) {
      |                                     ^~~~~~~~~~~~~~~~~
callbacks.cc:10224:79: error: 'struct FunctionDialog' has no member named 'boolean_index'
10224 |     if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_index[argcount - 1]]))) {
      |                                                                               ^~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtktogglebutton.h:39:50: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10224:37: note: in expansion of macro 'GTK_TOGGLE_BUTTON'
10224 |     if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_index[argcount - 1]]))) {
      |                                     ^~~~~~~~~~~~~~~~~
callbacks.cc:10225:6: error: 'str2' was not declared in this scope
10225 |      str2 = "1";
      |      ^~~~
callbacks.cc:10227:6: error: 'str2' was not declared in this scope
10227 |      str2 = "0";
      |      ^~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10230:68: error: 'struct FunctionDialog' has no member named 'entry'
10230 |     Number nr(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(fd->entry[argcount - 1])), 1);
      |                                                                    ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10230:48: note: in expansion of macro 'GTK_SPIN_BUTTON'
10230 |     Number nr(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(fd->entry[argcount - 1])), 1);
      |                                                ^~~~~~~~~~~~~~~
callbacks.cc:10231:5: error: 'str2' was not declared in this scope
10231 |     str2 = print_with_evalops(nr);
      |     ^~~~
callbacks.cc:10231:12: error: 'print_with_evalops' was not declared in this scope
10231 |     str2 = print_with_evalops(nr);
      |            ^~~~~~~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10235:56: error: 'struct FunctionDialog' has no member named 'entry'
10235 |     if(gtk_combo_box_get_active_iter(GTK_COMBO_BOX(fd->entry[argcount - 1]), &iter)) {
      |                                                        ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcombobox.h:32:41: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   32 | #define GTK_COMBO_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox))
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10235:38: note: in expansion of macro 'GTK_COMBO_BOX'
10235 |     if(gtk_combo_box_get_active_iter(GTK_COMBO_BOX(fd->entry[argcount - 1]), &iter)) {
      |                                      ^~~~~~~~~~~~~
callbacks.cc:10239:6: error: 'str2' was not declared in this scope
10239 |      str2 = dp->getName();
      |      ^~~~
callbacks.cc:10241:6: error: 'str2' was not declared in this scope
10241 |      str2 = "info";
      |      ^~~~
callbacks.cc:10244:5: error: 'str2' was not declared in this scope
10244 |     str2 = gtk_entry_get_text(GTK_ENTRY(fd->entry[argcount - 1]));
      |     ^~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10244:45: error: 'struct FunctionDialog' has no member named 'entry'
10244 |     str2 = gtk_entry_get_text(GTK_ENTRY(fd->entry[argcount - 1]));
      |                                             ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10244:31: note: in expansion of macro 'GTK_ENTRY'
10244 |     str2 = gtk_entry_get_text(GTK_ENTRY(fd->entry[argcount - 1]));
      |                               ^~~~~~~~~
callbacks.cc:10247:8: error: 'str2' was not declared in this scope
10247 |    if(!str2.empty() && f->getArgumentDefinition(argcount) && (f->getArgumentDefinition(argcount)->suggestsQuotes() || (f->getArgumentDefinition(argcount)->type() == ARGUMENT_TYPE_TEXT && str2.find(CALCULATOR->getComma()) != string::npos))) {
      |        ^~~~
callbacks.cc:10247:225: error: 'string' is not a class, namespace, or enumeration
10247 |    if(!str2.empty() && f->getArgumentDefinition(argcount) && (f->getArgumentDefinition(argcount)->suggestsQuotes() || (f->getArgumentDefinition(argcount)->type() == ARGUMENT_TYPE_TEXT && str2.find(CALCULATOR->getComma()) != string::npos))) {
      |                                                                                                                                                                                                                                 ^~~~~~
callbacks.cc:10248:49: error: 'str' was not declared in this scope; did you mean 'std'?
10248 |     if(str2.length() < 1 || (str2[0] != '\"' && str[0] != '\'')) {
      |                                                 ^~~
      |                                                 std
callbacks.cc:10253:7: error: 'str2' was not declared in this scope
10253 |    if(str2.empty() || str2 == defstr) argcount--;
      |       ^~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10261:58: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10261 |    if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_index[i]]))) {
      |                                                          ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtktogglebutton.h:39:50: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10261:36: note: in expansion of macro 'GTK_TOGGLE_BUTTON'
10261 |    if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_index[i]]))) {
      |                                    ^~~~~~~~~~~~~~~~~
callbacks.cc:10261:78: error: 'struct FunctionDialog' has no member named 'boolean_index'
10261 |    if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_index[i]]))) {
      |                                                                              ^~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtktogglebutton.h:39:50: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10261:36: note: in expansion of macro 'GTK_TOGGLE_BUTTON'
10261 |    if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_index[i]]))) {
      |                                    ^~~~~~~~~~~~~~~~~
callbacks.cc:10262:5: error: 'str2' was not declared in this scope
10262 |     str2 = "1";
      |     ^~~~
callbacks.cc:10264:5: error: 'str2' was not declared in this scope
10264 |     str2 = "0";
      |     ^~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10267:67: error: 'struct FunctionDialog' has no member named 'entry'
10267 |    Number nr(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(fd->entry[i])), 1);
      |                                                                   ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10267:47: note: in expansion of macro 'GTK_SPIN_BUTTON'
10267 |    Number nr(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(fd->entry[i])), 1);
      |                                               ^~~~~~~~~~~~~~~
callbacks.cc:10268:4: error: 'str2' was not declared in this scope
10268 |    str2 = print_with_evalops(nr);
      |    ^~~~
callbacks.cc:10268:11: error: 'print_with_evalops' was not declared in this scope
10268 |    str2 = print_with_evalops(nr);
      |           ^~~~~~~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10272:55: error: 'struct FunctionDialog' has no member named 'entry'
10272 |    if(gtk_combo_box_get_active_iter(GTK_COMBO_BOX(fd->entry[i]), &iter)) {
      |                                                       ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcombobox.h:32:41: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   32 | #define GTK_COMBO_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox))
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10272:37: note: in expansion of macro 'GTK_COMBO_BOX'
10272 |    if(gtk_combo_box_get_active_iter(GTK_COMBO_BOX(fd->entry[i]), &iter)) {
      |                                     ^~~~~~~~~~~~~
callbacks.cc:10276:5: error: 'str2' was not declared in this scope
10276 |     str2 = dp->getName();
      |     ^~~~
callbacks.cc:10278:5: error: 'str2' was not declared in this scope
10278 |     str2 = "info";
      |     ^~~~
callbacks.cc:10281:4: error: 'str2' was not declared in this scope
10281 |    str2 = gtk_entry_get_text(GTK_ENTRY(fd->entry[i]));
      |    ^~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10281:44: error: 'struct FunctionDialog' has no member named 'entry'
10281 |    str2 = gtk_entry_get_text(GTK_ENTRY(fd->entry[i]));
      |                                            ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10281:30: note: in expansion of macro 'GTK_ENTRY'
10281 |    str2 = gtk_entry_get_text(GTK_ENTRY(fd->entry[i]));
      |                              ^~~~~~~~~
callbacks.cc:10284:28: error: 'str2' was not declared in this scope
10284 |   if((i < f->minargs() || !str2.empty()) && f->getArgumentDefinition(i + 1) && (f->getArgumentDefinition(i + 1)->suggestsQuotes() || (f->getArgumentDefinition(i + 1)->type() == ARGUMENT_TYPE_TEXT && str2.find(CALCULATOR->getComma()) != string::npos))) {
      |                            ^~~~
callbacks.cc:10284:237: error: 'string' is not a class, namespace, or enumeration
10284 |   if((i < f->minargs() || !str2.empty()) && f->getArgumentDefinition(i + 1) && (f->getArgumentDefinition(i + 1)->suggestsQuotes() || (f->getArgumentDefinition(i + 1)->type() == ARGUMENT_TYPE_TEXT && str2.find(CALCULATOR->getComma()) != string::npos))) {
      |                                                                                                                                                                                                                                             ^~~~~~
callbacks.cc:10285:48: error: 'str' was not declared in this scope; did you mean 'std'?
10285 |    if(str2.length() < 1 || (str2[0] != '\"' && str[0] != '\'')) {
      |                                                ^~~
      |                                                std
callbacks.cc:10291:4: error: 'str' was not declared in this scope; did you mean 'std'?
10291 |    str += CALCULATOR->getComma();
      |    ^~~
      |    std
callbacks.cc:10294:3: error: 'str' was not declared in this scope; did you mean 'std'?
10294 |   str += str2;
      |   ^~~
      |   std
callbacks.cc:10294:10: error: 'str2' was not declared in this scope
10294 |   str += str2;
      |          ^~~~
callbacks.cc:10296:2: error: 'str' was not declared in this scope; did you mean 'std'?
10296 |  str += ")";
      |  ^~~
      |  std
callbacks.cc: In function 'void on_insert_function_delete(GtkWidget*, GdkEvent*, gpointer)':
callbacks.cc:10303:23: error: 'function_dialogs' was not declared in this scope; did you mean 'FunctionDialog'?
10303 |  FunctionDialog *fd = function_dialogs[f];
      |                       ^~~~~~~~~~~~~~~~
      |                       FunctionDialog
callbacks.cc: In function 'void on_insert_function_close(GtkWidget*, gpointer)':
callbacks.cc:10310:23: error: 'function_dialogs' was not declared in this scope; did you mean 'FunctionDialog'?
10310 |  FunctionDialog *fd = function_dialogs[f];
      |                       ^~~~~~~~~~~~~~~~
      |                       FunctionDialog
callbacks.cc: In function 'void on_insert_function_exec(GtkWidget*, gpointer)':
callbacks.cc:10317:23: error: 'function_dialogs' was not declared in this scope; did you mean 'FunctionDialog'?
10317 |  FunctionDialog *fd = function_dialogs[f];
      |                       ^~~~~~~~~~~~~~~~
      |                       FunctionDialog
callbacks.cc:10323:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
10323 |   string str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:10326:4: error: 'str' was not declared in this scope; did you mean 'std'?
10326 |    str = "=";
      |    ^~~
      |    std
callbacks.cc:10329:5: error: 'str' was not declared in this scope; did you mean 'std'?
10329 |     str = SIGN_ALMOST_EQUAL;
      |     ^~~
      |     std
callbacks.cc:10331:5: error: 'str' was not declared in this scope; did you mean 'std'?
10331 |     str = "= ";
      |     ^~~
      |     std
callbacks.cc:10335:3: error: 'str' was not declared in this scope; did you mean 'std'?
10335 |   str += " <span font-weight=\"bold\">";
      |   ^~~
      |   std
callbacks.cc:10336:29: error: 'result_text' was not declared in this scope
10336 |   str += fix_history_string(result_text);
      |                             ^~~~~~~~~~~
callbacks.cc:10336:10: error: 'fix_history_string' was not declared in this scope
10336 |   str += fix_history_string(result_text);
      |          ^~~~~~~~~~~~~~~~~~
callbacks.cc:10339:29: error: 'struct FunctionDialog' has no member named 'entry'
10339 |   gtk_widget_grab_focus(fd->entry[0]);
      |                             ^~~~~
callbacks.cc: In function 'void on_insert_function_insert(GtkWidget*, gpointer)':
callbacks.cc:10348:23: error: 'function_dialogs' was not declared in this scope; did you mean 'FunctionDialog'?
10348 |  FunctionDialog *fd = function_dialogs[f];
      |                       ^~~~~~~~~~~~~~~~
      |                       FunctionDialog
callbacks.cc:10352:29: error: 'struct FunctionDialog' has no member named 'entry'
10352 |   gtk_widget_grab_focus(fd->entry[0]);
      |                             ^~~~~
callbacks.cc: In function 'void on_insert_function_rpn(GtkWidget*, gpointer)':
callbacks.cc:10361:23: error: 'function_dialogs' was not declared in this scope; did you mean 'FunctionDialog'?
10361 |  FunctionDialog *fd = function_dialogs[f];
      |                       ^~~~~~~~~~~~~~~~
      |                       FunctionDialog
callbacks.cc:10366:29: error: 'struct FunctionDialog' has no member named 'entry'
10366 |   gtk_widget_grab_focus(fd->entry[0]);
      |                             ^~~~~
callbacks.cc: In function 'void on_insert_function_keepopen(GtkToggleButton*, gpointer)':
callbacks.cc:10375:23: error: 'function_dialogs' was not declared in this scope; did you mean 'FunctionDialog'?
10375 |  FunctionDialog *fd = function_dialogs[f];
      |                       ^~~~~~~~~~~~~~~~
      |                       FunctionDialog
callbacks.cc: In function 'void on_insert_function_changed(GtkWidget*, gpointer)':
callbacks.cc:10381:23: error: 'function_dialogs' was not declared in this scope; did you mean 'FunctionDialog'?
10381 |  FunctionDialog *fd = function_dialogs[f];
      |                       ^~~~~~~~~~~~~~~~
      |                       FunctionDialog
callbacks.cc: In function 'void on_insert_function_entry_activated(GtkWidget*, gpointer)':
callbacks.cc:10386:23: error: 'function_dialogs' was not declared in this scope; did you mean 'FunctionDialog'?
10386 |  FunctionDialog *fd = function_dialogs[f];
      |                       ^~~~~~~~~~~~~~~~
      |                       FunctionDialog
callbacks.cc:10388:10: error: 'struct FunctionDialog' has no member named 'entry'
10388 |   if(fd->entry[i] == w) {
      |          ^~~~~
callbacks.cc:10395:32: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10395 |      gtk_widget_grab_focus(fd->boolean_buttons[fd->boolean_index[i + 1]]);
      |                                ^~~~~~~~~~~~~~~
callbacks.cc:10395:52: error: 'struct FunctionDialog' has no member named 'boolean_index'
10395 |      gtk_widget_grab_focus(fd->boolean_buttons[fd->boolean_index[i + 1]]);
      |                                                    ^~~~~~~~~~~~~
callbacks.cc:10397:32: error: 'struct FunctionDialog' has no member named 'entry'
10397 |      gtk_widget_grab_focus(fd->entry[i + 1]);
      |                                ^~~~~
callbacks.cc: In function 'void insert_function(MathFunction*, GtkWidget*, bool)':
callbacks.cc:10418:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
10418 |   string str = f->preferredInputName(printops.abbreviate_names, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) expressiontext).name + "()";
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib/gstring.h:37,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib/giochannel.h:36,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib.h:56,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkconfig.h:8,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10419:26: error: 'str' was not declared in this scope; did you mean 'gstr'?
10419 |   gchar *gstr = g_strdup(str.c_str());
      |                          ^~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib/gstrfuncs.h:324:38: note: in definition of macro 'g_strdup'
  324 | #define g_strdup(x) g_strdup_inline (x)
      |                                      ^
callbacks.cc:10429:5: error: 'function_dialogs' was not declared in this scope; did you mean 'FunctionDialog'?
10429 |  if(function_dialogs.find(f) != function_dialogs.end()) {
      |     ^~~~~~~~~~~~~~~~
      |     FunctionDialog
callbacks.cc:10436:52: error: 'struct FunctionDialog' has no member named 'entry'
10436 |     g_signal_handlers_block_matched((gpointer) fd->entry[0], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                    ^~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10438:38: error: 'struct FunctionDialog' has no member named 'entry'
10438 |     gtk_entry_set_text(GTK_ENTRY(fd->entry[0]), get_selected_expression_text(true).c_str());
      |                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10438:24: note: in expansion of macro 'GTK_ENTRY'
10438 |     gtk_entry_set_text(GTK_ENTRY(fd->entry[0]), get_selected_expression_text(true).c_str());
      |                        ^~~~~~~~~
callbacks.cc:10438:49: error: 'get_selected_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
10438 |     gtk_entry_set_text(GTK_ENTRY(fd->entry[0]), get_selected_expression_text(true).c_str());
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 set_expression_text
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10440:49: error: 'struct FunctionDialog' has no member named 'entry'
10440 |      gtk_spin_button_update(GTK_SPIN_BUTTON(fd->entry[0]));
      |                                                 ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10440:29: note: in expansion of macro 'GTK_SPIN_BUTTON'
10440 |      gtk_spin_button_update(GTK_SPIN_BUTTON(fd->entry[0]));
      |                             ^~~~~~~~~~~~~~~
callbacks.cc:10442:54: error: 'struct FunctionDialog' has no member named 'entry'
10442 |     g_signal_handlers_unblock_matched((gpointer) fd->entry[0], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                      ^~~~~
callbacks.cc:10444:30: error: 'struct FunctionDialog' has no member named 'entry'
10444 |    gtk_widget_grab_focus(fd->entry[0]);
      |                              ^~~~~
callbacks.cc:10452:2: error: 'function_dialogs' was not declared in this scope; did you mean 'FunctionDialog'?
10452 |  function_dialogs[f] = fd;
      |  ^~~~~~~~~~~~~~~~
      |  FunctionDialog
callbacks.cc:10470:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
10470 |  string f_title = f->title(true);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:10472:47: error: 'f_title' was not declared in this scope
10472 |  gtk_window_set_title(GTK_WINDOW(fd->dialog), f_title.c_str());
      |                                               ^~~~~~~
callbacks.cc:10509:6: error: 'struct FunctionDialog' has no member named 'label'
10509 |  fd->label.resize(args, NULL);
      |      ^~~~~
callbacks.cc:10510:6: error: 'struct FunctionDialog' has no member named 'entry'
10510 |  fd->entry.resize(args, NULL);
      |      ^~~~~
callbacks.cc:10511:6: error: 'struct FunctionDialog' has no member named 'type_label'
10511 |  fd->type_label.resize(args, NULL);
      |      ^~~~~~~~~~
callbacks.cc:10512:6: error: 'struct FunctionDialog' has no member named 'boolean_index'
10512 |  fd->boolean_index.resize(args, 0);
      |      ^~~~~~~~~~~~~
callbacks.cc:10527:8: error: expected ';' before 'argstr'
10527 |  string argstr, typestr, defstr;
      |        ^~~~~~~
      |        ;
callbacks.cc:10528:8: error: expected ';' before 'argtype'
10528 |  string argtype;
      |        ^~~~~~~~
      |        ;
callbacks.cc:10536:5: error: 'argstr' was not declared in this scope; did you mean 'args'?
10536 |     argstr = _("Value");
      |     ^~~~~~
      |     args
callbacks.cc:10538:5: error: 'argstr' was not declared in this scope; did you mean 'args'?
10538 |     argstr = _("Argument");
      |     ^~~~~~
      |     args
callbacks.cc:10543:4: error: 'argstr' was not declared in this scope; did you mean 'args'?
10543 |    argstr = arg->name();
      |    ^~~~~~
      |    args
callbacks.cc:10545:3: error: 'typestr' was not declared in this scope
10545 |   typestr = "";
      |   ^~~~~~~
callbacks.cc:10546:3: error: 'argtype' was not declared in this scope
10546 |   argtype = "";
      |   ^~~~~~~
callbacks.cc:10547:3: error: 'defstr' was not declared in this scope; did you mean 'eqstr'?
10547 |   defstr = f->getDefaultValue(i + 1);
      |   ^~~~~~
      |   eqstr
callbacks.cc:10551:7: error: 'struct FunctionDialog' has no member named 'label'
10551 |   fd->label[i] = gtk_label_new(argstr.c_str());
      |       ^~~~~
callbacks.cc:10551:32: error: 'argstr' was not declared in this scope; did you mean 'args'?
10551 |   fd->label[i] = gtk_label_new(argstr.c_str());
      |                                ^~~~~~
      |                                args
callbacks.cc:10552:29: error: 'struct FunctionDialog' has no member named 'label'
10552 |   gtk_widget_set_halign(fd->label[i], GTK_ALIGN_END);
      |                             ^~~~~
callbacks.cc:10553:30: error: 'struct FunctionDialog' has no member named 'label'
10553 |   gtk_widget_set_hexpand(fd->label[i], FALSE);
      |                              ^~~~~
callbacks.cc:10565:10: error: 'struct FunctionDialog' has no member named 'entry'
10565 |      fd->entry[i] = gtk_spin_button_new_with_range(min, max, 1);
      |          ^~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10566:54: error: 'struct FunctionDialog' has no member named 'entry'
10566 |      gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(fd->entry[i]), evalops.parse_options.base != BASE_DECIMAL);
      |                                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10566:34: note: in expansion of macro 'GTK_SPIN_BUTTON'
10566 |      gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(fd->entry[i]), evalops.parse_options.base != BASE_DECIMAL);
      |                                  ^~~~~~~~~~~~~~~
callbacks.cc:10567:44: error: 'struct FunctionDialog' has no member named 'entry'
10567 |      gtk_entry_set_alignment(GTK_ENTRY(fd->entry[i]), 1.0);
      |                                            ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10567:30: note: in expansion of macro 'GTK_ENTRY'
10567 |      gtk_entry_set_alignment(GTK_ENTRY(fd->entry[i]), 1.0);
      |                              ^~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10568:43: error: 'struct FunctionDialog' has no member named 'entry'
10568 |      g_signal_connect(GTK_SPIN_BUTTON(fd->entry[i]), "input", G_CALLBACK(on_function_int_input), NULL);
      |                                           ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:526:66: note: in expansion of macro '_G_TYPE_CIC'
  526 | #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
      |                                                                  ^~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10568:23: note: in expansion of macro 'GTK_SPIN_BUTTON'
10568 |      g_signal_connect(GTK_SPIN_BUTTON(fd->entry[i]), "input", G_CALLBACK(on_function_int_input), NULL);
      |                       ^~~~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10570:53: error: 'struct FunctionDialog' has no member named 'entry'
10570 |       gtk_spin_button_set_value(GTK_SPIN_BUTTON(fd->entry[i]), s2i(f->getDefaultValue(i + 1)));
      |                                                     ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10570:33: note: in expansion of macro 'GTK_SPIN_BUTTON'
10570 |       gtk_spin_button_set_value(GTK_SPIN_BUTTON(fd->entry[i]), s2i(f->getDefaultValue(i + 1)));
      |                                 ^~~~~~~~~~~~~~~
callbacks.cc:10572:53: error: 'struct FunctionDialog' has no member named 'entry'
10572 |       gtk_spin_button_set_value(GTK_SPIN_BUTTON(fd->entry[i]), 0);
      |                                                     ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10572:33: note: in expansion of macro 'GTK_SPIN_BUTTON'
10572 |       gtk_spin_button_set_value(GTK_SPIN_BUTTON(fd->entry[i]), 0);
      |                                 ^~~~~~~~~~~~~~~
callbacks.cc:10575:54: error: 'struct FunctionDialog' has no member named 'entry'
10575 |        gtk_spin_button_set_value(GTK_SPIN_BUTTON(fd->entry[i]), max);
      |                                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10575:34: note: in expansion of macro 'GTK_SPIN_BUTTON'
10575 |        gtk_spin_button_set_value(GTK_SPIN_BUTTON(fd->entry[i]), max);
      |                                  ^~~~~~~~~~~~~~~
callbacks.cc:10577:54: error: 'struct FunctionDialog' has no member named 'entry'
10577 |        gtk_spin_button_set_value(GTK_SPIN_BUTTON(fd->entry[i]), 1);
      |                                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10577:34: note: in expansion of macro 'GTK_SPIN_BUTTON'
10577 |        gtk_spin_button_set_value(GTK_SPIN_BUTTON(fd->entry[i]), 1);
      |                                  ^~~~~~~~~~~~~~~
callbacks.cc:10579:54: error: 'struct FunctionDialog' has no member named 'entry'
10579 |        gtk_spin_button_set_value(GTK_SPIN_BUTTON(fd->entry[i]), min);
      |                                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10579:34: note: in expansion of macro 'GTK_SPIN_BUTTON'
10579 |        gtk_spin_button_set_value(GTK_SPIN_BUTTON(fd->entry[i]), min);
      |                                  ^~~~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10582:38: error: 'struct FunctionDialog' has no member named 'entry'
10582 |      g_signal_connect((gpointer) fd->entry[i], "changed", G_CALLBACK(on_insert_function_changed), (gpointer) f);
      |                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10583:38: error: 'struct FunctionDialog' has no member named 'entry'
10583 |      g_signal_connect((gpointer) fd->entry[i], "activate", G_CALLBACK(on_insert_function_entry_activated), (gpointer) f);
      |                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10587:10: error: 'struct FunctionDialog' has no member named 'boolean_index'
10587 |      fd->boolean_index[i] = bindex;
      |          ^~~~~~~~~~~~~
callbacks.cc:10589:10: error: 'struct FunctionDialog' has no member named 'entry'
10589 |      fd->entry[i] = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
      |          ^~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10590:42: error: 'struct FunctionDialog' has no member named 'entry'
10590 |      gtk_box_set_homogeneous(GTK_BOX(fd->entry[i]), TRUE);
      |                                          ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkbox.h:40:34: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   40 | #define GTK_BOX(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BOX, GtkBox))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10590:30: note: in expansion of macro 'GTK_BOX'
10590 |      gtk_box_set_homogeneous(GTK_BOX(fd->entry[i]), TRUE);
      |                              ^~~~~~~
callbacks.cc:10591:32: error: 'struct FunctionDialog' has no member named 'entry'
10591 |      gtk_widget_set_halign(fd->entry[i], GTK_ALIGN_START);
      |                                ^~~~~
callbacks.cc:10592:10: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10592 |      fd->boolean_buttons.push_back(gtk_radio_button_new_with_label(NULL, _("True")));
      |          ^~~~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10593:37: error: 'struct FunctionDialog' has no member named 'entry'
10593 |      gtk_box_pack_start(GTK_BOX(fd->entry[i]), fd->boolean_buttons[fd->boolean_buttons.size() - 1], TRUE, TRUE, 0);
      |                                     ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkbox.h:40:34: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   40 | #define GTK_BOX(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BOX, GtkBox))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10593:25: note: in expansion of macro 'GTK_BOX'
10593 |      gtk_box_pack_start(GTK_BOX(fd->entry[i]), fd->boolean_buttons[fd->boolean_buttons.size() - 1], TRUE, TRUE, 0);
      |                         ^~~~~~~
callbacks.cc:10593:52: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10593 |      gtk_box_pack_start(GTK_BOX(fd->entry[i]), fd->boolean_buttons[fd->boolean_buttons.size() - 1], TRUE, TRUE, 0);
      |                                                    ^~~~~~~~~~~~~~~
callbacks.cc:10593:72: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10593 |      gtk_box_pack_start(GTK_BOX(fd->entry[i]), fd->boolean_buttons[fd->boolean_buttons.size() - 1], TRUE, TRUE, 0);
      |                                                                        ^~~~~~~~~~~~~~~
callbacks.cc:10594:10: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10594 |      fd->boolean_buttons.push_back(gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 1]), _("False")));
      |          ^~~~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10594:101: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10594 |      fd->boolean_buttons.push_back(gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 1]), _("False")));
      |                                                                                                     ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkradiobutton.h:39:40: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_RADIO_BUTTON(obj)         (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RADIO_BUTTON, GtkRadioButton))
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10594:80: note: in expansion of macro 'GTK_RADIO_BUTTON'
10594 |      fd->boolean_buttons.push_back(gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 1]), _("False")));
      |                                                                                ^~~~~~~~~~~~~~~~
callbacks.cc:10594:121: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10594 |      fd->boolean_buttons.push_back(gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 1]), _("False")));
      |                                                                                                                         ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkradiobutton.h:39:40: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_RADIO_BUTTON(obj)         (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RADIO_BUTTON, GtkRadioButton))
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10594:80: note: in expansion of macro 'GTK_RADIO_BUTTON'
10594 |      fd->boolean_buttons.push_back(gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 1]), _("False")));
      |                                                                                ^~~~~~~~~~~~~~~~
callbacks.cc:10595:35: error: 'struct FunctionDialog' has no member named 'entry'
10595 |      gtk_box_pack_end(GTK_BOX(fd->entry[i]), fd->boolean_buttons[fd->boolean_buttons.size() - 1], TRUE, TRUE, 0);
      |                                   ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkbox.h:40:34: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   40 | #define GTK_BOX(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BOX, GtkBox))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10595:23: note: in expansion of macro 'GTK_BOX'
10595 |      gtk_box_pack_end(GTK_BOX(fd->entry[i]), fd->boolean_buttons[fd->boolean_buttons.size() - 1], TRUE, TRUE, 0);
      |                       ^~~~~~~
callbacks.cc:10595:50: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10595 |      gtk_box_pack_end(GTK_BOX(fd->entry[i]), fd->boolean_buttons[fd->boolean_buttons.size() - 1], TRUE, TRUE, 0);
      |                                                  ^~~~~~~~~~~~~~~
callbacks.cc:10595:70: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10595 |      gtk_box_pack_end(GTK_BOX(fd->entry[i]), fd->boolean_buttons[fd->boolean_buttons.size() - 1], TRUE, TRUE, 0);
      |                                                                      ^~~~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10596:57: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10596 |      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 1]), TRUE);
      |                                                         ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtktogglebutton.h:39:50: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10596:35: note: in expansion of macro 'GTK_TOGGLE_BUTTON'
10596 |      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 1]), TRUE);
      |                                   ^~~~~~~~~~~~~~~~~
callbacks.cc:10596:77: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10596 |      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 1]), TRUE);
      |                                                                             ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtktogglebutton.h:39:50: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10596:35: note: in expansion of macro 'GTK_TOGGLE_BUTTON'
10596 |      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 1]), TRUE);
      |                                   ^~~~~~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10597:38: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10597 |      g_signal_connect((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 1], "toggled", G_CALLBACK(on_insert_function_changed), (gpointer) f);
      |                                      ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10597:58: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10597 |      g_signal_connect((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 1], "toggled", G_CALLBACK(on_insert_function_changed), (gpointer) f);
      |                                                          ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10598:38: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10598 |      g_signal_connect((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 2], "toggled", G_CALLBACK(on_insert_function_changed), (gpointer) f);
      |                                      ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10598:58: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10598 |      g_signal_connect((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 2], "toggled", G_CALLBACK(on_insert_function_changed), (gpointer) f);
      |                                                          ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10606:11: error: 'struct FunctionDialog' has no member named 'entry'
10606 |       fd->entry[i] = gtk_combo_box_new_with_model(GTK_TREE_MODEL(fd->properties_store));
      |           ^~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10608:54: error: 'struct FunctionDialog' has no member named 'entry'
10608 |       gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(fd->entry[i]), cell, TRUE);
      |                                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcelllayout.h:33:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   33 | #define GTK_CELL_LAYOUT(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_LAYOUT, GtkCellLayout))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10608:34: note: in expansion of macro 'GTK_CELL_LAYOUT'
10608 |       gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(fd->entry[i]), cell, TRUE);
      |                                  ^~~~~~~~~~~~~~~
callbacks.cc:10609:57: error: 'struct FunctionDialog' has no member named 'entry'
10609 |       gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(fd->entry[i]), cell, "text", 0);
      |                                                         ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcelllayout.h:33:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   33 | #define GTK_CELL_LAYOUT(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_LAYOUT, GtkCellLayout))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10609:37: note: in expansion of macro 'GTK_CELL_LAYOUT'
10609 |       gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(fd->entry[i]), cell, "text", 0);
      |                                     ^~~~~~~~~~~~~~~
callbacks.cc:10628:58: error: 'struct FunctionDialog' has no member named 'entry'
10628 |          gtk_combo_box_set_active_iter(GTK_COMBO_BOX(fd->entry[i]), &iter);
      |                                                          ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcombobox.h:32:41: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   32 | #define GTK_COMBO_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox))
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10628:40: note: in expansion of macro 'GTK_COMBO_BOX'
10628 |          gtk_combo_box_set_active_iter(GTK_COMBO_BOX(fd->entry[i]), &iter);
      |                                        ^~~~~~~~~~~~~
callbacks.cc:10637:56: error: 'struct FunctionDialog' has no member named 'entry'
10637 |        gtk_combo_box_set_active_iter(GTK_COMBO_BOX(fd->entry[i]), &iter);
      |                                                        ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcombobox.h:32:41: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   32 | #define GTK_COMBO_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox))
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10637:38: note: in expansion of macro 'GTK_COMBO_BOX'
10637 |        gtk_combo_box_set_active_iter(GTK_COMBO_BOX(fd->entry[i]), &iter);
      |                                      ^~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10640:39: error: 'struct FunctionDialog' has no member named 'entry'
10640 |       g_signal_connect((gpointer) fd->entry[i], "changed", G_CALLBACK(on_insert_function_changed), (gpointer) f);
      |                                       ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10652:10: error: 'struct FunctionDialog' has no member named 'entry'
10652 |      fd->entry[i] = gtk_entry_new();
      |          ^~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10654:52: error: 'struct FunctionDialog' has no member named 'entry'
10654 |       gtk_entry_set_placeholder_text(GTK_ENTRY(fd->entry[i]), _("optional"));
      |                                                    ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10654:38: note: in expansion of macro 'GTK_ENTRY'
10654 |       gtk_entry_set_placeholder_text(GTK_ENTRY(fd->entry[i]), _("optional"));
      |                                      ^~~~~~~~~
callbacks.cc:10656:44: error: 'struct FunctionDialog' has no member named 'entry'
10656 |      gtk_entry_set_alignment(GTK_ENTRY(fd->entry[i]), 1.0);
      |                                            ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10656:30: note: in expansion of macro 'GTK_ENTRY'
10656 |      gtk_entry_set_alignment(GTK_ENTRY(fd->entry[i]), 1.0);
      |                              ^~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10657:38: error: 'struct FunctionDialog' has no member named 'entry'
10657 |      g_signal_connect((gpointer) fd->entry[i], "changed", G_CALLBACK(on_insert_function_changed), (gpointer) f);
      |                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10658:38: error: 'struct FunctionDialog' has no member named 'entry'
10658 |      g_signal_connect((gpointer) fd->entry[i], "activate", G_CALLBACK(on_insert_function_entry_activated), (gpointer) f);
      |                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10662:8: error: 'struct FunctionDialog' has no member named 'entry'
10662 |    fd->entry[i] = gtk_entry_new();
      |        ^~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10664:50: error: 'struct FunctionDialog' has no member named 'entry'
10664 |     gtk_entry_set_placeholder_text(GTK_ENTRY(fd->entry[i]), _("optional"));
      |                                                  ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10664:36: note: in expansion of macro 'GTK_ENTRY'
10664 |     gtk_entry_set_placeholder_text(GTK_ENTRY(fd->entry[i]), _("optional"));
      |                                    ^~~~~~~~~
callbacks.cc:10666:42: error: 'struct FunctionDialog' has no member named 'entry'
10666 |    gtk_entry_set_alignment(GTK_ENTRY(fd->entry[i]), 1.0);
      |                                          ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10666:28: note: in expansion of macro 'GTK_ENTRY'
10666 |    gtk_entry_set_alignment(GTK_ENTRY(fd->entry[i]), 1.0);
      |                            ^~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10667:36: error: 'struct FunctionDialog' has no member named 'entry'
10667 |    g_signal_connect((gpointer) fd->entry[i], "changed", G_CALLBACK(on_insert_function_changed), (gpointer) f);
      |                                    ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10668:36: error: 'struct FunctionDialog' has no member named 'entry'
10668 |    g_signal_connect((gpointer) fd->entry[i], "activate", G_CALLBACK(on_insert_function_entry_activated), (gpointer) f);
      |                                    ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10670:30: error: 'struct FunctionDialog' has no member named 'entry'
10670 |   gtk_widget_set_hexpand(fd->entry[i], TRUE);
      |                              ^~~~~
callbacks.cc:10675:10: error: 'struct FunctionDialog' has no member named 'type_label'
10675 |      fd->type_label[i] = gtk_button_new_with_label(typestr.c_str());
      |          ^~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10676:38: error: 'struct FunctionDialog' has no member named 'type_label'
10676 |      g_signal_connect((gpointer) fd->type_label[i], "clicked", G_CALLBACK(on_type_label_date_clicked), (gpointer) fd->entry[i]);
      |                                      ^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10676:119: error: 'struct FunctionDialog' has no member named 'entry'
10676 |      g_signal_connect((gpointer) fd->type_label[i], "clicked", G_CALLBACK(on_type_label_date_clicked), (gpointer) fd->entry[i]);
      |                                                                                                                       ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:73: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                                                                         ^~~~
callbacks.cc:10681:10: error: 'struct FunctionDialog' has no member named 'type_label'
10681 |      fd->type_label[i] = gtk_button_new_with_label(typestr.c_str());
      |          ^~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10682:38: error: 'struct FunctionDialog' has no member named 'type_label'
10682 |      g_signal_connect((gpointer) fd->type_label[i], "clicked", G_CALLBACK(on_type_label_file_clicked), (gpointer) fd->entry[i]);
      |                                      ^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:29: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                             ^~~~~~~~
callbacks.cc:10682:119: error: 'struct FunctionDialog' has no member named 'entry'
10682 |      g_signal_connect((gpointer) fd->type_label[i], "clicked", G_CALLBACK(on_type_label_file_clicked), (gpointer) fd->entry[i]);
      |                                                                                                                       ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gsignal.h:515:73: note: in definition of macro 'g_signal_connect'
  515 |     g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
      |                                                                         ^~~~
callbacks.cc:10686:10: error: 'struct FunctionDialog' has no member named 'type_label'
10686 |      fd->type_label[i] = gtk_label_new(typestr.c_str());
      |          ^~~~~~~~~~
callbacks.cc:10690:8: error: 'struct FunctionDialog' has no member named 'type_label'
10690 |    fd->type_label[i] = gtk_label_new(typestr.c_str());
      |        ^~~~~~~~~~
callbacks.cc:10692:8: error: 'struct FunctionDialog' has no member named 'type_label'
10692 |    fd->type_label[i] = NULL;
      |        ^~~~~~~~~~
callbacks.cc:10701:54: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10701 |       g_signal_handlers_block_matched((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 2], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                      ^~~~~~~~~~~~~~~
callbacks.cc:10701:74: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10701 |       g_signal_handlers_block_matched((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 2], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                                          ^~~~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10702:58: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10702 |       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 2]), TRUE);
      |                                                          ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtktogglebutton.h:39:50: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10702:36: note: in expansion of macro 'GTK_TOGGLE_BUTTON'
10702 |       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 2]), TRUE);
      |                                    ^~~~~~~~~~~~~~~~~
callbacks.cc:10702:78: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10702 |       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 2]), TRUE);
      |                                                                              ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtktogglebutton.h:39:50: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10702:36: note: in expansion of macro 'GTK_TOGGLE_BUTTON'
10702 |       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 2]), TRUE);
      |                                    ^~~~~~~~~~~~~~~~~
callbacks.cc:10703:56: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10703 |       g_signal_handlers_unblock_matched((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 2], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                        ^~~~~~~~~~~~~~~
callbacks.cc:10703:76: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10703 |       g_signal_handlers_unblock_matched((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 2], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                                            ^~~~~~~~~~~~~~~
callbacks.cc:10707:53: error: 'struct FunctionDialog' has no member named 'entry'
10707 |      g_signal_handlers_block_matched((gpointer) fd->entry[i], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                     ^~~~~
callbacks.cc:10709:13: error: expected ';' before 'rpn_vector'
10709 |       string rpn_vector = gstr;
      |             ^~~~~~~~~~~
      |             ;
callbacks.cc:10713:8: error: 'rpn_vector' was not declared in this scope; did you mean 'has_vector'?
10713 |        rpn_vector += CALCULATOR->getComma();
      |        ^~~~~~~~~~
      |        has_vector
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10717:40: error: 'struct FunctionDialog' has no member named 'entry'
10717 |       gtk_entry_set_text(GTK_ENTRY(fd->entry[i]), rpn_vector.c_str());
      |                                        ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10717:26: note: in expansion of macro 'GTK_ENTRY'
10717 |       gtk_entry_set_text(GTK_ENTRY(fd->entry[i]), rpn_vector.c_str());
      |                          ^~~~~~~~~
callbacks.cc:10717:51: error: 'rpn_vector' was not declared in this scope; did you mean 'has_vector'?
10717 |       gtk_entry_set_text(GTK_ENTRY(fd->entry[i]), rpn_vector.c_str());
      |                                                   ^~~~~~~~~~
      |                                                   has_vector
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10719:40: error: 'struct FunctionDialog' has no member named 'entry'
10719 |       gtk_entry_set_text(GTK_ENTRY(fd->entry[i]), gstr);
      |                                        ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10719:26: note: in expansion of macro 'GTK_ENTRY'
10719 |       gtk_entry_set_text(GTK_ENTRY(fd->entry[i]), gstr);
      |                          ^~~~~~~~~
callbacks.cc:10721:51: error: 'struct FunctionDialog' has no member named 'entry'
10721 |        gtk_spin_button_update(GTK_SPIN_BUTTON(fd->entry[i]));
      |                                                   ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10721:31: note: in expansion of macro 'GTK_SPIN_BUTTON'
10721 |        gtk_spin_button_update(GTK_SPIN_BUTTON(fd->entry[i]));
      |                               ^~~~~~~~~~~~~~~
callbacks.cc:10724:55: error: 'struct FunctionDialog' has no member named 'entry'
10724 |      g_signal_handlers_unblock_matched((gpointer) fd->entry[i], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                       ^~~~~
callbacks.cc:10730:52: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10730 |     g_signal_handlers_block_matched((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 2], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                    ^~~~~~~~~~~~~~~
callbacks.cc:10730:72: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10730 |     g_signal_handlers_block_matched((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 2], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                                        ^~~~~~~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10731:56: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10731 |     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 2]), TRUE);
      |                                                        ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtktogglebutton.h:39:50: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10731:34: note: in expansion of macro 'GTK_TOGGLE_BUTTON'
10731 |     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 2]), TRUE);
      |                                  ^~~~~~~~~~~~~~~~~
callbacks.cc:10731:76: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10731 |     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 2]), TRUE);
      |                                                                            ^~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtktogglebutton.h:39:50: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_TOGGLE_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10731:34: note: in expansion of macro 'GTK_TOGGLE_BUTTON'
10731 |     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fd->boolean_buttons[fd->boolean_buttons.size() - 2]), TRUE);
      |                                  ^~~~~~~~~~~~~~~~~
callbacks.cc:10732:54: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10732 |     g_signal_handlers_unblock_matched((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 2], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                      ^~~~~~~~~~~~~~~
callbacks.cc:10732:74: error: 'struct FunctionDialog' has no member named 'boolean_buttons'
10732 |     g_signal_handlers_unblock_matched((gpointer) fd->boolean_buttons[fd->boolean_buttons.size() - 2], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                                          ^~~~~~~~~~~~~~~
callbacks.cc:10736:51: error: 'struct FunctionDialog' has no member named 'entry'
10736 |    g_signal_handlers_block_matched((gpointer) fd->entry[i], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                   ^~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10737:97: error: 'struct FunctionDialog' has no member named 'entry'
10737 |    if(i < f->minargs() || has_vector || defstr != "undefined") gtk_entry_set_text(GTK_ENTRY(fd->entry[i]), defstr.c_str());
      |                                                                                                 ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10737:83: note: in expansion of macro 'GTK_ENTRY'
10737 |    if(i < f->minargs() || has_vector || defstr != "undefined") gtk_entry_set_text(GTK_ENTRY(fd->entry[i]), defstr.c_str());
      |                                                                                   ^~~~~~~~~
callbacks.cc:10740:38: error: 'struct FunctionDialog' has no member named 'entry'
10740 |     gtk_entry_set_text(GTK_ENTRY(fd->entry[i]), get_selected_expression_text(true).c_str());
      |                                      ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkentry.h:49:42: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   49 | #define GTK_ENTRY(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10740:24: note: in expansion of macro 'GTK_ENTRY'
10740 |     gtk_entry_set_text(GTK_ENTRY(fd->entry[i]), get_selected_expression_text(true).c_str());
      |                        ^~~~~~~~~
callbacks.cc:10740:49: error: 'get_selected_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
10740 |     gtk_entry_set_text(GTK_ENTRY(fd->entry[i]), get_selected_expression_text(true).c_str());
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 set_expression_text
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:10742:49: error: 'struct FunctionDialog' has no member named 'entry'
10742 |      gtk_spin_button_update(GTK_SPIN_BUTTON(fd->entry[i]));
      |                                                 ^~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:10742:29: note: in expansion of macro 'GTK_SPIN_BUTTON'
10742 |      gtk_spin_button_update(GTK_SPIN_BUTTON(fd->entry[i]));
      |                             ^~~~~~~~~~~~~~~
callbacks.cc:10745:53: error: 'struct FunctionDialog' has no member named 'entry'
10745 |    g_signal_handlers_unblock_matched((gpointer) fd->entry[i], G_SIGNAL_MATCH_FUNC, 0, 0, NULL, (gpointer) on_insert_function_changed, NULL);
      |                                                     ^~~~~
callbacks.cc:10747:40: error: 'struct FunctionDialog' has no member named 'label'
10747 |   gtk_grid_attach(GTK_GRID(table), fd->label[i], 0, i, 1, 1);
      |                                        ^~~~~
callbacks.cc:10748:40: error: 'struct FunctionDialog' has no member named 'entry'
10748 |   gtk_grid_attach(GTK_GRID(table), fd->entry[i], 1, i, 1, 1);
      |                                        ^~~~~
callbacks.cc:10749:10: error: 'struct FunctionDialog' has no member named 'type_label'
10749 |   if(fd->type_label[i]) {
      |          ^~~~~~~~~~
callbacks.cc:10750:31: error: 'struct FunctionDialog' has no member named 'type_label'
10750 |    gtk_widget_set_hexpand(fd->type_label[i], FALSE);
      |                               ^~~~~~~~~~
callbacks.cc:10751:30: error: 'struct FunctionDialog' has no member named 'type_label'
10751 |    gtk_widget_set_halign(fd->type_label[i], GTK_ALIGN_START);
      |                              ^~~~~~~~~~
callbacks.cc:10752:41: error: 'struct FunctionDialog' has no member named 'type_label'
10752 |    gtk_grid_attach(GTK_GRID(table), fd->type_label[i], 2, i, 1, 1);
      |                                         ^~~~~~~~~~
callbacks.cc:10765:9: error: expected ';' before 'str'
10765 |   string str;
      |         ^~~~
      |         ;
callbacks.cc:10766:33: error: 'str' was not declared in this scope; did you mean 'std'?
10766 |   if(!f->description().empty()) str += f->description();
      |                                 ^~~
      |                                 std
callbacks.cc:10768:8: error: 'str' was not declared in this scope; did you mean 'std'?
10768 |    if(!str.empty()) str += "\n\n";
      |        ^~~
      |        std
callbacks.cc:10769:4: error: 'str' was not declared in this scope; did you mean 'std'?
10769 |    str += _("Example:");
      |    ^~~
      |    std
callbacks.cc:10773:36: error: 'str' was not declared in this scope; did you mean 'std'?
10773 |   gtk_text_buffer_set_text(buffer, str.c_str(), -1);
      |                                    ^~~
      |                                    std
callbacks.cc: In function 'void insert_button_unit(GtkMenuItem*, gpointer)':
callbacks.cc:10874:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
10874 |   string si_label_str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:10876:4: error: 'si_label_str' was not declared in this scope
10876 |    si_label_str = ((CompositeUnit*) latest_button_unit)->print(false, true, printops.use_unicode_signs, &can_display_unicode_string_function, (void*) expressiontext);
      |    ^~~~~~~~~~~~
callbacks.cc:10879:4: error: 'si_label_str' was not declared in this scope
10879 |    si_label_str = latest_button_unit->preferredDisplayName(true, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) expressiontext).name;
      |    ^~~~~~~~~~~~
callbacks.cc:10881:83: error: 'si_label_str' was not declared in this scope
10881 |   gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(main_builder, "label_si")), si_label_str.c_str());
      |                                                                                   ^~~~~~~~~~~~
callbacks.cc: In function 'void insert_button_currency(GtkMenuItem*, gpointer)':
callbacks.cc:10894:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
10894 |   string currency_label_str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:10896:4: error: 'currency_label_str' was not declared in this scope
10896 |    currency_label_str = ((CompositeUnit*) latest_button_currency)->print(false, true, printops.use_unicode_signs, &can_display_unicode_string_function, (void*) expressiontext);
      |    ^~~~~~~~~~~~~~~~~~
callbacks.cc:10899:4: error: 'currency_label_str' was not declared in this scope
10899 |    currency_label_str = latest_button_currency->preferredDisplayName(true, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) expressiontext).name;
      |    ^~~~~~~~~~~~~~~~~~
callbacks.cc:10901:85: error: 'currency_label_str' was not declared in this scope
10901 |   gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(main_builder, "label_euro")), currency_label_str.c_str());
      |                                                                                     ^~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void set_name_label_and_entry(ExpressionItem*, GtkWidget*, GtkWidget*)':
callbacks.cc:10910:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
10910 |   string str = "+ ";
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:10912:14: error: 'str' was not declared in this scope; did you mean 'std'?
10912 |    if(i > 2) str += ", ";
      |              ^~~
      |              std
callbacks.cc:10913:4: error: 'str' was not declared in this scope; did you mean 'std'?
10913 |    str += item->getName(i).name;
      |    ^~~
      |    std
callbacks.cc:10915:40: error: 'str' was not declared in this scope; did you mean 'std'?
10915 |   gtk_label_set_text(GTK_LABEL(label), str.c_str());
      |                                        ^~~
      |                                        std
callbacks.cc: At global scope:
callbacks.cc:10918:45: error: 'string' has not been declared
10918 | void set_edited_names(ExpressionItem *item, string str) {
      |                                             ^~~~~~
callbacks.cc: In function 'void set_edited_names(ExpressionItem*, int)':
callbacks.cc:10939:21: error: no matching function for call to 'ExpressionItem::addName(int&)'
10939 |    item->addName(str);
      |                     ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Prefix.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:20,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:166:15: note: candidate: 'virtual void ExpressionItem::addName(const ExpressionName&, size_t, bool)'
  166 |  virtual void addName(const ExpressionName &ename, size_t index = 0, bool force = true);
      |               ^~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:166:45: note:   no known conversion for argument 1 from 'int' to 'const ExpressionName&'
  166 |  virtual void addName(const ExpressionName &ename, size_t index = 0, bool force = true);
      |                       ~~~~~~~~~~~~~~~~~~~~~~^~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:167:15: note: candidate: 'virtual void ExpressionItem::addName(std::string, size_t, bool)'
  167 |  virtual void addName(std::string sname, size_t index = 0, bool force = true);
      |               ^~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:167:35: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
  167 |  virtual void addName(std::string sname, size_t index = 0, bool force = true);
      |                       ~~~~~~~~~~~~^~~~~
callbacks.cc:10943:28: error: no matching function for call to 'ExpressionName::ExpressionName(int&)'
10943 |    ExpressionName ename(str);
      |                            ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Prefix.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:20,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:50:2: note: candidate: 'ExpressionName::ExpressionName(std::string)'
   50 |  ExpressionName(std::string sname);
      |  ^~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:50:29: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
   50 |  ExpressionName(std::string sname);
      |                 ~~~~~~~~~~~~^~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:45:2: note: candidate: 'ExpressionName::ExpressionName()'
   45 |  ExpressionName();
      |  ^~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:45:2: note:   candidate expects 0 arguments, 1 provided
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Prefix.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:20,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:22:8: note: candidate: 'ExpressionName::ExpressionName(const ExpressionName&)'
   22 | struct ExpressionName {
      |        ^~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:22:8: note:   no known conversion for argument 1 from 'int' to 'const ExpressionName&'
callbacks.cc:10947:24: error: no matching function for call to 'ExpressionItem::setName(int&, int)'
10947 |    item->setName(str, 1);
      |                        ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Prefix.h:18,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:20,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:158:15: note: candidate: 'virtual void ExpressionItem::setName(const ExpressionName&, size_t, bool)'
  158 |  virtual void setName(const ExpressionName &ename, size_t index = 1, bool force = true);
      |               ^~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:158:45: note:   no known conversion for argument 1 from 'int' to 'const ExpressionName&'
  158 |  virtual void setName(const ExpressionName &ename, size_t index = 1, bool force = true);
      |                       ~~~~~~~~~~~~~~~~~~~~~~^~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:165:15: note: candidate: 'virtual void ExpressionItem::setName(std::string, size_t, bool)'
  165 |  virtual void setName(std::string sname, size_t index, bool force = true);
      |               ^~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/ExpressionItem.h:165:35: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
  165 |  virtual void setName(std::string sname, size_t index, bool force = true);
      |                       ~~~~~~~~~~~~^~~~~
callbacks.cc: In function 'void edit_unit(const char*, Unit*, GtkWidget*)':
callbacks.cc:11028:6: error: 'string' was not declared in this scope; did you mean 'std::string'?
11028 |      string value = CALCULATOR->f_uncertainty->referenceName();
      |      ^~~~~~
      |      std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:11029:6: error: 'value' was not declared in this scope; did you mean 'GValue'?
11029 |      value += "(";
      |      ^~~~~
      |      GValue
callbacks.cc:11081:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
11081 |   string str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:11082:3: error: 'str' was not declared in this scope; did you mean 'std'?
11082 |   str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(unitedit_builder, "unit_edit_entry_name")));
      |   ^~~
      |   std
callbacks.cc:11203:5: error: 'selected_unit_category' was not declared in this scope
11203 |     selected_unit_category = _("Inactive");
      |     ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:11205:5: error: 'selected_unit_category' was not declared in this scope
11205 |     selected_unit_category = _("Uncategorized");
      |     ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:11207:5: error: 'selected_unit_category' was not declared in this scope
11207 |     selected_unit_category = "/";
      |     ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void delete_function(MathFunction*)':
callbacks.cc:11375:25: error: 'recent_functions' was not declared in this scope; did you mean 'delete_function'?
11375 |   for(size_t i = 0; i < recent_functions.size(); i++) {
      |                         ^~~~~~~~~~~~~~~~
      |                         delete_function
callbacks.cc:11378:24: error: 'recent_function_items' was not declared in this scope
11378 |     gtk_widget_destroy(recent_function_items[i]);
      |                        ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void edit_function(const char*, MathFunction*, GtkWidget*, const char*, const char*, bool)':
callbacks.cc:11460:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
11460 |    string str, str2;
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:11464:6: error: 'str' was not declared in this scope; did you mean 'std'?
11464 |      str = _("Yes");
      |      ^~~
      |      std
callbacks.cc:11466:6: error: 'str' was not declared in this scope; did you mean 'std'?
11466 |      str = _("No");
      |      ^~~
      |      std
callbacks.cc:11468:5: error: 'str2' was not declared in this scope
11468 |     str2 = "\\";
      |     ^~~~
callbacks.cc:11470:123: error: 'str' was not declared in this scope; did you mean 'std'?
11470 |     gtk_list_store_set(tSubfunctions_store, &iter, 0, str2.c_str(), 1, ((UserFunction*) f)->getSubfunction(i).c_str(), 2, str.c_str(), 3, i, 4, ((UserFunction*) f)->subfunctionPrecalculated(i), -1);
      |                                                                                                                           ^~~
      |                                                                                                                           std
callbacks.cc:11486:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
11486 |   string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(functionedit_builder, "function_edit_entry_name")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:11487:21: error: 'str' was not declared in this scope; did you mean 'std'?
11487 |   remove_blank_ends(str);
      |                     ^~~
      |                     std
callbacks.cc:11500:9: error: expected ';' before 'str2'
11500 |   string str2 = CALCULATOR->unlocalizeExpression(gstr, evalops.parse_options);
      |         ^~~~~
      |         ;
callbacks.cc:11502:21: error: 'str2' was not declared in this scope
11502 |   remove_blank_ends(str2);
      |                     ^~~~
callbacks.cc:11573:5: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
11573 |     selected_function_category = _("Inactive");
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_function
callbacks.cc:11575:5: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
11575 |     selected_function_category = _("Uncategorized");
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_function
callbacks.cc:11577:5: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
11577 |     selected_function_category = "/";
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_function
callbacks.cc: In function 'void edit_function_simple(const char*, MathFunction*, GtkWidget*)':
callbacks.cc:11643:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
11643 |   string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(simplefunctionedit_builder, "simple_function_edit_entry_name")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:11644:21: error: 'str' was not declared in this scope; did you mean 'std'?
11644 |   remove_blank_ends(str);
      |                     ^~~
      |                     std
callbacks.cc:11654:9: error: expected ';' before 'str2'
11654 |   string str2 = CALCULATOR->unlocalizeExpression(gstr, evalops.parse_options);
      |         ^~~~~
      |         ;
callbacks.cc:11656:21: error: 'str2' was not declared in this scope
11656 |   remove_blank_ends(str2);
      |                     ^~~~
callbacks.cc:11696:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
11696 |   string str2 = gstr;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:11699:21: error: 'str2' was not declared in this scope
11699 |    gsub("x", "\\x", str2);
      |                     ^~~~
callbacks.cc:11703:153: error: 'str2' was not declared in this scope
11703 |   edit_function(category, f, win, gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(simplefunctionedit_builder, "simple_function_edit_entry_name"))), str2.c_str(), gtk_widget_get_sensitive(GTK_WIDGET(gtk_builder_get_object(simplefunctionedit_builder, "simple_function_edit_button_ok"))));
      |                                                                                                                                                         ^~~~
callbacks.cc: In function 'void convert_to_unit(GtkMenuItem*, gpointer)':
callbacks.cc:11735:45: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
11735 |  executeCommand(COMMAND_CONVERT_UNIT, true, "", u);
      |                                             ^~
      |                                             |
      |                                             const char*
callbacks.cc:8869:64: note:   initializing argument 3 of 'void executeCommand(int, bool, int, Unit*, int)'
 8869 | void executeCommand(int command_type, bool show_result, string ceu_str, Unit *u, int run) {
      |                                                         ~~~~~~~^~~~~~~
callbacks.cc: In function 'void convert_to_unit_noprefix(GtkMenuItem*, gpointer)':
callbacks.cc:11748:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
11748 |  string ceu_str = u->name();
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:11750:47: error: 'ceu_str' was not declared in this scope; did you mean 'eqstr'?
11750 |  executeCommand(COMMAND_CONVERT_STRING, true, ceu_str);
      |                                               ^~~~~~~
      |                                               eqstr
callbacks.cc: In function 'void edit_unknown(const char*, Variable*, GtkWidget*)':
callbacks.cc:11812:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
11812 |   string v_name = CALCULATOR->getName();
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:11813:105: error: 'v_name' was not declared in this scope; did you mean 'rename'?
11813 |   gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(unknownedit_builder, "unknown_edit_entry_name")), v_name.c_str());
      |                                                                                                         ^~~~~~
      |                                                                                                         rename
callbacks.cc:11830:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
11830 |   string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(unknownedit_builder, "unknown_edit_entry_name")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:11831:21: error: 'str' was not declared in this scope; did you mean 'std'?
11831 |   remove_blank_ends(str);
      |                     ^~~
      |                     std
callbacks.cc:11878:5: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
11878 |     selected_variable_category = _("Inactive");
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_variable
callbacks.cc:11880:5: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
11880 |     selected_variable_category = _("Uncategorized");
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_variable
callbacks.cc:11882:5: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
11882 |     selected_variable_category = "/";
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_variable
callbacks.cc: In function 'void delete_variable(Variable*)':
callbacks.cc:11905:25: error: 'recent_variables' was not declared in this scope; did you mean 'delete_variable'?
11905 |   for(size_t i = 0; i < recent_variables.size(); i++) {
      |                         ^~~~~~~~~~~~~~~~
      |                         delete_variable
callbacks.cc:11908:24: error: 'recent_variable_items' was not declared in this scope
11908 |     gtk_widget_destroy(recent_variable_items[i]);
      |                        ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void edit_variable(const char*, Variable*, MathStructure*, GtkWidget*)':
callbacks.cc:11969:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
11969 |   string value_str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:11971:4: error: 'value_str' was not declared in this scope
11971 |    value_str = CALCULATOR->localizeExpression(v->expression());
      |    ^~~~~~~~~
callbacks.cc:11989:4: error: 'value_str' was not declared in this scope
11989 |    value_str = get_value_string(v->get(), false, NULL);
      |    ^~~~~~~~~
callbacks.cc:11989:16: error: 'get_value_string' was not declared in this scope; did you mean 'g_value_set_int'?
11989 |    value_str = get_value_string(v->get(), false, NULL);
      |                ^~~~~~~~~~~~~~~~
      |                g_value_set_int
callbacks.cc:11991:108: error: 'value_str' was not declared in this scope
11991 |   gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(variableedit_builder, "variable_edit_entry_value")), value_str.c_str());
      |                                                                                                            ^~~~~~~~~
callbacks.cc:12006:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
12006 |   string v_name = CALCULATOR->getName();
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:12007:107: error: 'v_name' was not declared in this scope; did you mean 'rename'?
12007 |   gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(variableedit_builder, "variable_edit_entry_name")), v_name.c_str());
      |                                                                                                           ^~~~~~
      |                                                                                                           rename
callbacks.cc:12009:128: error: 'get_value_string' was not declared in this scope; did you mean 'g_value_set_int'?
12009 |   gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(variableedit_builder, "variable_edit_entry_value")), displayed_mstruct ? get_value_string(*mstruct).c_str() : get_expression_text().c_str());
      |                                                                                                                                ^~~~~~~~~~~~~~~~
      |                                                                                                                                g_value_set_int
callbacks.cc:12009:165: error: 'get_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
12009 |   gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(variableedit_builder, "variable_edit_entry_value")), displayed_mstruct ? get_value_string(*mstruct).c_str() : get_expression_text().c_str());
      |                                                                                                                                                                     ^~~~~~~~~~~~~~~~~~~
      |                                                                                                                                                                     set_expression_text
callbacks.cc:12024:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
12024 |   string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(variableedit_builder, "variable_edit_entry_name")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:12025:9: error: expected ';' before 'str2'
12025 |   string str2 = CALCULATOR->unlocalizeExpression(gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(variableedit_builder, "variable_edit_entry_value"))), evalops.parse_options);
      |         ^~~~~
      |         ;
callbacks.cc:12026:21: error: 'str' was not declared in this scope; did you mean 'std'?
12026 |   remove_blank_ends(str);
      |                     ^~~
      |                     std
callbacks.cc:12027:21: error: 'str2' was not declared in this scope
12027 |   remove_blank_ends(str2);
      |                     ^~~~
callbacks.cc:12084:5: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
12084 |     selected_variable_category = _("Inactive");
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_variable
callbacks.cc:12086:5: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
12086 |     selected_variable_category = _("Uncategorized");
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_variable
callbacks.cc:12088:5: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
12088 |     selected_variable_category = "/";
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_variable
callbacks.cc: In function 'void edit_matrix(const char*, Variable*, MathStructure*, GtkWidget*, gboolean)':
callbacks.cc:12186:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
12186 |   string v_name = CALCULATOR->getName();
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:12187:103: error: 'v_name' was not declared in this scope; did you mean 'rename'?
12187 |   gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(matrixedit_builder, "matrix_edit_entry_name")), v_name.c_str());
      |                                                                                                       ^~~~~~
      |                                                                                                       rename
callbacks.cc:12262:62: error: 'matrix_edit_columns' was not declared in this scope
12262 |   gtk_tree_view_set_cursor(GTK_TREE_VIEW(tMatrixEdit), path, matrix_edit_columns[0], TRUE);
      |                                                              ^~~~~~~~~~~~~~~~~~~
callbacks.cc:12276:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
12276 |   string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(matrixedit_builder, "matrix_edit_entry_name")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:12277:21: error: 'str' was not declared in this scope; did you mean 'std'?
12277 |   remove_blank_ends(str);
      |                     ^~~
      |                     std
callbacks.cc:12302:10: error: expected ';' before 'mstr'
12302 |    string mstr;
      |          ^~~~~
      |          ;
callbacks.cc:12309:7: error: 'mstr' was not declared in this scope; did you mean 'gstr'?
12309 |       mstr = gstr;
      |       ^~~~
      |       gstr
callbacks.cc:12324:7: error: 'mstr' was not declared in this scope; did you mean 'gstr'?
12324 |       mstr = gstr;
      |       ^~~~
      |       gstr
callbacks.cc:12365:5: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
12365 |     selected_variable_category = _("Inactive");
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_variable
callbacks.cc:12367:5: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
12367 |     selected_variable_category = _("Uncategorized");
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_variable
callbacks.cc:12369:5: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
12369 |     selected_variable_category = "/";
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_variable
callbacks.cc: In function 'void insert_matrix(const MathStructure*, GtkWidget*, gboolean, bool, bool)':
callbacks.cc:12477:58: error: 'matrix_columns' was not declared in this scope
12477 |   gtk_tree_view_set_cursor(GTK_TREE_VIEW(tMatrix), path, matrix_columns[0], TRUE);
      |                                                          ^~~~~~~~~~~~~~
callbacks.cc:12490:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
12490 |   string matrixstr, str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:12497:4: error: 'matrixstr' was not declared in this scope
12497 |    matrixstr = "[";
      |    ^~~~~~~~~
callbacks.cc:12501:6: error: 'str' was not declared in this scope; did you mean 'gstr'?
12501 |      str = gstr;
      |      ^~~
      |      gstr
callbacks.cc:12518:4: error: 'matrixstr' was not declared in this scope
12518 |    matrixstr = "[";
      |    ^~~~~~~~~
callbacks.cc:12537:6: error: 'str' was not declared in this scope; did you mean 'gstr'?
12537 |      str = gstr;
      |      ^~~
      |      gstr
callbacks.cc:12548:15: error: 'matrixstr' was not declared in this scope
12548 |   insert_text(matrixstr.c_str());
      |               ^~~~~~~~~
callbacks.cc: In function 'void edit_dataobject(DataSet*, DataObject*, GtkWidget*)':
callbacks.cc:12573:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
12573 |  string sval;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:12581:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
12581 |  vector<GtkWidget*> value_entries;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:12581:18: error: expected primary-expression before '*' token
12581 |  vector<GtkWidget*> value_entries;
      |                  ^
callbacks.cc:12581:19: error: expected primary-expression before '>' token
12581 |  vector<GtkWidget*> value_entries;
      |                   ^
callbacks.cc:12581:21: error: 'value_entries' was not declared in this scope
12581 |  vector<GtkWidget*> value_entries;
      |                     ^~~~~~~~~~~~~
callbacks.cc:12582:18: error: expected primary-expression before '*' token
12582 |  vector<GtkWidget*> approx_menus;
      |                  ^
callbacks.cc:12582:19: error: expected primary-expression before '>' token
12582 |  vector<GtkWidget*> approx_menus;
      |                   ^
callbacks.cc:12582:21: error: 'approx_menus' was not declared in this scope
12582 |  vector<GtkWidget*> approx_menus;
      |                     ^~~~~~~~~~~~
callbacks.cc:12583:8: error: expected ';' before 'str'
12583 |  string str;
      |        ^~~~
      |        ;
callbacks.cc:12624:9: error: expected ';' before 'val'
12624 |   string val;
      |         ^~~~
      |         ;
callbacks.cc:12626:4: error: 'val' was not declared in this scope
12626 |    val = gtk_entry_get_text(GTK_ENTRY(value_entries[i]));
      |    ^~~
callbacks.cc: In function 'void update_dataset_property_list(DataSet*)':
callbacks.cc:12654:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
12654 |  string str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:12655:24: error: 'tmp_props' was not declared in this scope
12655 |  for(size_t i = 0; i < tmp_props.size(); i++) {
      |                        ^~~~~~~~~
callbacks.cc:12658:4: error: 'str' was not declared in this scope; did you mean 'std'?
12658 |    str = "";
      |    ^~~
      |    std
callbacks.cc: In function 'bool edit_dataproperty(DataProperty*, bool)':
callbacks.cc:12702:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
12702 |   string str = "+ ";
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:12704:14: error: 'str' was not declared in this scope; did you mean 'std'?
12704 |    if(i > 2) str += ", ";
      |              ^~~
      |              std
callbacks.cc:12705:4: error: 'str' was not declared in this scope; did you mean 'std'?
12705 |    str += dp->getName(i);
      |    ^~~
      |    std
callbacks.cc:12707:111: error: 'str' was not declared in this scope; did you mean 'std'?
12707 |   gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(datasetedit_builder, "dataproperty_edit_label_names")), str.c_str());
      |                                                                                                               ^~~
      |                                                                                                               std
callbacks.cc:12748:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
12748 |   string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(datasetedit_builder, "dataproperty_edit_entry_name")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:12749:21: error: 'str' was not declared in this scope; did you mean 'std'?
12749 |   remove_blank_ends(str);
      |                     ^~~
      |                     std
callbacks.cc: In function 'void edit_dataset(DataSet*, GtkWidget*)':
callbacks.cc:12881:4: error: 'tmp_props' was not declared in this scope
12881 |    tmp_props.push_back(new DataProperty(*dp));
      |    ^~~~~~~~~
callbacks.cc:12882:4: error: 'tmp_props_orig' was not declared in this scope
12882 |    tmp_props_orig.push_back(dp);
      |    ^~~~~~~~~~~~~~
callbacks.cc:12897:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
12897 |   string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(datasetedit_builder, "dataset_edit_entry_name")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:12898:21: error: 'str' was not declared in this scope; did you mean 'std'?
12898 |   remove_blank_ends(str);
      |                     ^~~
      |                     std
callbacks.cc:12932:9: error: expected ';' before 'str2'
12932 |   string str2;
      |         ^~~~~
      |         ;
callbacks.cc:12934:4: error: 'str2' was not declared in this scope
12934 |    str2 = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(datasetedit_builder, "dataset_edit_entry_object_name")));
      |    ^~~~
callbacks.cc:12952:26: error: 'tmp_props' was not declared in this scope
12952 |    for(size_t i = 0; i < tmp_props.size();) {
      |                          ^~~~~~~~~
callbacks.cc:12954:9: error: 'tmp_props_orig' was not declared in this scope
12954 |      if(tmp_props_orig[i]) ds->delProperty(tmp_props_orig[i]);
      |         ^~~~~~~~~~~~~~
callbacks.cc:12957:9: error: 'tmp_props_orig' was not declared in this scope
12957 |      if(tmp_props_orig[i]) {
      |         ^~~~~~~~~~~~~~
callbacks.cc:12980:24: error: 'tmp_props' was not declared in this scope
12980 |  for(size_t i = 0; i < tmp_props.size(); i++) {
      |                        ^~~~~~~~~
callbacks.cc:12983:2: error: 'tmp_props' was not declared in this scope
12983 |  tmp_props.clear();
      |  ^~~~~~~~~
callbacks.cc:12984:2: error: 'tmp_props_orig' was not declared in this scope
12984 |  tmp_props_orig.clear();
      |  ^~~~~~~~~~~~~~
callbacks.cc: In function 'void import_csv_file(GtkWidget*)':
callbacks.cc:13005:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
13005 |   string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(csvimport_builder, "csv_import_entry_file")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:13006:21: error: 'str' was not declared in this scope; did you mean 'std'?
13006 |   remove_blank_ends(str);
      |                     ^~~
      |                     std
callbacks.cc:13013:9: error: expected ';' before 'name_str'
13013 |   string name_str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(csvimport_builder, "csv_import_entry_name")));
      |         ^~~~~~~~~
      |         ;
callbacks.cc:13014:21: error: 'name_str' was not declared in this scope
13014 |   remove_blank_ends(name_str);
      |                     ^~~~~~~~
callbacks.cc:13026:9: error: expected ';' before 'delimiter'
13026 |   string delimiter = "";
      |         ^~~~~~~~~~
      |         ;
callbacks.cc:13029:5: error: 'delimiter' was not declared in this scope
13029 |     delimiter = ",";
      |     ^~~~~~~~~
callbacks.cc:13033:5: error: 'delimiter' was not declared in this scope
13033 |     delimiter = "\t";
      |     ^~~~~~~~~
callbacks.cc:13037:5: error: 'delimiter' was not declared in this scope
13037 |     delimiter = ";";
      |     ^~~~~~~~~
callbacks.cc:13041:5: error: 'delimiter' was not declared in this scope
13041 |     delimiter = " ";
      |     ^~~~~~~~~
callbacks.cc:13045:5: error: 'delimiter' was not declared in this scope
13045 |     delimiter = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(csvimport_builder, "csv_import_entry_delimiter_other")));
      |     ^~~~~~~~~
callbacks.cc:13049:6: error: 'delimiter' was not declared in this scope
13049 |   if(delimiter.empty()) {
      |      ^~~~~~~~~
callbacks.cc:13056:297: error: 'delimiter' was not declared in this scope
13056 |   if(!CALCULATOR->importCSV(str.c_str(), gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(gtk_builder_get_object(csvimport_builder, "csv_import_spinbutton_first_row"))), gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(csvimport_builder, "csv_import_checkbutton_headers"))), delimiter, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(csvimport_builder, "csv_import_radiobutton_matrix"))), name_str, gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(csvimport_builder, "csv_import_entry_desc"))), gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(gtk_builder_get_object(csvimport_builder, "csv_import_combo_category"))))) {
      |                                                                                                                                                                                                                                                                                                         ^~~~~~~~~
callbacks.cc: In function 'void export_csv_file(KnownVariable*, GtkWidget*)':
callbacks.cc:13091:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
13091 |   string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(csvexport_builder, "csv_export_entry_file")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:13092:21: error: 'str' was not declared in this scope; did you mean 'std'?
13092 |   remove_blank_ends(str);
      |                     ^~~
      |                     std
callbacks.cc:13099:9: error: expected ';' before 'delimiter'
13099 |   string delimiter = "";
      |         ^~~~~~~~~~
      |         ;
callbacks.cc:13102:5: error: 'delimiter' was not declared in this scope
13102 |     delimiter = ",";
      |     ^~~~~~~~~
callbacks.cc:13106:5: error: 'delimiter' was not declared in this scope
13106 |     delimiter = "\t";
      |     ^~~~~~~~~
callbacks.cc:13110:5: error: 'delimiter' was not declared in this scope
13110 |     delimiter = ";";
      |     ^~~~~~~~~
callbacks.cc:13114:5: error: 'delimiter' was not declared in this scope
13114 |     delimiter = " ";
      |     ^~~~~~~~~
callbacks.cc:13118:5: error: 'delimiter' was not declared in this scope
13118 |     delimiter = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(csvexport_builder, "csv_export_entry_delimiter_other")));
      |     ^~~~~~~~~
callbacks.cc:13122:6: error: 'delimiter' was not declared in this scope
13122 |   if(delimiter.empty()) {
      |      ^~~~~~~~~
callbacks.cc:13134:10: error: expected ';' before 'str2'
13134 |    string str2 = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(csvexport_builder, "csv_export_entry_matrix")));
      |          ^~~~~
      |          ;
callbacks.cc:13135:22: error: 'str2' was not declared in this scope
13135 |    remove_blank_ends(str2);
      |                      ^~~~
callbacks.cc:13156:58: error: 'delimiter' was not declared in this scope
13156 |   if(!CALCULATOR->exportCSV(*matrix_struct, str.c_str(), delimiter) && CALCULATOR->aborted()) {
      |                                                          ^~~~~~~~~
callbacks.cc: In function 'bool is_number(const gchar*)':
callbacks.cc:13287:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
13287 |  string str = CALCULATOR->unlocalizeExpression(expr, evalops.parse_options);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:13288:25: error: 'str' was not declared in this scope; did you mean 'std'?
13288 |  CALCULATOR->parseSigns(str);
      |                         ^~~
      |                         std
callbacks.cc: In function 'bool last_is_number(const gchar*)':
callbacks.cc:13295:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
13295 |  string str = CALCULATOR->unlocalizeExpression(expr, evalops.parse_options);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:13296:25: error: 'str' was not declared in this scope; did you mean 'std'?
13296 |  CALCULATOR->parseSigns(str);
      |                         ^~~
      |                         std
callbacks.cc: In function 'void insertButtonFunction(MathFunction*, bool, bool)':
callbacks.cc:13331:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
13331 |  string str2;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:13439:5: error: 'str2' was not declared in this scope
13439 |     str2 += print_with_evalops(nr);
      |     ^~~~
callbacks.cc:13439:13: error: 'print_with_evalops' was not declared in this scope
13439 |     str2 += print_with_evalops(nr);
      |             ^~~~~~~~~~~~~~~~~~
callbacks.cc:13441:5: error: 'str2' was not declared in this scope
13441 |     str2 += gtk_entry_get_text(GTK_ENTRY(w3));
      |     ^~~~
callbacks.cc:13443:4: error: 'str2' was not declared in this scope
13443 |    str2 += CALCULATOR->getComma();
      |    ^~~~
callbacks.cc:13446:3: error: 'str2' was not declared in this scope
13446 |   str2 += print_with_evalops(bits);
      |   ^~~~
callbacks.cc:13446:11: error: 'print_with_evalops' was not declared in this scope
13446 |   str2 += print_with_evalops(bits);
      |           ^~~~~~~~~~~~~~~~~~
callbacks.cc:13505:4: error: 'str2' was not declared in this scope
13505 |    str2 = print_with_evalops(nr);
      |    ^~~~
callbacks.cc:13505:11: error: 'print_with_evalops' was not declared in this scope
13505 |    str2 = print_with_evalops(nr);
      |           ^~~~~~~~~~~~~~~~~~
callbacks.cc:13507:4: error: 'str2' was not declared in this scope
13507 |    str2 = gtk_entry_get_text(GTK_ENTRY(entry));
      |    ^~~~
callbacks.cc:13514:20: error: 'str2' was not declared in this scope
13514 |   bool do_exec = (!str2.empty() || f->minargs() < 2) && !rpn_mode && ((gtk_text_iter_is_start(&istart) && gtk_text_iter_is_end(&iend)) || (gtk_text_iter_is_start(&iend) && gtk_text_iter_is_end(&istart)));
      |                    ^~~~
callbacks.cc:13517:9: error: expected ';' before 'str'
13517 |   string str = gstr;
      |         ^~~~
      |         ;
callbacks.cc:13518:21: error: 'str' was not declared in this scope; did you mean 'gstr'?
13518 |   remove_blank_ends(str);
      |                     ^~~
      |                     gstr
callbacks.cc:13543:27: error: 'str2' was not declared in this scope
13543 |   if(f->minargs() > 1 || !str2.empty()) {
      |                           ^~~~
callbacks.cc: In function 'void convert_in_wUnits(int)':
callbacks.cc:13710:3: error: 'old_fromValue' was not declared in this scope; did you mean 'fromValue'?
13710 |   old_fromValue = fromValue;
      |   ^~~~~~~~~~~~~
      |   fromValue
callbacks.cc:13711:3: error: 'old_toValue' was not declared in this scope; did you mean 'toValue'?
13711 |   old_toValue = toValue;
      |   ^~~~~~~~~~~
      |   toValue
callbacks.cc: In function 'void set_saved_mode()':
callbacks.cc:13798:2: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
13798 |  modes[1].precision = CALCULATOR->getPrecision();
      |  ^~~~~
      |  mode_t
callbacks.cc: At global scope:
callbacks.cc:13815:21: error: 'string' was not declared in this scope; did you mean 'std::string'?
13815 | size_t save_mode_as(string name, bool *new_mode = NULL) {
      |                     ^~~~~~
      |                     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:13815:34: error: expected primary-expression before 'bool'
13815 | size_t save_mode_as(string name, bool *new_mode = NULL) {
      |                                  ^~~~
callbacks.cc:13815:55: error: expression list treated as compound expression in initializer [-fpermissive]
13815 | size_t save_mode_as(string name, bool *new_mode = NULL) {
      |                                                       ^
callbacks.cc: In function 'void load_mode(const mode_struct&)':
callbacks.cc:13871:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
13871 |  string str = gtext;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:13875:50: error: 'str' was not declared in this scope; did you mean 'std'?
13875 |  } else if(rpn_mode || expression_has_changed || str.find_first_not_of(SPACES) == string::npos) {
      |                                                  ^~~
      |                                                  std
callbacks.cc:13875:83: error: 'string' is not a class, namespace, or enumeration
13875 |  } else if(rpn_mode || expression_has_changed || str.find_first_not_of(SPACES) == string::npos) {
      |                                                                                   ^~~~~~
callbacks.cc:13876:37: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
13876 |   setResult(NULL, true, false, false);
      |                                     ^
      |                                     |
      |                                     const char*
callbacks.cc: At global scope:
callbacks.cc:13883:6: error: variable or field 'load_mode' declared void
13883 | void load_mode(string name) {
      |      ^~~~~~~~~
callbacks.cc:13883:16: error: 'string' was not declared in this scope; did you mean 'std::string'?
13883 | void load_mode(string name) {
      |                ^~~~~~
      |                std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc: In function 'void load_mode(size_t)':
callbacks.cc:13892:13: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
13892 |  if(index < modes.size()) {
      |             ^~~~~
      |             mode_t
callbacks.cc: In function 'void expression_set_from_undo_buffer()':
callbacks.cc:13929:18: error: 'expression_undo_buffer' was not declared in this scope; did you mean 'expressionbuffer'?
13929 |  if(undo_index < expression_undo_buffer.size()) {
      |                  ^~~~~~~~~~~~~~~~~~~~~~
      |                  expressionbuffer
callbacks.cc:13930:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
13930 |   string str_old = get_expression_text();
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:13931:9: error: expected ';' before 'str_new'
13931 |   string str_new = expression_undo_buffer[undo_index];
      |         ^~~~~~~~
      |         ;
callbacks.cc:13932:6: error: 'str_old' was not declared in this scope; did you mean 'strtold'?
13932 |   if(str_old == str_new) return;
      |      ^~~~~~~
      |      strtold
callbacks.cc:13932:17: error: 'str_new' was not declared in this scope
13932 |   if(str_old == str_new) return;
      |                 ^~~~~~~
callbacks.cc:13936:6: error: 'str_old' was not declared in this scope; did you mean 'strtold'?
13936 |   if(str_old.length() > str_new.length()) {
      |      ^~~~~~~
      |      strtold
callbacks.cc:13936:25: error: 'str_new' was not declared in this scope
13936 |   if(str_old.length() > str_new.length()) {
      |                         ^~~~~~~
callbacks.cc:13937:38: error: 'string' is not a class, namespace, or enumeration
13937 |    if((i = str_old.find(str_new)) != string::npos) {
      |                                      ^~~~~~
callbacks.cc:13954:12: error: expected ';' before 'str_test'
13954 |      string str_test = str_old.substr(0, i);
      |            ^~~~~~~~~
      |            ;
callbacks.cc:13955:6: error: 'str_test' was not declared in this scope
13955 |      str_test += str_old.substr(i + str_old.length() - str_new.length());
      |      ^~~~~~~~
callbacks.cc:13967:49: error: 'string' is not a class, namespace, or enumeration
13967 |      while((i2 = str_test.find(')', i2 + 1)) != string::npos) {
      |                                                 ^~~~~~
callbacks.cc:13968:13: error: expected ';' before 'str_test2'
13968 |       string str_test2 = str_test;
      |             ^~~~~~~~~~
      |             ;
callbacks.cc:13969:7: error: 'str_test2' was not declared in this scope
13969 |       str_test2.erase(str_test2.begin() + i2);
      |       ^~~~~~~~~
callbacks.cc:13986:38: error: 'string' is not a class, namespace, or enumeration
13986 |    if((i = str_new.find(str_old)) != string::npos) {
      |                                      ^~~~~~
callbacks.cc:14001:12: error: expected ';' before 'str_test'
14001 |      string str_test = str_new.substr(0, i);
      |            ^~~~~~~~~
      |            ;
callbacks.cc:14002:6: error: 'str_test' was not declared in this scope
14002 |      str_test += str_new.substr(i + str_new.length() - str_old.length());
      |      ^~~~~~~~
callbacks.cc:14013:49: error: 'string' is not a class, namespace, or enumeration
14013 |      while((i2 = str_test.find(')', i2 + 1)) != string::npos) {
      |                                                 ^~~~~~
callbacks.cc:14014:13: error: expected ';' before 'str_test2'
14014 |       string str_test2 = str_test;
      |             ^~~~~~~~~~
      |             ;
callbacks.cc:14015:7: error: 'str_test2' was not declared in this scope
14015 |       str_test2.erase(str_test2.begin() + i2);
      |       ^~~~~~~~~
callbacks.cc:14030:46: error: 'str_new' was not declared in this scope
14030 |   gtk_text_buffer_set_text(expressionbuffer, str_new.c_str(), -1);
      |                                              ^~~~~~~
callbacks.cc: In function 'void expression_redo()':
callbacks.cc:14041:19: error: 'expression_undo_buffer' was not declared in this scope; did you mean 'expressionbuffer'?
14041 |  if(undo_index >= expression_undo_buffer.size() - 1) return;
      |                   ^~~~~~~~~~~~~~~~~~~~~~
      |                   expressionbuffer
callbacks.cc: In function 'void on_expressiontext_populate_popup(GtkTextView*, GtkMenu*, gpointer)':
callbacks.cc:14081:19: error: 'expression_undo_buffer' was not declared in this scope; did you mean 'expressionbuffer'?
14081 |  if(undo_index >= expression_undo_buffer.size() - 1) gtk_widget_set_sensitive(item, FALSE);
      |                   ^~~~~~~~~~~~~~~~~~~~~~
      |                   expressionbuffer
callbacks.cc:14131:2: error: 'popup_expression_mode_items' was not declared in this scope
14131 |  popup_expression_mode_items.clear();
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:14132:24: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14132 |  for(size_t i = 0; i < modes.size(); i++) {
      |                        ^~~~~
      |                        mode_t
callbacks.cc: In function 'void on_popup_menu_mode_update_activate(GtkMenuItem*, gpointer)':
callbacks.cc:14373:33: error: 'save_mode_as' cannot be used as a function
14373 |  save_mode_as((const char*) data);
      |                                 ^
callbacks.cc: In function 'void on_popup_menu_mode_delete_activate(GtkMenuItem*, gpointer)':
callbacks.cc:14387:16: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14387 |  for(; index < modes.size(); index++) {
      |                ^~~~~
      |                mode_t
callbacks.cc:14390:14: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14390 |  if(index >= modes.size()) return;
      |              ^~~~~
      |              mode_t
callbacks.cc:14391:21: error: 'mode_items' was not declared in this scope; did you mean 'set_mode_items'?
14391 |  gtk_widget_destroy(mode_items[index]);
      |                     ^~~~~~~~~~
      |                     set_mode_items
callbacks.cc:14392:21: error: 'popup_result_mode_items' was not declared in this scope
14392 |  gtk_widget_destroy(popup_result_mode_items[index]);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:14393:2: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14393 |  modes.erase(modes.begin() + index);
      |  ^~~~~
      |  mode_t
callbacks.cc: In function 'gboolean on_menu_item_meta_mode_popup_menu(GtkWidget*, gpointer)':
callbacks.cc:14413:16: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14413 |  for(; index < modes.size(); index++) {
      |                ^~~~~
      |                mode_t
callbacks.cc:14416:14: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14416 |  if(index >= modes.size()) return TRUE;
      |              ^~~~~
      |              mode_t
callbacks.cc:14424:24: error: 'mode_items' was not declared in this scope; did you mean 'set_mode_items'?
14424 |  for(size_t i = 0; i < mode_items.size(); i++) {
      |                        ^~~~~~~~~~
      |                        set_mode_items
callbacks.cc:14428:25: error: 'popup_result_mode_items' was not declared in this scope
14428 |   for(size_t i = 0; i < popup_result_mode_items.size(); i++) {
      |                         ^~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:14433:25: error: 'popup_expression_mode_items' was not declared in this scope
14433 |   for(size_t i = 0; i < popup_expression_mode_items.size(); i++) {
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_menu_item_meta_mode_activate(GtkMenuItem*, gpointer)':
callbacks.cc:14456:12: error: invalid conversion from 'const char*' to 'size_t' {aka 'long unsigned int'} [-fpermissive]
14456 |  load_mode(name);
      |            ^~~~
      |            |
      |            const char*
callbacks.cc:13891:23: note:   initializing argument 1 of 'void load_mode(size_t)'
13891 | void load_mode(size_t index) {
      |                ~~~~~~~^~~~~
callbacks.cc: In function 'void on_menu_item_meta_mode_save_activate(GtkMenuItem*, gpointer)':
callbacks.cc:14471:24: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14471 |  for(size_t i = 2; i < modes.size(); i++) {
      |                        ^~~~~
      |                        mode_t
callbacks.cc:14480:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
14480 |   string name = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(entry));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:14481:21: error: 'name' was not declared in this scope; did you mean 'rename'?
14481 |   remove_blank_ends(name);
      |                     ^~~~
      |                     rename
callbacks.cc:14486:14: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14486 |   if(name == modes[0].name) {
      |              ^~~~~
      |              mode_t
callbacks.cc:14490:46: error: 'save_mode_as' cannot be used as a function
14490 |   size_t index = save_mode_as(name, &new_mode);
      |                                              ^
callbacks.cc:14492:51: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14492 |    GtkWidget *item = gtk_menu_item_new_with_label(modes[index].name.c_str());
      |                                                   ^~~~~
      |                                                   mode_t
callbacks.cc:14498:4: error: 'mode_items' was not declared in this scope; did you mean 'set_mode_items'?
14498 |    mode_items.push_back(item);
      |    ^~~~~~~~~~
      |    set_mode_items
callbacks.cc:14505:4: error: 'popup_result_mode_items' was not declared in this scope
14505 |    popup_result_mode_items.push_back(item);
      |    ^~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_menu_item_meta_mode_delete_activate(GtkMenuItem*, gpointer)':
callbacks.cc:14525:24: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14525 |  for(size_t i = 2; i < modes.size(); i++) {
      |                        ^~~~~
      |                        mode_t
callbacks.cc:14534:22: error: 'mode_items' was not declared in this scope; did you mean 'set_mode_items'?
14534 |   gtk_widget_destroy(mode_items[index]);
      |                      ^~~~~~~~~~
      |                      set_mode_items
callbacks.cc:14535:22: error: 'popup_result_mode_items' was not declared in this scope
14535 |   gtk_widget_destroy(popup_result_mode_items[index]);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:14536:3: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14536 |   modes.erase(modes.begin() + index);
      |   ^~~~~
      |   mode_t
callbacks.cc: In function 'void load_preferences()':
callbacks.cc:14552:2: error: 'default_plot_min' was not declared in this scope; did you mean 'default_plot_type'?
14552 |  default_plot_min = "0";
      |  ^~~~~~~~~~~~~~~~
      |  default_plot_type
callbacks.cc:14553:2: error: 'default_plot_max' was not declared in this scope; did you mean 'default_plot_type'?
14553 |  default_plot_max = "10";
      |  ^~~~~~~~~~~~~~~~
      |  default_plot_type
callbacks.cc:14554:2: error: 'default_plot_step' was not declared in this scope; did you mean 'default_plot_style'?
14554 |  default_plot_step = "1";
      |  ^~~~~~~~~~~~~~~~~
      |  default_plot_style
callbacks.cc:14561:2: error: 'default_plot_variable' was not declared in this scope; did you mean 'default_plot_style'?
14561 |  default_plot_variable = "x";
      |  ^~~~~~~~~~~~~~~~~~~~~
      |  default_plot_style
callbacks.cc:14661:26: error: 'save_mode_as' cannot be used as a function
14661 |  save_mode_as(_("Preset"));
      |                          ^
callbacks.cc:14662:27: error: 'save_mode_as' cannot be used as a function
14662 |  save_mode_as(_("Default"));
      |                           ^
callbacks.cc:14691:2: error: 'custom_result_font' was not declared in this scope; did you mean 'use_custom_result_font'?
14691 |  custom_result_font = "";
      |  ^~~~~~~~~~~~~~~~~~
      |  use_custom_result_font
callbacks.cc:14692:2: error: 'custom_expression_font' was not declared in this scope; did you mean 'use_custom_expression_font'?
14692 |  custom_expression_font = "";
      |  ^~~~~~~~~~~~~~~~~~~~~~
      |  use_custom_expression_font
callbacks.cc:14693:2: error: 'custom_status_font' was not declared in this scope; did you mean 'use_custom_status_font'?
14693 |  custom_status_font = "";
      |  ^~~~~~~~~~~~~~~~~~
      |  use_custom_status_font
callbacks.cc:14694:2: error: 'status_error_color' was not declared in this scope; did you mean 'status_error_color_set'?
14694 |  status_error_color = "#FF0000";
      |  ^~~~~~~~~~~~~~~~~~
      |  status_error_color_set
callbacks.cc:14695:2: error: 'status_warning_color' was not declared in this scope; did you mean 'status_warning_color_set'?
14695 |  status_warning_color = "#0000FF";
      |  ^~~~~~~~~~~~~~~~~~~~
      |  status_warning_color_set
callbacks.cc:14715:2: error: 'expression_history' was not declared in this scope; did you mean 'expression_redo'?
14715 |  expression_history.clear();
      |  ^~~~~~~~~~~~~~~~~~
      |  expression_redo
callbacks.cc:14754:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
14754 |   string stmp, svalue, svar;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:14759:4: error: 'stmp' was not declared in this scope
14759 |    stmp = line;
      |    ^~~~
callbacks.cc:14761:40: error: 'string' is not a class, namespace, or enumeration
14761 |    if((i = stmp.find_first_of("=")) != string::npos) {
      |                                        ^~~~~~
callbacks.cc:14762:5: error: 'svar' was not declared in this scope
14762 |     svar = stmp.substr(0, i);
      |     ^~~~
callbacks.cc:14764:5: error: 'svalue' was not declared in this scope; did you mean 'GValue'?
14764 |     svalue = stmp.substr(i + 1);
      |     ^~~~~~
      |     GValue
callbacks.cc:14871:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14871 |      else modes[mode_index].po.min_decimals = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14874:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14874 |      else modes[mode_index].po.use_min_decimals = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14877:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14877 |      else modes[mode_index].po.max_decimals = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14880:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14880 |      else modes[mode_index].po.use_max_decimals = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14883:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14883 |      else modes[mode_index].precision = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14886:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14886 |      else modes[mode_index].po.min_exp = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14890:12: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14890 |       else modes[mode_index].interval = v;
      |            ^~~~~
      |            mode_t
callbacks.cc:14892:7: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14892 |       modes[mode_index].interval = true;
      |       ^~~~~
      |       mode_t
callbacks.cc:14897:13: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14897 |       else {modes[mode_index].po.interval_display = INTERVAL_DISPLAY_SIGNIFICANT_DIGITS; modes[mode_index].adaptive_interval_display = true;}
      |             ^~~~~
      |             mode_t
callbacks.cc:14902:14: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14902 |        else {modes[mode_index].po.interval_display = (IntervalDisplay) v; modes[mode_index].adaptive_interval_display = false;}
      |              ^~~~~
      |              mode_t
callbacks.cc:14907:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14907 |      else modes[mode_index].po.negative_exponents = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14910:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14910 |      else modes[mode_index].po.sort_options.minus_last = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14913:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14913 |      else modes[mode_index].po.place_units_separately = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14922:9: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14922 |         modes[mode_index].po.min_exp = EXP_PRECISION;
      |         ^~~~~
      |         mode_t
callbacks.cc:14934:9: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14934 |         modes[mode_index].po.min_exp = EXP_SCIENTIFIC;
      |         ^~~~~
      |         mode_t
callbacks.cc:14946:9: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14946 |         modes[mode_index].po.min_exp = EXP_PURE;
      |         ^~~~~
      |         mode_t
callbacks.cc:14958:9: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14958 |         modes[mode_index].po.min_exp = EXP_NONE;
      |         ^~~~~
      |         mode_t
callbacks.cc:14967:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14967 |      else modes[mode_index].po.use_unit_prefixes = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14970:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14970 |      else modes[mode_index].po.use_prefixes_for_all_units = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14973:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14973 |      else modes[mode_index].po.use_prefixes_for_currencies = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:14978:13: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14978 |        else modes[mode_index].po.number_fraction_format = FRACTION_DECIMAL;
      |             ^~~~~
      |             mode_t
callbacks.cc:14983:13: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14983 |        else modes[mode_index].po.number_fraction_format = FRACTION_COMBINED;
      |             ^~~~~
      |             mode_t
callbacks.cc:14988:13: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14988 |        else modes[mode_index].po.number_fraction_format = FRACTION_FRACTIONAL;
      |             ^~~~~
      |             mode_t
callbacks.cc:14993:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14993 |      else modes[mode_index].po.restrict_fraction_length = (modes[mode_index].po.number_fraction_format == FRACTION_FRACTIONAL);
      |           ^~~~~
      |           mode_t
callbacks.cc:14997:12: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
14997 |       else modes[mode_index].po.number_fraction_format = (NumberFractionFormat) v;
      |            ^~~~~
      |            mode_t
callbacks.cc:15000:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15000 |      else modes[mode_index].po.restrict_fraction_length = (modes[mode_index].po.number_fraction_format == FRACTION_FRACTIONAL);
      |           ^~~~~
      |           mode_t
callbacks.cc:15009:8: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15009 |        modes[mode_index].eo.complex_number_form = COMPLEX_NUMBER_FORM_CIS;
      |        ^~~~~
      |        mode_t
callbacks.cc:15017:8: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15017 |        modes[mode_index].eo.complex_number_form = (ComplexNumberForm) v;
      |        ^~~~~
      |        mode_t
callbacks.cc:15023:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15023 |      else modes[mode_index].po.base = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15030:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15030 |      else modes[mode_index].custom_output_base = m.number();
      |           ^~~~~
      |           mode_t
callbacks.cc:15033:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15033 |      else modes[mode_index].eo.parse_options.base = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15040:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15040 |      else modes[mode_index].custom_input_base = m.number();
      |           ^~~~~
      |           mode_t
callbacks.cc:15044:12: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15044 |       else modes[mode_index].eo.parse_options.read_precision = (ReadPrecisionMode) v;
      |            ^~~~~
      |            mode_t
callbacks.cc:15051:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15051 |      else modes[mode_index].eo.assume_denominators_nonzero = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15054:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15054 |      else modes[mode_index].eo.warn_about_denominators_assumed_nonzero = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15064:8: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15064 |        modes[mode_index].eo.structuring = (StructuringMode) v;
      |        ^~~~~
      |        mode_t
callbacks.cc:15074:12: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15074 |       else modes[mode_index].eo.parse_options.angle_unit = (AngleUnit) v;
      |            ^~~~~
      |            mode_t
callbacks.cc:15078:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15078 |      else modes[mode_index].eo.parse_options.functions_enabled = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15081:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15081 |      else modes[mode_index].eo.parse_options.variables_enabled = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15084:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15084 |      else modes[mode_index].eo.calculate_variables = !v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15087:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15087 |      else modes[mode_index].eo.calculate_variables = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15090:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15090 |      else modes[mode_index].variable_units_enabled = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15093:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15093 |      else modes[mode_index].eo.calculate_functions = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15096:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15096 |      else modes[mode_index].eo.sync_units = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15099:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15099 |      else modes[mode_index].eo.parse_options.unknowns_enabled = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15102:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15102 |      else modes[mode_index].eo.parse_options.units_enabled = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15105:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15105 |      else modes[mode_index].eo.allow_complex = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15108:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15108 |      else modes[mode_index].eo.allow_infinite = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15111:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15111 |      else modes[mode_index].po.abbreviate_names = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15114:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15114 |      else modes[mode_index].po.abbreviate_names = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15117:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15117 |      else modes[mode_index].po.use_all_prefixes = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15120:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15120 |      else modes[mode_index].po.use_denominator_prefix = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15127:12: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15127 |       else modes[mode_index].eo.auto_post_conversion = (AutoPostConversion) v;
      |            ^~~~~
      |            mode_t
callbacks.cc:15132:12: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15132 |       else modes[mode_index].eo.mixed_units_conversion = (MixedUnitsConversion) v;
      |            ^~~~~
      |            mode_t
callbacks.cc:15140:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15140 |      else modes[mode_index].po.indicate_infinite_series = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15144:12: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15144 |       else modes[mode_index].po.show_ending_zeroes = v;
      |            ^~~~~
      |            mode_t
callbacks.cc:15152:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15152 |      else modes[mode_index].po.round_halfway_to_even = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15157:7: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15157 |       modes[mode_index].eo.approximation = APPROXIMATION_EXACT;
      |       ^~~~~
      |       mode_t
callbacks.cc:15165:8: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15165 |        modes[mode_index].eo.approximation = (ApproximationMode) v;
      |        ^~~~~
      |        mode_t
callbacks.cc:15171:12: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15171 |       else modes[mode_index].eo.interval_calculation = (IntervalCalculation) v;
      |            ^~~~~
      |            mode_t
callbacks.cc:15175:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15175 |      else modes[mode_index].autocalc = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15178:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15178 |      else modes[mode_index].rpn_mode = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15183:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15183 |      else modes[mode_index].eo.parse_options.rpn = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15189:7: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15189 |       modes[mode_index].eo.parse_options.limit_implicit_multiplication = v;
      |       ^~~~~
      |       mode_t
callbacks.cc:15197:8: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15197 |        modes[mode_index].eo.parse_options.parsing_mode = (ParsingMode) v;
      |        ^~~~~
      |        mode_t
callbacks.cc:15205:12: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15205 |       else modes[mode_index].at = (AssumptionType) v;
      |            ^~~~~
      |            mode_t
callbacks.cc:15213:12: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15213 |       else modes[mode_index].as = (AssumptionSign) v;
      |            ^~~~~
      |            mode_t
callbacks.cc:15217:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15217 |      else modes[mode_index].po.spacious = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15220:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15220 |      else modes[mode_index].po.excessive_parenthesis = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15223:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15223 |      else modes[mode_index].po.short_multiplication = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15226:11: error: 'modes' was not declared in this scope; did you mean 'mode_t'?
15226 |      else modes[mode_index].keypad = v;
      |           ^~~~~
      |           mode_t
callbacks.cc:15306:17: error: 'string' is not a class, namespace, or enumeration
15306 |       if(v_i == string::npos) {
      |                 ^~~~~~
callbacks.cc:15310:9: error: 'recent_functions_pre' was not declared in this scope
15310 |         recent_functions_pre.push_back(svar);
      |         ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:15318:9: error: 'recent_functions_pre' was not declared in this scope
15318 |         recent_functions_pre.push_back(svar);
      |         ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:15326:17: error: 'string' is not a class, namespace, or enumeration
15326 |       if(v_i == string::npos) {
      |                 ^~~~~~
callbacks.cc:15330:9: error: 'recent_variables_pre' was not declared in this scope
15330 |         recent_variables_pre.push_back(svar);
      |         ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:15338:9: error: 'recent_variables_pre' was not declared in this scope
15338 |         recent_variables_pre.push_back(svar);
      |         ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:15346:17: error: 'string' is not a class, namespace, or enumeration
15346 |       if(v_i == string::npos) {
      |                 ^~~~~~
callbacks.cc:15350:9: error: 'recent_units_pre' was not declared in this scope
15350 |         recent_units_pre.push_back(svar);
      |         ^~~~~~~~~~~~~~~~
callbacks.cc:15358:9: error: 'recent_units_pre' was not declared in this scope
15358 |         recent_units_pre.push_back(svar);
      |         ^~~~~~~~~~~~~~~~
callbacks.cc:15363:6: error: 'latest_button_unit_pre' was not declared in this scope; did you mean 'latest_button_unit'?
15363 |      latest_button_unit_pre = svalue;
      |      ^~~~~~~~~~~~~~~~~~~~~~
      |      latest_button_unit
callbacks.cc:15365:6: error: 'latest_button_currency_pre' was not declared in this scope; did you mean 'latest_button_currency'?
15365 |      latest_button_currency_pre = svalue;
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |      latest_button_currency
callbacks.cc:15401:6: error: 'inhistory' was not declared in this scope
15401 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15402:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15402 |      inhistory_type.push_front(QALCULATE_HISTORY_OLD);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15403:6: error: 'inhistory_protected' was not declared in this scope
15403 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15404:6: error: 'inhistory_value' was not declared in this scope
15404 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15406:6: error: 'inhistory' was not declared in this scope
15406 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15407:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15407 |      inhistory_type.push_front(QALCULATE_HISTORY_OLD);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15408:6: error: 'inhistory_protected' was not declared in this scope
15408 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15409:6: error: 'inhistory_value' was not declared in this scope
15409 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15411:6: error: 'inhistory' was not declared in this scope
15411 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15412:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15412 |      inhistory_type.push_front(QALCULATE_HISTORY_EXPRESSION);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15413:6: error: 'inhistory_protected' was not declared in this scope
15413 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15414:6: error: 'inhistory_value' was not declared in this scope
15414 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15416:6: error: 'inhistory' was not declared in this scope
15416 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15417:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15417 |      inhistory_type.push_front(QALCULATE_HISTORY_EXPRESSION);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15418:6: error: 'inhistory_protected' was not declared in this scope
15418 |      inhistory_protected.push_front(true);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15419:6: error: 'inhistory_value' was not declared in this scope
15419 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15421:6: error: 'inhistory' was not declared in this scope
15421 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15422:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15422 |      inhistory_type.push_front(QALCULATE_HISTORY_TRANSFORMATION);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15423:6: error: 'inhistory_protected' was not declared in this scope
15423 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15424:6: error: 'inhistory_value' was not declared in this scope
15424 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15426:6: error: 'inhistory' was not declared in this scope
15426 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15427:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15427 |      inhistory_type.push_front(QALCULATE_HISTORY_RESULT);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15428:6: error: 'inhistory_protected' was not declared in this scope
15428 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15429:6: error: 'inhistory_value' was not declared in this scope
15429 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15431:6: error: 'inhistory' was not declared in this scope
15431 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15432:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15432 |      inhistory_type.push_front(QALCULATE_HISTORY_RESULT_APPROXIMATE);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15433:6: error: 'inhistory_protected' was not declared in this scope
15433 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15434:6: error: 'inhistory_value' was not declared in this scope
15434 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15436:6: error: 'inhistory' was not declared in this scope
15436 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15437:29: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15437 |      if(old_history_format) inhistory_type.push_front(QALCULATE_HISTORY_PARSE_WITHEQUALS);
      |                             ^~~~~~~~~~~~~~
      |                             historystore
callbacks.cc:15438:11: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15438 |      else inhistory_type.push_front(QALCULATE_HISTORY_PARSE);
      |           ^~~~~~~~~~~~~~
      |           historystore
callbacks.cc:15439:6: error: 'inhistory_protected' was not declared in this scope
15439 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15440:6: error: 'inhistory_value' was not declared in this scope
15440 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15442:6: error: 'inhistory' was not declared in this scope
15442 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15443:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15443 |      inhistory_type.push_front(QALCULATE_HISTORY_PARSE_WITHEQUALS);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15444:6: error: 'inhistory_protected' was not declared in this scope
15444 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15445:6: error: 'inhistory_value' was not declared in this scope
15445 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15447:6: error: 'inhistory' was not declared in this scope
15447 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15448:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15448 |      inhistory_type.push_front(QALCULATE_HISTORY_PARSE_APPROXIMATE);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15449:6: error: 'inhistory_protected' was not declared in this scope
15449 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15450:6: error: 'inhistory_value' was not declared in this scope
15450 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15452:6: error: 'inhistory' was not declared in this scope
15452 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15453:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15453 |      inhistory_type.push_front(QALCULATE_HISTORY_REGISTER_MOVED);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15454:6: error: 'inhistory_protected' was not declared in this scope
15454 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15455:6: error: 'inhistory_value' was not declared in this scope
15455 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15457:6: error: 'inhistory' was not declared in this scope
15457 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15458:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15458 |      inhistory_type.push_front(QALCULATE_HISTORY_RPN_OPERATION);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15459:6: error: 'inhistory_protected' was not declared in this scope
15459 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15460:6: error: 'inhistory_value' was not declared in this scope
15460 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15462:6: error: 'inhistory' was not declared in this scope
15462 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15463:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15463 |      inhistory_type.push_front(QALCULATE_HISTORY_REGISTER_MOVED);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15464:6: error: 'inhistory_protected' was not declared in this scope
15464 |      inhistory_protected.push_front(true);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15465:6: error: 'inhistory_value' was not declared in this scope
15465 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15467:6: error: 'inhistory' was not declared in this scope
15467 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15468:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15468 |      inhistory_type.push_front(QALCULATE_HISTORY_RPN_OPERATION);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15469:6: error: 'inhistory_protected' was not declared in this scope
15469 |      inhistory_protected.push_front(true);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15470:6: error: 'inhistory_value' was not declared in this scope
15470 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15472:6: error: 'inhistory' was not declared in this scope
15472 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15473:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15473 |      inhistory_type.push_front(QALCULATE_HISTORY_WARNING);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15474:6: error: 'inhistory_protected' was not declared in this scope
15474 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15475:6: error: 'inhistory_value' was not declared in this scope
15475 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15477:6: error: 'inhistory' was not declared in this scope
15477 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15478:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15478 |      inhistory_type.push_front(QALCULATE_HISTORY_ERROR);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15479:6: error: 'inhistory_protected' was not declared in this scope
15479 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15480:6: error: 'inhistory_value' was not declared in this scope
15480 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15482:6: error: 'inhistory' was not declared in this scope
15482 |      inhistory.push_front(svalue);
      |      ^~~~~~~~~
callbacks.cc:15483:6: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15483 |      inhistory_type.push_front(QALCULATE_HISTORY_BOOKMARK);
      |      ^~~~~~~~~~~~~~
      |      historystore
callbacks.cc:15484:6: error: 'inhistory_protected' was not declared in this scope
15484 |      inhistory_protected.push_front(false);
      |      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:15485:6: error: 'inhistory_value' was not declared in this scope
15485 |      inhistory_value.push_front(0);
      |      ^~~~~~~~~~~~~~~
callbacks.cc:15487:10: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
15487 |      for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |          ^~~~~~
      |          std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:15487:26: error: '::iterator' has not been declared; did you mean 'std::iterator'?
15487 |      for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |                          ^~~~~~~~
      |                          std::iterator
In file included from /usr/include/g++/bits/stl_algobase.h:65,
                 from /usr/include/g++/bits/char_traits.h:39,
                 from /usr/include/g++/ios:40,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stl_iterator_base_types.h:127:12: note: 'std::iterator' declared here
  127 |     struct iterator
      |            ^~~~~~~~
callbacks.cc:15487:67: error: 'it' was not declared in this scope; did you mean 'i'?
15487 |      for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |                                                                   ^~
      |                                                                   i
callbacks.cc:15487:73: error: 'history_bookmarks' was not declared in this scope; did you mean 'history_bookmark_color'?
15487 |      for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |                                                                         ^~~~~~~~~~~~~~~~~
      |                                                                         history_bookmark_color
callbacks.cc:15488:36: error: 'string_is_less' cannot be used as a function
15488 |       if(string_is_less(svalue, *it)) {
      |                                    ^
callbacks.cc:15494:13: error: 'history_bookmarks' was not declared in this scope; did you mean 'history_bookmark_color'?
15494 |      if(!b) history_bookmarks.push_back(svalue);
      |             ^~~~~~~~~~~~~~~~~
      |             history_bookmark_color
callbacks.cc:15496:9: error: 'inhistory' was not declared in this scope
15496 |      if(inhistory.size() > 0) {
      |         ^~~~~~~~~
callbacks.cc:15507:65: error: 'save_mode_as' cannot be used as a function
15507 |      mode_index = save_mode_as(stmp.substr(5, stmp.length() - 5));
      |                                                                 ^
callbacks.cc:15523:28: error: 'inhistory' was not declared in this scope
15523 |  initial_inhistory_index = inhistory.size() - 1;
      |                            ^~~~~~~~~
callbacks.cc: In function 'void save_preferences(bool)':
callbacks.cc:15538:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
15538 |  string homedir = getLocalDir();
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:15539:19: error: 'homedir' was not declared in this scope; did you mean 'mkdir'?
15539 |  recursiveMakeDir(homedir);
      |                   ^~~~~~~
      |                   mkdir
callbacks.cc:15659:97: error: 'custom_result_font' was not declared in this scope; did you mean 'use_custom_result_font'?
15659 |  if(use_custom_result_font || save_custom_result_font) fprintf(file, "custom_result_font=%s\n", custom_result_font.c_str());
      |                                                                                                 ^~~~~~~~~~~~~~~~~~
      |                                                                                                 use_custom_result_font
callbacks.cc:15660:109: error: 'custom_expression_font' was not declared in this scope; did you mean 'use_custom_expression_font'?
15660 |  if(use_custom_expression_font || save_custom_expression_font) fprintf(file, "custom_expression_font=%s\n", custom_expression_font.c_str());
      |                                                                                                             ^~~~~~~~~~~~~~~~~~~~~~
      |                                                                                                             use_custom_expression_font
callbacks.cc:15661:97: error: 'custom_status_font' was not declared in this scope; did you mean 'use_custom_status_font'?
15661 |  if(use_custom_status_font || save_custom_status_font) fprintf(file, "custom_status_font=%s\n", custom_status_font.c_str());
      |                                                                                                 ^~~~~~~~~~~~~~~~~~
      |                                                                                                 use_custom_status_font
callbacks.cc:15662:70: error: 'status_error_color' was not declared in this scope; did you mean 'status_error_color_set'?
15662 |  if(status_error_color_set) fprintf(file, "status_error_color=%s\n", status_error_color.c_str());
      |                                                                      ^~~~~~~~~~~~~~~~~~
      |                                                                      status_error_color_set
callbacks.cc:15663:74: error: 'status_warning_color' was not declared in this scope; did you mean 'status_warning_color_set'?
15663 |  if(status_warning_color_set) fprintf(file, "status_warning_color=%s\n", status_warning_color.c_str());
      |                                                                          ^~~~~~~~~~~~~~~~~~~~
      |                                                                          status_warning_color_set
callbacks.cc:15667:24: error: 'expression_history' was not declared in this scope; did you mean 'expression_redo'?
15667 |  for(size_t i = 0; i < expression_history.size(); i++) {
      |                        ^~~~~~~~~~~~~~~~~~
      |                        expression_redo
callbacks.cc:15674:14: error: 'inhistory' was not declared in this scope
15674 |  size_t hi = inhistory.size();
      |              ^~~~~~~~~
callbacks.cc:15677:10: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15677 |   switch(inhistory_type[hi]) {
      |          ^~~~~~~~~~~~~~
      |          historystore
callbacks.cc:15682:9: error: 'inhistory_protected' was not declared in this scope; did you mean 'is_protected'?
15682 |      if(inhistory_protected[hi]) fprintf(file, "history_expression*=");
      |         ^~~~~~~~~~~~~~~~~~~
      |         is_protected
callbacks.cc:15684:21: error: 'inhistory_protected' was not declared in this scope; did you mean 'is_protected'?
15684 |      is_protected = inhistory_protected[hi];
      |                     ^~~~~~~~~~~~~~~~~~~
      |                     is_protected
callbacks.cc:15712:18: error: 'inhistory_protected' was not declared in this scope; did you mean 'is_protected'?
15712 |      if(hi + 1 < inhistory_protected.size() && inhistory_protected[hi + 1]) {
      |                  ^~~~~~~~~~~~~~~~~~~
      |                  is_protected
callbacks.cc:15725:9: error: 'inhistory_protected' was not declared in this scope; did you mean 'is_protected'?
15725 |      if(inhistory_protected[hi]) fprintf(file, "history_register_moved*=");
      |         ^~~~~~~~~~~~~~~~~~~
      |         is_protected
callbacks.cc:15727:21: error: 'inhistory_protected' was not declared in this scope; did you mean 'is_protected'?
15727 |      is_protected = inhistory_protected[hi];
      |                     ^~~~~~~~~~~~~~~~~~~
      |                     is_protected
callbacks.cc:15735:9: error: 'inhistory_protected' was not declared in this scope; did you mean 'is_protected'?
15735 |      if(inhistory_protected[hi]) fprintf(file, "history_rpn_operation*=");
      |         ^~~~~~~~~~~~~~~~~~~
      |         is_protected
callbacks.cc:15737:21: error: 'inhistory_protected' was not declared in this scope; did you mean 'is_protected'?
15737 |      is_protected = inhistory_protected[hi];
      |                     ^~~~~~~~~~~~~~~~~~~
      |                     is_protected
callbacks.cc:15769:12: error: 'string' is not a class, namespace, or enumeration
15769 |   if(i3 == string::npos) {
      |            ^~~~~~
callbacks.cc:15785:16: error: 'string' is not a class, namespace, or enumeration
15785 |    while(i2 != string::npos) {
      |                ^~~~~~
callbacks.cc:15796:6: error: 'inhistory_protected' was not declared in this scope; did you mean 'is_protected'?
15796 |   if(inhistory_protected[hi] || (inhistory_type[hi] == QALCULATE_HISTORY_BOOKMARK && hi != 0 && inhistory_type[hi - 1] != QALCULATE_HISTORY_OLD)) {
      |      ^~~~~~~~~~~~~~~~~~~
      |      is_protected
callbacks.cc:15796:34: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
15796 |   if(inhistory_protected[hi] || (inhistory_type[hi] == QALCULATE_HISTORY_BOOKMARK && hi != 0 && inhistory_type[hi - 1] != QALCULATE_HISTORY_OLD)) {
      |                                  ^~~~~~~~~~~~~~
      |                                  historystore
callbacks.cc:15881:14: error: 'string' is not a class, namespace, or enumeration
15881 |     if(i3 == string::npos) {
      |              ^~~~~~
callbacks.cc:15887:18: error: 'string' is not a class, namespace, or enumeration
15887 |      while(i2 != string::npos) {
      |                  ^~~~~~
callbacks.cc:15904:21: error: 'recent_functions' was not declared in this scope; did you mean 'edit_function'?
15904 |  for(int i = (int) (recent_functions.size()) - 1; i >= 0; i--) {
      |                     ^~~~~~~~~~~~~~~~
      |                     edit_function
callbacks.cc:15910:21: error: 'recent_variables' was not declared in this scope; did you mean 'delete_variable'?
15910 |  for(int i = (int) (recent_variables.size()) - 1; i >= 0; i--) {
      |                     ^~~~~~~~~~~~~~~~
      |                     delete_variable
callbacks.cc:15916:21: error: 'recent_units' was not declared in this scope
15916 |  for(int i = (int) (recent_units.size()) - 1; i >= 0; i--) {
      |                     ^~~~~~~~~~~~
callbacks.cc:15924:24: error: 'modes' was not declared in this scope; did you mean 'mode'?
15924 |  for(size_t i = 1; i < modes.size(); i++) {
      |                        ^~~~~
      |                        mode
callbacks.cc:15993:33: error: 'default_plot_min' was not declared in this scope; did you mean 'default_plot_type'?
15993 |  fprintf(file, "plot_min=%s\n", default_plot_min.c_str());
      |                                 ^~~~~~~~~~~~~~~~
      |                                 default_plot_type
callbacks.cc:15994:33: error: 'default_plot_max' was not declared in this scope; did you mean 'default_plot_type'?
15994 |  fprintf(file, "plot_max=%s\n", default_plot_max.c_str());
      |                                 ^~~~~~~~~~~~~~~~
      |                                 default_plot_type
callbacks.cc:15995:34: error: 'default_plot_step' was not declared in this scope; did you mean 'default_plot_style'?
15995 |  fprintf(file, "plot_step=%s\n", default_plot_step.c_str());
      |                                  ^~~~~~~~~~~~~~~~~
      |                                  default_plot_style
callbacks.cc:15998:38: error: 'default_plot_variable' was not declared in this scope; did you mean 'default_plot_style'?
15998 |  fprintf(file, "plot_variable=%s\n", default_plot_variable.c_str());
      |                                      ^~~~~~~~~~~~~~~~~~~~~
      |                                      default_plot_style
callbacks.cc: In function 'void on_completion_match_selected(GtkTreeView*, GtkTreePath*, GtkTreeViewColumn*, gpointer)':
callbacks.cc:16408:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
16408 |  string str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:16484:3: error: 'str' was not declared in this scope; did you mean 'std'?
16484 |   str = ename->name;
      |   ^~~
      |   std
callbacks.cc:16488:10: error: 'string' does not name a type; did you mean 'GString'?
16488 |    const string *pname;
      |          ^~~~~~
      |          GString
callbacks.cc:16489:20: error: 'pname' was not declared in this scope; did you mean 'ename'?
16489 |    if(name_i == 0) pname = &prefix->longName(false);
      |                    ^~~~~
      |                    ename
callbacks.cc:16490:25: error: 'pname' was not declared in this scope; did you mean 'ename'?
16490 |    else if(name_i == 1) pname = &prefix->shortName(false);
      |                         ^~~~~
      |                         ename
callbacks.cc:16491:9: error: 'pname' was not declared in this scope; did you mean 'ename'?
16491 |    else pname = &prefix->unicodeName(false);
      |         ^~~~~
      |         ename
callbacks.cc:16492:8: error: 'pname' was not declared in this scope; did you mean 'ename'?
16492 |    if(!pname->empty() && strlen(gstr2) <= pname->length()) {
      |        ^~~~~
      |        ename
callbacks.cc:16501:52: error: 'str' was not declared in this scope; did you mean 'std'?
16501 |      if(name_i == 1 && printops.use_unicode_signs) str = prefix->unicodeName();
      |                                                    ^~~
      |                                                    std
callbacks.cc:16502:11: error: 'str' was not declared in this scope; did you mean 'std'?
16502 |      else str = *pname;
      |           ^~~
      |           std
callbacks.cc:16507:6: error: 'str' was not declared in this scope; did you mean 'std'?
16507 |   if(str.empty()) str = prefix->longName();
      |      ^~~
      |      std
callbacks.cc:16512:3: error: 'str' was not declared in this scope; did you mean 'gstr'?
16512 |   str = gstr;
      |   ^~~
      |   gstr
callbacks.cc:16514:11: error: 'string' is not a class, namespace, or enumeration
16514 |   if(i != string::npos) {str = str.substr(0, i - 1);}
      |           ^~~~~~
callbacks.cc:16527:52: error: 'str' was not declared in this scope; did you mean 'gstr'?
16527 |    gtk_text_buffer_insert(expressionbuffer, &ipos, str.c_str(), -1);
      |                                                    ^~~
      |                                                    gstr
callbacks.cc:16530:4: error: 'str' was not declared in this scope; did you mean 'gstr'?
16530 |    str += "()";
      |    ^~~
      |    gstr
callbacks.cc:16537:51: error: 'str' was not declared in this scope; did you mean 'std'?
16537 |   gtk_text_buffer_insert(expressionbuffer, &ipos, str.c_str(), -1);
      |                                                   ^~~
      |                                                   std
callbacks.cc: In function 'void on_colorbutton_status_error_color_color_set(GtkColorButton*, gpointer)':
callbacks.cc:16556:2: error: 'status_error_color' was not declared in this scope; did you mean 'status_error_color_set'?
16556 |  status_error_color = color_str;
      |  ^~~~~~~~~~~~~~~~~~
      |  status_error_color_set
callbacks.cc: In function 'void on_colorbutton_status_warning_color_color_set(GtkColorButton*, gpointer)':
callbacks.cc:16565:2: error: 'status_warning_color' was not declared in this scope; did you mean 'status_warning_color_set'?
16565 |  status_warning_color = color_str;
      |  ^~~~~~~~~~~~~~~~~~~~
      |  status_warning_color_set
callbacks.cc: In function 'void on_preferences_checkbutton_imaginary_j_toggled(GtkToggleButton*, gpointer)':
callbacks.cc:16627:85: error: 'string' was not declared in this scope; did you mean 'std::string'?
16627 |   gtk_label_set_markup(GTK_LABEL(gtk_builder_get_object(main_builder, "label_i")), (string("<i>") + CALCULATOR->v_i->preferredDisplayName(true, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) gtk_builder_get_object(main_builder, "label_i")).name + "</i>").c_str());
      |                                                                                     ^~~~~~
      |                                                                                     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc: In function 'void on_preferences_checkbutton_caret_as_xor_toggled(GtkToggleButton*, gpointer)':
callbacks.cc:16654:113: error: 'string' was not declared in this scope; did you mean 'std::string'?
16654 |  if(!caret_as_xor) gtk_widget_set_tooltip_text(GTK_WIDGET(gtk_builder_get_object(main_builder, "button_xor")), (string(_("Bitwise Exclusive OR")) + " (Ctrl+^)").c_str());
      |                                                                                                                 ^~~~~~
      |                                                                                                                 std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc: In function 'void on_preferences_checkbutton_display_expression_status_toggled(GtkToggleButton*, gpointer)':
callbacks.cc:16721:3: error: 'set_status_text' was not declared in this scope; did you mean 'update_status_text'?
16721 |   set_status_text("");
      |   ^~~~~~~~~~~~~~~
      |   update_status_text
callbacks.cc: In function 'void on_preferences_checkbutton_custom_result_font_toggled(GtkToggleButton*, gpointer)':
callbacks.cc:16730:34: error: 'custom_result_font' was not declared in this scope; did you mean 'use_custom_result_font'?
16730 |   gchar *gstr = font_name_to_css(custom_result_font.c_str());
      |                                  ^~~~~~~~~~~~~~~~~~
      |                                  use_custom_result_font
callbacks.cc: In function 'void on_preferences_checkbutton_custom_expression_font_toggled(GtkToggleButton*, gpointer)':
callbacks.cc:16749:34: error: 'custom_expression_font' was not declared in this scope; did you mean 'use_custom_expression_font'?
16749 |   gchar *gstr = font_name_to_css(custom_expression_font.c_str());
      |                                  ^~~~~~~~~~~~~~~~~~~~~~
      |                                  use_custom_expression_font
callbacks.cc: In function 'void on_preferences_checkbutton_custom_status_font_toggled(GtkToggleButton*, gpointer)':
callbacks.cc:16767:34: error: 'custom_status_font' was not declared in this scope; did you mean 'use_custom_status_font'?
16767 |   gchar *gstr = font_name_to_css(custom_status_font.c_str());
      |                                  ^~~~~~~~~~~~~~~~~~
      |                                  use_custom_status_font
callbacks.cc: In function 'void on_preferences_button_result_font_font_set(GtkFontButton*, gpointer)':
callbacks.cc:16879:2: error: 'custom_result_font' was not declared in this scope; did you mean 'use_custom_result_font'?
16879 |  custom_result_font = gtk_font_chooser_get_font(GTK_FONT_CHOOSER(w));
      |  ^~~~~~~~~~~~~~~~~~
      |  use_custom_result_font
callbacks.cc: In function 'void on_preferences_button_expression_font_font_set(GtkFontButton*, gpointer)':
callbacks.cc:16894:2: error: 'custom_expression_font' was not declared in this scope; did you mean 'use_custom_expression_font'?
16894 |  custom_expression_font = gtk_font_chooser_get_font(GTK_FONT_CHOOSER(w));
      |  ^~~~~~~~~~~~~~~~~~~~~~
      |  use_custom_expression_font
callbacks.cc: In function 'void on_preferences_button_status_font_font_set(GtkFontButton*, gpointer)':
callbacks.cc:16909:2: error: 'custom_status_font' was not declared in this scope; did you mean 'use_custom_status_font'?
16909 |  custom_status_font = gtk_font_chooser_get_font(GTK_FONT_CHOOSER(w));
      |  ^~~~~~~~~~~~~~~~~~
      |  use_custom_status_font
callbacks.cc: In function 'void update_resultview_popup()':
callbacks.cc:17202:3: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
17202 |   vector<Unit*> to_us;
      |   ^~~~~~
      |   std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:17202:14: error: expected primary-expression before '*' token
17202 |   vector<Unit*> to_us;
      |              ^
callbacks.cc:17202:15: error: expected primary-expression before '>' token
17202 |   vector<Unit*> to_us;
      |               ^
callbacks.cc:17202:17: error: 'to_us' was not declared in this scope; did you mean 'to_base'?
17202 |   vector<Unit*> to_us;
      |                 ^~~~~
      |                 to_base
callbacks.cc:17214:63: error: 'string_is_less' cannot be used as a function
17214 |       if(string_is_less(u->title(true), to_us[i2]->title(true))) {
      |                                                               ^
In file included from callbacks.cc:29:
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.h:18:110: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from callbacks.cc:29:
interface.h:18:124: error: 'string' was not declared in this scope; did you mean 'std::string'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
interface.h:18:124: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:29:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
callbacks.cc:17224:5: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
17224 |     MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), convert_to_unit, to_us[i])
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
callbacks.cc:17224:5: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
17224 |     MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), convert_to_unit, to_us[i])
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:145: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:211: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.h:18:222: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
callbacks.cc:17226:15: error: expected primary-expression before '*' token
17226 |    vector<Unit*> to_us2;
      |               ^
callbacks.cc:17226:16: error: expected primary-expression before '>' token
17226 |    vector<Unit*> to_us2;
      |                ^
callbacks.cc:17226:18: error: 'to_us2' was not declared in this scope
17226 |    vector<Unit*> to_us2;
      |                  ^~~~~~
In file included from callbacks.cc:29:
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.h:18:110: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from callbacks.cc:29:
interface.h:18:124: error: 'string' was not declared in this scope; did you mean 'std::string'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
interface.h:18:124: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                            ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from callbacks.cc:29:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
callbacks.cc:17248:6: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
17248 |      MENU_ITEM_WITH_POINTER_AND_FLAG(to_us2[i]->title(true).c_str(), convert_to_unit, to_us2[i])
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
callbacks.cc:17248:6: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
17248 |      MENU_ITEM_WITH_POINTER_AND_FLAG(to_us2[i]->title(true).c_str(), convert_to_unit, to_us2[i])
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:145: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:211: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.h:18:222: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
callbacks.cc:17253:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
17253 |    string s_cat = u_result->category();
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:17255:44: error: 's_cat' was not declared in this scope
17255 |     if(CALCULATOR->units[i]->category() == s_cat) {
      |                                            ^~~~~
callbacks.cc:17260:64: error: 'string_is_less' cannot be used as a function
17260 |        if(string_is_less(u->title(true), to_us[i2]->title(true))) {
      |                                                                ^
callbacks.cc: In function 'gboolean on_units_entry_from_val_focus_out_event(GtkEntry*, GdkEventFocus*, gpointer)':
callbacks.cc:17650:5: error: 'old_fromValue' was not declared in this scope
17650 |  if(old_fromValue != gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(units_builder, "units_entry_from_val")))) convert_in_wUnits(0);
      |     ^~~~~~~~~~~~~
callbacks.cc: In function 'gboolean on_units_entry_to_val_focus_out_event(GtkEntry*, GdkEventFocus*, gpointer)':
callbacks.cc:17654:5: error: 'old_toValue' was not declared in this scope
17654 |  if(old_toValue != gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(units_builder, "units_entry_to_val")))) convert_in_wUnits(1);
      |     ^~~~~~~~~~~
callbacks.cc: In function 'gboolean on_gcalc_exit(GtkWidget*, GdkEvent*, gpointer)':
callbacks.cc:17702:24: error: 'history_parsed' was not declared in this scope
17702 |  for(size_t i = 0; i < history_parsed.size(); i++) {
      |                        ^~~~~~~~~~~~~~
callbacks.cc:17704:6: error: 'history_answer' was not declared in this scope; did you mean 'history_index'?
17704 |   if(history_answer[i]) history_answer[i]->unref();
      |      ^~~~~~~~~~~~~~
      |      history_index
callbacks.cc: In function 'void do_completion()':
callbacks.cc:18081:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
18081 |  string str = gstr2;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:18083:5: error: 'str' was not declared in this scope; did you mean 'std'?
18083 |  if(str.length() < (size_t) completion_min) {gtk_widget_hide(completion_window); return;}
      |     ^~~
      |     std
callbacks.cc:18087:5: error: 'str' was not declared in this scope; did you mean 'std'?
18087 |  if(str.length() > 0 && is_not_in(NUMBERS NOT_IN_NAMES "%", str[0]) && gtk_tree_model_get_iter_first(GTK_TREE_MODEL(completion_store), &iter)) {
      |     ^~~
      |     std
callbacks.cc:18088:9: error: expected ';' before 'str2'
18088 |   string str2, str3, str4;
      |         ^~~~~
      |         ;
callbacks.cc:18095:12: error: 'string' does not name a type; did you mean 'GString'?
18095 |      const string *pname;
      |            ^~~~~~
      |            GString
callbacks.cc:18096:22: error: 'pname' was not declared in this scope; did you mean 'rename'?
18096 |      if(name_i == 0) pname = &prefix->shortName(false);
      |                      ^~~~~
      |                      rename
callbacks.cc:18097:27: error: 'pname' was not declared in this scope; did you mean 'rename'?
18097 |      else if(name_i == 1) pname = &prefix->longName(false);
      |                           ^~~~~
      |                           rename
callbacks.cc:18098:11: error: 'pname' was not declared in this scope; did you mean 'rename'?
18098 |      else pname = &prefix->unicodeName(false);
      |           ^~~~~
      |           rename
callbacks.cc:18099:10: error: 'pname' was not declared in this scope; did you mean 'rename'?
18099 |      if(!pname->empty() && pname->length() < str.length() - completion_min + 1) {
      |          ^~~~~
      |          rename
callbacks.cc:18108:11: error: 'str2' was not declared in this scope; did you mean 'gstr2'?
18108 |        if(str2.empty()) {p2 = prefix; str2 = str.substr(pname->length());}
      |           ^~~~
      |           gstr2
callbacks.cc:18109:16: error: 'str3' was not declared in this scope
18109 |        else if(str3.empty()) {p3 = prefix; str3 = str.substr(pname->length());}
      |                ^~~~
callbacks.cc:18110:16: error: 'str4' was not declared in this scope
18110 |        else if(str4.empty()) {p4 = prefix; str4 = str.substr(pname->length());}
      |                ^~~~
callbacks.cc:18134:56: error: 'str2' was not declared in this scope; did you mean 'gstr2'?
18134 |          if(icmp == 1 && (item->type() != TYPE_UNIT || str2.empty() || !((Unit*) item)->useWithPrefixesByDefault())) break;
      |                                                        ^~~~
      |                                                        gstr2
callbacks.cc:18135:16: error: 'string' does not name a type; did you mean 'GString'?
18135 |          const string *cmpstr;
      |                ^~~~~~
      |                GString
callbacks.cc:18136:24: error: 'cmpstr' was not declared in this scope
18136 |          if(icmp == 0) cmpstr = &str;
      |                        ^~~~~~
callbacks.cc:18137:29: error: 'cmpstr' was not declared in this scope
18137 |          else if(icmp == 1) cmpstr = &str2;
      |                             ^~~~~~
callbacks.cc:18137:39: error: 'str2' was not declared in this scope; did you mean 'gstr2'?
18137 |          else if(icmp == 1) cmpstr = &str2;
      |                                       ^~~~
      |                                       gstr2
callbacks.cc:18138:29: error: 'cmpstr' was not declared in this scope
18138 |          else if(icmp == 2) cmpstr = &str3;
      |                             ^~~~~~
callbacks.cc:18138:39: error: 'str3' was not declared in this scope
18138 |          else if(icmp == 2) cmpstr = &str3;
      |                                       ^~~~
callbacks.cc:18139:15: error: 'cmpstr' was not declared in this scope
18139 |          else cmpstr = &str4;
      |               ^~~~~~
callbacks.cc:18139:25: error: 'str4' was not declared in this scope
18139 |          else cmpstr = &str4;
      |                         ^~~~
callbacks.cc:18140:13: error: 'cmpstr' was not declared in this scope
18140 |          if(cmpstr->empty()) break;
      |             ^~~~~~
callbacks.cc:18141:13: error: 'cmpstr' was not declared in this scope
18141 |          if(cmpstr->length() <= ename->name.length()) {
      |             ^~~~~~
callbacks.cc:18166:54: error: 'str2' was not declared in this scope; did you mean 'gstr2'?
18166 |        if(icmp == 1 && (item->type() != TYPE_UNIT || str2.empty() || !((Unit*) item)->useWithPrefixesByDefault())) break;
      |                                                      ^~~~
      |                                                      gstr2
callbacks.cc:18167:14: error: 'string' does not name a type; did you mean 'GString'?
18167 |        const string *cmpstr;
      |              ^~~~~~
      |              GString
callbacks.cc:18168:22: error: 'cmpstr' was not declared in this scope
18168 |        if(icmp == 0) cmpstr = &str;
      |                      ^~~~~~
callbacks.cc:18169:27: error: 'cmpstr' was not declared in this scope
18169 |        else if(icmp == 1) cmpstr = &str2;
      |                           ^~~~~~
callbacks.cc:18169:37: error: 'str2' was not declared in this scope; did you mean 'gstr2'?
18169 |        else if(icmp == 1) cmpstr = &str2;
      |                                     ^~~~
      |                                     gstr2
callbacks.cc:18170:27: error: 'cmpstr' was not declared in this scope
18170 |        else if(icmp == 2) cmpstr = &str3;
      |                           ^~~~~~
callbacks.cc:18170:37: error: 'str3' was not declared in this scope
18170 |        else if(icmp == 2) cmpstr = &str3;
      |                                     ^~~~
callbacks.cc:18171:13: error: 'cmpstr' was not declared in this scope
18171 |        else cmpstr = &str4;
      |             ^~~~~~
callbacks.cc:18171:23: error: 'str4' was not declared in this scope
18171 |        else cmpstr = &str4;
      |                       ^~~~
callbacks.cc:18172:11: error: 'cmpstr' was not declared in this scope
18172 |        if(cmpstr->empty()) break;
      |           ^~~~~~
callbacks.cc:18174:43: error: 'cmpstr' was not declared in this scope
18174 |         if(item->getName(name_i).name == *cmpstr) {
      |                                           ^~~~~~
callbacks.cc:18193:13: error: expected ';' before 'nstr'
18193 |       string nstr;
      |             ^~~~~
      |             ;
callbacks.cc:18195:8: error: 'nstr' was not declared in this scope; did you mean 'gstr'?
18195 |        nstr = gstr;
      |        ^~~~
      |        gstr
callbacks.cc:18197:16: error: 'string' is not a class, namespace, or enumeration
18197 |        if(i != string::npos && i > 2) {
      |                ^~~~~~
callbacks.cc:18207:11: error: 'nstr' was not declared in this scope; did you mean 'gstr'?
18207 |        if(nstr.empty()) nstr = gstr;
      |           ^~~~
      |           gstr
callbacks.cc:18208:8: error: 'nstr' was not declared in this scope; did you mean 'gstr'?
18208 |        nstr.insert(0, "-) </small>");
      |        ^~~~
      |        gstr
callbacks.cc:18218:12: error: 'string' does not name a type; did you mean 'GString'?
18218 |      const string *pname;
      |            ^~~~~~
      |            GString
callbacks.cc:18219:22: error: 'pname' was not declared in this scope; did you mean 'rename'?
18219 |      if(name_i == 0) pname = &prefix->shortName(false);
      |                      ^~~~~
      |                      rename
callbacks.cc:18220:27: error: 'pname' was not declared in this scope; did you mean 'rename'?
18220 |      else if(name_i == 1) pname = &prefix->unicodeName(false);
      |                           ^~~~~
      |                           rename
callbacks.cc:18221:11: error: 'pname' was not declared in this scope; did you mean 'rename'?
18221 |      else pname = &prefix->longName(false);
      |           ^~~~~
      |           rename
callbacks.cc:18222:10: error: 'pname' was not declared in this scope; did you mean 'rename'?
18222 |      if(!pname->empty() && str.length() <= pname->length()) {
      |          ^~~~~
      |          rename
callbacks.cc:18237:40: error: 'completion_names_match' cannot be used as a function
18237 |     if(completion_names_match(gstr, str)) {
      |                                        ^
callbacks.cc: In function 'void on_expressionbuffer_changed(GtkTextBuffer*, gpointer)':
callbacks.cc:18294:5: error: 'result_text' was not declared in this scope
18294 |  if(result_text.empty()) return;
      |     ^~~~~~~~~~~
callbacks.cc: In function 'gboolean on_keypad_button_alt(GtkWidget*, bool)':
callbacks.cc:18335:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
18335 |    string str = "[";
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:18336:4: error: 'str' was not declared in this scope; did you mean 'gstr'?
18336 |    str += gstr;
      |    ^~~
      |    gstr
callbacks.cc:18378:6: error: 'history_answer' was not declared in this scope; did you mean 'history_index'?
18378 |   if(history_answer.size() > 0) {
      |      ^~~~~~~~~~~~~~
      |      history_index
callbacks.cc:18379:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
18379 |    string str = f_answer->preferredInputName(printops.abbreviate_names, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) expressiontext).name;
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:18381:4: error: 'str' was not declared in this scope; did you mean 'std'?
18381 |    str += '(';
      |    ^~~
      |    std
callbacks.cc:18382:11: error: 'print_with_evalops' was not declared in this scope
18382 |    str += print_with_evalops(nr);
      |           ^~~~~~~~~~~~~~~~~~
callbacks.cc:18442:8: error: 'get_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
18442 |     if(get_expression_text().find_first_not_of(SPACES) != string::npos) {
      |        ^~~~~~~~~~~~~~~~~~~
      |        set_expression_text
callbacks.cc:18442:59: error: 'string' has not been declared
18442 |     if(get_expression_text().find_first_not_of(SPACES) != string::npos) {
      |                                                           ^~~~~~
callbacks.cc:18446:67: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
18446 |    execute_expression(true, false, OPERATION_ADD, NULL, false, 0, "!");
      |                                                                   ^~~
      |                                                                   |
      |                                                                   const char*
callbacks.cc:9170:137: note:   initializing argument 7 of 'void execute_expression(bool, bool, MathOperation, MathFunction*, bool, size_t, int, int, bool)'
 9170 | void execute_expression(bool force, bool do_mathoperation, MathOperation op, MathFunction *f, bool do_stack, size_t stack_index, string execute_str, string str, bool check_exrates) {
      |                                                                                                                                  ~~~~~~~^~~~~~~~~~~
callbacks.cc:18497:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
18497 |    string str = "(";
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:18498:4: error: 'str' was not declared in this scope; did you mean 'std'?
18498 |    str += print_with_evalops(Number(1, 1));
      |    ^~~
      |    std
callbacks.cc:18498:11: error: 'print_with_evalops' was not declared in this scope
18498 |    str += print_with_evalops(Number(1, 1));
      |           ^~~~~~~~~~~~~~~~~~
callbacks.cc:18504:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
18504 |    string str = "^";
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:18505:4: error: 'str' was not declared in this scope; did you mean 'std'?
18505 |    str += print_with_evalops(Number(i, 1));
      |    ^~~
      |    std
callbacks.cc:18505:11: error: 'print_with_evalops' was not declared in this scope
18505 |    str += print_with_evalops(Number(i, 1));
      |           ^~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'gboolean keypad_long_press_timeout(gpointer)':
callbacks.cc:18558:26: error: 'expression_history' was not declared in this scope; did you mean 'expression_redo'?
18558 |      set_expression_text(expression_history[expression_history_index].c_str());
      |                          ^~~~~~~~~~~~~~~~~~
      |                          expression_redo
callbacks.cc:18564:44: error: 'expression_history' was not declared in this scope; did you mean 'expression_redo'?
18564 |    if(expression_history_index + 1 < (int) expression_history.size()) {
      |                                            ^~~~~~~~~~~~~~~~~~
      |                                            expression_redo
callbacks.cc: In function 'gboolean on_button_move_button_event(GtkWidget*, GdkEventButton*, gpointer)':
callbacks.cc:18681:26: error: 'expression_history' was not declared in this scope; did you mean 'expression_redo'?
18681 |      set_expression_text(expression_history[expression_history_index].c_str());
      |                          ^~~~~~~~~~~~~~~~~~
      |                          expression_redo
callbacks.cc:18687:44: error: 'expression_history' was not declared in this scope; did you mean 'expression_redo'?
18687 |    if(expression_history_index + 1 < (int) expression_history.size()) {
      |                                            ^~~~~~~~~~~~~~~~~~
      |                                            expression_redo
callbacks.cc: In function 'void on_button_brace_wrap_clicked(GtkButton*, gpointer)':
callbacks.cc:18824:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
18824 |  string expr = get_expression_text();
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:18826:12: error: 'expr' was not declared in this scope; did you mean 'expl'?
18826 |  gint il = expr.length();
      |            ^~~~
      |            expl
callbacks.cc:18852:10: error: expected ';' before 'str'
18852 |    string str = CALCULATOR->unlocalizeExpression(gstr, evalops.parse_options);
      |          ^~~~
      |          ;
callbacks.cc:18854:27: error: 'str' was not declared in this scope; did you mean 'gstr'?
18854 |    CALCULATOR->parseSigns(str);
      |                           ^~~
      |                           gstr
callbacks.cc:18872:10: error: expected ';' before 'str'
18872 |    string str = CALCULATOR->unlocalizeExpression(gstr, evalops.parse_options);
      |          ^~~~
      |          ;
callbacks.cc:18874:27: error: 'str' was not declared in this scope; did you mean 'gstr'?
18874 |    CALCULATOR->parseSigns(str);
      |                           ^~~
      |                           gstr
callbacks.cc:18897:8: error: expected ';' before 'str'
18897 |  string str = CALCULATOR->unlocalizeExpression(gstr, evalops.parse_options);
      |        ^~~~
      |        ;
callbacks.cc:18899:25: error: 'str' was not declared in this scope; did you mean 'gstr'?
18899 |  CALCULATOR->parseSigns(str);
      |                         ^~~
      |                         gstr
callbacks.cc: In function 'void on_button_to_clicked(GtkButton*, gpointer)':
callbacks.cc:18936:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
18936 |  string to_str = CALCULATOR->localToString();
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:18937:20: error: 'to_str' was not declared in this scope
18937 |  remove_blank_ends(to_str);
      |                    ^~~~~~
callbacks.cc: In function 'void on_button_factorize_clicked(GtkButton*, gpointer)':
callbacks.cc:18974:80: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
18974 |  if(evalops.structuring == STRUCTURING_FACTORIZE) executeCommand(COMMAND_EXPAND);
      |                                                                                ^
      |                                                                                |
      |                                                                                const char*
callbacks.cc:18975:39: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
18975 |  else executeCommand(COMMAND_FACTORIZE);
      |                                       ^
      |                                       |
      |                                       const char*
callbacks.cc: In function 'void on_button_factorize2_clicked(GtkButton*, gpointer)':
callbacks.cc:18978:34: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
18978 |  executeCommand(COMMAND_FACTORIZE);
      |                                  ^
      |                                  |
      |                                  const char*
callbacks.cc: In function 'void insert_bitwise_not()':
callbacks.cc:19009:7: error: 'get_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
19009 |    if(get_expression_text().find_first_not_of(SPACES) != string::npos) {
      |       ^~~~~~~~~~~~~~~~~~~
      |       set_expression_text
callbacks.cc:19009:58: error: 'string' has not been declared
19009 |    if(get_expression_text().find_first_not_of(SPACES) != string::npos) {
      |                                                          ^~~~~~
callbacks.cc:19013:66: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
19013 |   execute_expression(true, false, OPERATION_ADD, NULL, false, 0, "~");
      |                                                                  ^~~
      |                                                                  |
      |                                                                  const char*
callbacks.cc:9170:137: note:   initializing argument 7 of 'void execute_expression(bool, bool, MathOperation, MathFunction*, bool, size_t, int, int, bool)'
 9170 | void execute_expression(bool force, bool do_mathoperation, MathOperation op, MathFunction *f, bool do_stack, size_t stack_index, string execute_str, string str, bool check_exrates) {
      |                                                                                                                                  ~~~~~~~^~~~~~~~~~~
callbacks.cc: At global scope:
callbacks.cc:19151:6: error: variable or field 'process_history_selection' declared void
19151 | void process_history_selection(vector<size_t> *selected_rows, vector<size_t> *selected_indeces, vector<int> *selected_index_type, bool ans_priority = false) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:19151:32: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19151 | void process_history_selection(vector<size_t> *selected_rows, vector<size_t> *selected_indeces, vector<int> *selected_index_type, bool ans_priority = false) {
      |                                ^~~~~~
      |                                std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19151:45: error: expected primary-expression before '>' token
19151 | void process_history_selection(vector<size_t> *selected_rows, vector<size_t> *selected_indeces, vector<int> *selected_index_type, bool ans_priority = false) {
      |                                             ^
callbacks.cc:19151:48: error: 'selected_rows' was not declared in this scope; did you mean 'selected_unit'?
19151 | void process_history_selection(vector<size_t> *selected_rows, vector<size_t> *selected_indeces, vector<int> *selected_index_type, bool ans_priority = false) {
      |                                                ^~~~~~~~~~~~~
      |                                                selected_unit
callbacks.cc:19151:63: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19151 | void process_history_selection(vector<size_t> *selected_rows, vector<size_t> *selected_indeces, vector<int> *selected_index_type, bool ans_priority = false) {
      |                                                               ^~~~~~
      |                                                               std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19151:76: error: expected primary-expression before '>' token
19151 | void process_history_selection(vector<size_t> *selected_rows, vector<size_t> *selected_indeces, vector<int> *selected_index_type, bool ans_priority = false) {
      |                                                                            ^
callbacks.cc:19151:79: error: 'selected_indeces' was not declared in this scope; did you mean 'selected_unit'?
19151 | void process_history_selection(vector<size_t> *selected_rows, vector<size_t> *selected_indeces, vector<int> *selected_index_type, bool ans_priority = false) {
      |                                                                               ^~~~~~~~~~~~~~~~
      |                                                                               selected_unit
callbacks.cc:19151:97: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19151 | void process_history_selection(vector<size_t> *selected_rows, vector<size_t> *selected_indeces, vector<int> *selected_index_type, bool ans_priority = false) {
      |                                                                                                 ^~~~~~
      |                                                                                                 std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19151:104: error: expected primary-expression before 'int'
19151 | void process_history_selection(vector<size_t> *selected_rows, vector<size_t> *selected_indeces, vector<int> *selected_index_type, bool ans_priority = false) {
      |                                                                                                        ^~~
callbacks.cc:19151:131: error: expected primary-expression before 'bool'
19151 | void process_history_selection(vector<size_t> *selected_rows, vector<size_t> *selected_indeces, vector<int> *selected_index_type, bool ans_priority = false) {
      |                                                                                                                                   ^~~~
callbacks.cc:19200:6: error: variable or field 'history_operator' declared void
19200 | void history_operator(string str_sign) {
      |      ^~~~~~~~~~~~~~~~
callbacks.cc:19200:23: error: 'string' was not declared in this scope; did you mean 'std::string'?
19200 | void history_operator(string str_sign) {
      |                       ^~~~~~
      |                       std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc: In function 'void on_button_history_add_clicked(GtkButton*, gpointer)':
callbacks.cc:19294:2: error: 'history_operator' was not declared in this scope; did you mean 'last_is_operator'?
19294 |  history_operator(expression_add_sign());
      |  ^~~~~~~~~~~~~~~~
      |  last_is_operator
callbacks.cc: In function 'void on_button_history_sub_clicked(GtkButton*, gpointer)':
callbacks.cc:19297:2: error: 'history_operator' was not declared in this scope; did you mean 'last_is_operator'?
19297 |  history_operator(expression_sub_sign());
      |  ^~~~~~~~~~~~~~~~
      |  last_is_operator
callbacks.cc: In function 'void on_button_history_times_clicked(GtkButton*, gpointer)':
callbacks.cc:19300:2: error: 'history_operator' was not declared in this scope; did you mean 'last_is_operator'?
19300 |  history_operator(expression_times_sign());
      |  ^~~~~~~~~~~~~~~~
      |  last_is_operator
callbacks.cc: In function 'void on_button_history_divide_clicked(GtkButton*, gpointer)':
callbacks.cc:19303:2: error: 'history_operator' was not declared in this scope; did you mean 'last_is_operator'?
19303 |  history_operator(expression_divide_sign());
      |  ^~~~~~~~~~~~~~~~
      |  last_is_operator
callbacks.cc: In function 'void on_button_history_xy_clicked(GtkButton*, gpointer)':
callbacks.cc:19306:2: error: 'history_operator' was not declared in this scope; did you mean 'last_is_operator'?
19306 |  history_operator("^");
      |  ^~~~~~~~~~~~~~~~
      |  last_is_operator
callbacks.cc: In function 'void on_button_history_sqrt_clicked(GtkButton*, gpointer)':
callbacks.cc:19310:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19310 |  vector<size_t> selected_indeces;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19310:15: error: expected primary-expression before '>' token
19310 |  vector<size_t> selected_indeces;
      |               ^
callbacks.cc:19310:17: error: 'selected_indeces' was not declared in this scope; did you mean 'selected_unit'?
19310 |  vector<size_t> selected_indeces;
      |                 ^~~~~~~~~~~~~~~~
      |                 selected_unit
callbacks.cc:19311:9: error: expected primary-expression before 'int'
19311 |  vector<int> selected_index_type;
      |         ^~~
callbacks.cc:19312:54: error: 'selected_index_type' was not declared in this scope
19312 |  process_history_selection(NULL, &selected_indeces, &selected_index_type);
      |                                                      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:19312:2: error: 'process_history_selection' was not declared in this scope
19312 |  process_history_selection(NULL, &selected_indeces, &selected_index_type);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:19318:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
19318 |  string str = ename2->name;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:19319:2: error: 'str' was not declared in this scope; did you mean 'std'?
19319 |  str += "(";
      |  ^~~
      |  std
callbacks.cc:19322:19: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
19322 |   if(index > 0 && inhistory_type[index] == QALCULATE_HISTORY_TRANSFORMATION) index--;
      |                   ^~~~~~~~~~~~~~
      |                   historystore
callbacks.cc:19323:10: error: 'inhistory' was not declared in this scope
19323 |   str += inhistory[index];
      |          ^~~~~~~~~
callbacks.cc:19331:10: error: 'print_with_evalops' was not declared in this scope
19331 |   str += print_with_evalops(nr);
      |          ^~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_button_history_insert_value_clicked(GtkButton*, gpointer)':
callbacks.cc:19343:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19343 |  vector<size_t> selected_indeces;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19343:15: error: expected primary-expression before '>' token
19343 |  vector<size_t> selected_indeces;
      |               ^
callbacks.cc:19343:17: error: 'selected_indeces' was not declared in this scope; did you mean 'selected_unit'?
19343 |  vector<size_t> selected_indeces;
      |                 ^~~~~~~~~~~~~~~~
      |                 selected_unit
callbacks.cc:19344:9: error: expected primary-expression before 'int'
19344 |  vector<int> selected_index_type;
      |         ^~~
callbacks.cc:19345:54: error: 'selected_index_type' was not declared in this scope
19345 |  process_history_selection(NULL, &selected_indeces, &selected_index_type);
      |                                                      ^~~~~~~~~~~~~~~~~~~
callbacks.cc:19345:2: error: 'process_history_selection' was not declared in this scope
19345 |  process_history_selection(NULL, &selected_indeces, &selected_index_type);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:19355:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
19355 |  string str = ename->name;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:19356:2: error: 'str' was not declared in this scope; did you mean 'std'?
19356 |  str += "(";
      |  ^~~
      |  std
callbacks.cc:19361:11: error: 'print_with_evalops' was not declared in this scope
19361 |    str += print_with_evalops(nr);
      |           ^~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_button_history_insert_text_clicked(GtkButton*, gpointer)':
callbacks.cc:19376:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19376 |  vector<size_t> selected_rows;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19376:15: error: expected primary-expression before '>' token
19376 |  vector<size_t> selected_rows;
      |               ^
callbacks.cc:19376:17: error: 'selected_rows' was not declared in this scope; did you mean 'selected_unit'?
19376 |  vector<size_t> selected_rows;
      |                 ^~~~~~~~~~~~~
      |                 selected_unit
callbacks.cc:19377:2: error: 'process_history_selection' was not declared in this scope
19377 |  process_history_selection(&selected_rows, NULL, NULL);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:19380:20: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
19380 |  if(index > 0 && ((inhistory_type[index] == QALCULATE_HISTORY_TRANSFORMATION && (inhistory_type[index - 1] == QALCULATE_HISTORY_RESULT || inhistory_type[index - 1] == QALCULATE_HISTORY_RESULT_APPROXIMATE)) || inhistory_type[index] == QALCULATE_HISTORY_RPN_OPERATION || inhistory_type[index] == QALCULATE_HISTORY_REGISTER_MOVED)) index--;
      |                    ^~~~~~~~~~~~~~
      |                    historystore
callbacks.cc:19382:14: error: 'inhistory' was not declared in this scope
19382 |  insert_text(inhistory[index].c_str());
      |              ^~~~~~~~~
callbacks.cc: In function 'void on_button_history_insert_parsed_text_clicked(GtkButton*, gpointer)':
callbacks.cc:19386:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19386 |  vector<size_t> selected_rows;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19386:15: error: expected primary-expression before '>' token
19386 |  vector<size_t> selected_rows;
      |               ^
callbacks.cc:19386:17: error: 'selected_rows' was not declared in this scope; did you mean 'selected_unit'?
19386 |  vector<size_t> selected_rows;
      |                 ^~~~~~~~~~~~~
      |                 selected_unit
callbacks.cc:19387:2: error: 'process_history_selection' was not declared in this scope
19387 |  process_history_selection(&selected_rows, NULL, NULL);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:19390:20: error: 'inhistory_type' was not declared in this scope; did you mean 'historystore'?
19390 |  if(index > 0 && ((inhistory_type[index] == QALCULATE_HISTORY_TRANSFORMATION && (inhistory_type[index - 1] == QALCULATE_HISTORY_RESULT || inhistory_type[index - 1] == QALCULATE_HISTORY_RESULT_APPROXIMATE)) || inhistory_type[index] == QALCULATE_HISTORY_RPN_OPERATION || inhistory_type[index] == QALCULATE_HISTORY_REGISTER_MOVED)) index--;
      |                    ^~~~~~~~~~~~~~
      |                    historystore
callbacks.cc:19392:14: error: 'inhistory' was not declared in this scope
19392 |  insert_text(inhistory[index].c_str());
      |              ^~~~~~~~~
callbacks.cc: In function 'void history_copy(bool)':
callbacks.cc:19396:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19396 |  vector<size_t> selected_rows;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19396:15: error: expected primary-expression before '>' token
19396 |  vector<size_t> selected_rows;
      |               ^
callbacks.cc:19396:17: error: 'selected_rows' was not declared in this scope; did you mean 'selected_unit'?
19396 |  vector<size_t> selected_rows;
      |                 ^~~~~~~~~~~~~
      |                 selected_unit
callbacks.cc:19397:2: error: 'process_history_selection' was not declared in this scope
19397 |  process_history_selection(&selected_rows, NULL, NULL);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:19401:21: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19401 |   if(index > 0 && ((inhistory_type[index] == QALCULATE_HISTORY_TRANSFORMATION && (inhistory_type[index - 1] == QALCULATE_HISTORY_RESULT || inhistory_type[index - 1] == QALCULATE_HISTORY_RESULT_APPROXIMATE)) || inhistory_type[index] == QALCULATE_HISTORY_RPN_OPERATION || inhistory_type[index] == QALCULATE_HISTORY_REGISTER_MOVED)) index--;
      |                     ^~~~~~~~~~~~~~
      |                     history_copy
callbacks.cc:19403:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
19403 |   string copy_text = inhistory[index];
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:19405:21: error: 'copy_text' was not declared in this scope
19405 |    remove_separator(copy_text);
      |                     ^~~~~~~~~
callbacks.cc:19405:4: error: 'remove_separator' was not declared in this scope; did you mean 'copy_separator'?
19405 |    remove_separator(copy_text);
      |    ^~~~~~~~~~~~~~~~
      |    copy_separator
callbacks.cc:19407:82: error: 'copy_text' was not declared in this scope
19407 |   gtk_clipboard_set_text(gtk_clipboard_get(gdk_atom_intern("CLIPBOARD", FALSE)), copy_text.c_str(), -1);
      |                                                                                  ^~~~~~~~~
callbacks.cc:19409:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
19409 |   string str;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:19412:14: error: 'str' was not declared in this scope; did you mean 'std'?
19412 |    if(i > 0) str += '\n';
      |              ^~~
      |              std
callbacks.cc:19414:25: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19414 |    if((size_t) hindex < inhistory_type.size() - 1 && (inhistory_type[hindex] == QALCULATE_HISTORY_PARSE || inhistory_type[hindex] == QALCULATE_HISTORY_PARSE_WITHEQUALS || inhistory_type[hindex] == QALCULATE_HISTORY_PARSE_APPROXIMATE) && (inhistory_type[hindex + 1] == QALCULATE_HISTORY_EXPRESSION || inhistory_type[hindex + 1] == QALCULATE_HISTORY_REGISTER_MOVED || inhistory_type[hindex + 1] == QALCULATE_HISTORY_RPN_OPERATION)) hindex++;
      |                         ^~~~~~~~~~~~~~
      |                         history_copy
callbacks.cc:19417:11: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19417 |    switch(inhistory_type[hindex]) {
      |           ^~~~~~~~~~~~~~
      |           history_copy
callbacks.cc:19419:16: error: 'str' was not declared in this scope; did you mean 'std'?
19419 |      if(i > 0) str += '\n';
      |                ^~~
      |                std
callbacks.cc:19420:6: error: 'str' was not declared in this scope; did you mean 'std'?
19420 |      str += inhistory[hindex];
      |      ^~~
      |      std
callbacks.cc:19420:13: error: 'inhistory' was not declared in this scope
19420 |      str += inhistory[hindex];
      |             ^~~~~~~~~
callbacks.cc:19425:16: error: 'str' was not declared in this scope; did you mean 'std'?
19425 |      if(i > 0) str += '\n';
      |                ^~~
      |                std
callbacks.cc:19426:6: error: 'str' was not declared in this scope; did you mean 'std'?
19426 |      str += _("RPN Register Moved");
      |      ^~~
      |      std
callbacks.cc:19431:16: error: 'str' was not declared in this scope; did you mean 'std'?
19431 |      if(i > 0) str += '\n';
      |                ^~~
      |                std
callbacks.cc:19432:6: error: 'str' was not declared in this scope; did you mean 'std'?
19432 |      str += _("RPN Operation");
      |      ^~~
      |      std
callbacks.cc:19437:6: error: 'str' was not declared in this scope; did you mean 'std'?
19437 |      str += inhistory[hindex];
      |      ^~~
      |      std
callbacks.cc:19437:13: error: 'inhistory' was not declared in this scope
19437 |      str += inhistory[hindex];
      |             ^~~~~~~~~
callbacks.cc:19445:36: error: 'str' was not declared in this scope; did you mean 'std'?
19445 |     case QALCULATE_HISTORY_PARSE: {str += " ";}
      |                                    ^~~
      |                                    std
callbacks.cc:19447:6: error: 'str' was not declared in this scope; did you mean 'std'?
19447 |      str += "= ";
      |      ^~~
      |      std
callbacks.cc:19448:13: error: 'inhistory' was not declared in this scope
19448 |      str += inhistory[hindex];
      |             ^~~~~~~~~
callbacks.cc:19451:48: error: 'str' was not declared in this scope; did you mean 'std'?
19451 |     case QALCULATE_HISTORY_PARSE_APPROXIMATE: {str += " ";}
      |                                                ^~~
      |                                                std
callbacks.cc:19454:7: error: 'str' was not declared in this scope; did you mean 'std'?
19454 |       str += SIGN_ALMOST_EQUAL " ";
      |       ^~~
      |       std
callbacks.cc:19456:7: error: 'str' was not declared in this scope; did you mean 'std'?
19456 |       str += "= ";
      |       ^~~
      |       std
callbacks.cc:19460:6: error: 'str' was not declared in this scope; did you mean 'std'?
19460 |      str += inhistory[hindex];
      |      ^~~
      |      std
callbacks.cc:19460:13: error: 'inhistory' was not declared in this scope
19460 |      str += inhistory[hindex];
      |             ^~~~~~~~~
callbacks.cc:19464:6: error: 'str' was not declared in this scope; did you mean 'std'?
19464 |      str += " ";
      |      ^~~
      |      std
callbacks.cc:19465:13: error: 'inhistory' was not declared in this scope
19465 |      str += inhistory[hindex];
      |             ^~~~~~~~~
callbacks.cc:19471:6: error: 'str' was not declared in this scope; did you mean 'std'?
19471 |      str += inhistory[hindex];
      |      ^~~
      |      std
callbacks.cc:19471:13: error: 'inhistory' was not declared in this scope
19471 |      str += inhistory[hindex];
      |             ^~~~~~~~~
callbacks.cc:19476:35: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19476 |    if(add_parse && hindex > 0 && (inhistory_type[hindex - 1] == QALCULATE_HISTORY_PARSE || inhistory_type[hindex - 1] == QALCULATE_HISTORY_PARSE_APPROXIMATE || inhistory_type[hindex - 1] == QALCULATE_HISTORY_PARSE_WITHEQUALS)) {
      |                                   ^~~~~~~~~~~~~~
      |                                   history_copy
callbacks.cc:19482:21: error: 'str' was not declared in this scope; did you mean 'std'?
19482 |    remove_separator(str);
      |                     ^~~
      |                     std
callbacks.cc:19482:4: error: 'remove_separator' was not declared in this scope; did you mean 'copy_separator'?
19482 |    remove_separator(str);
      |    ^~~~~~~~~~~~~~~~
      |    copy_separator
callbacks.cc:19484:82: error: 'str' was not declared in this scope; did you mean 'std'?
19484 |   gtk_clipboard_set_text(gtk_clipboard_get(gdk_atom_intern("CLIPBOARD", FALSE)), str.c_str(), -1);
      |                                                                                  ^~~
      |                                                                                  std
callbacks.cc: In function 'void on_popup_menu_item_history_clear_activate(GtkMenuItem*, gpointer)':
callbacks.cc:19496:17: error: 'inhistory' was not declared in this scope
19496 |  for(size_t i = inhistory.size(); i > 0;) {
      |                 ^~~~~~~~~
callbacks.cc:19498:6: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19498 |   if(inhistory_type[i] == QALCULATE_HISTORY_EXPRESSION || inhistory_type[i] == QALCULATE_HISTORY_RPN_OPERATION || inhistory_type[i] == QALCULATE_HISTORY_REGISTER_MOVED || inhistory_type[i] == QALCULATE_HISTORY_OLD) {
      |      ^~~~~~~~~~~~~~
      |      history_copy
callbacks.cc:19499:66: error: 'inhistory_protected' was not declared in this scope; did you mean 'history_protected'?
19499 |    b_protected = (inhistory_type[i] != QALCULATE_HISTORY_OLD && (inhistory_protected[i] || history_protected_by_bookmark(i)));
      |                                                                  ^~~~~~~~~~~~~~~~~~~
      |                                                                  history_protected
callbacks.cc:19501:22: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19501 |   if(!b_protected && inhistory_type[i] != QALCULATE_HISTORY_BOOKMARK) {
      |                      ^~~~~~~~~~~~~~
      |                      history_copy
callbacks.cc:19504:4: error: 'inhistory_protected' was not declared in this scope; did you mean 'history_protected'?
19504 |    inhistory_protected.erase(inhistory_protected.begin() + i);
      |    ^~~~~~~~~~~~~~~~~~~
      |    history_protected
callbacks.cc:19505:4: error: 'inhistory_value' was not declared in this scope
19505 |    inhistory_value.erase(inhistory_value.begin() + i);
      |    ^~~~~~~~~~~~~~~
callbacks.cc:19508:28: error: 'inhistory' was not declared in this scope
19508 |  current_inhistory_index = inhistory.size() - 1;
      |                            ^~~~~~~~~
callbacks.cc: In function 'void on_popup_menu_item_history_movetotop_activate(GtkMenuItem*, gpointer)':
callbacks.cc:19524:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19524 |  vector<int> indexes;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19524:9: error: expected primary-expression before 'int'
19524 |  vector<int> indexes;
      |         ^~~
callbacks.cc:19530:7: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19530 |    if(inhistory_type[hindex] == QALCULATE_HISTORY_OLD) {
      |       ^~~~~~~~~~~~~~
      |       history_copy
callbacks.cc:19531:5: error: 'indexes' was not declared in this scope; did you mean 'index'?
19531 |     indexes.push_back(hindex);
      |     ^~~~~~~
      |     index
callbacks.cc:19553:69: error: 'indexes' was not declared in this scope; did you mean 'index'?
19553 |      if(inhistory_type[hindex] == QALCULATE_HISTORY_TRANSFORMATION) indexes.push_back(hindex - 1);
      |                                                                     ^~~~~~~
      |                                                                     index
callbacks.cc:19554:6: error: 'indexes' was not declared in this scope; did you mean 'index'?
19554 |      indexes.push_back(hindex);
      |      ^~~~~~~
      |      index
callbacks.cc:19575:2: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
19575 |  unordered_map<int, int> new_indexes;
      |  ^~~~~~~~~~~~~
      |  std::unordered_map
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
callbacks.cc:19575:16: error: expected primary-expression before 'int'
19575 |  unordered_map<int, int> new_indexes;
      |                ^~~
callbacks.cc:19578:24: error: 'indexes' was not declared in this scope; did you mean 'index'?
19578 |  for(size_t i = 0; i < indexes.size(); i++) {
      |                        ^~~~~~~
      |                        index
callbacks.cc:19582:5: error: 'new_indexes' was not declared in this scope
19582 |     new_indexes[hindex2] = hindex2 - n;
      |     ^~~~~~~~~~~
callbacks.cc:19589:41: error: 'inhistory' was not declared in this scope
19589 |  while(hindex2 >= 0 && hindex2 < (gint) inhistory.size()) {
      |                                         ^~~~~~~~~
callbacks.cc:19590:3: error: 'new_indexes' was not declared in this scope
19590 |   new_indexes[hindex2] = hindex2 - n;
      |   ^~~~~~~~~~~
callbacks.cc:19593:12: error: 'indexes' was not declared in this scope; did you mean 'index'?
19593 |  hindex2 = indexes[0];
      |            ^~~~~~~
      |            index
callbacks.cc:19599:57: error: 'new_indexes' was not declared in this scope
19599 |     gtk_list_store_set(GTK_LIST_STORE(model), &iter, 1, new_indexes[hindex], -1);
      |                                                         ^~~~~~~~~~~
callbacks.cc:19603:19: error: 'inhistory' was not declared in this scope
19603 |  hindex2 = (gint) inhistory.size() - indexes.size() + 1;
      |                   ^~~~~~~~~
callbacks.cc:19607:3: error: 'inhistory_protected' was not declared in this scope; did you mean 'history_protected'?
19607 |   inhistory_protected.push_back(inhistory_protected[hindex]);
      |   ^~~~~~~~~~~~~~~~~~~
      |   history_protected
callbacks.cc:19608:3: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19608 |   inhistory_type.push_back(inhistory_type[hindex]);
      |   ^~~~~~~~~~~~~~
      |   history_copy
callbacks.cc:19609:3: error: 'inhistory_value' was not declared in this scope
19609 |   inhistory_value.push_back(inhistory_value[hindex]);
      |   ^~~~~~~~~~~~~~~
callbacks.cc:19614:3: error: 'inhistory_protected' was not declared in this scope; did you mean 'history_protected'?
19614 |   inhistory_protected.erase(inhistory_protected.begin() + hindex);
      |   ^~~~~~~~~~~~~~~~~~~
      |   history_protected
callbacks.cc:19615:3: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19615 |   inhistory_type.erase(inhistory_type.begin() + hindex);
      |   ^~~~~~~~~~~~~~
      |   history_copy
callbacks.cc:19616:3: error: 'inhistory_value' was not declared in this scope
19616 |   inhistory_value.erase(inhistory_value.begin() + hindex);
      |   ^~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_popup_menu_item_history_delete_activate(GtkMenuItem*, gpointer)':
callbacks.cc:19637:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19637 |  vector<int> indexes;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19637:9: error: expected primary-expression before 'int'
19637 |  vector<int> indexes;
      |         ^~~
callbacks.cc:369:35: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
  369 | #define HISTORY_IS_EXPRESSION(x) (inhistory_type[x] == QALCULATE_HISTORY_EXPRESSION || inhistory_type[x] == QALCULATE_HISTORY_RPN_OPERATION || inhistory_type[x] == QALCULATE_HISTORY_REGISTER_MOVED)
      |                                   ^~~~~~~~~~~~~~
callbacks.cc:369:35: note: in definition of macro 'HISTORY_IS_EXPRESSION'
  369 | #define HISTORY_IS_EXPRESSION(x) (inhistory_type[x] == QALCULATE_HISTORY_EXPRESSION || inhistory_type[x] == QALCULATE_HISTORY_RPN_OPERATION || inhistory_type[x] == QALCULATE_HISTORY_REGISTER_MOVED)
      |                                   ^~~~~~~~~~~~~~
callbacks.cc:19645:39: error: 'indexes' was not declared in this scope; did you mean 'index'?
19645 |    if(HISTORY_IS_EXPRESSION(hindex2)) indexes.push_back(hindex2 - 1);
      |                                       ^~~~~~~
      |                                       index
callbacks.cc:19646:4: error: 'indexes' was not declared in this scope; did you mean 'index'?
19646 |    indexes.push_back(hindex2);
      |    ^~~~~~~
      |    index
callbacks.cc:370:30: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
  370 | #define HISTORY_IS_PARSE(x) (inhistory_type[x] == QALCULATE_HISTORY_PARSE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_APPROXIMATE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_WITHEQUALS)
      |                              ^~~~~~~~~~~~~~
callbacks.cc:370:30: note: in definition of macro 'HISTORY_IS_PARSE'
  370 | #define HISTORY_IS_PARSE(x) (inhistory_type[x] == QALCULATE_HISTORY_PARSE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_APPROXIMATE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_WITHEQUALS)
      |                              ^~~~~~~~~~~~~~
callbacks.cc:19648:55: error: 'inhistory' was not declared in this scope
19648 |    if(hindex2 + 1 != hindex && (size_t) hindex2 + 1 < inhistory.size() && inhistory_type[hindex2 + 1] == QALCULATE_HISTORY_BOOKMARK) {
      |                                                       ^~~~~~~~~
callbacks.cc:19648:75: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19648 |    if(hindex2 + 1 != hindex && (size_t) hindex2 + 1 < inhistory.size() && inhistory_type[hindex2 + 1] == QALCULATE_HISTORY_BOOKMARK) {
      |                                                                           ^~~~~~~~~~~~~~
      |                                                                           history_copy
callbacks.cc:369:35: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
  369 | #define HISTORY_IS_EXPRESSION(x) (inhistory_type[x] == QALCULATE_HISTORY_EXPRESSION || inhistory_type[x] == QALCULATE_HISTORY_RPN_OPERATION || inhistory_type[x] == QALCULATE_HISTORY_REGISTER_MOVED)
      |                                   ^~~~~~~~~~~~~~
callbacks.cc:369:35: note: in definition of macro 'HISTORY_IS_EXPRESSION'
  369 | #define HISTORY_IS_EXPRESSION(x) (inhistory_type[x] == QALCULATE_HISTORY_EXPRESSION || inhistory_type[x] == QALCULATE_HISTORY_RPN_OPERATION || inhistory_type[x] == QALCULATE_HISTORY_REGISTER_MOVED)
      |                                   ^~~~~~~~~~~~~~
callbacks.cc:19657:22: note: in expansion of macro 'ITEM_IS_EXPRESSION'
19657 |   if(hindex >= 0 && (ITEM_IS_EXPRESSION(hindex) || inhistory_type[hindex] == QALCULATE_HISTORY_BOOKMARK)) {
      |                      ^~~~~~~~~~~~~~~~~~
callbacks.cc:19672:71: error: 'indexes' was not declared in this scope; did you mean 'index'?
19672 |       if(inhistory_type[hindex2] == QALCULATE_HISTORY_TRANSFORMATION) indexes.push_back(hindex2 - 1);
      |                                                                       ^~~~~~~
      |                                                                       index
callbacks.cc:19673:7: error: 'indexes' was not declared in this scope; did you mean 'index'?
19673 |       indexes.push_back(hindex2);
      |       ^~~~~~~
      |       index
callbacks.cc:19680:38: error: 'indexes' was not declared in this scope; did you mean 'index'?
19680 |    if(HISTORY_IS_EXPRESSION(hindex)) indexes.push_back(hindex - 1);
      |                                      ^~~~~~~
      |                                      index
callbacks.cc:19698:7: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19698 |    if(inhistory_type[hindex] == QALCULATE_HISTORY_TRANSFORMATION) indexes.push_back(hindex - 1);
      |       ^~~~~~~~~~~~~~
      |       history_copy
callbacks.cc:19698:67: error: 'indexes' was not declared in this scope; did you mean 'index'?
19698 |    if(inhistory_type[hindex] == QALCULATE_HISTORY_TRANSFORMATION) indexes.push_back(hindex - 1);
      |                                                                   ^~~~~~~
      |                                                                   index
callbacks.cc:19699:4: error: 'indexes' was not declared in this scope; did you mean 'index'?
19699 |    indexes.push_back(hindex);
      |    ^~~~~~~
      |    index
callbacks.cc:370:30: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
  370 | #define HISTORY_IS_PARSE(x) (inhistory_type[x] == QALCULATE_HISTORY_PARSE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_APPROXIMATE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_WITHEQUALS)
      |                              ^~~~~~~~~~~~~~
callbacks.cc:370:30: note: in definition of macro 'HISTORY_IS_PARSE'
  370 | #define HISTORY_IS_PARSE(x) (inhistory_type[x] == QALCULATE_HISTORY_PARSE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_APPROXIMATE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_WITHEQUALS)
      |                              ^~~~~~~~~~~~~~
callbacks.cc:19701:42: error: 'inhistory' was not declared in this scope
19701 |    if(!del_prev && (size_t) hindex + 1 < inhistory.size() && inhistory_type[hindex + 1] == QALCULATE_HISTORY_BOOKMARK) {
      |                                          ^~~~~~~~~
callbacks.cc:19701:62: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19701 |    if(!del_prev && (size_t) hindex + 1 < inhistory.size() && inhistory_type[hindex + 1] == QALCULATE_HISTORY_BOOKMARK) {
      |                                                              ^~~~~~~~~~~~~~
      |                                                              history_copy
callbacks.cc:19711:2: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
19711 |  unordered_map<int, int> new_indexes;
      |  ^~~~~~~~~~~~~
      |  std::unordered_map
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
callbacks.cc:19711:16: error: expected primary-expression before 'int'
19711 |  unordered_map<int, int> new_indexes;
      |                ^~~
callbacks.cc:19714:24: error: 'indexes' was not declared in this scope; did you mean 'index'?
19714 |  for(size_t i = 0; i < indexes.size(); i++) {
      |                        ^~~~~~~
      |                        index
callbacks.cc:19718:5: error: 'new_indexes' was not declared in this scope
19718 |     new_indexes[hindex2] = hindex2 - n;
      |     ^~~~~~~~~~~
callbacks.cc:19725:41: error: 'inhistory' was not declared in this scope
19725 |  while(hindex2 >= 0 && hindex2 < (gint) inhistory.size()) {
      |                                         ^~~~~~~~~
callbacks.cc:19726:3: error: 'new_indexes' was not declared in this scope
19726 |   new_indexes[hindex2] = hindex2 - n;
      |   ^~~~~~~~~~~
callbacks.cc:19729:12: error: 'indexes' was not declared in this scope; did you mean 'index'?
19729 |  hindex2 = indexes[0];
      |            ^~~~~~~
      |            index
callbacks.cc:19735:57: error: 'new_indexes' was not declared in this scope
19735 |     gtk_list_store_set(GTK_LIST_STORE(model), &iter, 1, new_indexes[hindex], -1);
      |                                                         ^~~~~~~~~~~
callbacks.cc:19741:3: error: 'inhistory' was not declared in this scope
19741 |   inhistory.erase(inhistory.begin() + hindex);
      |   ^~~~~~~~~
callbacks.cc:19742:3: error: 'inhistory_protected' was not declared in this scope; did you mean 'history_protected'?
19742 |   inhistory_protected.erase(inhistory_protected.begin() + hindex);
      |   ^~~~~~~~~~~~~~~~~~~
      |   history_protected
callbacks.cc:19743:3: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19743 |   inhistory_type.erase(inhistory_type.begin() + hindex);
      |   ^~~~~~~~~~~~~~
      |   history_copy
callbacks.cc:19744:3: error: 'inhistory_value' was not declared in this scope
19744 |   inhistory_value.erase(inhistory_value.begin() + hindex);
      |   ^~~~~~~~~~~~~~~
callbacks.cc:19747:28: error: 'inhistory' was not declared in this scope
19747 |  current_inhistory_index = inhistory.size() - 1;
      |                            ^~~~~~~~~
callbacks.cc: At global scope:
callbacks.cc:19768:28: error: 'string' was not declared in this scope; did you mean 'std::string'?
19768 | bool find_history_bookmark(string str, GtkTreeIter *iter2) {
      |                            ^~~~~~
      |                            std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:19768:52: error: expected primary-expression before '*' token
19768 | bool find_history_bookmark(string str, GtkTreeIter *iter2) {
      |                                                    ^
callbacks.cc:19768:53: error: 'iter2' was not declared in this scope
19768 | bool find_history_bookmark(string str, GtkTreeIter *iter2) {
      |                                                     ^~~~~
callbacks.cc:19768:58: error: expression list treated as compound expression in initializer [-fpermissive]
19768 | bool find_history_bookmark(string str, GtkTreeIter *iter2) {
      |                                                          ^
callbacks.cc: In function 'void goto_history_bookmark(GtkMenuItem*, gpointer)':
callbacks.cc:19783:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
19783 |  string str = gtk_menu_item_get_label(w);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:19785:27: error: 'str' was not declared in this scope; did you mean 'std'?
19785 |  if(find_history_bookmark(str, &iter)) {
      |                           ^~~
      |                           std
callbacks.cc:19785:37: error: 'find_history_bookmark' cannot be used as a function
19785 |  if(find_history_bookmark(str, &iter)) {
      |                                     ^
callbacks.cc: At global scope:
callbacks.cc:19791:6: error: variable or field 'remove_history_bookmark' declared void
19791 | void remove_history_bookmark(string str) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:19791:30: error: 'string' was not declared in this scope; did you mean 'std::string'?
19791 | void remove_history_bookmark(string str) {
      |                              ^~~~~~
      |                              std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:19827:6: error: variable or field 'add_history_bookmark' declared void
19827 | void add_history_bookmark(string history_message) {
      |      ^~~~~~~~~~~~~~~~~~~~
callbacks.cc:19827:27: error: 'string' was not declared in this scope; did you mean 'std::string'?
19827 | void add_history_bookmark(string history_message) {
      |                           ^~~~~~
      |                           std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc: In function 'void on_popup_menu_item_history_bookmark_activate(GtkMenuItem*, gpointer)':
callbacks.cc:19903:22: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19903 |    if(hindex >= 0 && inhistory_type[hindex] == QALCULATE_HISTORY_BOOKMARK) break;
      |                      ^~~~~~~~~~~~~~
      |                      history_copy
callbacks.cc:19910:8: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19910 |    for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |        ^~~~~~
      |        std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19910:15: error: 'string' was not declared in this scope; did you mean 'std::string'?
19910 |    for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |               ^~~~~~
      |               std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:19910:24: error: '::iterator' has not been declared; did you mean 'std::iterator'?
19910 |    for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |                        ^~~~~~~~
      |                        std::iterator
In file included from /usr/include/g++/bits/stl_algobase.h:65,
                 from /usr/include/g++/bits/char_traits.h:39,
                 from /usr/include/g++/ios:40,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stl_iterator_base_types.h:127:12: note: 'std::iterator' declared here
  127 |     struct iterator
      |            ^~~~~~~~
callbacks.cc:19910:65: error: 'it' was not declared in this scope; did you mean 'int'?
19910 |    for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |                                                                 ^~
      |                                                                 int
callbacks.cc:19910:71: error: 'history_bookmarks' was not declared in this scope; did you mean 'goto_history_bookmark'?
19910 |    for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |                                                                       ^~~~~~~~~~~~~~~~~
      |                                                                       goto_history_bookmark
callbacks.cc:19911:25: error: 'inhistory' was not declared in this scope
19911 |     if(equalsIgnoreCase(inhistory[hindex], *it)) {
      |                         ^~~~~~~~~
callbacks.cc:19916:4: error: 'inhistory' was not declared in this scope
19916 |    inhistory.erase(inhistory.begin() + hindex);
      |    ^~~~~~~~~
callbacks.cc:19917:4: error: 'inhistory_protected' was not declared in this scope; did you mean 'history_protected'?
19917 |    inhistory_protected.erase(inhistory_protected.begin() + hindex);
      |    ^~~~~~~~~~~~~~~~~~~
      |    history_protected
callbacks.cc:19918:4: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19918 |    inhistory_type.erase(inhistory_type.begin() + hindex);
      |    ^~~~~~~~~~~~~~
      |    history_copy
callbacks.cc:19919:4: error: 'inhistory_value' was not declared in this scope
19919 |    inhistory_value.erase(inhistory_value.begin() + hindex);
      |    ^~~~~~~~~~~~~~~
callbacks.cc:19926:6: error: 'string' was not declared in this scope; did you mean 'std::string'?
19926 |      string str = gstr;
      |      ^~~~~~
      |      std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:19927:17: error: 'str' was not declared in this scope; did you mean 'gstr'?
19927 |      size_t i = str.rfind("<span size=\"small\"><sup> ");
      |                 ^~~
      |                 gstr
callbacks.cc:19928:14: error: 'string' is not a class, namespace, or enumeration
19928 |      if(i == string::npos) i = str.rfind("<span size=\"x-small\"><sup> ");
      |              ^~~~~~
callbacks.cc:19929:14: error: 'string' is not a class, namespace, or enumeration
19929 |      if(i != string::npos) str = str.substr(0, i);
      |              ^~~~~~
callbacks.cc:19944:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
19944 |   string history_message;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:19960:10: error: expected ';' before 'history_message'
19960 |    string history_message = gtk_entry_get_text(GTK_ENTRY(entry));
      |          ^~~~~~~~~~~~~~~~
      |          ;
callbacks.cc:19961:22: error: 'history_message' was not declared in this scope; did you mean 'show_message'?
19961 |    remove_blank_ends(history_message);
      |                      ^~~~~~~~~~~~~~~
      |                      show_message
callbacks.cc:19963:8: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
19963 |    for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |        ^~~~~~
      |        std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:19963:24: error: '::iterator' has not been declared; did you mean 'std::iterator'?
19963 |    for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |                        ^~~~~~~~
      |                        std::iterator
In file included from /usr/include/g++/bits/stl_algobase.h:65,
                 from /usr/include/g++/bits/char_traits.h:39,
                 from /usr/include/g++/ios:40,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stl_iterator_base_types.h:127:12: note: 'std::iterator' declared here
  127 |     struct iterator
      |            ^~~~~~~~
callbacks.cc:19963:65: error: 'it' was not declared in this scope; did you mean 'int'?
19963 |    for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |                                                                 ^~
      |                                                                 int
callbacks.cc:19963:71: error: 'history_bookmarks' was not declared in this scope; did you mean 'goto_history_bookmark'?
19963 |    for(vector<string>::iterator it = history_bookmarks.begin(); it != history_bookmarks.end(); ++it) {
      |                                                                       ^~~~~~~~~~~~~~~~~
      |                                                                       goto_history_bookmark
callbacks.cc:19971:6: error: 'remove_history_bookmark' was not declared in this scope; did you mean 'goto_history_bookmark'?
19971 |      remove_history_bookmark(history_message);
      |      ^~~~~~~~~~~~~~~~~~~~~~~
      |      goto_history_bookmark
callbacks.cc:19977:5: error: 'add_history_bookmark' was not declared in this scope; did you mean 'find_history_bookmark'?
19977 |     add_history_bookmark(history_message);
      |     ^~~~~~~~~~~~~~~~~~~~
      |     find_history_bookmark
callbacks.cc: In function 'bool history_protected_by_bookmark(size_t)':
callbacks.cc:19984:5: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19984 |  if(inhistory_type[hi] == QALCULATE_HISTORY_BOOKMARK) return true;
      |     ^~~~~~~~~~~~~~
      |     history_copy
callbacks.cc:19985:17: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19985 |  while(hi + 1 < inhistory_type.size() && HISTORY_NOT_EXPRESSION(hi)) {
      |                 ^~~~~~~~~~~~~~
      |                 history_copy
callbacks.cc:19989:14: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19989 |  if(hi + 1 < inhistory_type.size() && inhistory_type[hi + 1] == QALCULATE_HISTORY_BOOKMARK) return true;
      |              ^~~~~~~~~~~~~~
      |              history_copy
callbacks.cc: In function 'bool history_protected(size_t)':
callbacks.cc:19993:5: error: 'inhistory_protected' was not declared in this scope; did you mean 'history_protected'?
19993 |  if(inhistory_protected[hi]) return true;
      |     ^~~~~~~~~~~~~~~~~~~
      |     history_protected
callbacks.cc:19994:17: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
19994 |  while(hi + 1 < inhistory_type.size() && HISTORY_NOT_EXPRESSION(hi) && inhistory_type[hi] != QALCULATE_HISTORY_OLD) {
      |                 ^~~~~~~~~~~~~~
      |                 history_copy
callbacks.cc:19997:9: error: 'inhistory_protected' was not declared in this scope; did you mean 'history_protected'?
19997 |  return inhistory_protected[hi];
      |         ^~~~~~~~~~~~~~~~~~~
      |         history_protected
callbacks.cc: In function 'void on_popup_menu_item_history_protect_toggled(GtkCheckMenuItem*, gpointer)':
callbacks.cc:20014:38: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
20014 |   while(hi >= 0 && (size_t) hi + 1 < inhistory_type.size() && ITEM_NOT_EXPRESSION(hi)) {
      |                                      ^~~~~~~~~~~~~~
      |                                      history_copy
callbacks.cc:370:30: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
  370 | #define HISTORY_IS_PARSE(x) (inhistory_type[x] == QALCULATE_HISTORY_PARSE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_APPROXIMATE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_WITHEQUALS)
      |                              ^~~~~~~~~~~~~~
callbacks.cc:370:30: note: in definition of macro 'HISTORY_IS_PARSE'
  370 | #define HISTORY_IS_PARSE(x) (inhistory_type[x] == QALCULATE_HISTORY_PARSE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_APPROXIMATE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_WITHEQUALS)
      |                              ^~~~~~~~~~~~~~
callbacks.cc:20027:12: error: 'inhistory_protected' was not declared in this scope; did you mean 'history_protected'?
20027 |    if(b != inhistory_protected[hi]) {
      |            ^~~~~~~~~~~~~~~~~~~
      |            history_protected
callbacks.cc:20031:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
20031 |     string str = gstr;
      |     ^~~~~~
      |     std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:20032:27: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
20032 |     if((size_t) hi + 1 >= inhistory_type.size() || inhistory_type[hi + 1] != QALCULATE_HISTORY_BOOKMARK) {
      |                           ^~~~~~~~~~~~~~
      |                           history_copy
callbacks.cc:20034:10: error: 'str' was not declared in this scope; did you mean 'gstr'?
20034 |       if(str.find("<span size=\"x-small\"><sup> ") == string::npos && str.find("<span size=\"small\"><sup> ") == string::npos) {
      |          ^~~
      |          gstr
callbacks.cc:20034:55: error: 'string' is not a class, namespace, or enumeration
20034 |       if(str.find("<span size=\"x-small\"><sup> ") == string::npos && str.find("<span size=\"small\"><sup> ") == string::npos) {
      |                                                       ^~~~~~
callbacks.cc:20034:114: error: 'string' is not a class, namespace, or enumeration
20034 |       if(str.find("<span size=\"x-small\"><sup> ") == string::npos && str.find("<span size=\"small\"><sup> ") == string::npos) {
      |                                                                                                                  ^~~~~~
callbacks.cc:20039:18: error: 'str' was not declared in this scope; did you mean 'gstr'?
20039 |       size_t i = str.rfind("<span size=\"small\"><sup> ");
      |                  ^~~
      |                  gstr
callbacks.cc:20040:15: error: 'string' is not a class, namespace, or enumeration
20040 |       if(i == string::npos) i = str.rfind("<span size=\"x-small\"><sup> ");
      |               ^~~~~~
callbacks.cc:20041:15: error: 'string' is not a class, namespace, or enumeration
20041 |       if(i != string::npos) str = str.substr(0, i);
      |               ^~~~~~
callbacks.cc:20043:58: error: 'str' was not declared in this scope; did you mean 'gstr'?
20043 |      gtk_list_store_set(GTK_LIST_STORE(model), &iter, 0, str.c_str(), -1);
      |                                                          ^~~
      |                                                          gstr
callbacks.cc: In function 'void on_popup_menu_history_bookmark_update_activate(GtkMenuItem*, gpointer)':
callbacks.cc:20054:2: error: 'remove_history_bookmark' was not declared in this scope; did you mean 'goto_history_bookmark'?
20054 |  remove_history_bookmark(gtk_menu_item_get_label(GTK_MENU_ITEM(data)));
      |  ^~~~~~~~~~~~~~~~~~~~~~~
      |  goto_history_bookmark
callbacks.cc:20055:2: error: 'add_history_bookmark' was not declared in this scope; did you mean 'find_history_bookmark'?
20055 |  add_history_bookmark(gtk_menu_item_get_label(GTK_MENU_ITEM(data)));
      |  ^~~~~~~~~~~~~~~~~~~~
      |  find_history_bookmark
callbacks.cc: In function 'void on_popup_menu_history_bookmark_delete_activate(GtkMenuItem*, gpointer)':
callbacks.cc:20059:2: error: 'remove_history_bookmark' was not declared in this scope; did you mean 'goto_history_bookmark'?
20059 |  remove_history_bookmark(gtk_menu_item_get_label(GTK_MENU_ITEM(data)));
      |  ^~~~~~~~~~~~~~~~~~~~~~~
      |  goto_history_bookmark
callbacks.cc: In function 'gboolean on_menu_history_bookmark_popup_menu(GtkWidget*, gpointer)':
callbacks.cc:20067:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
20067 |  vector<size_t> selected_rows;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:20067:15: error: expected primary-expression before '>' token
20067 |  vector<size_t> selected_rows;
      |               ^
callbacks.cc:20067:17: error: 'selected_rows' was not declared in this scope; did you mean 'selected_unit'?
20067 |  vector<size_t> selected_rows;
      |                 ^~~~~~~~~~~~~
      |                 selected_unit
callbacks.cc:20068:2: error: 'process_history_selection' was not declared in this scope
20068 |  process_history_selection(&selected_rows, NULL, NULL);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:20069:144: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
20069 |  gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(main_builder, "popup_menu_history_bookmark_update")), selected_rows.size() == 1 && inhistory_type[selected_rows[0]] != QALCULATE_HISTORY_OLD);
      |                                                                                                                                                ^~~~~~~~~~~~~~
      |                                                                                                                                                history_copy
callbacks.cc: In function 'void update_historyview_popup()':
callbacks.cc:20093:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
20093 |  vector<size_t> selected_rows;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:20093:15: error: expected primary-expression before '>' token
20093 |  vector<size_t> selected_rows;
      |               ^
callbacks.cc:20093:17: error: 'selected_rows' was not declared in this scope; did you mean 'selected_unit'?
20093 |  vector<size_t> selected_rows;
      |                 ^~~~~~~~~~~~~
      |                 selected_unit
callbacks.cc:20094:15: error: expected primary-expression before '>' token
20094 |  vector<size_t> selected_indeces;
      |               ^
callbacks.cc:20094:17: error: 'selected_indeces' was not declared in this scope; did you mean 'selected_unit'?
20094 |  vector<size_t> selected_indeces;
      |                 ^~~~~~~~~~~~~~~~
      |                 selected_unit
callbacks.cc:20095:9: error: expected primary-expression before 'int'
20095 |  vector<int> selected_index_type;
      |         ^~~
callbacks.cc:20097:64: error: 'selected_index_type' was not declared in this scope
20097 |  process_history_selection(&selected_rows, &selected_indeces, &selected_index_type);
      |                                                                ^~~~~~~~~~~~~~~~~~~
callbacks.cc:20097:2: error: 'process_history_selection' was not declared in this scope
20097 |  process_history_selection(&selected_rows, &selected_indeces, &selected_index_type);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:370:30: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
  370 | #define HISTORY_IS_PARSE(x) (inhistory_type[x] == QALCULATE_HISTORY_PARSE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_APPROXIMATE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_WITHEQUALS)
      |                              ^~~~~~~~~~~~~~
callbacks.cc:370:30: note: in definition of macro 'HISTORY_IS_PARSE'
  370 | #define HISTORY_IS_PARSE(x) (inhistory_type[x] == QALCULATE_HISTORY_PARSE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_APPROXIMATE || inhistory_type[x] == QALCULATE_HISTORY_PARSE_WITHEQUALS)
      |                              ^~~~~~~~~~~~~~
callbacks.cc:20112:146: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
20112 |  gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(main_builder, "popup_menu_item_history_copy_text")), selected_indeces.size() == 1 && inhistory_type[hi] != QALCULATE_HISTORY_BOOKMARK);
      |                                                                                                                                                  ^~~~~~~~~~~~~~
      |                                                                                                                                                  history_copy
callbacks.cc:20139:24: error: 'history_bookmarks' was not declared in this scope; did you mean 'goto_history_bookmark'?
20139 |  for(size_t i = 0; i < history_bookmarks.size(); i++) {
      |                        ^~~~~~~~~~~~~~~~~
      |                        goto_history_bookmark
callbacks.cc:20144:5: error: 'history_bookmarks' was not declared in this scope; did you mean 'goto_history_bookmark'?
20144 |  if(history_bookmarks.empty()) {MENU_NO_ITEMS(_("No items found"))}
      |     ^~~~~~~~~~~~~~~~~
      |     goto_history_bookmark
callbacks.cc: In function 'void on_historyview_selection_changed(GtkTreeSelection*, gpointer)':
callbacks.cc:20281:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
20281 |  vector<size_t> selected_rows;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:20281:15: error: expected primary-expression before '>' token
20281 |  vector<size_t> selected_rows;
      |               ^
callbacks.cc:20281:17: error: 'selected_rows' was not declared in this scope; did you mean 'selected_unit'?
20281 |  vector<size_t> selected_rows;
      |                 ^~~~~~~~~~~~~
      |                 selected_unit
callbacks.cc:20282:15: error: expected primary-expression before '>' token
20282 |  vector<size_t> selected_indeces;
      |               ^
callbacks.cc:20282:17: error: 'selected_indeces' was not declared in this scope; did you mean 'selected_unit'?
20282 |  vector<size_t> selected_indeces;
      |                 ^~~~~~~~~~~~~~~~
      |                 selected_unit
callbacks.cc:20283:9: error: expected primary-expression before 'int'
20283 |  vector<int> selected_index_type;
      |         ^~~
callbacks.cc:20284:64: error: 'selected_index_type' was not declared in this scope
20284 |  process_history_selection(&selected_rows, &selected_indeces, &selected_index_type);
      |                                                                ^~~~~~~~~~~~~~~~~~~
callbacks.cc:20284:2: error: 'process_history_selection' was not declared in this scope
20284 |  process_history_selection(&selected_rows, &selected_indeces, &selected_index_type);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_historyview_row_activated(GtkTreeView*, GtkTreePath*, GtkTreeViewColumn*, gpointer)':
callbacks.cc:20298:10: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
20298 |   switch(inhistory_type[(size_t) hindex]) {
      |          ^~~~~~~~~~~~~~
      |          history_copy
callbacks.cc:20304:18: error: 'inhistory' was not declared in this scope
20304 |      insert_text(inhistory[(size_t) hindex - 1].c_str());
      |                  ^~~~~~~~~
callbacks.cc:20317:18: error: 'inhistory' was not declared in this scope
20317 |      insert_text(inhistory[(size_t) hindex].c_str());
      |                  ^~~~~~~~~
callbacks.cc:20326:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
20326 |   string str = ename->name;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:20327:3: error: 'str' was not declared in this scope; did you mean 'std'?
20327 |   str += "(";
      |   ^~~
      |   std
callbacks.cc:20329:10: error: 'print_with_evalops' was not declared in this scope
20329 |   str += print_with_evalops(nr);
      |          ^~~~~~~~~~~~~~~~~~
callbacks.cc:20340:21: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
20340 |   if(hindex > 0 && (inhistory_type[hindex] == QALCULATE_HISTORY_TRANSFORMATION || inhistory_type[hindex] == QALCULATE_HISTORY_RPN_OPERATION || inhistory_type[hindex] == QALCULATE_HISTORY_REGISTER_MOVED)) hindex--;
      |                     ^~~~~~~~~~~~~~
      |                     history_copy
callbacks.cc:20342:6: error: 'inhistory_type' was not declared in this scope; did you mean 'history_copy'?
20342 |   if(inhistory_type[hindex] != QALCULATE_HISTORY_WARNING && inhistory_type[hindex] != QALCULATE_HISTORY_ERROR && inhistory_type[hindex] != QALCULATE_HISTORY_BOOKMARK) {
      |      ^~~~~~~~~~~~~~
      |      history_copy
callbacks.cc:20345:17: error: 'inhistory' was not declared in this scope
20345 |     insert_text(inhistory[(size_t) hindex].c_str());
      |                 ^~~~~~~~~
callbacks.cc:20349:17: error: 'inhistory' was not declared in this scope
20349 |     insert_text(inhistory[(size_t) hindex].c_str());
      |                 ^~~~~~~~~
callbacks.cc: In function 'void on_menu_item_convert_to_best_unit_activate(GtkMenuItem*, gpointer)':
callbacks.cc:20388:40: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
20388 |  executeCommand(COMMAND_CONVERT_OPTIMAL);
      |                                        ^
      |                                        |
      |                                        const char*
callbacks.cc: In function 'void on_menu_item_convert_to_base_units_activate(GtkMenuItem*, gpointer)':
callbacks.cc:20391:37: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
20391 |  executeCommand(COMMAND_CONVERT_BASE);
      |                                     ^
      |                                     |
      |                                     const char*
callbacks.cc: In function 'void on_menu_item_insert_date_activate(GtkMenuItem*, gpointer)':
callbacks.cc:20402:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
20402 |  string str = get_selected_expression_text();
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:20403:20: error: 'str' was not declared in this scope; did you mean 'std'?
20403 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc: In function 'void on_menu_item_insert_matrix_activate(GtkMenuItem*, gpointer)':
callbacks.cc:20433:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
20433 |  string str = get_selected_expression_text();
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:20434:20: error: 'str' was not declared in this scope; did you mean 'std'?
20434 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc: In function 'void on_menu_item_insert_vector_activate(GtkMenuItem*, gpointer)':
callbacks.cc:20448:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
20448 |  string str = get_selected_expression_text();
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:20449:20: error: 'str' was not declared in this scope; did you mean 'std'?
20449 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc: In function 'void menu_to_rectangular(GtkMenuItem*, gpointer)':
callbacks.cc:20896:29: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
20896 |  executeCommand(COMMAND_EVAL);
      |                             ^
      |                             |
      |                             const char*
callbacks.cc: In function 'void menu_to_exponential(GtkMenuItem*, gpointer)':
callbacks.cc:20905:29: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
20905 |  executeCommand(COMMAND_EVAL);
      |                             ^
      |                             |
      |                             const char*
callbacks.cc: In function 'void menu_to_polar(GtkMenuItem*, gpointer)':
callbacks.cc:20914:29: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
20914 |  executeCommand(COMMAND_EVAL);
      |                             ^
      |                             |
      |                             const char*
callbacks.cc: In function 'void menu_to_angle(GtkMenuItem*, gpointer)':
callbacks.cc:20923:29: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
20923 |  executeCommand(COMMAND_EVAL);
      |                             ^
      |                             |
      |                             const char*
callbacks.cc: In function 'void update_mb_to_menu()':
callbacks.cc:20984:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
20984 |  string s_cat;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:20989:15: error: 's_cat' was not declared in this scope
20989 |  if(u_result) s_cat = u_result->category();
      |               ^~~~~
callbacks.cc:20990:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
20990 |  vector<Unit*> to_us;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:20990:13: error: expected primary-expression before '*' token
20990 |  vector<Unit*> to_us;
      |             ^
callbacks.cc:20990:14: error: expected primary-expression before '>' token
20990 |  vector<Unit*> to_us;
      |              ^
callbacks.cc:20990:16: error: 'to_us' was not declared in this scope; did you mean 'to_base'?
20990 |  vector<Unit*> to_us;
      |                ^~~~~
      |                to_base
callbacks.cc:21009:62: error: 'string_is_less' cannot be used as a function
21009 |      if(string_is_less(u->title(true), to_us[i2]->title(true))) {
      |                                                              ^
In file included from callbacks.cc:29:
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.h:18:110: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from callbacks.cc:29:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
callbacks.cc:21019:4: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
21019 |    MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), convert_to_unit, to_us[i])
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
callbacks.cc:21019:4: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
21019 |    MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), convert_to_unit, to_us[i])
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:145: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:211: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.h:18:222: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
callbacks.cc:21022:14: error: expected primary-expression before '*' token
21022 |   vector<Unit*> to_us2;
      |              ^
callbacks.cc:21022:15: error: expected primary-expression before '>' token
21022 |   vector<Unit*> to_us2;
      |               ^
callbacks.cc:21022:17: error: 'to_us2' was not declared in this scope
21022 |   vector<Unit*> to_us2;
      |                 ^~~~~~
In file included from callbacks.cc:29:
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.h:18:110: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from callbacks.cc:29:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
callbacks.cc:21060:4: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
21060 |    MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), convert_to_unit, to_us[i])
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
callbacks.cc:21060:4: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
21060 |    MENU_ITEM_WITH_POINTER_AND_FLAG(to_us[i]->title(true).c_str(), convert_to_unit, to_us[i])
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:145: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:211: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.h:18:222: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.h:18:110: error: 'unordered_map' was not declared in this scope; did you mean 'std::unordered_map'?
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
interface.h:18:110: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                              ^~~~~~~~~~~~~
In file included from /usr/include/g++/unordered_map:47,
                 from callbacks.cc:35:
/usr/include/g++/bits/unordered_map.h:102:11: note: 'std::unordered_map' declared here
  102 |     class unordered_map
      |           ^~~~~~~~~~~~~
In file included from callbacks.cc:29:
interface.h:18:141: error: expected primary-expression before '*' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                             ^
callbacks.cc:21065:4: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
21065 |    MENU_ITEM_WITH_POINTER_AND_FLAG(to_us2[i]->title(true).c_str(), convert_to_unit, to_us2[i])
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:142: error: expected primary-expression before '>' token
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                              ^
callbacks.cc:21065:4: note: in expansion of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
21065 |    MENU_ITEM_WITH_POINTER_AND_FLAG(to_us2[i]->title(true).c_str(), convert_to_unit, to_us2[i])
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface.h:18:145: error: '::const_iterator' has not been declared
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:145: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                 ^~~~~~~~~~~~~~
interface.h:18:211: error: 'it_flag' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:211: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                   ^~~~~~~
interface.h:18:222: error: 'flag_images' was not declared in this scope
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
interface.h:18:222: note: in definition of macro 'MENU_ITEM_WITH_POINTER_AND_FLAG'
   18 | #define MENU_ITEM_WITH_POINTER_AND_FLAG(x,y,z) {GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); unordered_map<string, GdkPixbuf*>::const_iterator it_flag = flag_images.find(z->referenceName()); if(it_flag != flag_images.end()) {GtkWidget *image_w = gtk_image_new_from_pixbuf(it_flag->second); gtk_widget_set_size_request(image_w, 32, -1); gtk_container_add(GTK_CONTAINER(box), image_w);} gtk_container_add(GTK_CONTAINER(box), gtk_label_new(x)); item = gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(item), box); gtk_widget_show_all(item); g_signal_connect(G_OBJECT (item), "activate", G_CALLBACK(y), (gpointer) z); gtk_menu_shell_append(GTK_MENU_SHELL(sub), item);}
      |                                                                                                                                                                                                                              ^~~~~~~~~~~
callbacks.cc:21067:13: error: 's_cat' was not declared in this scope
21067 |  } else if(!s_cat.empty()) {
      |             ^~~~~
callbacks.cc:21074:63: error: 'string_is_less' cannot be used as a function
21074 |       if(string_is_less(u->title(true), to_us[i2]->title(true))) {
      |                                                               ^
callbacks.cc:21092:14: error: expected primary-expression before '*' token
21092 |   vector<Unit*> to_us2;
      |              ^
callbacks.cc:21092:15: error: expected primary-expression before '>' token
21092 |   vector<Unit*> to_us2;
      |               ^
callbacks.cc:21092:17: error: 'to_us2' was not declared in this scope
21092 |   vector<Unit*> to_us2;
      |                 ^~~~~~
callbacks.cc:21104:63: error: 'string_is_less' cannot be used as a function
21104 |      if(string_is_less(u->title(true), to_us2[i2]->title(true))) {
      |                                                               ^
callbacks.cc: In function 'void update_mb_units_menu()':
callbacks.cc:21138:17: error: 'recent_units' was not declared in this scope
21138 |  for(size_t i = recent_units.size(); i > 0; i--) {
      |                 ^~~~~~~~~~~~
callbacks.cc: In function 'void update_mb_fx_menu()':
callbacks.cc:21219:17: error: 'recent_functions' was not declared in this scope; did you mean 'edit_function'?
21219 |  for(size_t i = recent_functions.size(); i > 0; i--) {
      |                 ^~~~~~~~~~~~~~~~
      |                 edit_function
callbacks.cc: In function 'void update_mb_pi_menu()':
callbacks.cc:21251:17: error: 'recent_variables' was not declared in this scope; did you mean 'delete_variable'?
21251 |  for(size_t i = recent_variables.size(); i > 0; i--) {
      |                 ^~~~~~~~~~~~~~~~
      |                 delete_variable
callbacks.cc: In function 'void on_menu_item_algebraic_mode_simplify_activate(GtkMenuItem*, gpointer)':
callbacks.cc:21401:92: error: 'string' was not declared in this scope; did you mean 'std::string'?
21401 |  gtk_label_set_markup(GTK_LABEL(gtk_builder_get_object(main_builder, "label_factorize")), (string("a(x)") + SUP_STRING("b")).c_str());
      |                                                                                            ^~~~~~
      |                                                                                            std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc: In function 'void on_menu_item_algebraic_mode_factorize_activate(GtkMenuItem*, gpointer)':
callbacks.cc:21414:92: error: 'string' was not declared in this scope; did you mean 'std::string'?
21414 |  gtk_label_set_markup(GTK_LABEL(gtk_builder_get_object(main_builder, "label_factorize")), (string("x+x") + SUP_STRING("b")).c_str());
      |                                                                                            ^~~~~~
      |                                                                                            std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc: In function 'void on_menu_item_import_definitions_activate(GtkMenuItem*, gpointer)':
callbacks.cc:21506:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
21506 |   string homedir = buildPath(getLocalDataDir(), "definitions");
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:21507:20: error: 'homedir' was not declared in this scope; did you mean 'mkdir'?
21507 |   recursiveMakeDir(homedir);
      |                    ^~~~~~~
      |                    mkdir
callbacks.cc:21520:3: error: 'ifstream' was not declared in this scope; did you mean 'std::ifstream'?
21520 |   ifstream source(from_file);
      |   ^~~~~~~~
      |   std::ifstream
In file included from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/iosfwd:162:34: note: 'std::ifstream' declared here
  162 |   typedef basic_ifstream<char>   ifstream;
      |                                  ^~~~~~~~
callbacks.cc:21521:6: error: 'source' was not declared in this scope; did you mean 'GSource'?
21521 |   if(source.fail()) {
      |      ^~~~~~
      |      GSource
callbacks.cc:21527:4: error: 'ofstream' was not declared in this scope; did you mean 'std::ofstream'?
21527 |    ofstream dest(buildPath(homedir, str).c_str());
      |    ^~~~~~~~
      |    std::ofstream
In file included from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/iosfwd:165:34: note: 'std::ofstream' declared here
  165 |   typedef basic_ofstream<char>   ofstream;
      |                                  ^~~~~~~~
callbacks.cc:21528:7: error: 'dest' was not declared in this scope
21528 |    if(dest.fail()) {
      |       ^~~~
callbacks.cc: In function 'void on_set_base_combo_output_other_changed(GtkComboBox*, gpointer)':
callbacks.cc:22010:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
22010 |  string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(setbase_builder, "set_base_entry_output_other")));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:22011:20: error: 'str' was not declared in this scope; did you mean 'std'?
22011 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc: In function 'void on_set_base_entry_output_other_activate(GtkEntry*, gpointer)':
callbacks.cc:22015:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
22015 |  string str = gtk_entry_get_text(w);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:22016:20: error: 'str' was not declared in this scope; did you mean 'std'?
22016 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:22017:27: error: 'prev_output_base' was not declared in this scope
22017 |  if(str.empty() || str == prev_output_base) {prev_output_base = str; return;}
      |                           ^~~~~~~~~~~~~~~~
callbacks.cc:22033:3: error: 'prev_output_base' was not declared in this scope
22033 |   prev_output_base = str;
      |   ^~~~~~~~~~~~~~~~
callbacks.cc:22042:3: error: 'prev_output_base' was not declared in this scope
22042 |   prev_output_base = str;
      |   ^~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_set_base_radiobutton_output_other_toggled(GtkToggleButton*, gpointer)':
callbacks.cc:22090:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
22090 |  string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(setbase_builder, "set_base_entry_output_other")));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:22091:20: error: 'str' was not declared in this scope; did you mean 'std'?
22091 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:22092:19: error: 'prev_output_base' was not declared in this scope
22092 |  if(str.empty()) {prev_output_base = str; return;}
      |                   ^~~~~~~~~~~~~~~~
callbacks.cc:22108:3: error: 'prev_output_base' was not declared in this scope
22108 |   prev_output_base = str;
      |   ^~~~~~~~~~~~~~~~
callbacks.cc:22117:3: error: 'prev_output_base' was not declared in this scope
22117 |   prev_output_base = str;
      |   ^~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_set_base_radiobutton_input_other_toggled(GtkToggleButton*, gpointer)':
callbacks.cc:22170:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
22170 |  string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(setbase_builder, "set_base_entry_input_other")));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:22171:20: error: 'str' was not declared in this scope; did you mean 'std'?
22171 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:22172:27: error: 'prev_input_base' was not declared in this scope
22172 |  if(str.empty() || str == prev_input_base) {prev_input_base = str; return;}
      |                           ^~~~~~~~~~~~~~~
callbacks.cc:22188:4: error: 'prev_input_base' was not declared in this scope
22188 |    prev_input_base = str;
      |    ^~~~~~~~~~~~~~~
callbacks.cc:22200:2: error: 'prev_input_base' was not declared in this scope
22200 |  prev_input_base = str;
      |  ^~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_set_base_combo_input_other_changed(GtkComboBox*, gpointer)':
callbacks.cc:22211:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
22211 |  string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(setbase_builder, "set_base_entry_input_other")));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:22212:20: error: 'str' was not declared in this scope; did you mean 'std'?
22212 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc: In function 'void on_set_base_entry_input_other_activate(GtkEntry*, gpointer)':
callbacks.cc:22216:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
22216 |  string str = gtk_entry_get_text(w);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:22217:20: error: 'str' was not declared in this scope; did you mean 'std'?
22217 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:22218:27: error: 'prev_input_base' was not declared in this scope
22218 |  if(str.empty() || str == prev_input_base) {prev_input_base = str; return;}
      |                           ^~~~~~~~~~~~~~~
callbacks.cc:22219:27: error: 'prev_input_base' was not declared in this scope
22219 |  if(str.empty() || str == prev_input_base) {prev_input_base = str; return;}
      |                           ^~~~~~~~~~~~~~~
callbacks.cc:22235:4: error: 'prev_input_base' was not declared in this scope
22235 |    prev_input_base = str;
      |    ^~~~~~~~~~~~~~~
callbacks.cc:22257:2: error: 'prev_input_base' was not declared in this scope
22257 |  prev_input_base = str;
      |  ^~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_menu_item_factorize_activate(GtkMenuItem*, gpointer)':
callbacks.cc:22317:34: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
22317 |  executeCommand(COMMAND_FACTORIZE);
      |                                  ^
      |                                  |
      |                                  const char*
callbacks.cc: In function 'void on_menu_item_expand_partial_fractions_activate(GtkMenuItem*, gpointer)':
callbacks.cc:22320:49: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
22320 |  executeCommand(COMMAND_EXPAND_PARTIAL_FRACTIONS);
      |                                                 ^
      |                                                 |
      |                                                 const char*
callbacks.cc: In function 'void on_menu_item_simplify_activate(GtkMenuItem*, gpointer)':
callbacks.cc:22323:31: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
22323 |  executeCommand(COMMAND_EXPAND);
      |                               ^
      |                               |
      |                               const char*
callbacks.cc: In function 'void on_menu_item_convert_number_bases_activate(GtkMenuItem*, gpointer)':
callbacks.cc:22364:6: error: 'result_text' was not declared in this scope
22364 |  if(!result_text.empty()) return convert_number_bases(result_text.c_str(), true);
      |      ^~~~~~~~~~~
callbacks.cc:22365:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
22365 |  string str = get_selected_expression_text(true), str2;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:22366:35: error: 'str' was not declared in this scope; did you mean 'std'?
22366 |  CALCULATOR->separateToExpression(str, str2, evalops, true);
      |                                   ^~~
      |                                   std
callbacks.cc:22366:40: error: 'str2' was not declared in this scope
22366 |  CALCULATOR->separateToExpression(str, str2, evalops, true);
      |                                        ^~~~
callbacks.cc: In function 'void on_menu_item_show_percentage_dialog_activate(GtkMenuItem*, gpointer)':
callbacks.cc:22378:6: error: 'result_text' was not declared in this scope
22378 |  if(!result_text.empty()) return show_percentage_dialog(result_text.c_str());
      |      ^~~~~~~~~~~
callbacks.cc:22379:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
22379 |  string str = get_selected_expression_text(true), str2;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:22380:35: error: 'str' was not declared in this scope; did you mean 'std'?
22380 |  CALCULATOR->separateToExpression(str, str2, evalops, true);
      |                                   ^~~
      |                                   std
callbacks.cc:22380:40: error: 'str2' was not declared in this scope
22380 |  CALCULATOR->separateToExpression(str, str2, evalops, true);
      |                                        ^~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc: In function 'void calendar_changed(GtkWidget*, gpointer)':
callbacks.cc:22404:56: error: 'cal_year' was not declared in this scope
22404 |   y = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(cal_year[(size_t) i]));
      |                                                        ^~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22404:40: note: in expansion of macro 'GTK_SPIN_BUTTON'
22404 |   y = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(cal_year[(size_t) i]));
      |                                        ^~~~~~~~~~~~~~~
callbacks.cc:22406:54: error: 'cal_month' was not declared in this scope
22406 |  long int m = gtk_combo_box_get_active(GTK_COMBO_BOX(cal_month[(size_t) i])) + 1;
      |                                                      ^~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcombobox.h:32:41: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   32 | #define GTK_COMBO_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox))
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22406:40: note: in expansion of macro 'GTK_COMBO_BOX'
22406 |  long int m = gtk_combo_box_get_active(GTK_COMBO_BOX(cal_month[(size_t) i])) + 1;
      |                                        ^~~~~~~~~~~~~
callbacks.cc:22407:54: error: 'cal_day' was not declared in this scope
22407 |  long int d = gtk_combo_box_get_active(GTK_COMBO_BOX(cal_day[(size_t) i])) + 1;
      |                                                      ^~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcombobox.h:32:41: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   32 | #define GTK_COMBO_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox))
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22407:40: note: in expansion of macro 'GTK_COMBO_BOX'
22407 |  long int d = gtk_combo_box_get_active(GTK_COMBO_BOX(cal_day[(size_t) i])) + 1;
      |                                        ^~~~~~~~~~~~~
callbacks.cc:22414:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
22414 |  string failed_str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:22424:48: error: 'cal_year' was not declared in this scope
22424 |      gtk_spin_button_set_value(GTK_SPIN_BUTTON(cal_year[i2]), y);
      |                                                ^~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22424:32: note: in expansion of macro 'GTK_SPIN_BUTTON'
22424 |      gtk_spin_button_set_value(GTK_SPIN_BUTTON(cal_year[i2]), y);
      |                                ^~~~~~~~~~~~~~~
callbacks.cc:22429:9: error: 'failed_str' was not declared in this scope
22429 |     if(!failed_str.empty()) failed_str += ", ";
      |         ^~~~~~~~~~
callbacks.cc:22430:5: error: 'failed_str' was not declared in this scope
22430 |     failed_str += gtk_label_get_text(GTK_LABEL(cal_label[i2]));
      |     ^~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc:22430:48: error: 'cal_label' was not declared in this scope
22430 |     failed_str += gtk_label_get_text(GTK_LABEL(cal_label[i2]));
      |                                                ^~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtklabel.h:39:28: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   39 | #define GTK_LABEL(obj)    (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LABEL, GtkLabel))
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22430:38: note: in expansion of macro 'GTK_LABEL'
22430 |     failed_str += gtk_label_get_text(GTK_LABEL(cal_label[i2]));
      |                                      ^~~~~~~~~
callbacks.cc:22434:6: error: 'failed_str' was not declared in this scope
22434 |  if(!failed_str.empty()) {
      |      ^~~~~~~~~~
In file included from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gobject.h:26,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gbinding.h:31,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/glib-object.h:24,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gioenums.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/giotypes.h:30,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gio/gio.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gdk/gdk.h:32,
                 from /pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtk.h:30,
                 from callbacks.cc:17:
callbacks.cc: In function 'void on_menu_item_show_calendarconversion_dialog_activate(GtkMenuItem*, gpointer)':
callbacks.cc:22445:45: error: 'cal_year' was not declared in this scope
22445 |   gtk_spin_button_set_value(GTK_SPIN_BUTTON(cal_year[CALENDAR_GREGORIAN]), mstruct->datetime()->year());
      |                                             ^~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22445:29: note: in expansion of macro 'GTK_SPIN_BUTTON'
22445 |   gtk_spin_button_set_value(GTK_SPIN_BUTTON(cal_year[CALENDAR_GREGORIAN]), mstruct->datetime()->year());
      |                             ^~~~~~~~~~~~~~~
callbacks.cc:22446:42: error: 'cal_month' was not declared in this scope
22446 |   gtk_combo_box_set_active(GTK_COMBO_BOX(cal_month[CALENDAR_GREGORIAN]), mstruct->datetime()->month() - 1);
      |                                          ^~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcombobox.h:32:41: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   32 | #define GTK_COMBO_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox))
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22446:28: note: in expansion of macro 'GTK_COMBO_BOX'
22446 |   gtk_combo_box_set_active(GTK_COMBO_BOX(cal_month[CALENDAR_GREGORIAN]), mstruct->datetime()->month() - 1);
      |                            ^~~~~~~~~~~~~
callbacks.cc:22447:42: error: 'cal_day' was not declared in this scope
22447 |   gtk_combo_box_set_active(GTK_COMBO_BOX(cal_day[CALENDAR_GREGORIAN]), mstruct->datetime()->day() - 1);
      |                                          ^~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcombobox.h:32:41: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   32 | #define GTK_COMBO_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox))
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22447:28: note: in expansion of macro 'GTK_COMBO_BOX'
22447 |   gtk_combo_box_set_active(GTK_COMBO_BOX(cal_day[CALENDAR_GREGORIAN]), mstruct->datetime()->day() - 1);
      |                            ^~~~~~~~~~~~~
callbacks.cc: In function 'void on_popup_menu_item_calendarconversion_activate(GtkMenuItem*, gpointer)':
callbacks.cc:22453:45: error: 'cal_year' was not declared in this scope
22453 |   gtk_spin_button_set_value(GTK_SPIN_BUTTON(cal_year[CALENDAR_GREGORIAN]), mstruct->datetime()->year());
      |                                             ^~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkspinbutton.h:42:48: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   42 | #define GTK_SPIN_BUTTON(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22453:29: note: in expansion of macro 'GTK_SPIN_BUTTON'
22453 |   gtk_spin_button_set_value(GTK_SPIN_BUTTON(cal_year[CALENDAR_GREGORIAN]), mstruct->datetime()->year());
      |                             ^~~~~~~~~~~~~~~
callbacks.cc:22454:42: error: 'cal_month' was not declared in this scope
22454 |   gtk_combo_box_set_active(GTK_COMBO_BOX(cal_month[CALENDAR_GREGORIAN]), mstruct->datetime()->month() - 1);
      |                                          ^~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcombobox.h:32:41: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   32 | #define GTK_COMBO_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox))
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22454:28: note: in expansion of macro 'GTK_COMBO_BOX'
22454 |   gtk_combo_box_set_active(GTK_COMBO_BOX(cal_month[CALENDAR_GREGORIAN]), mstruct->datetime()->month() - 1);
      |                            ^~~~~~~~~~~~~
callbacks.cc:22455:42: error: 'cal_day' was not declared in this scope
22455 |   gtk_combo_box_set_active(GTK_COMBO_BOX(cal_day[CALENDAR_GREGORIAN]), mstruct->datetime()->day() - 1);
      |                                          ^~~~~~~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/glib-2.0/gobject/gtype.h:2644:57: note: in definition of macro '_G_TYPE_CIC'
 2644 | #  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) (void *) ip)
      |                                                         ^~
/pbulk/work/math/qalculate-gtk/work/.buildlink/include/gtk-3.0/gtk/gtkcombobox.h:32:41: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
   32 | #define GTK_COMBO_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX, GtkComboBox))
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc:22455:28: note: in expansion of macro 'GTK_COMBO_BOX'
22455 |   gtk_combo_box_set_active(GTK_COMBO_BOX(cal_day[CALENDAR_GREGORIAN]), mstruct->datetime()->day() - 1);
      |                            ^~~~~~~~~~~~~
callbacks.cc: In function 'void on_menu_item_plot_functions_activate(GtkMenuItem*, gpointer)':
callbacks.cc:22470:95: error: 'get_selected_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
22470 |  gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_expression")), get_selected_expression_text(true).c_str());
      |                                                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                                               set_expression_text
callbacks.cc:22481:89: error: 'default_plot_min' was not declared in this scope; did you mean 'default_plot_type'?
22481 |   gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_min")), default_plot_min.c_str());
      |                                                                                         ^~~~~~~~~~~~~~~~
      |                                                                                         default_plot_type
callbacks.cc:22482:89: error: 'default_plot_max' was not declared in this scope; did you mean 'default_plot_type'?
22482 |   gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_max")), default_plot_max.c_str());
      |                                                                                         ^~~~~~~~~~~~~~~~
      |                                                                                         default_plot_type
callbacks.cc:22483:90: error: 'default_plot_step' was not declared in this scope; did you mean 'default_plot_style'?
22483 |   gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_step")), default_plot_step.c_str());
      |                                                                                          ^~~~~~~~~~~~~~~~~
      |                                                                                          default_plot_style
callbacks.cc:22484:94: error: 'default_plot_variable' was not declared in this scope; did you mean 'default_plot_style'?
22484 |   gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_variable")), default_plot_variable.c_str());
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~~
      |                                                                                              default_plot_style
callbacks.cc: In function 'void on_plot_dialog_hide(GtkWidget*, gpointer)':
callbacks.cc:22538:2: error: 'default_plot_min' was not declared in this scope; did you mean 'default_plot_type'?
22538 |  default_plot_min = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_min")));
      |  ^~~~~~~~~~~~~~~~
      |  default_plot_type
callbacks.cc:22539:2: error: 'default_plot_max' was not declared in this scope; did you mean 'default_plot_type'?
22539 |  default_plot_max = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_max")));
      |  ^~~~~~~~~~~~~~~~
      |  default_plot_type
callbacks.cc:22540:2: error: 'default_plot_step' was not declared in this scope; did you mean 'default_plot_style'?
22540 |  default_plot_step = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_step")));
      |  ^~~~~~~~~~~~~~~~~
      |  default_plot_style
callbacks.cc:22541:2: error: 'default_plot_variable' was not declared in this scope; did you mean 'default_plot_style'?
22541 |  default_plot_variable = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_variable")));
      |  ^~~~~~~~~~~~~~~~~~~~~
      |  default_plot_style
callbacks.cc: In function 'void on_menu_item_copy_activate(GtkMenuItem*, gpointer)':
callbacks.cc:23073:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
23073 |  string copy_text = result_text;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:23075:20: error: 'copy_text' was not declared in this scope
23075 |   remove_separator(copy_text);
      |                    ^~~~~~~~~
callbacks.cc:23075:3: error: 'remove_separator' was not declared in this scope; did you mean 'copy_separator'?
23075 |   remove_separator(copy_text);
      |   ^~~~~~~~~~~~~~~~
      |   copy_separator
callbacks.cc:23077:81: error: 'copy_text' was not declared in this scope
23077 |  gtk_clipboard_set_text(gtk_clipboard_get(gdk_atom_intern("CLIPBOARD", FALSE)), copy_text.c_str(), -1);
      |                                                                                 ^~~~~~~~~
callbacks.cc: In function 'void on_button_registerup_clicked(GtkButton*, gpointer)':
callbacks.cc:23142:39: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
23142 |   setResult(NULL, true, false, false, "", 0, true);
      |                                       ^~
      |                                       |
      |                                       const char*
callbacks.cc:8268:91: note:   initializing argument 5 of 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)'
 8268 | void setResult(Prefix *prefix, bool update_history, bool update_parse, bool force, string transformation, size_t stack_index, bool register_moved) {
      |                                                                                    ~~~~~~~^~~~~~~~~~~~~~
callbacks.cc: In function 'void on_button_registerdown_clicked(GtkButton*, gpointer)':
callbacks.cc:23176:39: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
23176 |   setResult(NULL, true, false, false, "", 0, true);
      |                                       ^~
      |                                       |
      |                                       const char*
callbacks.cc:8268:91: note:   initializing argument 5 of 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)'
 8268 | void setResult(Prefix *prefix, bool update_history, bool update_parse, bool force, string transformation, size_t stack_index, bool register_moved) {
      |                                                                                    ~~~~~~~^~~~~~~~~~~~~~
callbacks.cc: In function 'void on_button_registerswap_clicked(GtkButton*, gpointer)':
callbacks.cc:23208:38: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
23208 |  setResult(NULL, true, false, false, "", 0, true);
      |                                      ^~
      |                                      |
      |                                      const char*
callbacks.cc:8268:91: note:   initializing argument 5 of 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)'
 8268 | void setResult(Prefix *prefix, bool update_history, bool update_parse, bool force, string transformation, size_t stack_index, bool register_moved) {
      |                                                                                    ~~~~~~~^~~~~~~~~~~~~~
callbacks.cc: In function 'void on_button_lastx_clicked(GtkButton*, gpointer)':
callbacks.cc:23213:6: error: 'get_expression_text' was not declared in this scope; did you mean 'set_expression_text'?
23213 |   if(get_expression_text().find_first_not_of(SPACES) != string::npos) {
      |      ^~~~~~~~~~~~~~~~~~~
      |      set_expression_text
callbacks.cc:23213:57: error: 'string' has not been declared
23213 |   if(get_expression_text().find_first_not_of(SPACES) != string::npos) {
      |                                                         ^~~~~~
callbacks.cc:23218:2: error: 'RPNRegisterAdded' was not declared in this scope; did you mean 'RPNRegisterRemoved'?
23218 |  RPNRegisterAdded("", 0);
      |  ^~~~~~~~~~~~~~~~
      |  RPNRegisterRemoved
callbacks.cc:23222:37: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
23222 |  setResult(NULL, true, true, false, "", 0, false);
      |                                     ^~
      |                                     |
      |                                     const char*
callbacks.cc:8268:91: note:   initializing argument 5 of 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)'
 8268 | void setResult(Prefix *prefix, bool update_history, bool update_parse, bool force, string transformation, size_t stack_index, bool register_moved) {
      |                                                                                    ~~~~~~~^~~~~~~~~~~~~~
callbacks.cc: In function 'void on_button_copyregister_clicked(GtkButton*, gpointer)':
callbacks.cc:23239:2: error: 'RPNRegisterAdded' was not declared in this scope; did you mean 'RPNRegisterRemoved'?
23239 |  RPNRegisterAdded(text_copy, 0);
      |  ^~~~~~~~~~~~~~~~
      |  RPNRegisterRemoved
callbacks.cc:23244:38: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
23244 |  setResult(NULL, true, false, false, "", 0, true);
      |                                      ^~
      |                                      |
      |                                      const char*
callbacks.cc:8268:91: note:   initializing argument 5 of 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)'
 8268 | void setResult(Prefix *prefix, bool update_history, bool update_parse, bool force, string transformation, size_t stack_index, bool register_moved) {
      |                                                                                    ~~~~~~~^~~~~~~~~~~~~~
callbacks.cc: In function 'void on_button_deleteregister_clicked(GtkButton*, gpointer)':
callbacks.cc:23277:39: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
23277 |   setResult(NULL, true, false, false, "", 0, true);
      |                                       ^~
      |                                       |
      |                                       const char*
callbacks.cc:8268:91: note:   initializing argument 5 of 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)'
 8268 | void setResult(Prefix *prefix, bool update_history, bool update_parse, bool force, string transformation, size_t stack_index, bool register_moved) {
      |                                                                                    ~~~~~~~^~~~~~~~~~~~~~
callbacks.cc: In function 'void on_popup_menu_item_stack_movetotop_activate(GtkMenuItem*, gpointer)':
callbacks.cc:23400:38: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
23400 |  setResult(NULL, true, false, false, "", 0, true);
      |                                      ^~
      |                                      |
      |                                      const char*
callbacks.cc:8268:91: note:   initializing argument 5 of 'void setResult(Prefix*, bool, bool, bool, int, size_t, bool)'
 8268 | void setResult(Prefix *prefix, bool update_history, bool update_parse, bool force, string transformation, size_t stack_index, bool register_moved) {
      |                                                                                    ~~~~~~~^~~~~~~~~~~~~~
callbacks.cc: In function 'void on_unit_edit_entry_relation_changed(GtkEditable*, gpointer)':
callbacks.cc:23480:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
23480 |  string str = gtk_entry_get_text(GTK_ENTRY(w));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:23481:107: error: 'str' was not declared in this scope; did you mean 'std'?
23481 |  gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(unitedit_builder, "unit_edit_box_reversed")), str.find("\\x") != string::npos);
      |                                                                                                           ^~~
      |                                                                                                           std
callbacks.cc:23481:126: error: 'string' is not a class, namespace, or enumeration
23481 |  gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(unitedit_builder, "unit_edit_box_reversed")), str.find("\\x") != string::npos);
      |                                                                                                                              ^~~~~~
callbacks.cc: In function 'void correct_name_entry(GtkEditable*, ExpressionItemType, gpointer)':
callbacks.cc:23485:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
23485 |  string str = gtk_entry_get_text(GTK_ENTRY(editable));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:23486:5: error: 'str' was not declared in this scope; did you mean 'std'?
23486 |  if(str.empty()) return;
      |     ^~~
      |     std
callbacks.cc:23487:20: error: 'str' was not declared in this scope; did you mean 'std'?
23487 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc: In function 'void on_unit_edit_combo_system_changed(GtkComboBox*, gpointer)':
callbacks.cc:23566:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
23566 |  string str = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(om));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:23567:5: error: 'str' was not declared in this scope; did you mean 'std'?
23567 |  if(str == "SI" || str == "CGS") {
      |     ^~~
      |     std
callbacks.cc: In function 'void on_units_button_new_clicked(GtkButton*, gpointer)':
callbacks.cc:23576:5: error: 'selected_unit_category' was not declared in this scope
23576 |  if(selected_unit_category.empty() || selected_unit_category[0] != '/') {
      |     ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_units_button_convert_to_clicked(GtkButton*, gpointer)':
callbacks.cc:23615:46: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
23615 |   executeCommand(COMMAND_CONVERT_UNIT, true, "", u);
      |                                              ^~
      |                                              |
      |                                              const char*
callbacks.cc:8869:64: note:   initializing argument 3 of 'void executeCommand(int, bool, int, Unit*, int)'
 8869 | void executeCommand(int command_type, bool show_result, string ceu_str, Unit *u, int run) {
      |                                                         ~~~~~~~^~~~~~~
callbacks.cc: In function 'void on_units_button_delete_clicked(GtkButton*, gpointer)':
callbacks.cc:23633:25: error: 'recent_units' was not declared in this scope
23633 |   for(size_t i = 0; i < recent_units.size(); i++) {
      |                         ^~~~~~~~~~~~
callbacks.cc:23636:24: error: 'recent_unit_items' was not declared in this scope
23636 |     gtk_widget_destroy(recent_unit_items[i]);
      |                        ^~~~~~~~~~~~~~~~~
callbacks.cc:23647:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
23647 |    string str = selected_unit_category;
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:23649:7: error: 'str' was not declared in this scope; did you mean 'std'?
23649 |    if(str == selected_unit_category) gtk_tree_selection_select_path(gtk_tree_view_get_selection(GTK_TREE_VIEW(tUnits)), path);
      |       ^~~
      |       std
callbacks.cc:23649:14: error: 'selected_unit_category' was not declared in this scope
23649 |    if(str == selected_unit_category) gtk_tree_selection_select_path(gtk_tree_view_get_selection(GTK_TREE_VIEW(tUnits)), path);
      |              ^~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void on_variables_button_new_clicked(GtkButton*, gpointer)':
callbacks.cc:23661:5: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
23661 |  if(selected_variable_category.empty() || selected_variable_category[0] != '/') {
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_variable
callbacks.cc: In function 'void on_variables_button_delete_clicked(GtkButton*, gpointer)':
callbacks.cc:23714:25: error: 'recent_variables' was not declared in this scope; did you mean 'delete_variable'?
23714 |   for(size_t i = 0; i < recent_variables.size(); i++) {
      |                         ^~~~~~~~~~~~~~~~
      |                         delete_variable
callbacks.cc:23717:24: error: 'recent_variable_items' was not declared in this scope
23717 |     gtk_widget_destroy(recent_variable_items[i]);
      |                        ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:23729:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
23729 |    string str = selected_variable_category;
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:23731:7: error: 'str' was not declared in this scope; did you mean 'std'?
23731 |    if(str == selected_variable_category) gtk_tree_selection_select_path(gtk_tree_view_get_selection(GTK_TREE_VIEW(tVariables)), path);
      |       ^~~
      |       std
callbacks.cc:23731:14: error: 'selected_variable_category' was not declared in this scope; did you mean 'selected_variable'?
23731 |    if(str == selected_variable_category) gtk_tree_selection_select_path(gtk_tree_view_get_selection(GTK_TREE_VIEW(tVariables)), path);
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |              selected_variable
callbacks.cc: In function 'void on_functions_button_new_clicked(GtkButton*, gpointer)':
callbacks.cc:23762:5: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
23762 |  if(selected_function_category.empty() || selected_function_category[0] != '/') {
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     selected_function
callbacks.cc: In function 'void on_functions_button_delete_clicked(GtkButton*, gpointer)':
callbacks.cc:23802:25: error: 'recent_functions' was not declared in this scope; did you mean 'edit_function'?
23802 |   for(size_t i = 0; i < recent_functions.size(); i++) {
      |                         ^~~~~~~~~~~~~~~~
      |                         edit_function
callbacks.cc:23805:24: error: 'recent_function_items' was not declared in this scope
23805 |     gtk_widget_destroy(recent_function_items[i]);
      |                        ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc:23816:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
23816 |    string str = selected_function_category;
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:23818:7: error: 'str' was not declared in this scope; did you mean 'std'?
23818 |    if(str == selected_function_category) {
      |       ^~~
      |       std
callbacks.cc:23818:14: error: 'selected_function_category' was not declared in this scope; did you mean 'selected_function'?
23818 |    if(str == selected_function_category) {
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |              selected_function
callbacks.cc: In function 'void on_datasets_button_delset_clicked(GtkButton*, gpointer)':
callbacks.cc:23843:25: error: 'recent_functions' was not declared in this scope; did you mean 'edit_function'?
23843 |   for(size_t i = 0; i < recent_functions.size(); i++) {
      |                         ^~~~~~~~~~~~~~~~
      |                         edit_function
callbacks.cc:23846:24: error: 'recent_function_items' was not declared in this scope
23846 |     gtk_widget_destroy(recent_function_items[i]);
      |                        ^~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'gboolean on_tMatrixEdit_editable_key_press_event(GtkWidget*, GdkEventKey*, gpointer)':
callbacks.cc:23940:28: error: 'matrix_edit_columns' was not declared in this scope
23940 |      for(size_t i = 0; i < matrix_edit_columns.size(); i++) {
      |                            ^~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'gboolean on_tMatrixEdit_key_press_event(GtkWidget*, GdkEventKey*, gpointer)':
callbacks.cc:23996:28: error: 'matrix_edit_columns' was not declared in this scope
23996 |      for(size_t i = 0; i < matrix_edit_columns.size(); i++) {
      |                            ^~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'gboolean on_tMatrixEdit_cursor_changed(GtkTreeView*, gpointer)':
callbacks.cc:24076:60: error: 'matrix_edit_columns' was not declared in this scope; did you mean 'matrix_edit_prev_column'?
24076 |      pos_str = g_strdup_printf("%i", (int) (i_column + 1 + matrix_edit_columns.size() * gtk_tree_path_get_indices(path)[0]));
      |                                                            ^~~~~~~~~~~~~~~~~~~
      |                                                            matrix_edit_prev_column
callbacks.cc: In function 'void on_matrix_edit_spinbutton_columns_value_changed(GtkSpinButton*, gpointer)':
callbacks.cc:24090:11: error: 'matrix_edit_columns' was not declared in this scope; did you mean 'matrix_edit_prev_column'?
24090 |  gint c = matrix_edit_columns.size();
      |           ^~~~~~~~~~~~~~~~~~~
      |           matrix_edit_prev_column
callbacks.cc: In function 'void on_matrix_edit_spinbutton_rows_value_changed(GtkSpinButton*, gpointer)':
callbacks.cc:24129:11: error: 'matrix_edit_columns' was not declared in this scope; did you mean 'matrix_edit_prev_column'?
24129 |  gint c = matrix_edit_columns.size();
      |           ^~~~~~~~~~~~~~~~~~~
      |           matrix_edit_prev_column
callbacks.cc: In function 'gboolean on_tMatrix_editable_key_press_event(GtkWidget*, GdkEventKey*, gpointer)':
callbacks.cc:24169:28: error: 'matrix_columns' was not declared in this scope
24169 |      for(size_t i = 0; i < matrix_columns.size(); i++) {
      |                            ^~~~~~~~~~~~~~
callbacks.cc: In function 'gboolean on_tMatrix_key_press_event(GtkWidget*, GdkEventKey*, gpointer)':
callbacks.cc:24225:28: error: 'matrix_columns' was not declared in this scope
24225 |      for(size_t i = 0; i < matrix_columns.size(); i++) {
      |                            ^~~~~~~~~~~~~~
callbacks.cc: In function 'gboolean on_tMatrix_cursor_changed(GtkTreeView*, gpointer)':
callbacks.cc:24305:60: error: 'matrix_columns' was not declared in this scope; did you mean 'matrix_prev_column'?
24305 |      pos_str = g_strdup_printf("%i", (int) (i_column + 1 + matrix_columns.size() * gtk_tree_path_get_indices(path)[0]));
      |                                                            ^~~~~~~~~~~~~~
      |                                                            matrix_prev_column
callbacks.cc: In function 'void on_matrix_spinbutton_columns_value_changed(GtkSpinButton*, gpointer)':
callbacks.cc:24319:11: error: 'matrix_columns' was not declared in this scope; did you mean 'matrix_prev_column'?
24319 |  gint c = matrix_columns.size();
      |           ^~~~~~~~~~~~~~
      |           matrix_prev_column
callbacks.cc: In function 'void on_matrix_spinbutton_rows_value_changed(GtkSpinButton*, gpointer)':
callbacks.cc:24357:11: error: 'matrix_columns' was not declared in this scope; did you mean 'matrix_prev_column'?
24357 |  gint c = matrix_columns.size();
      |           ^~~~~~~~~~~~~~
      |           matrix_prev_column
callbacks.cc: At global scope:
callbacks.cc:24379:1: error: 'vector' does not name a type; did you mean 'Vector'?
24379 | vector<int> percentage_entries_changes;
      | ^~~~~~
      | Vector
callbacks.cc: In function 'void on_percentage_button_clear_clicked(GtkWidget*, gpointer)':
callbacks.cc:24384:2: error: 'percentage_entries_changes' was not declared in this scope
24384 |  percentage_entries_changes.clear();
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
callbacks.cc: In function 'void percentage_entry_changed(int, GtkEntry*)':
callbacks.cc:24394:24: error: 'percentage_entries_changes' was not declared in this scope; did you mean 'percentage_entry_changed'?
24394 |  for(size_t i = 0; i < percentage_entries_changes.size(); i++) {
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                        percentage_entry_changed
callbacks.cc:24401:2: error: 'percentage_entries_changes' was not declared in this scope; did you mean 'percentage_entry_changed'?
24401 |  percentage_entries_changes.push_back(entry_id);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |  percentage_entry_changed
callbacks.cc: In function 'void update_percentage_entries()':
callbacks.cc:24419:5: error: 'percentage_entries_changes' was not declared in this scope; did you mean 'percentage_entry_changed'?
24419 |  if(percentage_entries_changes.size() < 2) return;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |     percentage_entry_changed
callbacks.cc:24420:16: error: 'percentage_entries_changes' was not declared in this scope; did you mean 'percentage_entry_changed'?
24420 |  int variant = percentage_entries_changes[percentage_entries_changes.size() - 1];
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                percentage_entry_changed
callbacks.cc:24445:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
24445 |  string str1, str2;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:24447:12: error: 'str1' was not declared in this scope
24447 |   case 3: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w2)); break;}
      |            ^~~~
callbacks.cc:24447:54: error: 'str2' was not declared in this scope
24447 |   case 3: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w2)); break;}
      |                                                      ^~~~
callbacks.cc:24448:12: error: 'str1' was not declared in this scope
24448 |   case 5: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w3)); break;}
      |            ^~~~
callbacks.cc:24448:54: error: 'str2' was not declared in this scope
24448 |   case 5: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w3)); break;}
      |                                                      ^~~~
callbacks.cc:24449:12: error: 'str1' was not declared in this scope
24449 |   case 9: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w4)); break;}
      |            ^~~~
callbacks.cc:24449:54: error: 'str2' was not declared in this scope
24449 |   case 9: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w4)); break;}
      |                                                      ^~~~
callbacks.cc:24450:13: error: 'str1' was not declared in this scope
24450 |   case 17: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w5)); break;}
      |             ^~~~
callbacks.cc:24450:55: error: 'str2' was not declared in this scope
24450 |   case 17: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w5)); break;}
      |                                                       ^~~~
callbacks.cc:24451:13: error: 'str1' was not declared in this scope
24451 |   case 33: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w6)); break;}
      |             ^~~~
callbacks.cc:24451:55: error: 'str2' was not declared in this scope
24451 |   case 33: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w6)); break;}
      |                                                       ^~~~
callbacks.cc:24452:13: error: 'str1' was not declared in this scope
24452 |   case 65: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w7)); break;}
      |             ^~~~
callbacks.cc:24452:55: error: 'str2' was not declared in this scope
24452 |   case 65: {str1 = gtk_entry_get_text(GTK_ENTRY(w1)); str2 = gtk_entry_get_text(GTK_ENTRY(w7)); break;}
      |                                                       ^~~~
callbacks.cc:24453:12: error: 'str1' was not declared in this scope
24453 |   case 6: {str1 = gtk_entry_get_text(GTK_ENTRY(w2)); str2 = gtk_entry_get_text(GTK_ENTRY(w3)); break;}
      |            ^~~~
callbacks.cc:24453:54: error: 'str2' was not declared in this scope
24453 |   case 6: {str1 = gtk_entry_get_text(GTK_ENTRY(w2)); str2 = gtk_entry_get_text(GTK_ENTRY(w3)); break;}
      |                                                      ^~~~
callbacks.cc:24454:13: error: 'str1' was not declared in this scope
24454 |   case 10: {str1 = gtk_entry_get_text(GTK_ENTRY(w2)); str2 = gtk_entry_get_text(GTK_ENTRY(w4)); break;}
      |             ^~~~
callbacks.cc:24454:55: error: 'str2' was not declared in this scope
24454 |   case 10: {str1 = gtk_entry_get_text(GTK_ENTRY(w2)); str2 = gtk_entry_get_text(GTK_ENTRY(w4)); break;}
      |                                                       ^~~~
callbacks.cc:24455:13: error: 'str1' was not declared in this scope
24455 |   case 18: {str1 = gtk_entry_get_text(GTK_ENTRY(w2)); str2 = gtk_entry_get_text(GTK_ENTRY(w5)); break;}
      |             ^~~~
callbacks.cc:24455:55: error: 'str2' was not declared in this scope
24455 |   case 18: {str1 = gtk_entry_get_text(GTK_ENTRY(w2)); str2 = gtk_entry_get_text(GTK_ENTRY(w5)); break;}
      |                                                       ^~~~
callbacks.cc:24456:13: error: 'str1' was not declared in this scope
24456 |   case 34: {str1 = gtk_entry_get_text(GTK_ENTRY(w2)); str2 = gtk_entry_get_text(GTK_ENTRY(w6)); break;}
      |             ^~~~
callbacks.cc:24456:55: error: 'str2' was not declared in this scope
24456 |   case 34: {str1 = gtk_entry_get_text(GTK_ENTRY(w2)); str2 = gtk_entry_get_text(GTK_ENTRY(w6)); break;}
      |                                                       ^~~~
callbacks.cc:24457:13: error: 'str1' was not declared in this scope
24457 |   case 66: {str1 = gtk_entry_get_text(GTK_ENTRY(w2)); str2 = gtk_entry_get_text(GTK_ENTRY(w7)); break;}
      |             ^~~~
callbacks.cc:24457:55: error: 'str2' was not declared in this scope
24457 |   case 66: {str1 = gtk_entry_get_text(GTK_ENTRY(w2)); str2 = gtk_entry_get_text(GTK_ENTRY(w7)); break;}
      |                                                       ^~~~
callbacks.cc:24458:13: error: 'str1' was not declared in this scope
24458 |   case 12: {str1 = gtk_entry_get_text(GTK_ENTRY(w3)); str2 = gtk_entry_get_text(GTK_ENTRY(w4)); break;}
      |             ^~~~
callbacks.cc:24458:55: error: 'str2' was not declared in this scope
24458 |   case 12: {str1 = gtk_entry_get_text(GTK_ENTRY(w3)); str2 = gtk_entry_get_text(GTK_ENTRY(w4)); break;}
      |                                                       ^~~~
callbacks.cc:24459:13: error: 'str1' was not declared in this scope
24459 |   case 20: {str1 = gtk_entry_get_text(GTK_ENTRY(w3)); str2 = gtk_entry_get_text(GTK_ENTRY(w5)); break;}
      |             ^~~~
callbacks.cc:24459:55: error: 'str2' was not declared in this scope
24459 |   case 20: {str1 = gtk_entry_get_text(GTK_ENTRY(w3)); str2 = gtk_entry_get_text(GTK_ENTRY(w5)); break;}
      |                                                       ^~~~
callbacks.cc:24460:13: error: 'str1' was not declared in this scope
24460 |   case 36: {str1 = gtk_entry_get_text(GTK_ENTRY(w3)); str2 = gtk_entry_get_text(GTK_ENTRY(w6)); break;}
      |             ^~~~
callbacks.cc:24460:55: error: 'str2' was not declared in this scope
24460 |   case 36: {str1 = gtk_entry_get_text(GTK_ENTRY(w3)); str2 = gtk_entry_get_text(GTK_ENTRY(w6)); break;}
      |                                                       ^~~~
callbacks.cc:24461:13: error: 'str1' was not declared in this scope
24461 |   case 68: {str1 = gtk_entry_get_text(GTK_ENTRY(w3)); str2 = gtk_entry_get_text(GTK_ENTRY(w7)); break;}
      |             ^~~~
callbacks.cc:24461:55: error: 'str2' was not declared in this scope
24461 |   case 68: {str1 = gtk_entry_get_text(GTK_ENTRY(w3)); str2 = gtk_entry_get_text(GTK_ENTRY(w7)); break;}
      |                                                       ^~~~
callbacks.cc:24466:65: error: 'str1' was not declared in this scope
24466 |   m1_pre.set(CALCULATOR->parse(CALCULATOR->unlocalizeExpression(str1)));
      |                                                                 ^~~~
callbacks.cc:24467:65: error: 'str2' was not declared in this scope
24467 |   m2_pre.set(CALCULATOR->parse(CALCULATOR->unlocalizeExpression(str2)));
      |                                                                 ^~~~
callbacks.cc: In function 'void update_nbases_entries(const MathStructure&, int)':
callbacks.cc:24583:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
24583 |  string str;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:24584:32: error: 'str' was not declared in this scope; did you mean 'std'?
24584 |  if(base != 10) {po.base = 10; str = value.isAborted() ? CALCULATOR->timedOutString().c_str() : CALCULATOR->print(value, 200, po); if(str.length() > 1000) {str = _("result is too long");} gtk_entry_set_text(GTK_ENTRY(w_dec), str.c_str());}
      |                                ^~~
      |                                std
callbacks.cc:24585:30: error: 'str' was not declared in this scope; did you mean 'std'?
24585 |  if(base != 8) {po.base = 8; str = value.isAborted() ? CALCULATOR->timedOutString().c_str() : CALCULATOR->print(value, 200, po); if(str.length() > 1000) {str = _("result is too long");} gtk_entry_set_text(GTK_ENTRY(w_oct), str.c_str());}
      |                              ^~~
      |                              std
callbacks.cc:24586:32: error: 'str' was not declared in this scope; did you mean 'std'?
24586 |  if(base != 12) {po.base = 12; str = value.isAborted() ? CALCULATOR->timedOutString().c_str() : CALCULATOR->print(value, 200, po); if(str.length() > 1000) {str = _("result is too long");} gtk_entry_set_text(GTK_ENTRY(w_duo), str.c_str());}
      |                                ^~~
      |                                std
callbacks.cc:24587:32: error: 'str' was not declared in this scope; did you mean 'std'?
24587 |  if(base != 16) {po.base = 16; str = value.isAborted() ? CALCULATOR->timedOutString().c_str() : CALCULATOR->print(value, 200, po); if(str.length() > 1000) {str = _("result is too long");} gtk_entry_set_text(GTK_ENTRY(w_hex), str.c_str());}
      |                                ^~~
      |                                std
callbacks.cc:24599:69: error: 'str' was not declared in this scope; did you mean 'std'?
24599 |  if(base != 2) {po.base = 2; po.base_display = BASE_DISPLAY_NORMAL; str = value.isAborted() ? CALCULATOR->timedOutString().c_str() : CALCULATOR->print(value, 200, po); if(str.length() > 1000) {str = _("result is too long");} gtk_entry_set_text(GTK_ENTRY(w_bin), str.c_str());}
      |                                                                     ^~~
      |                                                                     std
callbacks.cc:24625:9: error: expected ';' before 'sfull'
24625 |   string sfull;
      |         ^~~~~~
      |         ;
callbacks.cc:24631:20: error: 'sfull' was not declared in this scope
24631 |     if(index == 1) sfull = "• " + sfull;
      |                    ^~~~~
callbacks.cc:24632:5: error: 'sfull' was not declared in this scope
24632 |     sfull += "\n• ";
      |     ^~~~~
callbacks.cc:24634:4: error: 'sfull' was not declared in this scope
24634 |    sfull += CALCULATOR->message()->message();
      |    ^~~~~
callbacks.cc:24641:120: error: 'sfull' was not declared in this scope
24641 |   if(base == 2) gtk_widget_set_tooltip_text(GTK_WIDGET(gtk_builder_get_object(nbases_builder, "nbases_label_binary")), sfull.c_str());
      |                                                                                                                        ^~~~~
callbacks.cc:24642:124: error: 'sfull' was not declared in this scope
24642 |   else if(base == 8) gtk_widget_set_tooltip_text(GTK_WIDGET(gtk_builder_get_object(nbases_builder, "nbases_label_octal")), sfull.c_str());
      |                                                                                                                            ^~~~~
callbacks.cc:24643:127: error: 'sfull' was not declared in this scope
24643 |   else if(base == 10) gtk_widget_set_tooltip_text(GTK_WIDGET(gtk_builder_get_object(nbases_builder, "nbases_label_decimal")), sfull.c_str());
      |                                                                                                                               ^~~~~
callbacks.cc:24644:130: error: 'sfull' was not declared in this scope
24644 |   else if(base == 12) gtk_widget_set_tooltip_text(GTK_WIDGET(gtk_builder_get_object(nbases_builder, "nbases_label_duodecimal")), sfull.c_str());
      |                                                                                                                                  ^~~~~
callbacks.cc:24645:131: error: 'sfull' was not declared in this scope
24645 |   else if(base == 16) gtk_widget_set_tooltip_text(GTK_WIDGET(gtk_builder_get_object(nbases_builder, "nbases_label_hexadecimal")), sfull.c_str());
      |                                                                                                                                   ^~~~~
callbacks.cc:24646:142: error: 'sfull' was not declared in this scope
24646 |   else if(base == BASE_ROMAN_NUMERALS) gtk_widget_set_tooltip_text(GTK_WIDGET(gtk_builder_get_object(nbases_builder, "nbases_label_roman")), sfull.c_str());
      |                                                                                                                                              ^~~~~
callbacks.cc:24647:53: error: 'sfull' was not declared in this scope
24647 |   if(base == 10) gtk_widget_set_tooltip_text(w_dec, sfull.c_str());
      |                                                     ^~~~~
callbacks.cc:24648:57: error: 'sfull' was not declared in this scope
24648 |   else if(base == 2) gtk_widget_set_tooltip_text(w_bin, sfull.c_str());
      |                                                         ^~~~~
callbacks.cc:24649:57: error: 'sfull' was not declared in this scope
24649 |   else if(base == 8) gtk_widget_set_tooltip_text(w_oct, sfull.c_str());
      |                                                         ^~~~~
callbacks.cc:24650:58: error: 'sfull' was not declared in this scope
24650 |   else if(base == 12) gtk_widget_set_tooltip_text(w_duo, sfull.c_str());
      |                                                          ^~~~~
callbacks.cc:24651:58: error: 'sfull' was not declared in this scope
24651 |   else if(base == 16) gtk_widget_set_tooltip_text(w_hex, sfull.c_str());
      |                                                          ^~~~~
callbacks.cc:24652:77: error: 'sfull' was not declared in this scope
24652 |   else if(base == BASE_ROMAN_NUMERALS) gtk_widget_set_tooltip_text(w_roman, sfull.c_str());
      |                                                                             ^~~~~
callbacks.cc:24654:10: error: expected ';' before 'str'
24654 |    string str = "<span foreground=\"";
      |          ^~~~
      |          ;
callbacks.cc:24655:39: error: 'str' was not declared in this scope; did you mean 'std'?
24655 |    if(mtype_highest == MESSAGE_ERROR) str += nbases_error_color;
      |                                       ^~~
      |                                       std
callbacks.cc:24655:46: error: 'nbases_error_color' was not declared in this scope
24655 |    if(mtype_highest == MESSAGE_ERROR) str += nbases_error_color;
      |                                              ^~~~~~~~~~~~~~~~~~
callbacks.cc:24656:9: error: 'str' was not declared in this scope; did you mean 'std'?
24656 |    else str += nbases_warning_color;
      |         ^~~
      |         std
callbacks.cc:24656:16: error: 'nbases_warning_color' was not declared in this scope; did you mean 'history_warning_color'?
24656 |    else str += nbases_warning_color;
      |                ^~~~~~~~~~~~~~~~~~~~
      |                history_warning_color
callbacks.cc:24657:4: error: 'str' was not declared in this scope; did you mean 'std'?
24657 |    str += "\">";
      |    ^~~
      |    std
callbacks.cc: In function 'void on_nbases_entry_decimal_changed(GtkEditable*, gpointer)':
callbacks.cc:24679:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
24679 |  string str = gtk_entry_get_text(GTK_ENTRY(editable));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:24680:20: error: 'str' was not declared in this scope; did you mean 'std'?
24680 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:24682:31: error: 'last_is_operator' cannot be used as a function
24682 |  if(last_is_operator(str, true)) return;
      |                               ^
callbacks.cc: In function 'void on_nbases_entry_binary_changed(GtkEditable*, gpointer)':
callbacks.cc:24696:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
24696 |  string str = gtk_entry_get_text(GTK_ENTRY(editable));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:24697:20: error: 'str' was not declared in this scope; did you mean 'std'?
24697 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:24699:25: error: 'last_is_operator' cannot be used as a function
24699 |  if(last_is_operator(str)) return;
      |                         ^
callbacks.cc: In function 'void on_nbases_entry_octal_changed(GtkEditable*, gpointer)':
callbacks.cc:24715:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
24715 |  string str = gtk_entry_get_text(GTK_ENTRY(editable));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:24716:20: error: 'str' was not declared in this scope; did you mean 'std'?
24716 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:24718:25: error: 'last_is_operator' cannot be used as a function
24718 |  if(last_is_operator(str)) return;
      |                         ^
callbacks.cc: In function 'void on_nbases_entry_hexadecimal_changed(GtkEditable*, gpointer)':
callbacks.cc:24733:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
24733 |  string str = gtk_entry_get_text(GTK_ENTRY(editable));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:24734:20: error: 'str' was not declared in this scope; did you mean 'std'?
24734 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:24736:25: error: 'last_is_operator' cannot be used as a function
24736 |  if(last_is_operator(str)) return;
      |                         ^
callbacks.cc: In function 'void on_nbases_entry_duo_changed(GtkEditable*, gpointer)':
callbacks.cc:24753:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
24753 |  string str = gtk_entry_get_text(GTK_ENTRY(editable));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:24754:20: error: 'str' was not declared in this scope; did you mean 'std'?
24754 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:24756:25: error: 'last_is_operator' cannot be used as a function
24756 |  if(last_is_operator(str)) return;
      |                         ^
callbacks.cc: In function 'void on_nbases_entry_roman_changed(GtkEditable*, gpointer)':
callbacks.cc:24771:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
24771 |  string str = gtk_entry_get_text(GTK_ENTRY(editable));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:24772:20: error: 'str' was not declared in this scope; did you mean 'std'?
24772 |  remove_blank_ends(str);
      |                    ^~~
      |                    std
callbacks.cc:24774:25: error: 'last_is_operator' cannot be used as a function
24774 |  if(last_is_operator(str) && (str[str.length() - 1] != '|' || str.find('|') == str.length() - 1)) return;
      |                         ^
callbacks.cc: In function 'void on_nbases_button_del_clicked(GtkToggleButton*, gpointer)':
callbacks.cc:25099:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
25099 |  string str = gtk_entry_get_text(GTK_ENTRY(w));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:25101:5: error: 'str' was not declared in this scope; did you mean 'std'?
25101 |  if(str == gtk_entry_get_text(GTK_ENTRY(w))) gtk_editable_delete_text(GTK_EDITABLE(w), i1 - 1, i2 - 1);
      |     ^~~
      |     std
callbacks.cc: In function 'gboolean on_units_convert_to_button_key_press_event(GtkWidget*, GdkEventKey*, gpointer)':
callbacks.cc:25332:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
25332 |    string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(units_builder, "units_convert_search")));
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:25333:7: error: 'str' was not declared in this scope; did you mean 'std'?
25333 |    if(str.length() > 0) {
      |       ^~~
      |       std
callbacks.cc:25424:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
25424 |   string str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(units_builder, "units_convert_search")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:25425:3: error: 'str' was not declared in this scope; did you mean 'std'?
25425 |   str += buffer;
      |   ^~~
      |   std
callbacks.cc: In function 'gboolean on_expressiontext_key_press_event(GtkWidget*, GdkEventKey*, gpointer)':
callbacks.cc:25760:44: error: 'expression_history' was not declared in this scope; did you mean 'expression_redo'?
25760 |    if(expression_history_index + 1 < (int) expression_history.size()) {
      |                                            ^~~~~~~~~~~~~~~~~~
      |                                            expression_redo
callbacks.cc:25812:26: error: 'expression_history' was not declared in this scope; did you mean 'expression_redo'?
25812 |      set_expression_text(expression_history[expression_history_index].c_str());
      |                          ^~~~~~~~~~~~~~~~~~
      |                          expression_redo
callbacks.cc: In function 'void on_csv_import_button_file_clicked(GtkButton*, gpointer)':
callbacks.cc:26003:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
26003 |  string filestr = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(csvimport_builder, "csv_import_entry_file")));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26004:20: error: 'filestr' was not declared in this scope
26004 |  remove_blank_ends(filestr);
      |                    ^~~~~~~
callbacks.cc:26009:9: error: expected ';' before 'name_str'
26009 |   string name_str = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(csvimport_builder, "csv_import_entry_name")));
      |         ^~~~~~~~~
      |         ;
callbacks.cc:26010:21: error: 'name_str' was not declared in this scope
26010 |   remove_blank_ends(name_str);
      |                     ^~~~~~~~
callbacks.cc:26014:12: error: 'string' is not a class, namespace, or enumeration
26014 |    if(i != string::npos) name_str = name_str.substr(i + 1, name_str.length() - i);
      |            ^~~~~~
callbacks.cc:26016:12: error: 'string' is not a class, namespace, or enumeration
26016 |    if(i != string::npos) name_str = name_str.substr(0, i);
      |            ^~~~~~
callbacks.cc: In function 'void on_csv_export_button_file_clicked(GtkButton*, gpointer)':
callbacks.cc:26028:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
26028 |  string filestr = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(csvexport_builder, "csv_export_entry_file")));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26029:20: error: 'filestr' was not declared in this scope
26029 |  remove_blank_ends(filestr);
      |                    ^~~~~~~
callbacks.cc: In function 'void on_type_label_file_clicked(GtkButton*, gpointer)':
callbacks.cc:26059:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
26059 |  string filestr = gtk_entry_get_text(GTK_ENTRY(user_data));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26060:20: error: 'filestr' was not declared in this scope
26060 |  remove_blank_ends(filestr);
      |                    ^~~~~~~
callbacks.cc: In function 'void on_function_edit_button_add_subfunction_clicked(GtkButton*, gpointer)':
callbacks.cc:26099:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
26099 |  string str = "\\";
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26101:2: error: 'str' was not declared in this scope; did you mean 'std'?
26101 |  str += i2s(last_subfunction_index);
      |  ^~~
      |  std
callbacks.cc: In function 'void on_function_edit_button_remove_subfunction_clicked(GtkButton*, gpointer)':
callbacks.cc:26131:4: error: 'string' was not declared in this scope; did you mean 'std::string'?
26131 |    string str = "\\";
      |    ^~~~~~
      |    std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26132:4: error: 'str' was not declared in this scope; did you mean 'std'?
26132 |    str += i2s(index);
      |    ^~~
      |    std
callbacks.cc: In function 'void on_variable_edit_button_names_clicked(GtkButton*, gpointer)':
callbacks.cc:26294:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
26294 |     string str;\
      |     ^~~~~~
callbacks.cc:26294:5: note: in definition of macro 'SET_NAMES_LE'
26294 |     string str;\
      |     ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26303:7: error: 'str' was not declared in this scope; did you mean 'gstr'?
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26303:7: note: in definition of macro 'SET_NAMES_LE'
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26313:65: error: 'str' was not declared in this scope; did you mean 'std'?
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc:26313:65: note: in definition of macro 'SET_NAMES_LE'
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc: In function 'void on_unknown_edit_button_names_clicked(GtkButton*, gpointer)':
callbacks.cc:26294:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
26294 |     string str;\
      |     ^~~~~~
callbacks.cc:26294:5: note: in definition of macro 'SET_NAMES_LE'
26294 |     string str;\
      |     ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26303:7: error: 'str' was not declared in this scope; did you mean 'gstr'?
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26303:7: note: in definition of macro 'SET_NAMES_LE'
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26313:65: error: 'str' was not declared in this scope; did you mean 'std'?
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc:26313:65: note: in definition of macro 'SET_NAMES_LE'
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc: In function 'void on_matrix_edit_button_names_clicked(GtkButton*, gpointer)':
callbacks.cc:26294:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
26294 |     string str;\
      |     ^~~~~~
callbacks.cc:26294:5: note: in definition of macro 'SET_NAMES_LE'
26294 |     string str;\
      |     ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26303:7: error: 'str' was not declared in this scope; did you mean 'gstr'?
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26303:7: note: in definition of macro 'SET_NAMES_LE'
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26313:65: error: 'str' was not declared in this scope; did you mean 'std'?
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc:26313:65: note: in definition of macro 'SET_NAMES_LE'
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc: In function 'void on_function_edit_button_names_clicked(GtkButton*, gpointer)':
callbacks.cc:26294:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
26294 |     string str;\
      |     ^~~~~~
callbacks.cc:26294:5: note: in definition of macro 'SET_NAMES_LE'
26294 |     string str;\
      |     ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26303:7: error: 'str' was not declared in this scope; did you mean 'gstr'?
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26303:7: note: in definition of macro 'SET_NAMES_LE'
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26313:65: error: 'str' was not declared in this scope; did you mean 'std'?
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc:26313:65: note: in definition of macro 'SET_NAMES_LE'
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc: In function 'void on_unit_edit_button_names_clicked(GtkButton*, gpointer)':
callbacks.cc:26294:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
26294 |     string str;\
      |     ^~~~~~
callbacks.cc:26294:5: note: in definition of macro 'SET_NAMES_LE'
26294 |     string str;\
      |     ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26303:7: error: 'str' was not declared in this scope; did you mean 'gstr'?
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26303:7: note: in definition of macro 'SET_NAMES_LE'
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26313:65: error: 'str' was not declared in this scope; did you mean 'std'?
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc:26313:65: note: in definition of macro 'SET_NAMES_LE'
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc: At global scope:
callbacks.cc:26430:40: error: 'vector' has not been declared
26430 | bool generate_plot(PlotParameters &pp, vector<MathStructure> &y_vectors, vector<MathStructure> &x_vectors, vector<PlotDataParameters*> &pdps) {
      |                                        ^~~~~~
callbacks.cc:26430:46: error: expected ',' or '...' before '<' token
26430 | bool generate_plot(PlotParameters &pp, vector<MathStructure> &y_vectors, vector<MathStructure> &x_vectors, vector<PlotDataParameters*> &pdps) {
      |                                              ^
callbacks.cc: In function 'bool generate_plot(PlotParameters&, int)':
callbacks.cc:26447:7: error: 'y_vectors' was not declared in this scope; did you mean 'y_vector'?
26447 |       y_vectors.push_back(m_undefined);
      |       ^~~~~~~~~
      |       y_vector
callbacks.cc:26449:7: error: 'x_vectors' was not declared in this scope; did you mean 'x_vector'?
26449 |       x_vectors.push_back(m_undefined);
      |       ^~~~~~~~~
      |       x_vector
callbacks.cc:26454:7: error: 'y_vectors' was not declared in this scope; did you mean 'y_vector'?
26454 |       y_vectors.push_back(m_undefined);
      |       ^~~~~~~~~
      |       y_vector
callbacks.cc:26456:7: error: 'x_vectors' was not declared in this scope; did you mean 'x_vector'?
26456 |       x_vectors.push_back(m_undefined);
      |       ^~~~~~~~~
      |       x_vector
callbacks.cc:26461:5: error: 'y_vectors' was not declared in this scope; did you mean 'y_vector'?
26461 |     y_vectors.push_back(*y_vector);
      |     ^~~~~~~~~
      |     y_vector
callbacks.cc:26462:5: error: 'x_vectors' was not declared in this scope; did you mean 'x_vector'?
26462 |     x_vectors.push_back(m_undefined);
      |     ^~~~~~~~~
      |     x_vector
callbacks.cc:26464:5: error: 'y_vectors' was not declared in this scope; did you mean 'y_vector'?
26464 |     y_vectors.push_back(*y_vector);
      |     ^~~~~~~~~
      |     y_vector
callbacks.cc:26466:5: error: 'x_vectors' was not declared in this scope; did you mean 'x_vector'?
26466 |     x_vectors.push_back(m_undefined);
      |     ^~~~~~~~~
      |     x_vector
callbacks.cc:26473:7: error: 'y_vectors' was not declared in this scope; did you mean 'y_vector'?
26473 |       y_vectors.push_back(m_undefined);
      |       ^~~~~~~~~
      |       y_vector
callbacks.cc:26475:7: error: 'x_vectors' was not declared in this scope; did you mean 'x_vector'?
26475 |       x_vectors.push_back(m_undefined);
      |       ^~~~~~~~~
      |       x_vector
callbacks.cc:26481:7: error: 'y_vectors' was not declared in this scope; did you mean 'y_vector'?
26481 |       y_vectors.push_back(m_undefined);
      |       ^~~~~~~~~
      |       y_vector
callbacks.cc:26483:7: error: 'x_vectors' was not declared in this scope; did you mean 'x_vector'?
26483 |       x_vectors.push_back(m_undefined);
      |       ^~~~~~~~~
      |       x_vector
callbacks.cc:26489:5: error: 'y_vectors' was not declared in this scope; did you mean 'y_vector'?
26489 |     y_vectors.push_back(*y_vector);
      |     ^~~~~~~~~
      |     y_vector
callbacks.cc:26490:5: error: 'x_vectors' was not declared in this scope; did you mean 'x_vector'?
26490 |     x_vectors.push_back(m_undefined);
      |     ^~~~~~~~~
      |     x_vector
callbacks.cc:26492:5: error: 'y_vectors' was not declared in this scope; did you mean 'y_vector'?
26492 |     y_vectors.push_back(*y_vector);
      |     ^~~~~~~~~
      |     y_vector
callbacks.cc:26494:5: error: 'x_vectors' was not declared in this scope; did you mean 'x_vector'?
26494 |     x_vectors.push_back(m_undefined);
      |     ^~~~~~~~~
      |     x_vector
callbacks.cc:26497:4: error: 'y_vectors' was not declared in this scope; did you mean 'y_vector'?
26497 |    y_vectors.push_back(*y_vector);
      |    ^~~~~~~~~
      |    y_vector
callbacks.cc:26498:4: error: 'x_vectors' was not declared in this scope; did you mean 'x_vector'?
26498 |    x_vectors.push_back(*x_vector);
      |    ^~~~~~~~~
      |    x_vector
callbacks.cc:26530:4: error: 'pdps' was not declared in this scope; did you mean 'pdp'?
26530 |    pdps.push_back(pdp);
      |    ^~~~
      |    pdp
callbacks.cc: In function 'void on_plot_button_save_clicked(GtkButton*, gpointer)':
callbacks.cc:26583:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
26583 |  string title = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_plottitle")));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26584:5: error: 'title' was not declared in this scope
26584 |  if(title.empty()) {
      |     ^~~~~
callbacks.cc:26591:3: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
26591 |   vector<MathStructure> y_vectors;
      |   ^~~~~~
      |   std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:26591:23: error: expected primary-expression before '>' token
26591 |   vector<MathStructure> y_vectors;
      |                       ^
callbacks.cc:26591:25: error: 'y_vectors' was not declared in this scope
26591 |   vector<MathStructure> y_vectors;
      |                         ^~~~~~~~~
callbacks.cc:26592:23: error: expected primary-expression before '>' token
26592 |   vector<MathStructure> x_vectors;
      |                       ^
callbacks.cc:26592:25: error: 'x_vectors' was not declared in this scope
26592 |   vector<MathStructure> x_vectors;
      |                         ^~~~~~~~~
callbacks.cc:26593:28: error: expected primary-expression before '*' token
26593 |   vector<PlotDataParameters*> pdps;
      |                            ^
callbacks.cc:26593:29: error: expected primary-expression before '>' token
26593 |   vector<PlotDataParameters*> pdps;
      |                             ^
callbacks.cc:26593:31: error: 'pdps' was not declared in this scope
26593 |   vector<PlotDataParameters*> pdps;
      |                               ^~~~
callbacks.cc: In function 'void update_plot()':
callbacks.cc:26610:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
26610 |  vector<MathStructure> y_vectors;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:26610:22: error: expected primary-expression before '>' token
26610 |  vector<MathStructure> y_vectors;
      |                      ^
callbacks.cc:26610:24: error: 'y_vectors' was not declared in this scope
26610 |  vector<MathStructure> y_vectors;
      |                        ^~~~~~~~~
callbacks.cc:26611:22: error: expected primary-expression before '>' token
26611 |  vector<MathStructure> x_vectors;
      |                      ^
callbacks.cc:26611:24: error: 'x_vectors' was not declared in this scope
26611 |  vector<MathStructure> x_vectors;
      |                        ^~~~~~~~~
callbacks.cc:26612:27: error: expected primary-expression before '*' token
26612 |  vector<PlotDataParameters*> pdps;
      |                           ^
callbacks.cc:26612:28: error: expected primary-expression before '>' token
26612 |  vector<PlotDataParameters*> pdps;
      |                            ^
callbacks.cc:26612:30: error: 'pdps' was not declared in this scope
26612 |  vector<PlotDataParameters*> pdps;
      |                              ^~~~
callbacks.cc: At global scope:
callbacks.cc:26629:89: error: 'string' has not been declared
26629 | void generate_plot_series(MathStructure **x_vector, MathStructure **y_vector, int type, string str, string str_x) {
      |                                                                                         ^~~~~~
callbacks.cc:26629:101: error: 'string' has not been declared
26629 | void generate_plot_series(MathStructure **x_vector, MathStructure **y_vector, int type, string str, string str_x) {
      |                                                                                                     ^~~~~~
callbacks.cc: In function 'void generate_plot_series(MathStructure**, MathStructure**, int, int, int)':
callbacks.cc:26638:73: error: cannot convert 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
26638 |   if(!CALCULATOR->calculate(*y_vector, CALCULATOR->unlocalizeExpression(str, evalops.parse_options), 5000, eo)) {
      |                                                                         ^~~
      |                                                                         |
      |                                                                         int
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:17,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:709:47: note:   initializing argument 1 of 'std::string Calculator::unlocalizeExpression(std::string, const ParseOptions&) const'
  709 |  std::string unlocalizeExpression(std::string str, const ParseOptions &po = default_parse_options) const;
      |                                   ~~~~~~~~~~~~^~~
callbacks.cc:26666:301: error: no matching function for call to 'Calculator::expressionToPlotVector(int&, MathStructure&, MathStructure&, MathStructure, MathStructure*&, int&, ParseOptions&, int)'
26666 |    *y_vector = new MathStructure(CALCULATOR->expressionToPlotVector(str, min, max, CALCULATOR->calculate(CALCULATOR->unlocalizeExpression(gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_step"))), evalops.parse_options), eo), *x_vector, str_x, evalops.parse_options, 5000));
      |                                                                                                                                                                                                                                                                                                             ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:17,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1222:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, const MathStructure&, const MathStructure&, int, bool, MathStructure*, std::string, const ParseOptions&, int)'
 1222 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, int steps, bool separate_complex_part, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1222:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1222 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, int steps, bool separate_complex_part, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1223:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, const MathStructure&, const MathStructure&, int, MathStructure*, std::string, const ParseOptions&, int)'
 1223 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, int steps, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1223:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1223 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, int steps, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1224:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, float, float, int, MathStructure*, std::string, const ParseOptions&, int)'
 1224 |  MathStructure expressionToPlotVector(std::string expression, float min, float max, int steps, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1224:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1224 |  MathStructure expressionToPlotVector(std::string expression, float min, float max, int steps, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1225:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, const MathStructure&, const MathStructure&, const MathStructure&, bool, MathStructure*, std::string, const ParseOptions&, int)'
 1225 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, const MathStructure &step, bool separate_complex_part, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1225:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1225 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, const MathStructure &step, bool separate_complex_part, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1226:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, const MathStructure&, const MathStructure&, const MathStructure&, MathStructure*, std::string, const ParseOptions&, int)'
 1226 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, const MathStructure &step, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1226:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1226 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, const MathStructure &step, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1227:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, float, float, float, MathStructure*, std::string, const ParseOptions&, int)'
 1227 |  MathStructure expressionToPlotVector(std::string expression, float min, float max, float step, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1227:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1227 |  MathStructure expressionToPlotVector(std::string expression, float min, float max, float step, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1228:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, const MathStructure&, std::string, const ParseOptions&, int)'
 1228 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &x_vector, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1228:16: note:   candidate expects 5 arguments, 8 provided
callbacks.cc:26668:243: error: no matching function for call to 'Calculator::expressionToPlotVector(int&, MathStructure&, MathStructure&, gint, MathStructure*&, int&, ParseOptions&, int)'
26668 |    *y_vector = new MathStructure(CALCULATOR->expressionToPlotVector(str, min, max, gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(gtk_builder_get_object(plot_builder, "plot_spinbutton_steps"))), *x_vector, str_x, evalops.parse_options, 5000));
      |                                                                                                                                                                                                                                                   ^
In file included from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:17,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1222:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, const MathStructure&, const MathStructure&, int, bool, MathStructure*, std::string, const ParseOptions&, int)'
 1222 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, int steps, bool separate_complex_part, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1222:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1222 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, int steps, bool separate_complex_part, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1223:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, const MathStructure&, const MathStructure&, int, MathStructure*, std::string, const ParseOptions&, int)'
 1223 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, int steps, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1223:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1223 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, int steps, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1224:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, float, float, int, MathStructure*, std::string, const ParseOptions&, int)'
 1224 |  MathStructure expressionToPlotVector(std::string expression, float min, float max, int steps, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1224:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1224 |  MathStructure expressionToPlotVector(std::string expression, float min, float max, int steps, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1225:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, const MathStructure&, const MathStructure&, const MathStructure&, bool, MathStructure*, std::string, const ParseOptions&, int)'
 1225 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, const MathStructure &step, bool separate_complex_part, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1225:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1225 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, const MathStructure &step, bool separate_complex_part, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1226:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, const MathStructure&, const MathStructure&, const MathStructure&, MathStructure*, std::string, const ParseOptions&, int)'
 1226 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, const MathStructure &step, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1226:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1226 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &min, const MathStructure &max, const MathStructure &step, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1227:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, float, float, float, MathStructure*, std::string, const ParseOptions&, int)'
 1227 |  MathStructure expressionToPlotVector(std::string expression, float min, float max, float step, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1227:51: note:   no known conversion for argument 1 from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
 1227 |  MathStructure expressionToPlotVector(std::string expression, float min, float max, float step, MathStructure *x_vector = NULL, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1228:16: note: candidate: 'MathStructure Calculator::expressionToPlotVector(std::string, const MathStructure&, std::string, const ParseOptions&, int)'
 1228 |  MathStructure expressionToPlotVector(std::string expression, const MathStructure &x_vector, std::string x_var = "\\x", const ParseOptions &po = default_parse_options, int msecs = 5000);
      |                ^~~~~~~~~~~~~~~~~~~~~~
/pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/Calculator.h:1228:16: note:   candidate expects 5 arguments, 8 provided
callbacks.cc: In function 'void on_plot_button_add_clicked(GtkButton*, gpointer)':
callbacks.cc:26676:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
26676 |  string expression = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_expression")));
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26677:5: error: 'expression' was not declared in this scope; did you mean 'f_expression'?
26677 |  if(expression.find_first_not_of(SPACES) == string::npos) {
      |     ^~~~~~~~~~
      |     f_expression
callbacks.cc:26677:45: error: 'string' is not a class, namespace, or enumeration
26677 |  if(expression.find_first_not_of(SPACES) == string::npos) {
      |                                             ^~~~~~
callbacks.cc:26683:8: error: expected ';' before 'title'
26683 |  string title = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_title")));
      |        ^~~~~~
      |        ;
callbacks.cc:26689:8: error: expected ';' before 'str_x'
26689 |  string str_x = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_variable")));
      |        ^~~~~~
      |        ;
callbacks.cc:26690:20: error: 'str_x' was not declared in this scope
26690 |  remove_blank_ends(str_x);
      |                    ^~~~~
callbacks.cc:26699:33: error: 'title' was not declared in this scope
26699 |  if((type == 1 || type == 2) && title.empty()) {
      |                                 ^~~~~
callbacks.cc:26700:47: error: 'expression' was not declared in this scope; did you mean 'f_expression'?
26700 |   Variable *v = CALCULATOR->getActiveVariable(expression);
      |                                               ^~~~~~~~~~
      |                                               f_expression
callbacks.cc:26706:51: error: 'expression' was not declared in this scope; did you mean 'f_expression'?
26706 |  generate_plot_series(&x_vector, &y_vector, type, expression, str_x);
      |                                                   ^~~~~~~~~~
      |                                                   f_expression
callbacks.cc:26710:53: error: 'title' was not declared in this scope
26710 |  gtk_list_store_set(tPlotFunctions_store, &iter, 0, title.c_str(), 1, expression.c_str(), 2, gtk_combo_box_get_active(GTK_COMBO_BOX(gtk_builder_get_object(plot_builder, "plot_combobox_style"))), 3, gtk_combo_box_get_active(GTK_COMBO_BOX(gtk_builder_get_object(plot_builder, "plot_combobox_smoothing"))), 4, type, 5, axis, 6, rows, 7, x_vector, 8, y_vector, 9, str_x.c_str(), -1);
      |                                                     ^~~~~
callbacks.cc: In function 'void on_plot_button_modify_clicked(GtkButton*, gpointer)':
callbacks.cc:26721:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
26721 |   string expression = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_expression")));
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26722:6: error: 'expression' was not declared in this scope; did you mean 'f_expression'?
26722 |   if(expression.find_first_not_of(SPACES) == string::npos) {
      |      ^~~~~~~~~~
      |      f_expression
callbacks.cc:26722:46: error: 'string' is not a class, namespace, or enumeration
26722 |   if(expression.find_first_not_of(SPACES) == string::npos) {
      |                                              ^~~~~~
callbacks.cc:26728:9: error: expected ';' before 'title'
26728 |   string title = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_title")));
      |         ^~~~~~
      |         ;
callbacks.cc:26734:9: error: expected ';' before 'str_x'
26734 |   string str_x = gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(plot_builder, "plot_entry_variable")));
      |         ^~~~~~
      |         ;
callbacks.cc:26735:21: error: 'str_x' was not declared in this scope
26735 |   remove_blank_ends(str_x);
      |                     ^~~~~
callbacks.cc:26744:34: error: 'title' was not declared in this scope
26744 |   if((type == 1 || type == 2) && title.empty()) {
      |                                  ^~~~~
callbacks.cc:26745:48: error: 'expression' was not declared in this scope; did you mean 'f_expression'?
26745 |    Variable *v = CALCULATOR->getActiveVariable(expression);
      |                                                ^~~~~~~~~~
      |                                                f_expression
callbacks.cc:26756:52: error: 'expression' was not declared in this scope; did you mean 'f_expression'?
26756 |   generate_plot_series(&x_vector, &y_vector, type, expression, str_x);
      |                                                    ^~~~~~~~~~
      |                                                    f_expression
callbacks.cc:26758:54: error: 'title' was not declared in this scope
26758 |   gtk_list_store_set(tPlotFunctions_store, &iter, 0, title.c_str(), 1, expression.c_str(), 2, gtk_combo_box_get_active(GTK_COMBO_BOX(gtk_builder_get_object(plot_builder, "plot_combobox_style"))), 3, gtk_combo_box_get_active(GTK_COMBO_BOX(gtk_builder_get_object(plot_builder, "plot_combobox_smoothing"))), 4, type, 5, axis, 6, rows, 7, x_vector, 8, y_vector, 9, str_x.c_str(), -1);
      |                                                      ^~~~~
callbacks.cc: In function 'void on_plot_button_range_apply_clicked(GtkButton*, gpointer)':
callbacks.cc:26833:52: error: invalid conversion from 'gchar*' {aka 'char*'} to 'int' [-fpermissive]
26833 |   generate_plot_series(&x_vector, &y_vector, type, gstr2, gstr3);
      |                                                    ^~~~~
      |                                                    |
      |                                                    gchar* {aka char*}
callbacks.cc:26629:96: note:   initializing argument 4 of 'void generate_plot_series(MathStructure**, MathStructure**, int, int, int)'
26629 | void generate_plot_series(MathStructure **x_vector, MathStructure **y_vector, int type, string str, string str_x) {
      |                                                                                         ~~~~~~~^~~
callbacks.cc:26833:59: error: invalid conversion from 'gchar*' {aka 'char*'} to 'int' [-fpermissive]
26833 |   generate_plot_series(&x_vector, &y_vector, type, gstr2, gstr3);
      |                                                           ^~~~~
      |                                                           |
      |                                                           gchar* {aka char*}
callbacks.cc:26629:108: note:   initializing argument 5 of 'void generate_plot_series(MathStructure**, MathStructure**, int, int, int)'
26629 | void generate_plot_series(MathStructure **x_vector, MathStructure **y_vector, int type, string str, string str_x) {
      |                                                                                                     ~~~~~~~^~~~~
callbacks.cc: In function 'void convert_from_convert_entry_unit()':
callbacks.cc:26847:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
26847 |  string ceu_str = CALCULATOR->unlocalizeExpression(gtk_entry_get_text(GTK_ENTRY(gtk_builder_get_object(main_builder, "convert_entry_unit"))), evalops.parse_options);
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26848:134: error: 'ceu_str' was not declared in this scope; did you mean 'eqstr'?
26848 |  if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(main_builder, "convert_button_set_missing_prefixes"))) && !ceu_str.empty()) {
      |                                                                                                                                      ^~~~~~~
      |                                                                                                                                      eqstr
callbacks.cc:26858:47: error: 'ceu_str' was not declared in this scope; did you mean 'eqstr'?
26858 |  executeCommand(COMMAND_CONVERT_STRING, true, ceu_str);
      |                                               ^~~~~~~
      |                                               eqstr
callbacks.cc: At global scope:
callbacks.cc:26877:1: error: 'vector' does not name a type; did you mean 'Vector'?
26877 | vector<GtkWidget*> ewindows;
      | ^~~~~~
      | Vector
callbacks.cc:26878:1: error: 'vector' does not name a type; did you mean 'Vector'?
26878 | vector<DataObject*> eobjects;
      | ^~~~~~
      | Vector
callbacks.cc: In function 'void on_element_button_function_clicked(GtkButton*, gpointer)':
callbacks.cc:26885:24: error: 'ewindows' was not declared in this scope
26885 |  for(size_t i = 0; i < ewindows.size(); i++) {
      |                        ^~~~~~~~
callbacks.cc:26887:8: error: 'eobjects' was not declared in this scope
26887 |    o = eobjects[i];
      |        ^~~~~~~~
callbacks.cc:26893:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
26893 |   string str = ds->preferredInputName(printops.abbreviate_names, printops.use_unicode_signs, false, false, &can_display_unicode_string_function, (void*) expressiontext).name;
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26894:3: error: 'str' was not declared in this scope; did you mean 'std'?
26894 |   str += "(";
      |   ^~~
      |   std
callbacks.cc: In function 'void on_element_button_close_clicked(GtkButton*, gpointer)':
callbacks.cc:26905:24: error: 'ewindows' was not declared in this scope
26905 |  for(size_t i = 0; i < ewindows.size(); i++) {
      |                        ^~~~~~~~
callbacks.cc:26908:4: error: 'eobjects' was not declared in this scope
26908 |    eobjects.erase(eobjects.begin() + i);
      |    ^~~~~~~~
callbacks.cc: In function 'void on_element_button_clicked(GtkButton*, gpointer)':
callbacks.cc:26920:3: error: 'ewindows' was not declared in this scope
26920 |   ewindows.push_back(dialog);
      |   ^~~~~~~~
callbacks.cc:26921:3: error: 'eobjects' was not declared in this scope
26921 |   eobjects.push_back(e);
      |   ^~~~~~~~
callbacks.cc:26941:3: error: 'string' was not declared in this scope; did you mean 'std::string'?
26941 |   string str = "<span size=\"large\">"; str += e->getProperty(p_number); str += "</span>";
      |   ^~~~~~
      |   std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26941:41: error: 'str' was not declared in this scope; did you mean 'std'?
26941 |   string str = "<span size=\"large\">"; str += e->getProperty(p_number); str += "</span>";
      |                                         ^~~
      |                                         std
callbacks.cc:26988:9: error: expected ';' before 'sval'
26988 |   string sval;
      |         ^~~~~
      |         ;
callbacks.cc:26991:5: error: 'sval' was not declared in this scope
26991 |     sval = e->getPropertyDisplayString(dp);
      |     ^~~~
callbacks.cc: In function 'void on_dataset_edit_button_new_property_clicked(GtkButton*, gpointer)':
callbacks.cc:27022:3: error: 'tmp_props' was not declared in this scope
27022 |   tmp_props.push_back(dp);
      |   ^~~~~~~~~
callbacks.cc:27023:3: error: 'tmp_props_orig' was not declared in this scope
27023 |   tmp_props_orig.push_back(NULL);
      |   ^~~~~~~~~~~~~~
callbacks.cc: In function 'void on_dataset_edit_button_del_property_clicked(GtkButton*, gpointer)':
callbacks.cc:27040:25: error: 'tmp_props' was not declared in this scope
27040 |   for(size_t i = 0; i < tmp_props.size(); i++) {
      |                         ^~~~~~~~~
callbacks.cc:27042:8: error: 'tmp_props_orig' was not declared in this scope
27042 |     if(tmp_props_orig[i]) {
      |        ^~~~~~~~~~~~~~
callbacks.cc: In function 'void on_dataset_edit_button_names_clicked(GtkButton*, gpointer)':
callbacks.cc:26294:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
26294 |     string str;\
      |     ^~~~~~
callbacks.cc:26294:5: note: in definition of macro 'SET_NAMES_LE'
26294 |     string str;\
      |     ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26303:7: error: 'str' was not declared in this scope; did you mean 'gstr'?
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26303:7: note: in definition of macro 'SET_NAMES_LE'
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26313:65: error: 'str' was not declared in this scope; did you mean 'std'?
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc:26313:65: note: in definition of macro 'SET_NAMES_LE'
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc: In function 'void on_dataproperty_edit_button_names_clicked(GtkButton*, gpointer)':
callbacks.cc:26294:5: error: 'string' was not declared in this scope; did you mean 'std::string'?
26294 |     string str;\
      |     ^~~~~~
callbacks.cc:26294:5: note: in definition of macro 'SET_NAMES_LE'
26294 |     string str;\
      |     ^~~~~~
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:26303:7: error: 'str' was not declared in this scope; did you mean 'gstr'?
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26303:7: note: in definition of macro 'SET_NAMES_LE'
26303 |       str += "+ ";\
      |       ^~~
callbacks.cc:26313:65: error: 'str' was not declared in this scope; did you mean 'std'?
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc:26313:65: note: in definition of macro 'SET_NAMES_LE'
26313 |     gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(x, z)), str.c_str());
      |                                                                 ^~~
callbacks.cc: In function 'void on_menu_item_set_unknowns_activate(GtkMenuItem*, gpointer)':
callbacks.cc:27083:2: error: 'vector' was not declared in this scope; did you mean 'std::vector'?
27083 |  vector<GtkWidget*> entry;
      |  ^~~~~~
      |  std::vector
In file included from /usr/include/g++/vector:67,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/includes.h:17,
                 from /pbulk/work/math/qalculate-gtk/work/.x11-buildlink/include/libqalculate/qalculate.h:15,
                 from main.h:33,
                 from callbacks.h:27,
                 from callbacks.cc:28:
/usr/include/g++/bits/stl_vector.h:389:11: note: 'std::vector' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
callbacks.cc:27083:18: error: expected primary-expression before '*' token
27083 |  vector<GtkWidget*> entry;
      |                  ^
callbacks.cc:27083:19: error: expected primary-expression before '>' token
27083 |  vector<GtkWidget*> entry;
      |                   ^
callbacks.cc:27083:21: error: 'entry' was not declared in this scope
27083 |  vector<GtkWidget*> entry;
      |                     ^~~~~
callbacks.cc:27100:2: error: 'string' was not declared in this scope; did you mean 'std::string'?
27100 |  string result_save = result_text;
      |  ^~~~~~
      |  std::string
In file included from /usr/include/g++/iosfwd:39,
                 from /usr/include/g++/ios:38,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/fstream:38,
                 from callbacks.cc:25:
/usr/include/g++/bits/stringfwd.h:79:33: note: 'std::string' declared here
   79 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
callbacks.cc:27103:17: error: 'unknown_text' was not declared in this scope
27103 |  vector<string> unknown_text;
      |                 ^~~~~~~~~~~~
callbacks.cc:27109:10: error: expected ';' before 'str'
27109 |    string str, result_mod = "";
      |          ^~~~
      |          ;
callbacks.cc:27112:5: error: 'str' was not declared in this scope; did you mean 'std'?
27112 |     str = gtk_entry_get_text(GTK_ENTRY(entry[i]));
      |     ^~~
      |     std
callbacks.cc:27115:10: error: 'result_mod' was not declared in this scope
27115 |      if(!result_mod.empty()) {
      |          ^~~~~~~~~~
callbacks.cc:27128:6: error: 'result_mod' was not declared in this scope
27128 |      result_mod += unknowns[i].print().c_str();
      |      ^~~~~~~~~~
callbacks.cc:27149:45: error: 'result_mod' was not declared in this scope
27149 |     executeCommand(COMMAND_TRANSFORM, true, result_mod);
      |                                             ^~~~~~~~~~
callbacks.cc:27153:41: error: 'result_mod' was not declared in this scope
27153 |     setResult(NULL, true, false, false, result_mod);
      |                                         ^~~~~~~~~~
callbacks.cc:27163:11: error: expected ';' before 'result_mod'
27163 |     string result_mod = "";
      |           ^~~~~~~~~~~
      |           ;
callbacks.cc:27167:11: error: 'result_mod' was not declared in this scope
27167 |       if(!result_mod.empty()) {
      |           ^~~~~~~~~~
callbacks.cc:27171:7: error: 'result_mod' was not declared in this scope
27171 |       result_mod += unknowns[i].print().c_str();
      |       ^~~~~~~~~~
callbacks.cc:27177:41: error: 'result_mod' was not declared in this scope
27177 |     setResult(NULL, true, false, false, result_mod);
      |                                         ^~~~~~~~~~
gmake[2]: *** [Makefile:515: callbacks.o] Error 1
gmake[2]: Leaving directory '/pbulk/work/math/qalculate-gtk/work/qalculate-gtk-3.5.0/src'
gmake[1]: *** [Makefile:442: all-recursive] Error 1
gmake[1]: Leaving directory '/pbulk/work/math/qalculate-gtk/work/qalculate-gtk-3.5.0'
gmake: *** [Makefile:374: all] Error 2
*** Error code 2

Stop.
make[1]: stopped in /usr/pkgsrc/math/qalculate-gtk
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/math/qalculate-gtk