[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-devel] Changes to qemacs/qe.c
From: |
Charlie Gordon |
Subject: |
[Qemacs-devel] Changes to qemacs/qe.c |
Date: |
Fri, 13 May 2005 06:05:31 -0400 |
Index: qemacs/qe.c
diff -u qemacs/qe.c:1.22 qemacs/qe.c:1.23
--- qemacs/qe.c:1.22 Wed May 11 15:51:53 2005
+++ qemacs/qe.c Fri May 13 10:05:24 2005
@@ -2099,6 +2099,7 @@
s->eol_reached = 0;
s->cursor_func = NULL;
s->eod = 0;
+ release_font(e->screen, font);
}
void display_bol_bidir(DisplayState *s, DirType base, int embedding_level_max)
@@ -2276,6 +2277,7 @@
markbuf[0] = '/';
draw_text(screen, font, x, y + font->ascent,
markbuf, 1, default_style.fg_color);
+ release_font(screen, font);
}
}
x += x_start;
@@ -2288,6 +2290,7 @@
s->line_chars + frag->line_index,
frag->len, style.fg_color);
x += frag->width;
+ release_font(screen, font);
}
x1 = e->xleft + s->width + s->eol_width;
if (x < x1) {
@@ -2303,6 +2306,7 @@
draw_text(screen, font,
e->xleft + s->width, y + font->ascent,
markbuf, 1, default_style.fg_color);
+ release_font(screen, font);
}
}
}
@@ -2467,6 +2471,7 @@
j++;
}
}
+ release_font(screen, font);
/* add the fragment */
frag = &s->fragments[s->nb_fragments++];
@@ -3887,6 +3892,49 @@
font = select_font(screen, style.font_style, style.font_size);
draw_text(screen, font, x, y + font->ascent,
ubuf, len, style.fg_color);
+ release_font(screen, font);
+}
+
+static void eb_format_message(QEmacsState *qs, const char *bufname,
+ const char *message)
+{
+ char header[128];
+ int len;
+ EditBuffer *eb;
+
+ header[len = 0] = '\0';
+ if (qs->ec.filename) {
+ snprintf(header, sizeof(header), "%s:%d: ",
+ qs->ec.filename, qs->ec.lineno);
+ len = strlen(header);
+ }
+ if (qs->ec.function) {
+ snprintf(header + len, sizeof(header) - len, "%s: ",
+ qs->ec.function);
+ len = strlen(header);
+ }
+ eb = eb_find(bufname);
+ if (!eb)
+ eb = eb_new(bufname, BF_SYSTEM);
+ if (eb) {
+ eb_printf(eb, "%s%s\n", header, message);
+ } else {
+ fprintf(stderr, "%s%s\n", header, message);
+ }
+}
+
+void put_error(EditState *s, const char *fmt, ...)
+{
+ /* CG: s is not used and may be NULL! */
+ QEmacsState *qs = &qe_state;
+ char buf[MAX_SCREEN_WIDTH];
+ va_list ap;
+
+ va_start(ap, fmt);
+ vsnprintf(buf, sizeof(buf), fmt, ap);
+ va_end(ap);
+
+ eb_format_message(qs, "*errors*", buf);
}
void put_status(EditState *s, const char *fmt, ...)
@@ -3894,6 +3942,7 @@
/* CG: s is not used and may be NULL! */
QEmacsState *qs = &qe_state;
char buf[MAX_SCREEN_WIDTH];
+ char *p;
va_list ap;
va_start(ap, fmt);
@@ -3907,31 +3956,13 @@
qs->screen->width, qs->status_height,
buf, QE_STYLE_STATUS);
strcpy(qs->status_shadow, buf);
+ p = buf;
+ skip_spaces(&p);
+ if (*p)
+ eb_format_message(qs, "*messages*", buf);
}
} else {
- char header[128];
- int len;
- EditBuffer *eb;
-
- header[len = 0] = '\0';
- if (qs->ec.filename) {
- snprintf(header, sizeof(header), "%s:%d: ",
- qs->ec.filename, qs->ec.lineno);
- len = strlen(header);
- }
- if (qs->ec.function) {
- snprintf(header + len, sizeof(header) - len, "%s: ",
- qs->ec.function);
- len = strlen(header);
- }
- eb = eb_find("*errors*");
- if (!eb)
- eb = eb_new("*errors*", BF_SYSTEM);
- if (eb) {
- eb_printf(eb, "%s%s\n", header, buf);
- } else {
- fprintf(stderr, "%s%s\n", header, buf);
- }
+ eb_format_message(qs, "*errors*", buf);
}
}
@@ -5640,10 +5671,13 @@
{
QEFont *font;
QEStyleDef style;
+ int height;
get_style(NULL, &style, style_index);
font = select_font(screen, style.font_style, style.font_size);
- return font->ascent + font->descent;
+ height = font->ascent + font->descent;
+ release_font(screen, font);
+ return height;
}
void edit_invalidate(EditState *s)
- [Qemacs-devel] Changes to qemacs/qe.c, Charlie Gordon, 2005/05/08
- [Qemacs-devel] Changes to qemacs/qe.c, Charlie Gordon, 2005/05/08
- [Qemacs-devel] Changes to qemacs/qe.c, Charlie Gordon, 2005/05/08
- [Qemacs-devel] Changes to qemacs/qe.c, Charlie Gordon, 2005/05/08
- [Qemacs-devel] Changes to qemacs/qe.c, Charlie Gordon, 2005/05/08
- [Qemacs-devel] Changes to qemacs/qe.c, Charlie Gordon, 2005/05/08
- [Qemacs-devel] Changes to qemacs/qe.c, Charlie Gordon, 2005/05/09
- [Qemacs-devel] Changes to qemacs/qe.c, Charlie Gordon, 2005/05/09
- [Qemacs-devel] Changes to qemacs/qe.c, Charlie Gordon, 2005/05/10
- [Qemacs-devel] Changes to qemacs/qe.c, Charlie Gordon, 2005/05/11
- [Qemacs-devel] Changes to qemacs/qe.c,
Charlie Gordon <=