[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-commit] qemacs bufed.c hex.c makemode.c qe.h dired.c ht...
From: |
Charlie Gordon |
Subject: |
[Qemacs-commit] qemacs bufed.c hex.c makemode.c qe.h dired.c ht... |
Date: |
Sun, 01 Jun 2014 13:55:00 +0000 |
CVSROOT: /sources/qemacs
Module name: qemacs
Changes by: Charlie Gordon <chqrlie> 14/06/01 13:55:00
Modified files:
. : bufed.c hex.c makemode.c qe.h dired.c html.c
markdown.c shell.c docbook.c image.c mpeg.c
unihex.c extras.c list.c qe.c video.c
Log message:
prepare mode separation (view / syntax / data)
* add fields in EditBuffer struct
* pass buffer and flags to mode_init functions
* add default_mode_init function to avoid tests
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/bufed.c?cvsroot=qemacs&r1=1.33&r2=1.34
http://cvs.savannah.gnu.org/viewcvs/qemacs/hex.c?cvsroot=qemacs&r1=1.42&r2=1.43
http://cvs.savannah.gnu.org/viewcvs/qemacs/makemode.c?cvsroot=qemacs&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.h?cvsroot=qemacs&r1=1.179&r2=1.180
http://cvs.savannah.gnu.org/viewcvs/qemacs/dired.c?cvsroot=qemacs&r1=1.49&r2=1.50
http://cvs.savannah.gnu.org/viewcvs/qemacs/html.c?cvsroot=qemacs&r1=1.33&r2=1.34
http://cvs.savannah.gnu.org/viewcvs/qemacs/markdown.c?cvsroot=qemacs&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/qemacs/shell.c?cvsroot=qemacs&r1=1.92&r2=1.93
http://cvs.savannah.gnu.org/viewcvs/qemacs/docbook.c?cvsroot=qemacs&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/qemacs/image.c?cvsroot=qemacs&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/qemacs/mpeg.c?cvsroot=qemacs&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/qemacs/unihex.c?cvsroot=qemacs&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/qemacs/extras.c?cvsroot=qemacs&r1=1.33&r2=1.34
http://cvs.savannah.gnu.org/viewcvs/qemacs/list.c?cvsroot=qemacs&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.181&r2=1.182
http://cvs.savannah.gnu.org/viewcvs/qemacs/video.c?cvsroot=qemacs&r1=1.19&r2=1.20
Patches:
Index: bufed.c
===================================================================
RCS file: /sources/qemacs/qemacs/bufed.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- bufed.c 30 May 2014 17:18:12 -0000 1.33
+++ bufed.c 1 Jun 2014 13:54:58 -0000 1.34
@@ -93,11 +93,11 @@
if (b1->saved_mode) {
mode_name = b1->saved_mode->name;
} else
- if (b1->saved_data) {
- mode_name = b1->saved_data->mode->name;
- } else
if (b1->default_mode) {
mode_name = b1->default_mode->name;
+ } else
+ if (b1->syntax_mode) {
+ mode_name = b1->syntax_mode->name;
} else {
mode_name = "none";
}
@@ -337,13 +337,13 @@
b->close = NULL;
}
-static int bufed_mode_init(EditState *s)
+static int bufed_mode_init(EditState *s, EditBuffer *b, int flags)
{
BufedState *bs;
- if (list_mode.mode_init)
- list_mode.mode_init(s);
+ list_mode.mode_init(s, b, flags);
+ if (s) {
if (s->b->priv_data) {
bs = s->b->priv_data;
if (bs->signature != &bufed_signature)
@@ -359,6 +359,7 @@
s->b->priv_data = bs;
s->b->close = bufed_close;
}
+ }
return 0;
}
Index: hex.c
===================================================================
RCS file: /sources/qemacs/qemacs/hex.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- hex.c 29 May 2014 10:26:13 -0000 1.42
+++ hex.c 1 Jun 2014 13:54:58 -0000 1.43
@@ -153,8 +153,9 @@
CMD_DEF_END,
};
-static int binary_mode_init(EditState *s)
+static int binary_mode_init(EditState *s, EditBuffer *b, int flags)
{
+ if (s) {
QEFont *font;
QEStyleDef style;
int num_width;
@@ -173,17 +174,20 @@
s->insert = 0;
s->hex_mode = 0;
s->wrap = WRAP_TRUNCATE;
+ }
return 0;
}
-static int hex_mode_init(EditState *s)
+static int hex_mode_init(EditState *s, EditBuffer *b, int flags)
{
+ if (s) {
s->disp_width = 16;
s->hex_mode = 1;
s->unihex_mode = 0;
s->hex_nibble = 0;
s->insert = 0;
s->wrap = WRAP_TRUNCATE;
+ }
return 0;
}
Index: makemode.c
===================================================================
RCS file: /sources/qemacs/qemacs/makemode.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- makemode.c 30 May 2014 17:18:14 -0000 1.21
+++ makemode.c 1 Jun 2014 13:54:58 -0000 1.22
@@ -163,10 +163,12 @@
return 1;
}
-static int makefile_mode_init(EditState *s)
+static int makefile_mode_init(EditState *s, EditBuffer *b, int flags)
{
+ if (s) {
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.179
retrieving revision 1.180
diff -u -b -r1.179 -r1.180
--- qe.h 30 May 2014 22:57:35 -0000 1.179
+++ qe.h 1 Jun 2014 13:54:58 -0000 1.180
@@ -853,11 +853,22 @@
int map_handle;
/* buffer data type (default is raw) */
+ ModeDef *data_mode;
EditBufferDataType *data_type;
void *data_data; /* associated buffer data, used if data_type !=
raw_data */
void *priv_data; /* buffer polling & private data */
void (*close)(EditBuffer *); /* called when deleting the buffer */
+ /* buffer syntax or major mode */
+ ModeDef *syntax_mode;
+ ColorizeFunc colorize_func; /* line colorization function */
+ unsigned short *colorize_states; /* state before line n, one per line */
+ int colorize_nb_lines;
+ int colorize_nb_valid_lines;
+ /* maximum valid offset, INT_MAX if not modified. Needed to
+ * invalidate 'colorize_states' */
+ int colorize_max_valid_offset;
+
/* charset handling */
CharsetDecodeState charset_state;
QECharset *charset;
@@ -1225,8 +1236,8 @@
/* return the percentage of confidence */
int (*mode_probe)(ModeDef *, ModeProbeData *);
- int (*mode_init)(EditState *);
- void (*mode_close)(EditState *);
+ int (*mode_init)(EditState *s, EditBuffer *b, int flags);
+ void (*mode_close)(EditState *s);
/* low level display functions (must be NULL to use text related
functions)*/
@@ -1661,7 +1672,6 @@
/* minibuffer & status */
-void less_mode_init(void);
void minibuffer_init(void);
extern CmdDef minibuffer_commands[];
Index: dired.c
===================================================================
RCS file: /sources/qemacs/qemacs/dired.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- dired.c 30 May 2014 17:18:14 -0000 1.49
+++ dired.c 1 Jun 2014 13:54:58 -0000 1.50
@@ -961,12 +961,13 @@
b->close = NULL;
}
-static int dired_mode_init(EditState *s)
+static int dired_mode_init(EditState *s, EditBuffer *b, int flags)
{
DiredState *ds;
- list_mode.mode_init(s);
+ list_mode.mode_init(s, b, flags);
+ if (s) {
if (s->b->priv_data) {
ds = s->b->priv_data;
if (ds->signature != &dired_signature)
@@ -991,6 +992,7 @@
/* XXX: File system charset should be detected automatically */
/* XXX: If file system charset is not utf8, eb_printf will fail */
eb_set_charset(s->b, &charset_utf8, s->b->eol_type);
+ }
return 0;
}
Index: html.c
===================================================================
RCS file: /sources/qemacs/qemacs/html.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- html.c 29 May 2014 10:26:14 -0000 1.33
+++ html.c 1 Jun 2014 13:54:59 -0000 1.34
@@ -778,6 +778,7 @@
int gxml_mode_init(EditState *s,
int flags, const char *default_stylesheet)
{
+ if (s) {
HTMLState *hs = s->mode_data;
/* XXX: unregister callbacks for s->offset and s->top_offset ? */
@@ -788,10 +789,11 @@
load_default_style_sheet(hs, default_stylesheet, flags);
hs->up_to_date = 0;
+ }
return 0;
}
-static int html_mode_init(EditState *s)
+static int html_mode_init(EditState *s, EditBuffer *b, int flags)
{
return gxml_mode_init(s, XML_HTML | XML_HTML_SYNTAX | XML_IGNORE_CASE,
html_style);
Index: markdown.c
===================================================================
RCS file: /sources/qemacs/qemacs/markdown.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- markdown.c 30 May 2014 17:18:15 -0000 1.16
+++ markdown.c 1 Jun 2014 13:54:59 -0000 1.17
@@ -800,11 +800,13 @@
CMD_DEF_END,
};
-static int mkd_mode_init(EditState *s)
+static int mkd_mode_init(EditState *s, EditBuffer *b, int flags)
{
+ if (s) {
s->b->tab_width = 4;
s->indent_tabs_mode = 0;
s->wrap = WRAP_WORD;
+ }
return 0;
}
Index: shell.c
===================================================================
RCS file: /sources/qemacs/qemacs/shell.c,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -b -r1.92 -r1.93
--- shell.c 29 May 2014 10:26:15 -0000 1.92
+++ shell.c 1 Jun 2014 13:54:59 -0000 1.93
@@ -1952,8 +1952,9 @@
return 0;
}
-static int shell_mode_init(EditState *e)
+static int shell_mode_init(EditState *e, EditBuffer *b, int flags)
{
+ if (e) {
ShellState *s;
if (!(s = shell_get_state(e, 1)))
@@ -1963,13 +1964,16 @@
e->wrap = WRAP_TRUNCATE;
if (s->shell_flags & SF_INTERACTIVE)
e->interactive = 1;
+ }
return 0;
}
-static int pager_mode_init(EditState *e)
+static int pager_mode_init(EditState *e, EditBuffer *b, int flags)
{
+ if (e) {
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.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- docbook.c 29 May 2014 10:26:15 -0000 1.11
+++ docbook.c 1 Jun 2014 13:54:59 -0000 1.12
@@ -32,7 +32,7 @@
return 0;
}
-static int docbook_mode_init(EditState *s)
+static int docbook_mode_init(EditState *s, EditBuffer *b, int flags)
{
return gxml_mode_init(s, XML_IGNORE_CASE | XML_DOCBOOK, docbook_style);
}
Index: image.c
===================================================================
RCS file: /sources/qemacs/qemacs/image.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- image.c 29 May 2014 10:26:15 -0000 1.27
+++ image.c 1 Jun 2014 13:54:59 -0000 1.28
@@ -484,8 +484,9 @@
edit_invalidate(s);
}
-static int image_mode_init(EditState *s)
+static int image_mode_init(EditState *s, EditBuffer *b, int flags)
{
+ if (s) {
ImageState *is = s->mode_data;
ImageBuffer *ib = s->b->data;
@@ -500,6 +501,7 @@
update_bmp(s);
eb_add_callback(s->b, image_callback, s, 1);
+ }
return 0;
}
Index: mpeg.c
===================================================================
RCS file: /sources/qemacs/qemacs/mpeg.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- mpeg.c 29 May 2014 10:26:15 -0000 1.9
+++ mpeg.c 1 Jun 2014 13:54:59 -0000 1.10
@@ -138,12 +138,13 @@
return offset;
}
-static int mpeg_mode_init(EditState *s)
+static int mpeg_mode_init(EditState *s, EditBuffer *b, int flags)
{
+ if (s) {
s->hex_mode = 1;
s->hex_nibble = 0;
s->wrap = WRAP_TRUNCATE;
-
+ }
return 0;
}
Index: unihex.c
===================================================================
RCS file: /sources/qemacs/qemacs/unihex.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- unihex.c 29 May 2014 10:26:16 -0000 1.27
+++ unihex.c 1 Jun 2014 13:54:59 -0000 1.28
@@ -26,8 +26,9 @@
UNIHEX_STYLE_DUMP = QE_STYLE_FUNCTION,
};
-static int unihex_mode_init(EditState *s)
+static int unihex_mode_init(EditState *s, EditBuffer *b, int flags)
{
+ if (s) {
int c, maxc, offset, max_offset;
/* unihex mode is incompatible with EOL_DOS eol type */
@@ -48,6 +49,7 @@
s->hex_nibble = 0;
s->insert = 0;
s->wrap = WRAP_TRUNCATE;
+ }
return 0;
}
Index: extras.c
===================================================================
RCS file: /sources/qemacs/qemacs/extras.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- extras.c 30 May 2014 22:57:34 -0000 1.33
+++ extras.c 1 Jun 2014 13:55:00 -0000 1.34
@@ -640,7 +640,7 @@
}
if (!inherit || !mode)
break;
- /* Should move up to base mode */
+ /* Move up to base mode */
mode = mode->fallback;
}
return out->len;
@@ -947,6 +947,11 @@
#if 0
eb_printf(b1, " probed: %d\n", b->probed);
#endif
+
+ if (b->data_mode)
+ eb_printf(b1, " data_mode: %s\n", b->data_mode->name);
+ if (b->syntax_mode)
+ eb_printf(b1, " syntax_mode: %s\n", b->syntax_mode->name);
if (s->mode)
eb_printf(b1, " s->mode: %s\n", s->mode->name);
if (b->default_mode)
Index: list.c
===================================================================
RCS file: /sources/qemacs/qemacs/list.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- list.c 29 May 2014 10:26:14 -0000 1.16
+++ list.c 1 Jun 2014 13:55:00 -0000 1.17
@@ -88,10 +88,12 @@
text_move_up_down(s, 1);
}
-static int list_mode_init(EditState *s)
+static int list_mode_init(EditState *s, EditBuffer *b, int flags)
{
+ if (s) {
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.181
retrieving revision 1.182
diff -u -b -r1.181 -r1.182
--- qe.c 31 May 2014 00:26:26 -0000 1.181
+++ qe.c 1 Jun 2014 13:55:00 -0000 1.182
@@ -79,6 +79,8 @@
/* mode handling */
+static int default_mode_init(EditState *s, EditBuffer *b, int flags) { return
0; }
+
static int generic_mode_probe(ModeDef *mode, ModeProbeData *p)
{
if (mode->extensions) {
@@ -138,6 +140,8 @@
}
/* add missing functions */
+ if (!m->mode_init)
+ m->mode_init = default_mode_init;
if (!m->display)
m->display = generic_text_display;
if (!m->data_type)
@@ -1852,8 +1856,7 @@
/* init mode */
generic_mode_init(s, saved_data);
- if (m->mode_init)
- m->mode_init(s);
+ m->mode_init(s, s->b, MODEF_VIEW);
if (m->colorize_func)
set_colorize_func(s, m->colorize_func);
/* modify offset_top so that its value is correct */
@@ -5507,7 +5510,7 @@
do_refresh(s);
}
-void less_mode_init(void)
+static void less_init(void)
{
/* less mode inherits from text mode */
memcpy(&less_mode, &text_mode, sizeof(ModeDef));
@@ -7999,7 +8002,7 @@
register_completion("color", color_completion);
minibuffer_init();
- less_mode_init();
+ less_init();
/* init all external modules in link order */
init_all_modules();
Index: video.c
===================================================================
RCS file: /sources/qemacs/qemacs/video.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- video.c 29 May 2014 10:26:14 -0000 1.19
+++ video.c 1 Jun 2014 13:55:00 -0000 1.20
@@ -789,8 +789,9 @@
is->paused = !is->paused;
}
-static int video_mode_init(EditState *s)
+static int video_mode_init(EditState *s, EditBuffer *b, int flags)
{
+ if (s) {
VideoState *is = s->mode_data;
QEmacsState *qs = s->qe_state;
int err, video_playing;
@@ -825,6 +826,7 @@
err = pthread_create(&is->parse_tid, NULL, decode_thread, s);
if (err != 0)
return -1;
+ }
return 0;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemacs-commit] qemacs bufed.c hex.c makemode.c qe.h dired.c ht...,
Charlie Gordon <=