#ifdef __cplusplus
extern "C" {
#endif
-extern int tgetent (CONST char *, CONST char *);
-extern int tgetflag (CONST char *);
-extern int tgetnum (CONST char *);
-extern char *tgetstr (CONST char *, char **);
-extern void tputs (CONST char *, int, void (*)(int));
+extern int tgetent (const char *, const char *);
+extern int tgetflag (const char *);
+extern int tgetnum (const char *);
+extern char *tgetstr (const char *, char **);
+extern void tputs (const char *, int, void (*)(int));
#ifdef __cplusplus
}
#endif
column, so we use emchar_string_displayed_columns().
****************************************************************************/
static int
-tty_text_width (struct frame *f, struct face_cachel *cachel, CONST Emchar *str,
+tty_text_width (struct frame *f, struct face_cachel *cachel, const Emchar *str,
Charcount len)
{
return emchar_string_displayed_columns (str, len);
window, ERROR_ME_NOT, 1);
if (IMAGE_INSTANCEP (instance))
- switch (XIMAGE_INSTANCE_TYPE (instance))
- {
- case IMAGE_TEXT:
+ {
+ switch (XIMAGE_INSTANCE_TYPE (instance))
{
- Bufbyte *temptemp;
- Lisp_Object string =
- XIMAGE_INSTANCE_TEXT_STRING (instance);
- Bytecount len = XSTRING_LENGTH (string);
-
- /* In the unlikely instance that a garbage-collect
- occurs during encoding, we at least need to
- copy the string.
- */
- temptemp = (Bufbyte *) alloca (len);
- memcpy (temptemp, XSTRING_DATA (string), len);
- {
- int i;
-
- /* Now truncate the first rb->object.dglyph.xoffset
- columns. */
- for (i = 0; i < rb->object.dglyph.xoffset;)
- {
-#ifdef MULE
- Emchar ch = charptr_emchar (temptemp);
- i += CHAR_COLUMNS (ch);
-#else
- i++; /* telescope this */
-#endif
- INC_CHARPTR (temptemp);
- }
-
- /* If we truncated one column too many, then
- add a space at the beginning. */
- if (i > rb->object.dglyph.xoffset)
- {
- assert (i > 0);
- *--temptemp = ' ';
- i--;
- }
- len -= i;
- }
-
- tty_output_bufbyte_string (w, dl, temptemp, len,
- xpos, findex, 0);
-
- if (xpos >= cursor_start
- && (cursor_start <
- xpos + (bufbyte_string_displayed_columns
- (temptemp, len))))
- {
- cmgoto (f, dl->ypos - 1, cursor_start);
- }
+ case IMAGE_MONO_PIXMAP:
+ case IMAGE_COLOR_PIXMAP:
+ case IMAGE_SUBWINDOW:
+ case IMAGE_WIDGET:
+ case IMAGE_LAYOUT:
+ /* just do nothing here */
+ break;
+
+ case IMAGE_NOTHING:
+ /* nothing is as nothing does */
+ break;
+
+ case IMAGE_TEXT:
+ case IMAGE_POINTER:
+ default:
+ abort ();
}
- break;
-
- case IMAGE_MONO_PIXMAP:
- case IMAGE_COLOR_PIXMAP:
- case IMAGE_SUBWINDOW:
- case IMAGE_WIDGET:
- /* just do nothing here */
- break;
-
- case IMAGE_POINTER:
- abort ();
-
- case IMAGE_NOTHING:
- /* nothing is as nothing does */
- break;
-
- default:
- abort ();
- }
+ IMAGE_INSTANCE_OPTIMIZE_OUTPUT
+ (XIMAGE_INSTANCE (instance)) = 0;
+ }
xpos += rb->width;
elt++;
static void
tty_clear_region (Lisp_Object window, struct device* d, struct frame * f,
face_index findex, int x, int y,
- int width, int height, Lisp_Object fcolor, Lisp_Object bcolor,
+ int width, int height, Lisp_Object fcolor, Lisp_Object bcolor,
Lisp_Object background_pixmap)
{
struct console *c = XCONSOLE (FRAME_CONSOLE (f));
clear_to_end (f);
#else
/* #### Not implemented. */
- fprintf (stderr, "Not yet.\n");
+ stderr_out ("Not yet.\n");
#endif
}
tty_turn_off_frame_face (f, Vdefault_face);
{
Lisp_Object dev = CONSOLE_SELECTED_DEVICE (c);
- if (!GC_NILP (dev))
+ if (!NILP (dev))
{
Lisp_Object frm = DEVICE_SELECTED_FRAME (XDEVICE (dev));
- if (!GC_NILP (frm))
+ if (!NILP (frm))
{
struct frame *f = XFRAME (frm);
\f
struct fkey_table
{
- CONST char *cap, *name;
+ const char *cap;
+ const char *name;
};
/* Termcap capability names that correspond directly to X keysyms.
char *sequence = tgetstr (keys[i].cap, address);
if (sequence)
Fdefine_key (function_key_map,
- build_ext_string (sequence, FORMAT_BINARY),
+ build_ext_string (sequence, Qbinary),
vector1 (intern (keys[i].name)));
}
describes F10, whereas othertimes it describes F0 and "k;" describes F10.
We will attempt to politely accommodate both systems by testing for
"k;", and if it is present, assuming that "k0" denotes F0, otherwise F10.
- */
+ */
{
- char *k_semi = tgetstr ("k;", address);
- char *k0 = tgetstr ("k0", address);
- CONST char *k0_name = "f10";
+ const char *k_semi = tgetstr ("k;", address);
+ const char *k0 = tgetstr ("k0", address);
if (k_semi)
- {
- Fdefine_key (function_key_map, build_ext_string (k_semi, FORMAT_BINARY),
- vector1 (intern ("f10")));
- k0_name = "f0";
- }
+ Fdefine_key (function_key_map, build_ext_string (k_semi, Qbinary),
+ vector1 (intern ("f10")));
if (k0)
- Fdefine_key (function_key_map, build_ext_string (k0, FORMAT_BINARY),
- vector1 (intern (k0_name)));
+ Fdefine_key (function_key_map, build_ext_string (k0, Qbinary),
+ vector1 (intern (k_semi ? "f0" : "f10")));
}
/* Set up cookies for numbered function keys above f10. */
{
sprintf (fkey, "f%d", i);
Fdefine_key (function_key_map,
- build_ext_string (sequence, FORMAT_BINARY),
+ build_ext_string (sequence, Qbinary),
vector1 (intern (fkey)));
}
}
}
- }
+ }
/*
* Various mappings to try and get a better fit.
*/
- {
-#define CONDITIONAL_REASSIGN(cap1, cap2, sym) \
- if (!tgetstr (cap1, address)) \
- { \
- char *sequence = tgetstr (cap2, address); \
- if (sequence) \
- Fdefine_key (function_key_map, \
- build_ext_string (sequence, FORMAT_BINARY), \
- vector1 (intern (sym))); \
- }
+#define CONDITIONAL_REASSIGN(cap1, cap2, keyname) do { \
+ if (!tgetstr (cap1, address)) \
+ { \
+ char *sequence = tgetstr (cap2, address); \
+ if (sequence) \
+ Fdefine_key (function_key_map, \
+ build_ext_string (sequence, Qbinary), \
+ vector1 (intern (keyname))); \
+ } \
+ } while (0)
- /* if there's no key_next keycap, map key_npage to `next' keysym */
- CONDITIONAL_REASSIGN ("%5", "kN", "next");
- /* if there's no key_prev keycap, map key_ppage to `previous' keysym */
- CONDITIONAL_REASSIGN ("%8", "kP", "prior");
- /* if there's no key_dc keycap, map key_ic to `insert' keysym */
- CONDITIONAL_REASSIGN ("kD", "kI", "insert");
-
- /* IBM has their own non-standard dialect of terminfo.
- If the standard name isn't found, try the IBM name. */
- CONDITIONAL_REASSIGN ("kB", "KO", "backtab");
- CONDITIONAL_REASSIGN ("@4", "kJ", "execute"); /* actually "action" */
- CONDITIONAL_REASSIGN ("@4", "kc", "execute"); /* actually "command" */
- CONDITIONAL_REASSIGN ("%7", "ki", "menu");
- CONDITIONAL_REASSIGN ("@7", "kw", "end");
- CONDITIONAL_REASSIGN ("F1", "k<", "f11");
- CONDITIONAL_REASSIGN ("F2", "k>", "f12");
- CONDITIONAL_REASSIGN ("%1", "kq", "help");
- CONDITIONAL_REASSIGN ("*6", "kU", "select");
+ /* if there's no key_next keycap, map key_npage to `next' keysym */
+ CONDITIONAL_REASSIGN ("%5", "kN", "next");
+ /* if there's no key_prev keycap, map key_ppage to `previous' keysym */
+ CONDITIONAL_REASSIGN ("%8", "kP", "prior");
+ /* if there's no key_dc keycap, map key_ic to `insert' keysym */
+ CONDITIONAL_REASSIGN ("kD", "kI", "insert");
+
+ /* IBM has their own non-standard dialect of terminfo.
+ If the standard name isn't found, try the IBM name. */
+ CONDITIONAL_REASSIGN ("kB", "KO", "backtab");
+ CONDITIONAL_REASSIGN ("@4", "kJ", "execute"); /* actually "action" */
+ CONDITIONAL_REASSIGN ("@4", "kc", "execute"); /* actually "command" */
+ CONDITIONAL_REASSIGN ("%7", "ki", "menu");
+ CONDITIONAL_REASSIGN ("@7", "kw", "end");
+ CONDITIONAL_REASSIGN ("F1", "k<", "f11");
+ CONDITIONAL_REASSIGN ("F2", "k>", "f12");
+ CONDITIONAL_REASSIGN ("%1", "kq", "help");
+ CONDITIONAL_REASSIGN ("*6", "kU", "select");
#undef CONDITIONAL_REASSIGN
- }
return Qnil;
}