Enlightenment CVS committal Author : mej Project : eterm Module : Eterm
Dir : eterm/Eterm/src Modified Files: Makefile.am draw.c e.c font.c grkelot.c main.c misc.c misc.h options.c screen.c windows.c Log Message: Tue Mar 15 16:44:09 2005 Michael Jennings (mej) Reverted part of a patch from Chris Schoeneman <[EMAIL PROTECTED]> (changelog entry "Fri Jun 25 17:48:24 2004") which broke dead keys and compose-key sequences. Fixed autoSHIT for dist/distcheck/distclean/maintainer-clean and newer autoSHIT versions. Fixed error in saving of cut_chars attribute. Fixed saving/handling of beep_command attribute. ---------------------------------------------------------------------- =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/Makefile.am,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- Makefile.am 4 May 2002 14:25:26 -0000 1.28 +++ Makefile.am 15 Mar 2005 21:48:01 -0000 1.29 @@ -1,4 +1,4 @@ -# $Id: Makefile.am,v 1.28 2002/05/04 14:25:26 mej Exp $ +# $Id: Makefile.am,v 1.29 2005/03/15 21:48:01 mej Exp $ lib_LTLIBRARIES = libEterm.la bin_PROGRAMS = Eterm @@ -36,3 +36,4 @@ install-exec-hook: $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) test ! -z "$(GDB_CMD_FILE)" && $(INSTALL_DATA) gdb.scr $(DESTDIR)$(pkgdatadir)/ || : +MAINTAINERCLEANFILES=Makefile.in =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/draw.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- draw.c 11 Jan 2004 22:10:29 -0000 1.15 +++ draw.c 15 Mar 2005 21:48:02 -0000 1.16 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: draw.c,v 1.15 2004/01/11 22:10:29 mej Exp $"; +static const char cvs_ident[] = "$Id: draw.c,v 1.16 2005/03/15 21:48:02 mej Exp $"; #include "config.h" #include "feature.h" =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/e.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- e.c 11 Jan 2004 22:10:29 -0000 1.25 +++ e.c 15 Mar 2005 21:48:02 -0000 1.26 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: e.c,v 1.25 2004/01/11 22:10:29 mej Exp $"; +static const char cvs_ident[] = "$Id: e.c,v 1.26 2005/03/15 21:48:02 mej Exp $"; #include "config.h" #include "feature.h" =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/font.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -3 -r1.43 -r1.44 --- font.c 11 Jan 2004 22:10:29 -0000 1.43 +++ font.c 15 Mar 2005 21:48:02 -0000 1.44 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: font.c,v 1.43 2004/01/11 22:10:29 mej Exp $"; +static const char cvs_ident[] = "$Id: font.c,v 1.44 2005/03/15 21:48:02 mej Exp $"; #include "config.h" #include "feature.h" =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/grkelot.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- grkelot.c 8 Jun 2002 15:44:06 -0000 1.6 +++ grkelot.c 15 Mar 2005 21:48:02 -0000 1.7 @@ -42,7 +42,7 @@ * TODO: make it more dynamic (linked lists is an idea but slower) */ -static const char cvs_ident[] = "$Id: grkelot.c,v 1.6 2002/06/08 15:44:06 mej Exp $"; +static const char cvs_ident[] = "$Id: grkelot.c,v 1.7 2005/03/15 21:48:02 mej Exp $"; #include "config.h" #include "feature.h" =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/main.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- main.c 11 Jan 2004 22:10:29 -0000 1.12 +++ main.c 15 Mar 2005 21:48:02 -0000 1.13 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: main.c,v 1.12 2004/01/11 22:10:29 mej Exp $"; +static const char cvs_ident[] = "$Id: main.c,v 1.13 2005/03/15 21:48:02 mej Exp $"; extern int eterm_bootstrap(int argc, char *argv[]); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/misc.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- misc.c 11 Jan 2004 22:10:29 -0000 1.25 +++ misc.c 15 Mar 2005 21:48:02 -0000 1.26 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: misc.c,v 1.25 2004/01/11 22:10:29 mej Exp $"; +static const char cvs_ident[] = "$Id: misc.c,v 1.26 2005/03/15 21:48:02 mej Exp $"; #include "config.h" #include "feature.h" @@ -223,6 +223,53 @@ return (pnew - str); } +spif_charptr_t +escape_string(spif_charptr_t str, spif_char_t quote, spif_int32_t maxlen) +{ + spif_charptr_t buff, s = str, pbuff; + + D_STRINGS(("escape_string(%s %c %ld)\n", (char *) str, quote, maxlen)); + if (! quote) { + quote = '\"'; + } + + /* The escaped string will be at most twice the length of the original. */ + buff = SPIF_CAST(charptr) MALLOC(strlen(SPIF_CAST_PTR(char) str) * 2 + 1); + + /* Copy and escape the string from str into buff. */ + for (pbuff = buff; (*s); s++, pbuff++) { + if (*s == quote) { + D_STRINGS(("Double-escaping \'%c\' at position %d\n", *s, s - str)); + *pbuff = '\\'; + pbuff++; + *pbuff = '\\'; + pbuff++; + } else { + if (quote == '\"') { + if ((*s == '\\') || (*s == '`')) { + D_STRINGS(("Escaping \'%c\' at position %d\n", *s, s - str)); + *pbuff = '\\'; + pbuff++; + } + } + } + D_STRINGS(("Copying \'%c\' at position %d\n", *s, s - str)); + *pbuff = *s; + } + *pbuff = 0; + + if (maxlen) { + /* Given maxlen, we know "str" can hold at least "maxlen" chars. */ + if (!spiftool_safe_strncpy(str, buff, maxlen)) { + str[maxlen] = 0; + } + FREE(buff); + return str; + } else { + return buff; + } +} + char * safe_print_string(const char *str, unsigned long len) { =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/misc.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- misc.h 11 Jan 2004 22:10:29 -0000 1.15 +++ misc.h 15 Mar 2005 21:48:02 -0000 1.16 @@ -40,6 +40,7 @@ extern unsigned long str_leading_match(register const char *, register const char *); extern char *str_trim(char *str); extern int parse_escaped_string(char *str); +extern spif_charptr_t escape_string(spif_charptr_t str, spif_char_t quote, spif_int32_t maxlen); extern char *safe_print_string(const char *buff, unsigned long len); extern unsigned long add_carriage_returns(unsigned char *buff, unsigned long cnt); extern unsigned char mkdirhier(const char *); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.c,v retrieving revision 1.135 retrieving revision 1.136 diff -u -3 -r1.135 -r1.136 --- options.c 23 Feb 2005 20:38:19 -0000 1.135 +++ options.c 15 Mar 2005 21:48:02 -0000 1.136 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: options.c,v 1.135 2005/02/23 20:38:19 mej Exp $"; +static const char cvs_ident[] = "$Id: options.c,v 1.136 2005/03/15 21:48:02 mej Exp $"; #include "config.h" #include "feature.h" @@ -2567,6 +2567,15 @@ { register int i; +#if DEBUG > 0 + if (DEBUG_LEVEL > DEBUG) { + print_warning("Requested debug level of %d exceeds compile-time maximum of %d\n", + DEBUG_LEVEL, DEBUG); + } else if (DEBUG_LEVEL > 0) { + DPRINTF1(("Now running with debugging level of %d\n", DEBUG_LEVEL)); + } +#endif + if (rs_scrollbar_type) { if (!strcasecmp(rs_scrollbar_type, "xterm")) { #ifdef XTERM_SCROLLBAR @@ -3839,7 +3848,11 @@ fprintf(fp, " min_anchor_size %d\n", rs_min_anchor_size); fprintf(fp, " border_width %d\n", TermWin.internalBorder); fprintf(fp, " term_name %s\n", getenv("TERM")); - fprintf(fp, " beep_command \"%s\"\n", rs_beep_command); + fprintf(fp, " beep_command \"%s\"\n", SPIF_CAST_PTR(char) ( + (rs_beep_command) + ? (SPIF_CAST_PTR(char) rs_beep_command) + : (SPIF_CAST_PTR(char) "") + )); fprintf(fp, " debug %d\n", DEBUG_LEVEL); if (save_theme && rs_exec_args && rs_theme && strcmp(rs_theme, PACKAGE)) { fprintf(fp, " exec "); @@ -3850,7 +3863,10 @@ } #ifdef CUTCHAR_OPTION if (rs_cutchars) { - fprintf(fp, " cut_chars '%s'\n", rs_cutchars); + spif_charptr_t cut_chars_escaped; + + cut_chars_escaped = escape_string(SPIF_CAST(charptr) rs_cutchars, '\"', 0); + fprintf(fp, " cut_chars \"%s\"\n", (char *) cut_chars_escaped); } #endif fprintf(fp, "end misc\n\n"); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/screen.c,v retrieving revision 1.81 retrieving revision 1.82 diff -u -3 -r1.81 -r1.82 --- screen.c 23 Feb 2005 20:38:24 -0000 1.81 +++ screen.c 15 Mar 2005 21:48:06 -0000 1.82 @@ -3,7 +3,7 @@ * */ -static const char cvs_ident[] = "$Id: screen.c,v 1.81 2005/02/23 20:38:24 mej Exp $"; +static const char cvs_ident[] = "$Id: screen.c,v 1.82 2005/03/15 21:48:06 mej Exp $"; #include "config.h" #include "feature.h" @@ -1546,7 +1546,7 @@ if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_VISUAL_BELL)) { scr_rvideo_mode(!rvideo); scr_rvideo_mode(!rvideo); - } else if (!SPIF_PTR_ISNULL(rs_beep_command)) { + } else if (!SPIF_PTR_ISNULL(rs_beep_command) && (*rs_beep_command)) { system_no_wait(SPIF_CAST_C(char *) rs_beep_command); } else { XBell(Xdisplay, 0); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/windows.c,v retrieving revision 1.68 retrieving revision 1.69 diff -u -3 -r1.68 -r1.69 --- windows.c 14 Dec 2004 23:24:33 -0000 1.68 +++ windows.c 15 Mar 2005 21:48:12 -0000 1.69 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: windows.c,v 1.68 2004/12/14 23:24:33 mej Exp $"; +static const char cvs_ident[] = "$Id: windows.c,v 1.69 2005/03/15 21:48:12 mej Exp $"; #include "config.h" #include "feature.h" @@ -473,9 +473,7 @@ XClearWindow(Xdisplay, TermWin.vt); } XDefineCursor(Xdisplay, TermWin.vt, TermWin_cursor); - TermWin.mask = (KeyPressMask | EnterWindowMask | LeaveWindowMask | ExposureMask - | ButtonPressMask | ButtonReleaseMask | Button1MotionMask - | Button2MotionMask | Button3MotionMask); + TermWin.mask = (EnterWindowMask | LeaveWindowMask | ExposureMask | ButtonPressMask | ButtonReleaseMask | Button1MotionMask | Button2MotionMask | Button3MotionMask); XSelectInput(Xdisplay, TermWin.vt, TermWin.mask); /* If the user wants a specific desktop, tell the WM that */ ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs