[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-commit] qemacs bufed.c hex.c list.c qe.c video.c clang....
From: |
Charlie Gordon |
Subject: |
[Qemacs-commit] qemacs bufed.c hex.c list.c qe.c video.c clang.... |
Date: |
Thu, 29 May 2014 10:26:16 +0000 |
CVSROOT: /sources/qemacs
Module name: qemacs
Changes by: Charlie Gordon <chqrlie> 14/05/29 10:26:16
Modified files:
. : bufed.c hex.c list.c qe.c video.c clang.c
html.c makemode.c qe.h dired.c image.c
markdown.c shell.c docbook.c lisp.c mpeg.c
unihex.c
Log message:
simplify mode init/close
* always regsister callbacks on s->top and s->top_offset
* handle saved_data generically, remove window callback
this will be replaced with view history mecanism.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/bufed.c?cvsroot=qemacs&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/qemacs/hex.c?cvsroot=qemacs&r1=1.41&r2=1.42
http://cvs.savannah.gnu.org/viewcvs/qemacs/list.c?cvsroot=qemacs&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.176&r2=1.177
http://cvs.savannah.gnu.org/viewcvs/qemacs/video.c?cvsroot=qemacs&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/qemacs/clang.c?cvsroot=qemacs&r1=1.70&r2=1.71
http://cvs.savannah.gnu.org/viewcvs/qemacs/html.c?cvsroot=qemacs&r1=1.32&r2=1.33
http://cvs.savannah.gnu.org/viewcvs/qemacs/makemode.c?cvsroot=qemacs&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.h?cvsroot=qemacs&r1=1.176&r2=1.177
http://cvs.savannah.gnu.org/viewcvs/qemacs/dired.c?cvsroot=qemacs&r1=1.47&r2=1.48
http://cvs.savannah.gnu.org/viewcvs/qemacs/image.c?cvsroot=qemacs&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/qemacs/markdown.c?cvsroot=qemacs&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/qemacs/shell.c?cvsroot=qemacs&r1=1.91&r2=1.92
http://cvs.savannah.gnu.org/viewcvs/qemacs/docbook.c?cvsroot=qemacs&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/qemacs/lisp.c?cvsroot=qemacs&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/qemacs/mpeg.c?cvsroot=qemacs&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/qemacs/unihex.c?cvsroot=qemacs&r1=1.26&r2=1.27
Patches:
Index: bufed.c
===================================================================
RCS file: /sources/qemacs/qemacs/bufed.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- bufed.c 27 May 2014 12:05:52 -0000 1.30
+++ bufed.c 29 May 2014 10:26:13 -0000 1.31
@@ -346,11 +346,12 @@
b->close = NULL;
}
-static int bufed_mode_init(EditState *s, ModeSavedData *saved_data)
+static int bufed_mode_init(EditState *s)
{
BufedState *bs;
- list_mode.mode_init(s, saved_data);
+ if (list_mode.mode_init)
+ list_mode.mode_init(s);
if (s->b->priv_data) {
bs = s->b->priv_data;
Index: hex.c
===================================================================
RCS file: /sources/qemacs/qemacs/hex.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- hex.c 29 May 2014 06:32:21 -0000 1.41
+++ hex.c 29 May 2014 10:26:13 -0000 1.42
@@ -153,14 +153,12 @@
CMD_DEF_END,
};
-static int binary_mode_init(EditState *s, ModeSavedData *saved_data)
+static int binary_mode_init(EditState *s)
{
QEFont *font;
QEStyleDef style;
int num_width;
- text_mode_init(s, saved_data);
-
/* get typical number width */
get_style(s, &style, s->default_style);
font = select_font(s->screen, style.font_style, style.font_size);
@@ -178,10 +176,8 @@
return 0;
}
-static int hex_mode_init(EditState *s, ModeSavedData *saved_data)
+static int hex_mode_init(EditState *s)
{
- text_mode_init(s, saved_data);
-
s->disp_width = 16;
s->hex_mode = 1;
s->unihex_mode = 0;
Index: list.c
===================================================================
RCS file: /sources/qemacs/qemacs/list.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- list.c 27 May 2014 12:05:54 -0000 1.15
+++ list.c 29 May 2014 10:26:14 -0000 1.16
@@ -88,10 +88,8 @@
text_move_up_down(s, 1);
}
-static int list_mode_init(EditState *s, ModeSavedData *saved_data)
+static int list_mode_init(EditState *s)
{
- text_mode_init(s, saved_data);
-
s->wrap = WRAP_TRUNCATE;
s->get_colorized_line = list_get_colorized_line;
return 0;
Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.176
retrieving revision 1.177
diff -u -b -r1.176 -r1.177
--- qe.c 27 May 2014 22:59:49 -0000 1.176
+++ qe.c 29 May 2014 10:26:14 -0000 1.177
@@ -58,7 +58,7 @@
static StringArray *get_history(const char *name);
static void qe_key_process(int key);
-ModeSavedData *generic_mode_save_data(EditState *s);
+static ModeSavedData *generic_mode_save_data(EditState *s);
static void generic_text_display(EditState *s);
static void display1(DisplayState *s);
#ifndef CONFIG_TINY
@@ -113,14 +113,8 @@
}
/* add missing functions */
- if (!m->mode_init)
- m->mode_init = text_mode_init;
- if (!m->mode_close)
- m->mode_close = text_mode_close;
if (!m->display)
m->display = generic_text_display;
- if (!m->mode_save_data)
- m->mode_save_data = generic_mode_save_data;
if (!m->data_type)
m->data_type = &raw_data_type;
if (!m->get_mode_line)
@@ -1760,11 +1754,13 @@
/* save mode data if necessary */
s->interactive = 0;
if (!saved_data) {
- saved_data = s->mode->mode_save_data(s);
+ saved_data = generic_mode_save_data(s);
if (saved_data)
saved_data_allocated = 1;
}
+ if (s->mode->mode_close)
s->mode->mode_close(s);
+ generic_mode_close(s);
qe_free(&s->mode_data);
s->mode = NULL;
set_colorize_func(s, NULL);
@@ -1832,7 +1828,9 @@
s->mode_flags = 0;
/* init mode */
- m->mode_init(s, saved_data);
+ generic_mode_init(s, saved_data);
+ if (m->mode_init)
+ m->mode_init(s);
if (m->colorize_func)
set_colorize_func(s, m->colorize_func);
/* modify offset_top so that its value is correct */
@@ -4744,7 +4742,7 @@
if (!(b1->flags & BF_TRANSIENT)) {
qe_free(&b1->saved_data);
b1->saved_mode = s->mode;
- b1->saved_data = s->mode->mode_save_data(s);
+ b1->saved_data = generic_mode_save_data(s);
}
}
/* now we can close the mode */
@@ -4766,7 +4764,7 @@
}
if (e) {
mode = e->mode;
- saved_data = e->mode->mode_save_data(e);
+ saved_data = generic_mode_save_data(e);
saved_data_allocated = 1;
} else {
mode = b->saved_mode;
@@ -7468,7 +7466,7 @@
return 20;
}
-int text_mode_init(EditState *s, ModeSavedData *saved_data)
+int generic_mode_init(EditState *s, ModeSavedData *saved_data)
{
if (saved_data) {
memcpy(s, saved_data->generic_data, SAVED_DATA_SIZE);
@@ -7502,7 +7500,7 @@
return saved_data;
}
-void text_mode_close(EditState *s)
+void generic_mode_close(EditState *s)
{
/* free all callbacks or associated buffer data */
set_colorize_func(s, NULL);
@@ -7513,8 +7511,6 @@
ModeDef text_mode = {
.name = "text",
.mode_probe = text_mode_probe,
- .mode_init = text_mode_init,
- .mode_close = text_mode_close,
.text_display = text_display,
.text_backward_offset = text_backward_offset,
Index: video.c
===================================================================
RCS file: /sources/qemacs/qemacs/video.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- video.c 27 May 2014 12:05:55 -0000 1.18
+++ video.c 29 May 2014 10:26:14 -0000 1.19
@@ -789,7 +789,7 @@
is->paused = !is->paused;
}
-static int video_mode_init(EditState *s, ModeSavedData *saved_data)
+static int video_mode_init(EditState *s)
{
VideoState *is = s->mode_data;
QEmacsState *qs = s->qe_state;
Index: clang.c
===================================================================
RCS file: /sources/qemacs/qemacs/clang.c,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -b -r1.70 -r1.71
--- clang.c 27 May 2014 22:59:48 -0000 1.70
+++ clang.c 29 May 2014 10:26:14 -0000 1.71
@@ -1340,12 +1340,10 @@
return 1;
}
-static int c_mode_init(EditState *s, ModeSavedData *saved_data)
+static int c_mode_init(EditState *s)
{
const char *base = get_basename(s->b->filename);
- text_mode.mode_init(s, saved_data);
-
/* Select C like flavor */
if (match_extension(base, "c|h|i|C|H|I")) {
s->mode_flags = CLANG_C | CLANG_CC;
Index: html.c
===================================================================
RCS file: /sources/qemacs/qemacs/html.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- html.c 27 May 2014 12:05:54 -0000 1.32
+++ html.c 29 May 2014 10:26:14 -0000 1.33
@@ -776,22 +776,11 @@
/* graphical XML/CSS mode init. is_html is TRUE to tell that specific HTML
quirks are needed in the parser. */
int gxml_mode_init(EditState *s,
- ModeSavedData *saved_data,
int flags, const char *default_stylesheet)
{
HTMLState *hs = s->mode_data;
- /* XXX: should register callbacks for s->offset and s->top_offset? */
-
- if (saved_data) {
- memcpy(s, saved_data->generic_data, SAVED_DATA_SIZE);
- } else {
- memset(s, 0, SAVED_DATA_SIZE);
- s->insert = 1;
- s->indent_size = 4;
- s->default_style = QE_STYLE_DEFAULT;
- s->wrap = WRAP_LINE;
- }
+ /* XXX: unregister callbacks for s->offset and s->top_offset ? */
eb_add_callback(s->b, html_callback, s, 0);
hs->parse_flags = flags;
@@ -802,10 +791,9 @@
return 0;
}
-static int html_mode_init(EditState *s, ModeSavedData *saved_data)
+static int html_mode_init(EditState *s)
{
- return gxml_mode_init(s, saved_data,
- XML_HTML | XML_HTML_SYNTAX | XML_IGNORE_CASE,
+ return gxml_mode_init(s, XML_HTML | XML_HTML_SYNTAX | XML_IGNORE_CASE,
html_style);
}
Index: makemode.c
===================================================================
RCS file: /sources/qemacs/qemacs/makemode.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- makemode.c 27 May 2014 12:05:55 -0000 1.18
+++ makemode.c 29 May 2014 10:26:14 -0000 1.19
@@ -165,9 +165,8 @@
static ModeDef makefile_mode;
-static int makefile_mode_init(EditState *s, ModeSavedData *saved_data)
+static int makefile_mode_init(EditState *s)
{
- text_mode_init(s, saved_data);
s->b->tab_width = 8;
s->indent_tabs_mode = 1;
return 0;
Index: qe.h
===================================================================
RCS file: /sources/qemacs/qemacs/qe.h,v
retrieving revision 1.176
retrieving revision 1.177
diff -u -b -r1.176 -r1.177
--- qe.h 27 May 2014 12:05:56 -0000 1.176
+++ qe.h 29 May 2014 10:26:14 -0000 1.177
@@ -1132,7 +1132,7 @@
EditBuffer *b;
- /* state before line n, one byte per line */
+ /* state before line n, one short per line */
unsigned short *colorize_states;
int colorize_nb_lines;
int colorize_nb_valid_lines;
@@ -1225,11 +1225,8 @@
/* return the percentage of confidence */
int (*mode_probe)(ModeDef *, ModeProbeData *);
- int (*mode_init)(EditState *, ModeSavedData *);
+ int (*mode_init)(EditState *);
void (*mode_close)(EditState *);
- /* save the internal state of the mode so that it can be opened
- again in the same state */
- ModeSavedData *(*mode_save_data)(EditState *s);
/* low level display functions (must be NULL to use text related
functions)*/
@@ -1765,8 +1762,8 @@
extern ModeDef text_mode;
-int text_mode_init(EditState *s, ModeSavedData *saved_data);
-void text_mode_close(EditState *s);
+int generic_mode_init(EditState *s, ModeSavedData *saved_data);
+void generic_mode_close(EditState *s);
int text_backward_offset(EditState *s, int offset);
int text_display(EditState *s, DisplayState *ds, int offset);
@@ -2042,7 +2039,6 @@
extern ModeDef html_mode;
int gxml_mode_init(EditState *s,
- ModeSavedData *saved_data,
int is_html, const char *default_stylesheet);
/* extra-modes.c */
Index: dired.c
===================================================================
RCS file: /sources/qemacs/qemacs/dired.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- dired.c 27 May 2014 12:05:54 -0000 1.47
+++ dired.c 29 May 2014 10:26:15 -0000 1.48
@@ -961,11 +961,11 @@
b->close = NULL;
}
-static int dired_mode_init(EditState *s, ModeSavedData *saved_data)
+static int dired_mode_init(EditState *s)
{
DiredState *ds;
- list_mode.mode_init(s, saved_data);
+ list_mode.mode_init(s);
if (s->b->priv_data) {
ds = s->b->priv_data;
Index: image.c
===================================================================
RCS file: /sources/qemacs/qemacs/image.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- image.c 27 May 2014 12:05:55 -0000 1.26
+++ image.c 29 May 2014 10:26:15 -0000 1.27
@@ -484,7 +484,7 @@
edit_invalidate(s);
}
-static int image_mode_init(EditState *s, ModeSavedData *saved_data)
+static int image_mode_init(EditState *s)
{
ImageState *is = s->mode_data;
ImageBuffer *ib = s->b->data;
Index: markdown.c
===================================================================
RCS file: /sources/qemacs/qemacs/markdown.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- markdown.c 27 May 2014 15:50:47 -0000 1.13
+++ markdown.c 29 May 2014 10:26:15 -0000 1.14
@@ -802,9 +802,8 @@
CMD_DEF_END,
};
-static int mkd_mode_init(EditState *s, ModeSavedData *saved_data)
+static int mkd_mode_init(EditState *s)
{
- text_mode_init(s, saved_data);
s->b->tab_width = 4;
s->indent_tabs_mode = 0;
s->wrap = WRAP_WORD;
Index: shell.c
===================================================================
RCS file: /sources/qemacs/qemacs/shell.c,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -b -r1.91 -r1.92
--- shell.c 27 May 2014 12:05:53 -0000 1.91
+++ shell.c 29 May 2014 10:26:15 -0000 1.92
@@ -1952,14 +1952,13 @@
return 0;
}
-static int shell_mode_init(EditState *e, ModeSavedData *saved_data)
+static int shell_mode_init(EditState *e)
{
ShellState *s;
if (!(s = shell_get_state(e, 1)))
return -1;
- text_mode_init(e, saved_data);
e->b->tab_width = 8;
e->wrap = WRAP_TRUNCATE;
if (s->shell_flags & SF_INTERACTIVE)
@@ -1967,9 +1966,8 @@
return 0;
}
-static int pager_mode_init(EditState *e, ModeSavedData *saved_data)
+static int pager_mode_init(EditState *e)
{
- text_mode_init(e, saved_data);
e->b->tab_width = 8;
e->wrap = WRAP_TRUNCATE;
return 0;
Index: docbook.c
===================================================================
RCS file: /sources/qemacs/qemacs/docbook.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- docbook.c 27 May 2014 12:05:55 -0000 1.10
+++ docbook.c 29 May 2014 10:26:15 -0000 1.11
@@ -32,10 +32,9 @@
return 0;
}
-static int docbook_mode_init(EditState *s, ModeSavedData *saved_data)
+static int docbook_mode_init(EditState *s)
{
- return gxml_mode_init(s, saved_data, XML_IGNORE_CASE | XML_DOCBOOK,
- docbook_style);
+ return gxml_mode_init(s, XML_IGNORE_CASE | XML_DOCBOOK, docbook_style);
}
static ModeDef docbook_mode;
Index: lisp.c
===================================================================
RCS file: /sources/qemacs/qemacs/lisp.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- lisp.c 27 May 2014 12:05:53 -0000 1.14
+++ lisp.c 29 May 2014 10:26:15 -0000 1.15
@@ -348,10 +348,8 @@
return 1;
}
-static int lisp_mode_init(EditState *s, ModeSavedData *saved_data)
+static int lisp_mode_init(EditState *s)
{
- text_mode.mode_init(s, saved_data);
-
/* select lisp flavor */
if (match_extension(s->b->filename, "el")
|| strstart(get_basename(s->b->filename), ".emacs", NULL)) {
Index: mpeg.c
===================================================================
RCS file: /sources/qemacs/qemacs/mpeg.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- mpeg.c 27 May 2014 12:05:52 -0000 1.8
+++ mpeg.c 29 May 2014 10:26:15 -0000 1.9
@@ -138,10 +138,8 @@
return offset;
}
-static int mpeg_mode_init(EditState *s, ModeSavedData *saved_data)
+static int mpeg_mode_init(EditState *s)
{
- text_mode_init(s, saved_data);
-
s->hex_mode = 1;
s->hex_nibble = 0;
s->wrap = WRAP_TRUNCATE;
Index: unihex.c
===================================================================
RCS file: /sources/qemacs/qemacs/unihex.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- unihex.c 29 May 2014 06:32:22 -0000 1.26
+++ unihex.c 29 May 2014 10:26:16 -0000 1.27
@@ -26,12 +26,10 @@
UNIHEX_STYLE_DUMP = QE_STYLE_FUNCTION,
};
-static int unihex_mode_init(EditState *s, ModeSavedData *saved_data)
+static int unihex_mode_init(EditState *s)
{
int c, maxc, offset, max_offset;
- text_mode_init(s, saved_data);
-
/* unihex mode is incompatible with EOL_DOS eol type */
eb_set_charset(s->b, s->b->charset, EOL_UNIX);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemacs-commit] qemacs bufed.c hex.c list.c qe.c video.c clang....,
Charlie Gordon <=