+++ /dev/null
-## 52fix_screen_utf8_nfd.dpatch by Nobuhiro Iwamatsu <iwamatsu@debian.org>
-##
-## DP: screen outputs screen "ÿ" after a connected character.
-## DP: This is a character without the need.
-## DP: This happens in UTF-8 environment.
-## DP: Before : screen$ ruby1.9.1 -e 'puts "\u304b\u3099.."'
-## DP: がÿ...
-## DP: patch applied : screen $ ruby1.9.1 -e 'puts "\u304b\u3099.."'
-## DP: が..
-## DP: Report from http://d.hatena.ne.jp/mrkn/20101014/fix_screen_utf8_nfd_bug
-## DP: Copyright Kenta Murata (mrkn) <mrkn@ruby-lang.org>
-## DP: Modified by Nobuhiro Iwamatsu <iwamatsu@debian.org>
-
-Index: screen/ansi.c
-===================================================================
---- screen.orig/ansi.c 2012-03-20 22:15:02.000000000 +0100
-+++ screen/ansi.c 2012-03-20 22:41:45.000000000 +0100
-@@ -725,6 +725,10 @@
- LPutChar(&curr->w_layer, &omc, ox, oy);
- LGotoPos(&curr->w_layer, curr->w_x, curr->w_y);
- }
-+ if (curr->w_mbcs)
-+ {
-+ curr->w_rend.mbcs = curr->w_mbcs = 0;
-+ }
- break;
- }
- font = curr->w_rend.font;
-Index: screen/display.c
-===================================================================
---- screen.orig/display.c 2012-03-20 22:41:28.000000000 +0100
-+++ screen/display.c 2012-03-20 22:41:45.000000000 +0100
-@@ -603,7 +603,7 @@
- D_x += D_AM ? 1 : -1;
- D_mbcs = 0;
- }
-- else if (utf8_isdouble(c))
-+ else if (utf8_isdouble(c) || (c >= 0xd800 && c < 0xe000))
- {
- D_mbcs = c;
- D_x++;
+++ /dev/null
---- screen-4.6.1/doc/screen.1.orig 2017-07-12 19:34:02.890716565 +0200
-+++ screen-4.6.1/doc/screen.1 2017-07-12 19:34:56.057382623 +0200
-@@ -1226,7 +1226,7 @@
- .PP
- Change the filename used for reading and writing with the paste buffer.
- If the optional argument to the \*Qbufferfile\*U command is omitted,
--the default setting (\*Q/tmp/screen\-exchange\*U) is reactivated.
-+the default setting (\*Q$HOME/.screen\-exchange\*U) is reactivated.
- The following example will paste the system's password file into
- the
- .I screen
-@@ -1540,7 +1540,7 @@
- \fBA\fP toggles in append mode and sets a (second) mark.
- .PP
- \fB>\fP sets the (second) mark and writes the contents of the paste buffer to
--the screen-exchange file (/tmp/screen\-exchange per default) once copy-mode is
-+the screen-exchange file ($HOME/.screen\-exchange per default) once copy-mode is
- finished.
- .PP
- This example demonstrates how to dump the whole scrollback buffer
-@@ -3651,7 +3651,7 @@
- users on the same host. If an encoding is specified the paste buffer
- is recoded on the fly to match the encoding.
- The filename can be set with the \fIbufferfile\fP
--command and defaults to \*Q/tmp/screen\-exchange\*U.
-+command and defaults to \*Q$HOME/.screen\-exchange\*U.
- .RE
- .TP
- .BR "writelock " [ on | "off\fR|\fBauto\fR]"
-@@ -5030,7 +5030,7 @@
- Written by the "termcap" output function
- .IP /tmp/screens/screen\-exchange
- or
--.IP /tmp/screen\-exchange
-+.IP $HOME/.screen\-exchange
- .I screen
- `interprocess communication buffer'
- .IP hardcopy.[0-9]
---- ./doc/screen.texinfo.org Wed Jun 19 13:36:55 2002
-+++ ./doc/screen.texinfo Wed Jun 19 13:49:42 2002
-@@ -3000,7 +3000,7 @@
-
- @noindent
- @kbd{>} sets the (second) mark and writes the contents of the paste buffer
--to the screen-exchange file (@file{/tmp/screen-exchange} per default)
-+to the screen-exchange file (@file{$HOME/.screen-exchange} per default)
- once copy-mode is finished. @xref{Screen Exchange}.@*
- This example demonstrates how to dump the
- whole scrollback buffer to that file: @*@kbd{C-a [ g SPACE G $ >}.
-@@ -3124,7 +3124,7 @@
- (none)@*
- Change the filename used for reading and writing with the paste buffer.
- If the @var{exchange-file} parameter is omitted, @code{screen} reverts
--to the default of @file{/tmp/screen-exchange}. The following example
-+to the default of @file{$HOME/.screen-exchange}. The following example
- will paste the system's password file into the screen window (using the
- paste buffer, where a copy remains):
-
-@@ -4843,7 +4843,7 @@
- Written by the @code{dumptermcap} command
-
- @item /usr/tmp/screens/screen-exchange or
--@itemx /tmp/screen-exchange
-+@itemx $HOME/.screen-exchange
- @code{screen} interprocess communication buffer
-
- @item hardcopy.[0-9]
---- ./etc/etcscreenrc.org Sat Apr 28 17:25:34 2001
-+++ ./etc/etcscreenrc Wed Jun 19 13:51:34 2002
-@@ -1,6 +1,6 @@
- #
- # This is an example for the global screenrc file.
--# You may want to install this file as /usr/local/etc/screenrc.
-+# You may want to install this file as /etc/screenrc.
- # Check config.h for the exact location.
- #
- # Flaws of termcap and standard settings are done here.
-@@ -92,3 +92,6 @@
- bind 'O' login off
- bind '}' history
-
-+# On Debian GNU/Linux, `<--' (Backspace key) should send char `\177':
-+bindkey -k kb stuff "\177"
-+
---- ./process.c.org Mon Feb 11 13:30:08 2002
-+++ ./process.c Wed Jun 19 13:52:22 2002
-@@ -2356,7 +2356,7 @@
- #ifdef COPY_PASTE
- case RC_BUFFERFILE:
- if (*args == 0)
-- BufferFile = SaveStr(DEFAULT_BUFFERFILE);
-+ BufferFile = SaveStr(bufferfile);
- else if (ParseSaveStr(act, &BufferFile))
- break;
- if (msgok)
---- screen-4.5.0/screen.c~ 2017-01-19 11:46:42.000000000 +0200
-+++ screen-4.5.0/screen.c 2017-01-19 11:47:53.835503179 +0200
-@@ -109,6 +109,7 @@
- FILE *dfp;
- #endif
-
-+char bufferfile[MAXPATHLEN];
-
- extern char Term[], screenterm[], **environ, Termcap[];
- int force_vt = 1;
-@@ -271,7 +272,7 @@
- char *name;
- struct passwd *ppp;
- {
-- int n;
-+ int n, len;
- #ifdef SHADOWPW
- struct spwd *sss = NULL;
- static char *spw = NULL;
-@@ -303,11 +303,16 @@
- pw_try_again:
- #endif
- n = 0;
-+ len = 13;
- if (ppp->pw_passwd[0] == '#' && ppp->pw_passwd[1] == '#' && strcmp(ppp->pw_passwd + 2, ppp->pw_name) == 0)
- n = 13;
-- for (; n < 13; n++) {
-+ else if (!strncmp(ppp->pw_passwd, "$1$", 3)) { /* MD5-based passwords */
-+ n = 13;
-+ len = 34;
-+ }
-+ for (; n < len; n++) {
- char c = ppp->pw_passwd[n];
-- if (!(c == '.' || c == '/' || c == '$' ||
-+ if (!(c == '.' || c == '/' || (len == 34 && c == '$') ||
- (c >= '0' && c <= '9') ||
- (c >= 'a' && c <= 'z') ||
- (c >= 'A' && c <= 'Z')))
-@@ -479,9 +479,6 @@
- timestring = SaveStr("%c:%s %M %d %H%? %l%?");
- wlisttit = SaveStr(" Num Name%=Flags");
- wliststr = SaveStr("%4n %t%=%f");
--#ifdef COPY_PASTE
-- BufferFile = SaveStr(DEFAULT_BUFFERFILE);
--#endif
- ShellProg = NULL;
- #ifdef POW_DETACH
- PowDetachString = 0;
-@@ -902,6 +905,8 @@
- #endif /* DEBUG */
- }
-
-+ snprintf(bufferfile,sizeof(bufferfile),"%s/.screen-exchange", home);
-+ BufferFile = SaveStr(bufferfile);
- #ifdef _MODE_T
- oumask = umask(0); /* well, unsigned never fails? jw. */
- #else
---- ./screen.h.org Tue Jan 8 16:42:45 2002
-+++ ./screen.h Wed Jun 19 14:01:15 2002
-@@ -44,6 +44,7 @@
- #include "layer.h"
- #include "term.h"
-
-+extern char bufferfile[MAXPATHLEN];
-
- #ifdef DEBUG
- # define STATIC /* a function that the debugger should see */
---- ./window.c.org Tue Jan 8 20:47:31 2002
-+++ ./window.c Wed Jun 19 14:03:39 2002
-@@ -1549,6 +1549,12 @@
- FreePseudowin(w);
- return -1;
- }
-+ if (ioctl(w->w_ptyfd, TIOCPKT, (char *)&flag))
-+ {
-+ Msg(errno, "TIOCPKT ioctl on parent");
-+ FreePseudowin(w);
-+ return -1;
-+ }
- }
- #endif /* TIOCPKT */
-
-@@ -1587,6 +1593,14 @@
- w->w_readev.condpos = w->w_readev.condneg = 0;
- free((char *)pwin);
- w->w_pwin = NULL;
-+#ifdef TIOCPKT
-+ {
-+ int flag = 1;
-+
-+ if (ioctl(w->w_ptyfd, TIOCPKT, (char *)&flag))
-+ Msg(errno, "TIOCPKT reset on parent failed");
-+ }
-+#endif /* TIOCPKT */
- }
-
- #endif /* PSEUDOS */
Summary(tr.UTF-8): Bir uçbirimde birden fazla oturumu düzenler
Summary(uk.UTF-8): Менеджер екрану, що підтримує кілька логінів з одного терміналу
Name: screen
-Version: 4.8.0
-Release: 2
+Version: 4.9.0
+Release: 1
License: GPL v3+
Group: Applications/Terminal
Source0: https://ftp.gnu.org/gnu/screen/%{name}-%{version}.tar.gz
-# Source0-md5: d276213d3acd10339cd37848b8c4ab1e
+# Source0-md5: b1ef8ed89134d335e614016634982b6d
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: 236166e774cee788cf594b05dd1dd70d
Source2: %{name}.pamd
Patch2: %{name}-manual.patch
Patch3: %{name}-ia64.patch
Patch4: %{name}-info.patch
-Patch5: %{name}-debian_fixed.patch
Patch7: %{name}-no_hardcoded_term_sequences.patch
Patch8: %{name}-home_etc.patch
Patch9: %{name}-no-libs.patch
Patch12: %{name}-screenrc.patch
Patch13: %{name}-osc.patch
-Patch15: %{name}-statusline-encoding.patch
Patch17: %{name}-E3.patch
Patch18: %{name}-4.1.0-suppress_remap.patch
-Patch22: 52fix_%{name}_utf8_nfd.patch
Patch23: %{name}-bracketed_paste_mode.patch
URL: http://www.gnu.org/software/screen/
BuildRequires: autoconf >= 2.60
%patch2 -p1
%patch3 -p0
%patch4 -p1
-%patch5 -p1
# DON'T ENABLE IT UNLESS YOU REALLY FIX IT
# (it's heavily broken - note that some sequences should be get for
# $TERM before running screen instance, and others for TERM=screen!)
%patch9 -p1
%patch12 -p1
#%patch13 -p1 # my brain farted here, see if you have better luck
-%patch15 -p1
%patch17 -p2
%patch18 -p1
-%patch22 -p1
%patch23 -p1
%build