Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 58623 Details for
Bug 91878
eterm-0.9.3-r3: dead keys not working anymore
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
eterm-0.9.3-deadkeys.patch
eterm-0.9.3-deadkeys.patch (text/plain), 4.56 KB, created by
SpanKY
on 2005-05-10 15:14:19 UTC
(
hide
)
Description:
eterm-0.9.3-deadkeys.patch
Filename:
MIME Type:
Creator:
SpanKY
Created:
2005-05-10 15:14:19 UTC
Size:
4.56 KB
patch
obsolete
>http://bugs.gentoo.org/91878 > > Tue Mar 15 16:44:09 2005 Michael Jennings (mej) > > Reverted part of a patch from Chris Schoeneman <crs23@bigfoot.com> > (changelog entry "Fri Jun 25 17:48:24 2004") which broke dead keys and > compose-key sequences. > > Fixed error in saving of cut_chars attribute. > >Index: src/misc.c >=================================================================== >RCS file: /cvsroot/enlightenment/eterm/Eterm/src/misc.c,v >retrieving revision 1.25 >retrieving revision 1.26 >diff -u -r1.25 -r1.26 >--- src/misc.c 11 Jan 2004 22:10:29 -0000 1.25 >+++ src/misc.c 15 Mar 2005 21:48:02 -0000 1.26 >@@ -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) > { >Index: src/misc.h >=================================================================== >RCS file: /cvsroot/enlightenment/eterm/Eterm/src/misc.h,v >retrieving revision 1.15 >retrieving revision 1.16 >diff -u -r1.15 -r1.16 >--- src/misc.h 11 Jan 2004 22:10:29 -0000 1.15 >+++ src/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 *); >Index: src/options.c >=================================================================== >RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.c,v >retrieving revision 1.135 >retrieving revision 1.136 >diff -u -r1.135 -r1.136 >--- src/options.c 23 Feb 2005 20:38:19 -0000 1.135 >+++ src/options.c 15 Mar 2005 21:48:02 -0000 1.136 >@@ -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"); >Index: src/windows.c >=================================================================== >RCS file: /cvsroot/enlightenment/eterm/Eterm/src/windows.c,v >retrieving revision 1.68 >retrieving revision 1.69 >diff -u -r1.68 -r1.69 >--- src/windows.c 14 Dec 2004 23:24:33 -0000 1.68 >+++ src/windows.c 15 Mar 2005 21:48:12 -0000 1.69 >@@ -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 */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 91878
: 58623