[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-commit] qemacs parser.c qe.c qe.h shell.c
From: |
Charlie Gordon |
Subject: |
[Qemacs-commit] qemacs parser.c qe.c qe.h shell.c |
Date: |
Tue, 13 Oct 2020 03:14:20 -0400 (EDT) |
CVSROOT: /sources/qemacs
Module name: qemacs
Changes by: Charlie Gordon <chqrlie> 20/10/13 03:14:20
Modified files:
. : parser.c qe.c qe.h shell.c
Log message:
scripting issues:
- always pass universal argument as last argument
- change do_compile_error() accordingly
- pass universal argument to do_eval_expression()
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/parser.c?cvsroot=qemacs&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.295&r2=1.296
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.h?cvsroot=qemacs&r1=1.276&r2=1.277
http://cvs.savannah.gnu.org/viewcvs/qemacs/shell.c?cvsroot=qemacs&r1=1.140&r2=1.141
Patches:
Index: parser.c
===================================================================
RCS file: /sources/qemacs/qemacs/parser.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- parser.c 9 Oct 2020 00:00:55 -0000 1.10
+++ parser.c 13 Oct 2020 07:14:17 -0000 1.11
@@ -28,6 +28,16 @@
* displayed as a popup upon start.
*/
+typedef struct QEmacsDataSource {
+ const char *filename;
+ FILE *f;
+ EditBuffer *b;
+ const char *str;
+ int line_num;
+ int pos, len;
+ int offset, stop;
+} QEmacsDataSource;
+
static int expect_token(const char **pp, int tok)
{
if (skip_spaces(pp) == tok) {
@@ -43,14 +53,14 @@
char *dest, int size)
{
const char *p = *pp;
- int c, delim = *p++;
+ int delim = *p++;
int res = 0;
int pos = 0;
for (;;) {
- /* encoding issues delibarately ignored */
- c = *p;
- if (c == '\0') {
+ /* encoding issues deliberately ignored */
+ int c = *p;
+ if (c == '\n' || c == '\0') {
put_status(s, "Unterminated string");
res = -1;
break;
@@ -72,6 +82,7 @@
break;
}
}
+ /* XXX: silently truncate overlong string constants */
if (pos < size - 1)
dest[pos++] = c;
}
@@ -81,16 +92,6 @@
return res;
}
-typedef struct QEmacsDataSource {
- const char *filename;
- FILE *f;
- EditBuffer *b;
- const char *str;
- int line_num;
- int pos, len;
- int offset, stop;
-} QEmacsDataSource;
-
static char *data_gets(QEmacsDataSource *ds, char *buf, int size)
{
if (ds->f) {
@@ -344,21 +345,7 @@
return 0;
}
-int parse_config_file(EditState *s, const char *filename)
-{
- QEmacsDataSource ds = { 0 };
- int res;
-
- ds.filename = filename;
- ds.f = fopen(filename, "r");
- if (!ds.f)
- return -1;
- res = qe_parse_script(s, &ds);
- fclose(ds.f);
- return res;
-}
-
-void do_eval_expression(EditState *s, const char *expression)
+void do_eval_expression(EditState *s, const char *expression, int argval)
{
QEmacsDataSource ds = { 0 };
@@ -390,15 +377,28 @@
void do_eval_region(EditState *s)
{
- /* deactivate region hilite */
- s->region_style = 0;
+ s->region_style = 0; /* deactivate region hilite */
do_eval_buffer_region(s, s->b->mark, s->offset);
}
void do_eval_buffer(EditState *s)
{
- do_eval_buffer_region(s, 0, -1);
+ do_eval_buffer_region(s, 0, s->b->total_size);
+}
+
+int parse_config_file(EditState *s, const char *filename)
+{
+ QEmacsDataSource ds = { 0 };
+ int res;
+
+ ds.filename = filename;
+ ds.f = fopen(filename, "r");
+ if (!ds.f)
+ return -1;
+ res = qe_parse_script(s, &ds);
+ fclose(ds.f);
+ return res;
}
#ifndef CONFIG_TINY
@@ -424,7 +424,6 @@
if (popup) {
b->offset = 0;
b->flags |= BF_READONLY;
-
show_popup(s, b, "QEmacs session");
} else {
eb_write_buffer(b, 0, b->total_size, ".qesession");
@@ -436,8 +435,8 @@
static CmdDef parser_commands[] = {
CMD2( KEY_META(':'), KEY_NONE,
- "eval-expression", do_eval_expression, ESs,
- "s{Eval: }|expression|")
+ "eval-expression", do_eval_expression, ESsi,
+ "s{Eval: }|expression|ui")
CMD0( KEY_NONE, KEY_NONE,
"eval-region", do_eval_region)
CMD0( KEY_NONE, KEY_NONE,
Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.295
retrieving revision 1.296
diff -u -b -r1.295 -r1.296
--- qe.c 4 Oct 2020 23:57:11 -0000 1.295
+++ qe.c 13 Oct 2020 07:14:18 -0000 1.296
@@ -3109,6 +3109,7 @@
}
break;
}
+ //s->qe_state->complete_refresh = 1;
}
void do_define_color(EditState *e, const char *name, const char *value)
@@ -3162,6 +3163,7 @@
void do_set_system_font(EditState *s, const char *qe_font_name,
const char *system_fonts)
{
+ QEmacsState *qs = s->qe_state;
int font_type;
font_type = css_get_enum(qe_font_name, "fixed,serif,sans");
@@ -3169,9 +3171,9 @@
put_status(s, "Invalid qemacs font");
return;
}
- pstrcpy(s->qe_state->system_fonts[font_type],
- sizeof(s->qe_state->system_fonts[0]),
+ pstrcpy(qs->system_fonts[font_type], sizeof(qs->system_fonts[0]),
system_fonts);
+ //qs->complete_refresh = 1;
}
static void display_bol_bidir(DisplayState *ds, DirType base,
@@ -9099,7 +9101,7 @@
if (*arg == '+' && i < argc) {
if (strequal(arg, "+eval")) {
- do_eval_expression(s, argv[i++]);
+ do_eval_expression(s, argv[i++], NO_ARG);
s = qs->active_window;
continue;
}
Index: qe.h
===================================================================
RCS file: /sources/qemacs/qemacs/qe.h,v
retrieving revision 1.276
retrieving revision 1.277
diff -u -b -r1.276 -r1.277
--- qe.h 9 Oct 2020 00:00:55 -0000 1.276
+++ qe.h 13 Oct 2020 07:14:18 -0000 1.277
@@ -2293,7 +2293,7 @@
/* parser.c */
int parse_config_file(EditState *s, const char *filename);
-void do_eval_expression(EditState *s, const char *expression);
+void do_eval_expression(EditState *s, const char *expression, int argval);
void do_eval_region(EditState *s); /* should pass actual offsets */
void do_eval_buffer(EditState *s);
extern int use_session_file;
Index: shell.c
===================================================================
RCS file: /sources/qemacs/qemacs/shell.c,v
retrieving revision 1.140
retrieving revision 1.141
diff -u -b -r1.140 -r1.141
--- shell.c 2 Oct 2020 20:16:09 -0000 1.140
+++ shell.c 13 Oct 2020 07:14:19 -0000 1.141
@@ -2852,7 +2852,7 @@
set_error_offset(b, 0);
}
-static void do_compile_error(EditState *s, int arg, int dir)
+static void do_compile_error(EditState *s, int dir, int arg)
{
QEmacsState *qs = s->qe_state;
EditState *e;
@@ -3128,9 +3128,9 @@
"man", do_man, ESs,
"s{Show man page for: }|man|")
CMD3( KEY_CTRLX(KEY_CTRL('p')), KEY_NONE,
- "previous-error", do_compile_error, ESii, -1, "uiv")
+ "previous-error", do_compile_error, ESii, -1, "vui")
CMD3( KEY_CTRLX(KEY_CTRL('n')), KEY_CTRLX('`'),
- "next-error", do_compile_error, ESii, 1, "uiv")
+ "next-error", do_compile_error, ESii, 1, "vui")
CMD_DEF_END,
};
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemacs-commit] qemacs parser.c qe.c qe.h shell.c,
Charlie Gordon <=