Accepting request 85817 from home:pcerny:factory

- Patch #275 - 2011/09/11
  * add ash, zsh to known shells for resize.
  * modify resize to reuse the logic from xterm which determines
    the actual logon-user's shell if $SHELL is not set.
  * revert the unsetenv("SHELL") added in patch #272.
  * an unsetenv("SHELL") added in patch #272 to help ensure that
    luit would get the user's shell consistently did not work as
    expected for cases where multiple names are in the
    password-file for a given uid. That was because changes in
    patch #157 to handle this situation did not take into account
    that repeated calls to getpwnam and getpwuid return a pointer
    to the same static buffer. Fixed the older logic to work as
    intended, by ensuring that the passwd-data from each call is
    stored separately (report by Paul Keusemann).
  * adjust ifdef's for putenv and unsetenv in case only one of
    those is provided on a given platform.
  * correct comparison used in ExposeContains macro from patch
    #274 changes, to handle window-dragging (patch by Todd
    Eigenschink).

- Patch #274 - 2011/09/05
  * portability fixes for cygwin: do not define SVR4, and work
    around nonstandard header location.
  * ifdef'd use of unsetenv from patch #273 changes to work with
    Solaris 9 (report by Waldemar Rachwal).
  * modify logic for XtAppPending to merge adjacent Expose and
    ConfigureNotify events which are redundant (report by Edward
    McGuire).
  * fix an unneeded warning message when -r option is given.
  * remove a few redundant entries from table used for helping

OBS-URL: https://build.opensuse.org/request/show/85817
OBS-URL: https://build.opensuse.org/package/show/X11:terminals/xterm?expand=0&rev=25
This commit is contained in:
Stephan Kulow 2011-10-12 07:21:46 +00:00 committed by Git OBS Bridge
parent 7fa80cc56a
commit 14c2cb85b9
5 changed files with 89 additions and 16 deletions

View File

@ -1,19 +1,24 @@
Index: xterm-254/fontutils.c
===================================================================
--- xterm-254.orig/fontutils.c
+++ xterm-254/fontutils.c
@@ -634,59 +634,19 @@ is_double_width_font(XFontStruct * fs)
--- xterm-275/fontutils.c 2011-09-11 15:22:34.000000000 +0200
+++ xterm-275/fontutils.c 2011-09-29 16:49:57.899419068 +0200
@@ -631,81 +631,33 @@ is_fixed_font(XFontStruct * fs)
static int
is_double_width_font(XFontStruct * fs)
{
return ((2 * fs->min_bounds.width) == fs->max_bounds.width);
}
#else
#define is_double_width_font(fs) 0
#endif
#if OPT_WIDE_CHARS && OPT_RENDERFONT && defined(HAVE_TYPE_FCCHAR32)
-#define HALF_WIDTH_TEST_STRING "1234567890"
-
-/* '1234567890' in Chinese characters in UTF-8 */
-#define FULL_WIDTH_TEST_STRING "\xe4\xb8\x80\xe4\xba\x8c\xe4\xb8\x89" \
- "\xe5\x9b\x9b\xe4\xba\x94" \
- "\xef\xa7\x91\xe4\xb8\x83\xe5\x85\xab" \
- "\xe4\xb9\x9d\xef\xa6\xb2"
-
-/* '1234567890' in Korean script in UTF-8 */
-#define FULL_WIDTH_TEST_STRING2 "\xec\x9d\xbc\xec\x9d\xb4\xec\x82\xbc" \
- "\xec\x82\xac\xec\x98\xa4" \
@ -30,8 +35,8 @@ Index: xterm-254/fontutils.c
{
- XGlyphInfo gi1, gi2;
- FcChar32 c1 = HALF_WIDTH_CHAR1, c2 = HALF_WIDTH_CHAR2;
- char *fwstr = FULL_WIDTH_TEST_STRING;
- char *hwstr = HALF_WIDTH_TEST_STRING;
- String fwstr = FULL_WIDTH_TEST_STRING;
- String hwstr = HALF_WIDTH_TEST_STRING;
-
/* Some Korean fonts don't have Chinese characters at all. */
- if (!XftCharExists(dpy, font, FULL_WIDTH_CHAR1)) {
@ -46,8 +51,16 @@ Index: xterm-254/fontutils.c
- if (gi1.xOff != gi2.xOff) /* Not a fixed-width font */
- return False;
-
- XftTextExtentsUtf8(dpy, font, (FcChar8 *) hwstr, (int) strlen(hwstr), &gi1);
- XftTextExtentsUtf8(dpy, font, (FcChar8 *) fwstr, (int) strlen(fwstr), &gi2);
- XftTextExtentsUtf8(dpy,
- font,
- (_Xconst FcChar8 *) hwstr,
- (int) strlen(hwstr),
- &gi1);
- XftTextExtentsUtf8(dpy,
- font,
- (_Xconst FcChar8 *) fwstr,
- (int) strlen(fwstr),
- &gi2);
-
- /*
- * fontconfig and Xft prior to 2.2(?) set the width of half-width
@ -59,7 +72,7 @@ Index: xterm-254/fontutils.c
- * In the meantime, we have to check both possibilities.
- */
- return ((2 * gi1.xOff == gi2.xOff) || (gi1.xOff == gi2.xOff));
+ if (XftCharExists(dpy, font, FULL_WIDTH_CHAR1) ||
+ if (XftCharExists(dpy, font, FULL_WIDTH_CHAR1) ||
+ XftCharExists(dpy, font, FULL_WIDTH_CHAR2))
+ return True; /* CJK font */
+ else
@ -67,3 +80,10 @@ Index: xterm-254/fontutils.c
}
#else
#define is_double_width_font_xft(dpy, xftfont) 0
#endif
#define EmptyFont(fs) (fs != 0 \
&& ((fs)->ascent + (fs)->descent == 0 \
|| (fs)->max_bounds.width == 0))
#define FontSize(fs) (((fs)->ascent + (fs)->descent) \

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cd061f70e5cb33f9ad534a82bfcb2c31412143081303041d4159f33d2033227e
size 822444

3
xterm-275.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:102ef82c303d9cabf8bde555cc72323e816d8b1c2e02b45d2b1bde906fd58f91
size 829300

View File

@ -1,3 +1,56 @@
-------------------------------------------------------------------
Thu Sep 15 14:20:26 UTC 2011 - pcerny@suse.com
- Patch #275 - 2011/09/11
* add ash, zsh to known shells for resize.
* modify resize to reuse the logic from xterm which determines
the actual logon-user's shell if $SHELL is not set.
* revert the unsetenv("SHELL") added in patch #272.
* an unsetenv("SHELL") added in patch #272 to help ensure that
luit would get the user's shell consistently did not work as
expected for cases where multiple names are in the
password-file for a given uid. That was because changes in
patch #157 to handle this situation did not take into account
that repeated calls to getpwnam and getpwuid return a pointer
to the same static buffer. Fixed the older logic to work as
intended, by ensuring that the passwd-data from each call is
stored separately (report by Paul Keusemann).
* adjust ifdef's for putenv and unsetenv in case only one of
those is provided on a given platform.
* correct comparison used in ExposeContains macro from patch
#274 changes, to handle window-dragging (patch by Todd
Eigenschink).
-------------------------------------------------------------------
Wed Sep 7 15:52:47 UTC 2011 - pcerny@suse.com
- Patch #274 - 2011/09/05
* portability fixes for cygwin: do not define SVR4, and work
around nonstandard header location.
* ifdef'd use of unsetenv from patch #273 changes to work with
Solaris 9 (report by Waldemar Rachwal).
* modify logic for XtAppPending to merge adjacent Expose and
ConfigureNotify events which are redundant (report by Edward
McGuire).
* fix an unneeded warning message when -r option is given.
* remove a few redundant entries from table used for helping
abbreviation-checking of command-line options, makes -geom
work again after patch #272 changes as an abbreviation of
-geometry.
* add scaleHeight resource and command-line option -sh as
workaround for some font-configurations broken by changes in
FreeType 2.4.6 (report by Miroslav Hodak).
* portability fixes for some configure macros: CF_FUNC_TGETENT,
CF_XOPEN_SOURCE, CF_X_ATHENA_LIBS.
* add configure option --with-freetype-config to improve
selection over the plethora of configuration options which
freetype has so far provided.
* build-fix for configure --enable-load-vt-fonts when
--enable-widec is not specified.
* build-fixes for suppressing various features, needed after
changes in patches 270, 271 and 272 (report by Brian
Lindholm)
-------------------------------------------------------------------
Wed Aug 31 10:13:15 UTC 2011 - pcerny@suse.com

View File

@ -31,7 +31,7 @@ License: MIT
Group: System/X11/Utilities
Provides: xorg-x11:/usr/X11R6/bin/xterm XFree86:/usr/X11R6/bin/xterm
AutoReqProv: on
Version: 273
Version: 275
Release: 1
Summary: The basic X terminal program
Source: ftp://invisible-island.net/xterm/%name-%version.tar.bz2