aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/qreg.h
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2024-09-09 00:03:33 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2024-09-09 18:22:21 +0200
commit41ab5cf0289dab60ac1ddc97cf9680ee2468ea6c (patch)
tree5497c50c7319bd08121afb09d627297ea2b9e17a /src/qreg.h
parent850fa38db9063e4bd52fba80588bfd3969ff0910 (diff)
downloadsciteco-41ab5cf0289dab60ac1ddc97cf9680ee2468ea6c.tar.gz
Xq and ]q inherit the document encoding from the source document (refs #5)
* ^Uq however always sets an UTF8 register as the source is supposed to be a SciTECO macro which is always UTF-8. * :^Uq preserves the register's encoding * teco_doc_set_string() now also sets the encoding * instead of trying to restore the encoding in teco_doc_undo_set_string(), we now swap out the document in a teco_doc_t and pass it to an undo token. * The get_codepage() Q-Reg method has been removed as the same can now be done with teco_doc_get_string() and the get_string() method.
Diffstat (limited to 'src/qreg.h')
-rw-r--r--src/qreg.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/qreg.h b/src/qreg.h
index f87b877..8c8764e 100644
--- a/src/qreg.h
+++ b/src/qreg.h
@@ -41,19 +41,22 @@ extern teco_view_t *teco_qreg_view;
* FIXME: Use TECO_DECLARE_VTABLE_METHOD(gboolean, teco_qreg, set_integer, teco_qreg_t *, teco_int_t, GError **);
* ...
* teco_qreg_set_integer_t set_integer;
+ * ...
+ * teco_qreg_set_integer(qreg, 23, error);
*/
typedef const struct {
gboolean (*set_integer)(teco_qreg_t *qreg, teco_int_t value, GError **error);
gboolean (*undo_set_integer)(teco_qreg_t *qreg, GError **error);
gboolean (*get_integer)(teco_qreg_t *qreg, teco_int_t *ret, GError **error);
- guint (*get_codepage)(teco_qreg_t *qreg);
- gboolean (*set_string)(teco_qreg_t *qreg, const gchar *str, gsize len, GError **error);
+ gboolean (*set_string)(teco_qreg_t *qreg, const gchar *str, gsize len,
+ guint codepage, GError **error);
gboolean (*undo_set_string)(teco_qreg_t *qreg, GError **error);
gboolean (*append_string)(teco_qreg_t *qreg, const gchar *str, gsize len, GError **error);
gboolean (*undo_append_string)(teco_qreg_t *qreg, GError **error);
- gboolean (*get_string)(teco_qreg_t *qreg, gchar **str, gsize *len, GError **error);
+ gboolean (*get_string)(teco_qreg_t *qreg, gchar **str, gsize *len,
+ guint *codepage, GError **error);
gboolean (*get_character)(teco_qreg_t *qreg, teco_int_t position,
teco_int_t *chr, GError **error);
/* always returns length in glyphs in contrast to get_string() */