-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: rxvt-unicode-sixel
action: commit
revision:
path_from:
revision_from: a6cea9df2faeafe5ce13f869430d6553758b3565:
path_to:
revision_to:

git.thebackupbox.net

rxvt-unicode-sixel

git://git.thebackupbox.net/rxvt-unicode-sixel

commit a6cea9df2faeafe5ce13f869430d6553758b3565
Author: Marc Lehmann <schmorp@schmorp.de>
Date:   Sun Jun 15 13:54:16 2008 +0000

    *** empty log message ***

diff --git a/Changes b/Changes

index 869887ed61e8fa29d360e5dca281379769b5cec9..

index ..59d58052694ba9f060ca0ea2cbc0857e62ff9262 100644

--- a/Changes
+++ b/Changes
@@ -22,6 +22,8 @@ TODO: rxvt -font 10x20 -xrm "*.tabbed.font: 10x20" -pe tabbed
       how does one affect the tab windows themselves? seems not to work anymore.

 TODO: implement initial chdir for tabs by making it a resource?
+	- new option --cd/chdir to set the starting working directory.
+        - tabbed extension now starts in the "correct" working directory.
 	- work around fedore 9 prividing isastream but not the relevant
           header file for it (report by Tuncer Ayaz).
 	- upgrade to libev-3.31, fixing a bug in the select backend
diff --git a/README.FAQ b/README.FAQ

index ba9ba0b858a7c94af2643dfe5b34ecb72833278b..

index ..80221061fa6f671f0d9717512a2ccb4f3c7b5a79 100644

--- a/README.FAQ
+++ b/README.FAQ
@@ -825,28 +825,8 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS

        infocmp -C rxvt-unicode

-    Or you could use this termcap entry, generated by the command above:
-
-       rxvt-unicode|rxvt-unicode terminal (X Window System):\
-               :am:bw:eo:km:mi:ms:xn:xo:\
-               :co#80:it#8:li#24:lm#0:\
-               :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
-               :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
-               :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\
-               :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-               :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
-               :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
-               :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
-               :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
-               :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
-               :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
-               :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\
-               :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
-               :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
-               :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-               :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\
-               :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
-               :vs=\E[?25h:
+    Or you could use the termcap entry in doc/etc/rxvt-unicode.termcap,
+    generated by the command above.

    Why does "ls" no longer have coloured output?
     The "ls" in the GNU coreutils unfortunately doesn't use terminfo to
@@ -1078,7 +1058,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     wchar_t. This is, of course, completely fine with respect to standards.

     However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1" and
-    "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t.
+    "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t).

     "__STDC_ISO_10646__" is the only sane way to support multi-language apps
     in an OS, as using a locale-dependent (and non-standardized)
diff --git a/README.configure b/README.configure

index 0624ce522424c77d69a1cddff881c5d732948f12..

index ..1808c8e1cd9190b5dbdebf8643f91df8748d3866 100644

--- a/README.configure
+++ b/README.configure
@@ -195,9 +195,9 @@ CONFIGURE OPTIONS
           verbose X error handling

     --enable-iso14755 (default: on)
-        Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt).
-        Basic support (section 5.1) is enabled by "--enable-frills", while
-        support for 5.2, 5.3 and 5.4 is enabled with this switch.
+        Enable extended ISO 14755 support (see rxvt(1)). Basic support
+        (section 5.1) is enabled by "--enable-frills", while support for
+        5.2, 5.3 and 5.4 is enabled with this switch.

     --enable-keepscrolling (default: on)
         Add support for continual scrolling of the display when you hold the
@@ -227,14 +227,14 @@ CONFIGURE OPTIONS
         Add support to have the pointer disappear when typing or inactive.

     --enable-perl (default: on)
-        Enable an embedded perl interpreter. See the rxvtperl(3) manpage
-        (doc/rxvtperl.txt) for more info on this feature, or the files in
-        src/perl-ext/ for the extensions that are installed by default. The
-        perl interpreter that is used can be specified via the "PERL"
-        environment variable when running configure. Even when compiled in,
-        perl will *not* be initialised when all extensions have been
-        disabled "-pe "" --perl-ext-common """, so it should be safe to
-        enable from a resource standpoint.
+        Enable an embedded perl interpreter. See the rxvtperl(3) manpage for
+        more info on this feature, or the files in src/perl/ for the
+        extensions that are installed by default. The perl interpreter that
+        is used can be specified via the "PERL" environment variable when
+        running configure. Even when compiled in, perl will *not* be
+        initialised when all extensions have been disabled "-pe ""
+        --perl-ext-common """, so it should be safe to enable from a
+        resource standpoint.

     --with-afterimage-config=DIR
         Look for the libAfterImage config script in DIR.
diff --git a/doc/rxvt.1.man.in b/doc/rxvt.1.man.in

index 44cf7aefbe0b0199f6945860192bbd48925bb1c3..

index ..ede647f590d227a9ee7491ad408cdc6e6435630e 100644

--- a/doc/rxvt.1.man.in
+++ b/doc/rxvt.1.man.in
@@ -132,7 +132,7 @@
 .\" ========================================================================
 .\"
 .IX Title "@@RXVT_NAME@@ 1"
-.TH @@RXVT_NAME@@ 1 "2008-01-26" "9.0" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 1 "2008-06-15" "@@RXVT_VERSION@@" "RXVT-UNICODE"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -223,9 +223,9 @@ The following options are available:
 Print out a message describing available options.
 .IP "\fB\-display\fR \fIdisplayname\fR" 4
 .IX Item "-display displayname"
-Attempt to open a window on the named X display (\fB\-d\fR still
-respected). In the absence of this option, the display specified by the
-\&\fB\s-1DISPLAY\s0\fR environment variable is used.
+Attempt to open a window on the named X display (the older form \fB\-d\fR
+is still respected. but deprecated). In the absence of this option, the
+display specified by the \fB\s-1DISPLAY\s0\fR environment variable is used.
 .IP "\fB\-depth\fR \fIbitdepth\fR" 4
 .IX Item "-depth bitdepth"
 Compile \fIxft\fR: Attempt to find a visual with the given bit depth;
@@ -1099,8 +1099,8 @@ Turn on/off secondary screen (default enabled).
 .IX Item "secondaryScroll: boolean"
 Turn on/off secondary screen scroll (default enabled). If this
 option is enabled, scrolls on the secondary screen will change the
-scrollback buffer and switching to/from the secondary screen will
-instead scroll the screen up.
+scrollback buffer and, when secondaryScreen is off, switching
+to/from the secondary screen will instead scroll the screen up.
 .IP "\fBhold\fR: \fIboolean\fR" 4
 .IX Item "hold: boolean"
 Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@
@@ -1537,7 +1537,8 @@ Set to the terminfo directory iff @@RXVT_NAME@@ was configured with
 .IP "\fB\s-1DISPLAY\s0\fR" 4
 .IX Item "DISPLAY"
 Used by @@RXVT_NAME@@ to connect to the display and set to the correct
-display in its child processes.
+display in its child processes if \f(CW\*(C`\-display\*(C'\fR isn't used to override. It
+defaults to \f(CW\*(C`:0\*(C'\fR if it doesn't exist.
 .IP "\fB\s-1SHELL\s0\fR" 4
 .IX Item "SHELL"
 The shell to be used for command execution, defaults to \f(CW\*(C`/bin/sh\*(C'\fR.
diff --git a/doc/rxvt.1.pod b/doc/rxvt.1.pod

index ddc056725adef07c4fa2cdc53119e6db4c3f79c7..

index ..01361c37222bb6691ed294bc2090879f899f06b7 100644

--- a/doc/rxvt.1.pod
+++ b/doc/rxvt.1.pod
@@ -457,6 +457,12 @@ will not immediately destroy its window when the program executed within
 it exits. Instead, it will wait till it is being killed or closed by the
 user; resource B<hold>.

+=item B<-cd> I<path>
+
+Sets the working directory for the shell (or the command specified via
+B<-e>). The I<path> must be an absolute path and it must exist for
+@@RXVT_NAME@@ to start; resource B<chdir>.
+
 =item B<-xrm> I<string>

 Works like the X Toolkit option of the same name, by adding the I<string>
@@ -1101,6 +1107,13 @@ will not immediately destroy its window when the program executed within
 it exits. Instead, it will wait till it is being killed or closed by the
 user.

+=item B<chdir>: I<path>
+
+Sets the working directory for the shell (or the command specified via
+B<-e>). The I<path> must be an absolute path and it must exist for
+@@RXVT_NAME@@ to start. If it isn't specified then the current working
+directory will be used; option B<-cd>.
+
 =item B<keysym.>I<sym>: I<string>

 Compile I<frills>: Associate I<string> with keysym I<sym>. The
diff --git a/doc/rxvt.7.man.in b/doc/rxvt.7.man.in

index 2a2aeb943a9eea18434ce9586f2146197d288caa..

index ..f0ab04abe1f84958dc5a26a6a80b51c5b2ec2d4a 100644

--- a/doc/rxvt.7.man.in
+++ b/doc/rxvt.7.man.in
@@ -132,7 +132,7 @@
 .\" ========================================================================
 .\"
 .IX Title "@@RXVT_NAME@@ 7"
-.TH @@RXVT_NAME@@ 7 "2008-01-29" "9.02" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 7 "2008-06-15" "@@RXVT_VERSION@@" "RXVT-UNICODE"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -1158,30 +1158,8 @@ like this:
 \&   infocmp \-C rxvt\-unicode
 .Ve
 .PP
-Or you could use this termcap entry, generated by the command above:
-.PP
-.Vb 10
-\&   rxvt\-unicode|rxvt\-unicode terminal (X Window System):\e
-\&           :am:bw:eo:km:mi:ms:xn:xo:\e
-\&           :co#80:it#8:li#24:lm#0:\e
-\&           :AL=\eE[%dL:DC=\eE[%dP:DL=\eE[%dM:DO=\eE[%dB:IC=\eE[%d@:\e
-\&           :K1=\eEOw:K2=\eEOu:K3=\eEOy:K4=\eEOq:K5=\eEOs:LE=\eE[%dD:\e
-\&           :RI=\eE[%dC:SF=\eE[%dS:SR=\eE[%dT:UP=\eE[%dA:ae=\eE(B:al=\eE[L:\e
-\&           :as=\eE(0:bl=^G:cd=\eE[J:ce=\eE[K:cl=\eE[H\eE[2J:\e
-\&           :cm=\eE[%i%d;%dH:cr=^M:cs=\eE[%i%d;%dr:ct=\eE[3g:dc=\eE[P:\e
-\&           :dl=\eE[M:do=^J:ec=\eE[%dX:ei=\eE[4l:ho=\eE[H:\e
-\&           :i1=\eE[?47l\eE=\eE[?1l:ic=\eE[@:im=\eE[4h:\e
-\&           :is=\eE[r\eE[m\eE[2J\eE[H\eE[?7h\eE[?1;3;4;6l\eE[4l:\e
-\&           :k1=\eE[11~:k2=\eE[12~:k3=\eE[13~:k4=\eE[14~:k5=\eE[15~:\e
-\&           :k6=\eE[17~:k7=\eE[18~:k8=\eE[19~:k9=\eE[20~:kD=\eE[3~:\e
-\&           :kI=\eE[2~:kN=\eE[6~:kP=\eE[5~:kb=\e177:kd=\eEOB:ke=\eE[?1l\eE>:\e
-\&           :kh=\eE[7~:kl=\eEOD:kr=\eEOC:ks=\eE[?1h\eE=:ku=\eEOA:le=^H:\e
-\&           :mb=\eE[5m:md=\eE[1m:me=\eE[m\e017:mr=\eE[7m:nd=\eE[C:rc=\eE8:\e
-\&           :sc=\eE7:se=\eE[27m:sf=^J:so=\eE[7m:sr=\eEM:st=\eEH:ta=^I:\e
-\&           :te=\eE[r\eE[?1049l:ti=\eE[?1049h:ue=\eE[24m:up=\eE[A:\e
-\&           :us=\eE[4m:vb=\eE[?5h\eE[?5l:ve=\eE[?25h:vi=\eE[?25l:\e
-\&           :vs=\eE[?25h:
-.Ve
+Or you could use the termcap entry in doc/etc/rxvt\-unicode.termcap,
+generated by the command above.
 .PP
 \fIWhy does \f(CI\*(C`ls\*(C'\fI no longer have coloured output?\fR
 .IX Subsection "Why does ls no longer have coloured output?"
@@ -1461,7 +1439,7 @@ does it support it. Instead, it uses its own internal representation of
 \&\fBwchar_t\fR. This is, of course, completely fine with respect to standards.
 .PP
 However, that means rxvt-unicode only works in \f(CW\*(C`POSIX\*(C'\fR, \f(CW\*(C`ISO\-8859\-1\*(C'\fR and
-\&\f(CW\*(C`UTF\-8\*(C'\fR locales under FreeBSD (which all use Unicode as \fBwchar_t\fR.
+\&\f(CW\*(C`UTF\-8\*(C'\fR locales under FreeBSD (which all use Unicode as \fBwchar_t\fR).
 .PP
 \&\f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR is the only sane way to support multi-language
 apps in an \s-1OS\s0, as using a locale-dependent (and non-standardized)
@@ -1754,6 +1732,8 @@ l l .
 Ps = 0	Clear to Right (default)
 Ps = 1	Clear to Left
 Ps = 2	Clear All
+Ps = 3	Like Ps = 0, but is ignored when wrapped
+                	(@@RXVT_NAME@@ extension)
 .TE
 .ie n .IP "\fB\fB""ESC [ Ps L""\fB\fR" 4
 .el .IP "\fB\f(CBESC [ Ps L\fB\fR" 4
@@ -2321,6 +2301,9 @@ load \fBmona.jpg\fR with a scaling of 100%
 .IX Item "E]20;;200;?a"
 rescale the current pixmap to 200% and display the image geometry in
 the title
+.PP
+
+.IX Xref "Mouse"
 .SH "Mouse Reporting"
 .IX Header "Mouse Reporting"
 .ie n .IP "\fB\fB""ESC [ M <b> <x> <y>""\fB\fR" 4
@@ -2357,6 +2340,9 @@ Col = \fB\f(CB\*(C`<x> \- SPACE\*(C'\fB\fR
 Row = \fB\f(CB\*(C`<y> \- SPACE\*(C'\fB\fR
 .SH "Key Codes"
 .IX Header "Key Codes"
+
+.IX Xref "KeyCodes"
+.PP
 Note: \fBShift\fR + \fBF1\fR\-\fBF10\fR generates \fBF11\fR\-\fBF20\fR
 .PP
 For the keypad, use \fBShift\fR to temporarily override Application-Keypad
@@ -2624,10 +2610,9 @@ It also enables some non-essential features otherwise disabled, such as:
 .Ve
 .IP "\-\-enable\-iso14755 (default: on)" 4
 .IX Item "--enable-iso14755 (default: on)"
-Enable extended \s-1ISO\s0 14755 support (see @@RXVT_NAME@@(1), or
-\&\fIdoc/rxvt.1.txt\fR). Basic support (section 5.1) is enabled by
-\&\f(CW\*(C`\-\-enable\-frills\*(C'\fR, while support for 5.2, 5.3 and 5.4 is enabled with
-this switch.
+Enable extended \s-1ISO\s0 14755 support (see @@RXVT_NAME@@(1)).
+Basic support (section 5.1) is enabled by \f(CW\*(C`\-\-enable\-frills\*(C'\fR, while
+support for 5.2, 5.3 and 5.4 is enabled with this switch.
 .IP "\-\-enable\-keepscrolling (default: on)" 4
 .IX Item "--enable-keepscrolling (default: on)"
 Add support for continual scrolling of the display when you hold
@@ -2658,11 +2643,11 @@ Add support to have the pointer disappear when typing or inactive.
 .IP "\-\-enable\-perl (default: on)" 4
 .IX Item "--enable-perl (default: on)"
 Enable an embedded perl interpreter. See the \fB@@RXVT_NAME@@\f(BIperl\fB\|(3)\fR
-manpage (\fIdoc/rxvtperl.txt\fR) for more info on this feature, or the
-files in \fIsrc/perl\-ext/\fR for the extensions that are installed by
-default. The perl interpreter that is used can be specified via the
-\&\f(CW\*(C`PERL\*(C'\fR environment variable when running configure. Even when compiled
-in, perl will \fInot\fR be initialised when all extensions have been disabled
+manpage for more info on this feature, or the files in \fIsrc/perl/\fR
+for the extensions that are installed by default.
+The perl interpreter that is used can be specified via the \f(CW\*(C`PERL\*(C'\fR
+environment variable when running configure. Even when compiled in,
+perl will \fInot\fR be initialised when all extensions have been disabled
 \&\f(CW\*(C`\-pe "" \-\-perl\-ext\-common ""\*(C'\fR, so it should be safe to enable from a
 resource standpoint.
 .IP "\-\-with\-afterimage\-config=DIR" 4
@@ -2689,12 +2674,3 @@ Marc Lehmann <rxvt@schmorp.de> converted this document to pod and
 reworked it from the original Rxvt documentation, which was done by Geoff
 Wing <gcw@pobox.com>, who in turn used the XTerm documentation and other
 sources.
-.SH "POD ERRORS"
-.IX Header "POD ERRORS"
-Hey! \fBThe above document had some coding errors, which are explained below:\fR
-.IP "Around line 2681:" 4
-.IX Item "Around line 2681:"
-=back doesn't take any parameters, but you said =back  X<Mouse>
-.IP "Around line 2759:" 4
-.IX Item "Around line 2759:"
-=back doesn't take any parameters, but you said =back  X<KeyCodes>
diff --git a/doc/rxvtd.1.man.in b/doc/rxvtd.1.man.in

index efd9246ed3186b1247e410c1bc103618adba416c..

index ..b825e3b458bc1361c1174481884413c4c5811b06 100644

--- a/doc/rxvtd.1.man.in
+++ b/doc/rxvtd.1.man.in
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.35
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -25,11 +25,11 @@
 ..
 .\" Set up some character translations and predefined strings.  \*(-- will
 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  | will give a
-.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
-.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
-.\" expand to `' in nroff, nothing in troff, for use with C<>.
-.tr \(*W-|\(bv\*(Tr
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
 .ie n \{\
 .    ds -- \(*W-
@@ -48,22 +48,25 @@
 .    ds R" ''
 'br\}
 .\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
-.if \nF \{\
+.ie \nF \{\
 .    de IX
 .    tm Index:\\$1\t\\n%\t"\\$2"
 ..
 .    nr % 0
 .    rr F
 .\}
-.\"
-.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.hy 0
-.if n .na
+.el \{\
+.    de IX
+..
+.\}
 .\"
 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
@@ -129,7 +132,11 @@
 .\" ========================================================================
 .\"
 .IX Title "@@RXVT_NAME@@ 1"
-.TH @@RXVT_NAME@@ 1 "2007-12-15" "8.8" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 1 "2008-06-15" "@@RXVT_VERSION@@" "RXVT-UNICODE"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
 .SH "NAME"
 @@RXVT_NAME@@d \- @@RXVT_NAME@@ terminal daemon
 .SH "SYNOPSIS"
@@ -182,11 +189,11 @@ This is a useful invocation of \fB@@RXVT_NAME@@d\fR in a \fI.xsession\fR\-style
 script:
 .PP
 .Vb 1
-\&   @@RXVT_NAME@@d -q -f -o
+\&   @@RXVT_NAME@@d \-q \-f \-o
 .Ve
 .PP
 This waits till the control socket is available, opens the current display
-and forks into the background. When you log\-out, the server is reset and
+and forks into the background. When you log-out, the server is reset and
 \&\fB@@RXVT_NAME@@d\fR is killed.
 .SH "ENVIRONMENT"
 .IX Header "ENVIRONMENT"
@@ -194,9 +201,8 @@ and forks into the background. When you log\-out, the server is reset and
 .IX Item "RXVT_SOCKET"
 Both \fB@@RXVT_NAME@@c\fR and \fB@@RXVT_NAME@@d\fR use the environment
 variable \fI\s-1RXVT_SOCKET\s0\fR to create a listening socket and to contact
-the @@RXVT_NAME@@d, respectively. If the variable is missing,
-\&\fI$HOME/.rxvt\-unicode\-\fI<nodename>\fI\fR is used. The variable must
-specify the absolute path of the socket to create.
+the @@RXVT_NAME@@d, respectively. If the variable is missing then
+\&\fI\f(CI$HOME\fI/.rxvt\-unicode\-\fI<nodename>\fI\fR is used.
 .IP "\fB\s-1DISPLAY\s0\fR" 4
 .IX Item "DISPLAY"
 Only used when the \f(CW\*(C`\-\-opendisplay\*(C'\fR option is specified. Must contain a
diff --git a/doc/rxvtperl.3.man.in b/doc/rxvtperl.3.man.in

index c440026d1b6e048ca63a2d254ddddfd0c178d6c0..

index ..571fa7465be8502b21d4cbb158060d74e79aa53a 100644

--- a/doc/rxvtperl.3.man.in
+++ b/doc/rxvtperl.3.man.in
@@ -132,7 +132,7 @@
 .\" ========================================================================
 .\"
 .IX Title "@@RXVT_NAME@@ 3"
-.TH @@RXVT_NAME@@ 3 "2008-01-25" "8.9" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 3 "2008-06-15" "@@RXVT_VERSION@@" "RXVT-UNICODE"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -1363,10 +1363,9 @@ Used after changing terminal contents to display them.
 .ie n .IP "$text\fR = \f(CW$term\fR\->ROW_t ($row_number[, \f(CW$new_text\fR[, \f(CW$start_col]])" 4
 .el .IP "\f(CW$text\fR = \f(CW$term\fR\->ROW_t ($row_number[, \f(CW$new_text\fR[, \f(CW$start_col\fR]])" 4
 .IX Item "$text = $term->ROW_t ($row_number[, $new_text[, $start_col]])"
-Returns the text of the entire row with number \f(CW$row_number\fR. Row \f(CW0\fR
-is the topmost terminal line, row \f(CW\*(C`$term\->$ncol\-1\*(C'\fR is the bottommost
-terminal line. The scrollback buffer starts at line \f(CW\*(C`\-1\*(C'\fR and extends to
-line \f(CW\*(C`\-$term\->nsaved\*(C'\fR. Nothing will be returned if a nonexistent line
+Returns the text of the entire row with number \f(CW$row_number\fR. Row \f(CW\*(C`$term\->top_row\*(C'\fR
+is the topmost terminal line, row \f(CW\*(C`$term\->nrow\-1\*(C'\fR is the bottommost
+terminal line. Nothing will be returned if a nonexistent line
 is requested.
 .Sp
 If \f(CW$new_text\fR is specified, it will replace characters in the current
diff --git a/src/init.C b/src/init.C

index f2045d5e0770ae8837db535a367b3450b6f67490..

index ..6bf6bf20bc51355362366ca2c95f8774197a8467 100644

--- a/src/init.C
+++ b/src/init.C
@@ -541,7 +541,7 @@ rxvt_term::init (int argc, const char *const *argv, stringvec *envv)

   SET_R (this);
   set_locale ("");
-  set_environ (envv); // few things in X do not call setlocale :(
+  set_environ (envv); // a few things in X do not call setlocale :(

   init_vars ();

@@ -553,6 +553,16 @@ rxvt_term::init (int argc, const char *const *argv, stringvec *envv)
   keyboard->register_done ();
 #endif

+  if (const char *path = rs[Rs_chdir])
+    if (*path) // ignored if empty
+      {
+        if (*path != '/')
+          rxvt_fatal ("specified shell working directory must start with a slash, aborting.\n");
+
+        if (chdir (path))
+          rxvt_fatal ("unable to change into specified shell working directory, aborting.\n");
+      }
+
   if (option (Opt_scrollBar))
     scrollBar.state = STATE_IDLE;    /* set existence for size calculations */

diff --git a/src/perl/tabbed b/src/perl/tabbed

index aeefb9089a54b75e5847101dbecd977947fbc5d9..

index ..0f2882f7d5a33faab87f4054ab6f91922fd8e30f 100644

--- a/src/perl/tabbed
+++ b/src/perl/tabbed
@@ -57,7 +57,6 @@ sub new_tab {
          for @{ $self->{resource} || [] };

       $term->resource (perl_ext_2 => $term->resource ("perl_ext_2") . ",-tabbed");
-
    };

    push @urxvt::TERM_EXT, urxvt::ext::tabbed::tab::;
@@ -209,7 +208,7 @@ sub on_motion_notify {
 sub on_init {
    my ($self) = @_;

-   for (qw(name perl_ext_1 perl_ext_2)) {
+   for (qw(name chdir perl_ext_1 perl_ext_2)) {
       my $val = $self->resource ($_);

       push @{ $self->{resource} }, [$_ => $val]
diff --git a/src/rsinc.h b/src/rsinc.h

index f3f1110d077711ca7c6ea799f99bf8675c299129..

index ..45aa5944bf36018a1f4434080859c3f8dae4113e 100644

--- a/src/rsinc.h
+++ b/src/rsinc.h
@@ -5,6 +5,7 @@
   def (iconName)
   def (geometry)
   def (reverseVideo)
+  def (chdir)
   def (color)
   reserve (color, TOTAL_COLORS)
   def (font)
diff --git a/src/rxvtc.C b/src/rxvtc.C

index 50b050ea77549f6a8a397c6503a38188d1ea313c..

index ..7ca109e00afee02ebf53a681ef5b4c41db17b937 100644

--- a/src/rxvtc.C
+++ b/src/rxvtc.C
@@ -98,7 +98,6 @@ main (int argc, const char *const *argv)
   }

   c.send ("NEW");
-  c.send ("CWD"), c.send (cwd);

   for (char **var = environ; *var; var++)
     c.send ("ENV"), c.send (*var);
@@ -107,6 +106,9 @@ main (int argc, const char *const *argv)
   base = base ? base + 1 : argv[0];
   c.send ("ARG"), c.send (strcmp (base, RXVTNAME "c") ? base : RXVTNAME);

+  c.send ("ARG"), c.send ("-cd");
+  c.send ("ARG"), c.send (cwd);
+
   for (int i = 1; i < argc; i++)
     c.send ("ARG"), c.send (argv[i]);

diff --git a/src/rxvtd.C b/src/rxvtd.C

index 0d22a426a3412b3713b5542a946a67198dc4f643..

index ..56428270f768b141e9afd6040d0fdfa2ebdbf753 100644

--- a/src/rxvtd.C
+++ b/src/rxvtd.C
@@ -174,16 +174,6 @@ void server::read_cb (ev::io &w, int revents)
                 break;
               else if (!strcmp (tok, "ENV") && recv (tok))
                 envv->push_back (strdup (tok));
-              else if (!strcmp (tok, "CWD") && recv (tok))
-                {
-                  if (chdir (tok))
-                    {
-                      delete envv;
-                      delete argv;
-                      return err ("unable to change to working directory to '%s', aborting: %s.\n",
-                                  (char *)tok, strerror (errno));
-                    }
-                }
               else if (!strcmp (tok, "ARG") && recv (tok))
                 argv->push_back (strdup (tok));
               else
@@ -211,7 +201,7 @@ void server::read_cb (ev::io &w, int revents)

             term->log_hook = 0;

-            chdir ("/");
+            chdir ("/"); // init might change to different working directory

             if (!success)
               term->destroy ();
diff --git a/src/urxvt.pm b/src/urxvt.pm

index c8afb2f080219405c3999139714531cd550a9efd..

index ..2793547f4c8ab71a414f230492bb397882cabf33 100644

--- a/src/urxvt.pm
+++ b/src/urxvt.pm
@@ -1264,7 +1264,7 @@ are supported in every build, please see the source file F</src/rsinc.h>
 to see the actual list:

   answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont
-  borderLess color cursorBlink cursorUnderline cutchars delete_key
+  borderLess chdir color cursorBlink cursorUnderline cutchars delete_key
   display_name embed ext_bwidth fade font geometry hold iconName
   imFont imLocale inputMethod insecure int_bwidth intensityStyles
   italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier
diff --git a/src/xdefaults.C b/src/xdefaults.C

index 6b2636240d555891f8b038e689c9872d546f11e0..

index ..c861f858251e7abb8b881cb3bf27c66194233f2b 100644

--- a/src/xdefaults.C
+++ b/src/xdefaults.C
@@ -93,6 +93,7 @@ optList[] = {
               SWCH ("C", Opt_console, 0, "intercept console messages"),
               SWCH ("iconic", Opt_iconic, 0, "start iconic"),
               SWCH ("ic", Opt_iconic, 0, NULL),	/* short form */
+              STRG (Rs_chdir, "chdir", "cd", "string", "start shell in this directory"),
               BOOL (Rs_reverseVideo, "reverseVideo", "rv", Opt_reverseVideo, 0, "reverse video"),
               BOOL (Rs_loginShell, "loginShell", "ls", Opt_loginShell, 0, "login shell"),
               BOOL (Rs_jumpScroll, "jumpScroll", "j", Opt_jumpScroll, 0, "jump scrolling"),

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 11:47:07 2024