-- 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: cffa615c6c7c20d5ea157aacda568e248467cc8c:
path_to:
revision_to:

git.thebackupbox.net

rxvt-unicode-sixel

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

commit cffa615c6c7c20d5ea157aacda568e248467cc8c
Author: Marc Lehmann <schmorp@schmorp.de>
Date:   Fri Dec 26 22:52:23 2014 +0000

    *** empty log message ***

diff --git a/Changes b/Changes

index 2e2ba911516c5396b2a6d5896edb3169aabfede5..

index ..34fd575b01aa49abe0d31f9a6bdf779246e9c7b1 100644

--- a/Changes
+++ b/Changes
@@ -35,6 +35,7 @@ TODO IMPL: recalc bg always on bg colour change

 TODO: document typical actions in rxvt.1.pod keysyms
 TODO: warn with a graphical message when env has been modified
+TODO: c&c perl socket via daemon-ext mechanism

 TODO: axe :BINDING:, move to init hook
 TODO: no autloading for binding, maybe futgure for resource
@@ -59,6 +60,8 @@ TODO: think aboiut actions - are thesy tetx vstrings (utf-8) or octets
 	- add 'builtin-string' action for keysym resources that restores string
 	  mappings for keys that have predefined actions in urxvt.
 	- add -k option to urxvtc for killing the daemon process.
+        - document urxvtd's -e/--eval option that was implemented in 9.16,
+          but not documented.
 	- add -dockapp option to make the wm treat urxvt as a dockapp.
 	- add -mc option and multiClickTime resource to set the maximum time
 	  between multi-click select events (patch by Joe Peterson).
diff --git a/README.FAQ b/README.FAQ

index 63eb1832530dcfdb75f38f1516c854bc19f93938..

index ..0395c37a3a44e6cdfff4fb2c6b04692fcad7011f 100644

--- a/README.FAQ
+++ b/README.FAQ
@@ -6,11 +6,10 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     interested in learning about new and exciting problems (but not FAQs :).

    I use Gentoo, and I have a problem...
-    There are three big problems with Gentoo Linux: first of all, most if
-    not all Gentoo systems are completely broken (missing or mismatched
-    header files, broken compiler etc. are just the tip of the iceberg);
-    secondly, the Gentoo maintainer thinks it is a good idea to add broken
-    patches to the code; and lastly, it should be called Gentoo GNU/Linux.
+    There are two big problems with Gentoo Linux: first, most if not all
+    Gentoo systems are completely broken (missing or mismatched header
+    files, broken compiler etc. are just the tip of the iceberg); secondly,
+    it should be called Gentoo GNU/Linux.

     For these reasons, it is impossible to support rxvt-unicode on Gentoo.
     Problems appearing on Gentoo systems will usually simply be ignored
@@ -484,8 +483,8 @@ xterm? I need this to decide about setting colours etc.

        URxvt.perl-ext-common: default,-readline

-   My numerical keypad acts weird and generates differing output?
-    Some Debian GNUL/Linux users seem to have this problem, although no
+   My numeric keypad acts weird and generates differing output?
+    Some Debian GNU/Linux users seem to have this problem, although no
     specific details were reported so far. It is possible that this is
     caused by the wrong "TERM" setting, although the details of whether and
     how this can happen are unknown, as "TERM=rxvt" should offer a
@@ -776,10 +775,7 @@ xterm? I need this to decide about setting colours etc.
        infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti"

     One some systems you might need to set $TERMINFO to the full path of
-    $HOME/.terminfo for this to work. Debian systems have a broken tic which
-    will not be able to overwrite the existing rxvt-unicode terminfo entry -
-    you might have to manually delete all traces of rxvt-unicode* from
-    /etc/terminfo.
+    $HOME/.terminfo for this to work.

     If you cannot or do not want to do this, then you can simply set
     "TERM=rxvt" or even "TERM=xterm", and live with the small number of
@@ -845,9 +841,8 @@ xterm? I need this to decide about setting colours etc.

    Why are the secondary screen-related options not working properly?
     Make sure you are using "TERM=rxvt-unicode". Some pre-packaged
-    distributions (most notably Debian GNU/Linux) break rxvt-unicode by
-    setting "TERM" to "rxvt", which doesn't have these extra features.
-    Unfortunately, some of these (most notably, again, Debian GNU/Linux)
+    distributions break rxvt-unicode by setting "TERM" to "rxvt", which
+    doesn't have these extra features. Unfortunately, some of these
     furthermore fail to even install the "rxvt-unicode" terminfo file, so
     you will need to install it on your own (See the question When I log-in
     to another system it tells me about missing terminfo data? on how to do
@@ -990,21 +985,6 @@ xterm? I need this to decide about setting colours etc.
     So the only workaround is not to kill your Input Method Servers.

   Operating Systems / Package Maintaining
-   I am using Debian GNU/Linux and have a problem...
-    The Debian GNU/Linux package of rxvt-unicode in sarge contains large
-    patches that considerably change the behaviour of rxvt-unicode (but
-    unfortunately this notice has been removed). Before reporting a bug to
-    the original rxvt-unicode author please download and install the genuine
-    version (<http://software.schmorp.de/pkg/rxvt-unicode.html>) and try to
-    reproduce the problem. If you cannot, chances are that the problems are
-    specific to Debian GNU/Linux, in which case it should be reported via
-    the Debian Bug Tracking System (use "reportbug" to report the bug).
-
-    For other problems that also affect the Debian package, you can and
-    probably should use the Debian BTS, too, because, after all, it's also a
-    bug in the Debian version and it serves as a reminder for other users
-    that might encounter the same issue.
-
    I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?
     You should build one binary with the default options. configure now
     enables most useful options, and the trend goes to making them
diff --git a/README.configure b/README.configure

index ae7c4564266390abe0a1993cb93960bac2c9d0c8..

index ..674c0403a167b48ea692fc666fc2b74a0d717631 100644

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

     --enable-iso14755 (default: on)
-        Enable extended ISO 14755 support (see urxvt(1)). Basic support
+        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.

@@ -224,8 +224,8 @@ CONFIGURE OPTIONS
         Add support to have the pointer disappear when typing or inactive.

     --enable-perl (default: on)
-        Enable an embedded perl interpreter. See the urxvtperl(3) manpage
-        for more info on this feature, or the files in src/perl/ for the
+        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
@@ -247,7 +247,7 @@ CONFIGURE OPTIONS
         "rxvt-unicode-256color" by default (doc/etc/ contains
         termcap/terminfo definitions for both).

-        It also results in higher memory usage and can slow down urxvt
+        It also results in higher memory usage and can slow down rxvt
         dramatically when more than six fonts are in use by a terminal
         instance.

diff --git a/doc/etc/rxvt-unicode.termcap b/doc/etc/rxvt-unicode.termcap

index 7f2d21e4d68a57bd5605fd97c3210a94e173e65f..

index ..204e8982ae473cdbba22acae990604e3b94bf0b6 100644

--- a/doc/etc/rxvt-unicode.termcap
+++ b/doc/etc/rxvt-unicode.termcap
@@ -2,6 +2,8 @@
 # Updated: Özgür Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
 # Updated: Marc Lehmann <schmorp@schmorp.de>, 17 Feb 2005
 # Updated: Marc Lehmann <schmorp@schmorp.de>, 04 Nov 2008: change init/reset sequences
+# Updated: Marc Lehmann <schmorp@schmorp.de>, 24 Nov 2014: implement cvvis as blinking cursor
+# Updated: Marc Lehmann <schmorp@schmorp.de>, 13 Dec 2014: removed superfluous 0 from sgr
 # (untranslatable capabilities removed to fit entry within 1023 bytes)
 # (sgr removed to fit entry within 1023 bytes)
 # (acsc removed to fit entry within 1023 bytes)
@@ -21,11 +23,11 @@ rxvt-unicode|rxvt-unicode terminal (X Window System):\
 	: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=\E[B:ke=\E>:\
 	:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m: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:ts=\E]2;:ue=\E[24m:\
-	:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
-	:vs=\E[?25h:
+	:md=\E[1m:me=\E[m: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:ts=\E]2;:ue=\E[24m:up=\E[A:us=\E[4m:\
+	:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:vi=\E[?25l:\
+	:vs=\E[?12;25h:

 rxvt-unicode-256color|rxvt-unicode terminal with 256 colors (X Window System):\
 	:Co#256:pa#32767:tc=rxvt-unicode:
diff --git a/doc/rxvt.1.man.in b/doc/rxvt.1.man.in

index be01eeaab58e7117ebc249643b3ef957a8567ee3..

index ..8a13ddb27e5d42ae1b159a05e28f52462f1a7660 100644

--- a/doc/rxvt.1.man.in
+++ b/doc/rxvt.1.man.in
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "@@RXVT_NAME@@ 1"
-.TH @@RXVT_NAME@@ 1 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 1 "2014-12-26" "@@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
@@ -238,8 +238,9 @@ of graphical corruption. This is harmless, but we can't do anything about
 this, so watch out]
 .IP "\fB\-visual\fR \fIvisualID\fR" 4
 .IX Item "-visual visualID"
-Compile \fIfrills\fR: Use the given visual (see e.g. \f(CW\*(C`xdpyinfo\*(C'\fR for possible
-visual ids).
+Compile \fIfrills\fR: Use the given visual (see e.g. \f(CW\*(C`xdpyinfo\*(C'\fR for
+possible visual ids) instead of the default, and also allocate a private
+colormap. All visual types except for DirectColor are supported.
 .IP "\fB\-geometry\fR \fIgeom\fR" 4
 .IX Item "-geometry geom"
 Window geometry (\fB\-g\fR still respected); resource \fBgeometry\fR.
@@ -330,6 +331,9 @@ rather than the default executable file name. Name should not contain
 .IP "\fB\-ls\fR|\fB+ls\fR" 4
 .IX Item "-ls|+ls"
 Start as a login\-shell/sub\-shell; resource \fBloginShell\fR.
+.IP "\fB\-mc\fR \fImilliseconds\fR" 4
+.IX Item "-mc milliseconds"
+Specify the maximum time between multi-click selections.
 .IP "\fB\-ut\fR|\fB+ut\fR" 4
 .IX Item "-ut|+ut"
 Compile \fIutmp\fR: Inhibit/enable writing a utmp entry; resource
@@ -401,6 +405,10 @@ support \s-1MWM\s0 hints (e.g. kwin), enables override-redirect mode.
 .IX Item "-override-redirect"
 Compile \fIfrills\fR: Sets override-redirect on the window; resource
 \&\fBoverride-redirect\fR.
+.IP "\fB\-dockapp\fR" 4
+.IX Item "-dockapp"
+Sets the initial state of the window to WithdrawnState, which makes
+window managers that support this extension treat it as a dockapp.
 .IP "\fB\-sbg\fR" 4
 .IX Item "-sbg"
 Compile \fIfrills\fR: Disable the usage of the built-in block graphics/line
@@ -829,6 +837,10 @@ de-iconify (map) on receipt of a bell character [default].
 \&\fBTrue\fR: start as a login shell by prepending a `\-' to \fBargv[0]\fR of
 the shell; option \fB\-ls\fR. \fBFalse\fR: start as a normal sub-shell
 [default]; option \fB+ls\fR.
+.IP "\fBmultiClickTime:\fR \fInumber\fR" 4
+.IX Item "multiClickTime: number"
+Specify the maximum time in milliseconds between multi-click select
+events. The default is 500 milliseconds; option \fB\-mc\fR.
 .IP "\fButmpInhibit:\fR \fIboolean\fR" 4
 .IX Item "utmpInhibit: boolean"
 \&\fBTrue\fR: inhibit writing record into the system log file \fButmp\fR;
@@ -1049,35 +1061,76 @@ Sets the working directory for the shell (or the command specified via
 \&\fB\-e\fR). The \fIpath\fR 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 \fB\-cd\fR.
-.IP "\fBkeysym.\fR\fIsym\fR: \fIstring\fR" 4
-.IX Item "keysym.sym: string"
-Compile \fIfrills\fR: Associate \fIstring\fR with keysym \fIsym\fR. The
-intervening resource name \fBkeysym.\fR cannot be omitted.
+.IP "\fBkeysym.\fR\fIsym\fR: \fIaction\fR" 4
+.IX Item "keysym.sym: action"
+Compile \fIfrills\fR: Associate \fIaction\fR with keysym \fIsym\fR. The intervening
+resource name \fBkeysym.\fR cannot be omitted.
 .Sp
-The format of \fIsym\fR is "\fI(modifiers\-)key\fR", where \fImodifiers\fR can be
-any combination of \fBISOLevel3\fR, \fBAppKeypad\fR, \fBControl\fR, \fBNumLock\fR,
-\&\fBShift\fR, \fBMeta\fR, \fBLock\fR, \fBMod1\fR, \fBMod2\fR, \fBMod3\fR, \fBMod4\fR, \fBMod5\fR,
-and the abbreviated \fBI\fR, \fBK\fR, \fBC\fR, \fBN\fR, \fBS\fR, \fBM\fR, \fBA\fR, \fBL\fR, \fB1\fR,
-\&\fB2\fR, \fB3\fR, \fB4\fR, \fB5\fR.
+Using this resource, you can map key combinations such as
+\&\f(CW\*(C`Ctrl\-Shift\-BackSpace\*(C'\fR to various actions, such as outputting a different
+string than would normally result from that combination, making the
+terminal scroll up or down the way you want it, or any other thing an
+extension might provide.
+.Sp
+The key combination that triggers the action, \fIsym\fR, has the following format:
+.Sp
+.Vb 1
+\&   (modifiers\-)key
+.Ve
+.Sp
+Where \fImodifiers\fR can be any combination of \fBISOLevel3\fR, \fBAppKeypad\fR,
+\&\fBControl\fR, \fBNumLock\fR, \fBShift\fR, \fBMeta\fR, \fBLock\fR, \fBMod1\fR, \fBMod2\fR,
+\&\fBMod3\fR, \fBMod4\fR, \fBMod5\fR, and the abbreviated \fBI\fR, \fBK\fR, \fBC\fR, \fBN\fR,
+\&\fBS\fR, \fBM\fR, \fBA\fR, \fBL\fR, \fB1\fR, \fB2\fR, \fB3\fR, \fB4\fR, \fB5\fR.
 .Sp
 The \fBNumLock\fR, \fBMeta\fR and \fBISOLevel3\fR modifiers are usually aliased to
 whatever modifier the NumLock key, Meta/Alt keys or \s-1ISO\s0 Level3 Shift/AltGr
 keys are being mapped. \fBAppKeypad\fR is a synthetic modifier mapped to the
 current application keymap mode state.
 .Sp
-The spellings of \fIkey\fR can be obtained by using \fBxev\fR(1) command or
-searching keysym macros from \fB/usr/X11R6/include/X11/keysymdef.h\fR and
-omitting the prefix \fB\s-1XK_\s0\fR. Alternatively you can specify \fIkey\fR by its hex
-keysym value (\fB0x0000 \- 0xFFFF\fR). Note that the lookup of \fIsym\fRs is not
-performed in an exact manner; however, the closest match is assured.
-.Sp
-\&\fIstring\fR may contain escape values (\f(CW\*(C`\en\*(C'\fR: newline, \f(CW\*(C`\e000\*(C'\fR: octal
+Due the the large number of modifier combinations, a key mapping will
+match if \fIat least\fR the specified identifiers are being set, and no other
+key mappings with those and more bits are being defined. That means that
+defining a mapping for \f(CW\*(C`a\*(C'\fR will automatically provide definitions for
+\&\f(CW\*(C`Meta\-a\*(C'\fR, \f(CW\*(C`Shift\-a\*(C'\fR and so on, unless some of those are defined mappings
+themselves. See the \f(CW\*(C`builtin:\*(C'\fR action, below, for a way to work around
+this when this is a problem.
+.Sp
+The spelling of \fIkey\fR depends on your implementation of X. An easy way to
+find a key name is to use the \fBxev\fR(1) command. You can find a list by
+looking for the \f(CW\*(C`XK_\*(C'\fR macros in the \fBX11/keysymdef.h\fR include file (omit
+the \f(CW\*(C`XK_\*(C'\fR prefix). Alternatively you can specify \fIkey\fR by its hex keysym
+value (\fB0x0000 \- 0xFFFF\fR).
+.Sp
+As with any resource value, the \fIaction\fR string may contain backslash
+escape sequences (\f(CW\*(C`\en\*(C'\fR: newline, \f(CW\*(C`\e\e\*(C'\fR: backslash, \f(CW\*(C`\e000\*(C'\fR: octal
 number), see \s-1RESOURCES\s0 in \f(CW\*(C`man 7 X\*(C'\fR for further details.
 .Sp
-You can define a range of keysyms in one shot by
-loading the \f(CW\*(C`keysym\-list\*(C'\fR perl extension and providing a \fIstring\fR
-with pattern \fBlist/PREFIX/MIDDLE/SUFFIX\fR, where the delimiter `/'
-should be a character not used by the strings.
+An action starts with an action prefix that selects a certain type
+of action, followed by a colon. An action string without colons is
+interpreted as a literal string to pass to the tty (as if it was
+prefixed with \f(CW\*(C`string:\*(C'\fR).
+.Sp
+The following action prefixes are known \- extensions can provide
+additional prefixes:
+.RS 4
+.IP "string:STRING" 4
+.IX Item "string:STRING"
+If the \fIaction\fR starts with \f(CW\*(C`string:\*(C'\fR (or otherwise contains no colons),
+then the remaining \f(CW\*(C`STRING\*(C'\fR will be passed to the program running in the
+terminal. For example, you could replace whatever Shift-Tab outputs by the
+string \f(CW\*(C`echo rm \-rf /\*(C'\fR followed by a newline:
+.Sp
+.Vb 1
+\&   URxvt.keysym.Shift\-Tab: string:echo rm \-rf /\en
+.Ve
+.Sp
+This could in theory be used to completely redefine your keymap.
+.Sp
+In addition, for actions of this type, you can define a range of
+keysyms in one shot by loading the \f(CW\*(C`keysym\-list\*(C'\fR perl extension and
+providing an \fIaction\fR with pattern \fBlist/PREFIX/MIDDLE/SUFFIX\fR, where
+the delimiter `/' should be a character not used by the strings.
 .Sp
 Its usage can be demonstrated by an example:
 .Sp
@@ -1088,40 +1141,51 @@ Its usage can be demonstrated by an example:
 The above line is equivalent to the following three lines:
 .Sp
 .Vb 3
-\&  URxvt.keysym.Meta\-Control\-0x61:    \e033<a>
-\&  URxvt.keysym.Meta\-Control\-0x62:    \e033<b>
-\&  URxvt.keysym.Meta\-Control\-0x63:    \e033<c>
+\&  URxvt.keysym.Meta\-Control\-0x61:    string:\e033<a>
+\&  URxvt.keysym.Meta\-Control\-0x62:    string:\e033<b>
+\&  URxvt.keysym.Meta\-Control\-0x63:    string:\e033<c>
 .Ve
-.Sp
-If \fIstring\fR takes the form of \f(CW\*(C`command:STRING\*(C'\fR, the specified \fB\s-1STRING\s0\fR
-is interpreted and executed as @@RXVT_NAME@@'s control sequence. For
-example the following means "change the current locale to \f(CW\*(C`zh_CN.GBK\*(C'\fR
+.IP "command:STRING" 4
+.IX Item "command:STRING"
+If \fIaction\fR takes the form of \f(CW\*(C`command:STRING\*(C'\fR, the specified \fB\s-1STRING\s0\fR
+is interpreted and executed as @@RXVT_NAME@@'s control sequence (basically
+the opposite of \f(CW\*(C`string:\*(C'\fR \- instead of sending it to the program running
+in the terminal, it will be treated as if it were program output). This is
+most useful to feed command sequences into @@RXVT_NAME@@.
+.Sp
+For example the following means "change the current locale to \f(CW\*(C`zh_CN.GBK\*(C'\fR
 when Control-Meta-c is being pressed":
 .Sp
 .Vb 1
 \&  URxvt.keysym.M\-C\-c: command:\e033]701;zh_CN.GBK\e007
 .Ve
 .Sp
-If \fIstring\fR takes the form \f(CW\*(C`perl:STRING\*(C'\fR, then the specified \fB\s-1STRING\s0\fR
-is passed to the \f(CW\*(C`on_user_command\*(C'\fR perl handler. See the @@RXVT_NAME@@\fIperl\fR\|(3)
-manpage. For example, the \fIselection\fR extension (activated via
-\&\f(CW\*(C`@@RXVT_NAME@@ \-pe selection\*(C'\fR) listens for \f(CW\*(C`selection:rot13\*(C'\fR events:
+The following example will map Control\-Meta\-1 and Control\-Meta\-2 to
+the fonts \f(CW\*(C`suxuseuro\*(C'\fR and \f(CW\*(C`9x15bold\*(C'\fR, so you can have some limited
+font-switching at runtime:
 .Sp
-.Vb 1
-\&  URxvt.keysym.M\-C\-c: perl:selection:rot13
+.Vb 2
+\&  URxvt.keysym.M\-C\-1: command:\e033]50;suxuseuro\e007
+\&  URxvt.keysym.M\-C\-2: command:\e033]50;9x15bold\e007
 .Ve
 .Sp
-Due the the large number of modifier combinations, a defined key mapping
-will match if \fIat least\fR the specified identifiers are being set, and
-no other key mappings with those and more bits are being defined. That
-means that defining a key map for \f(CW\*(C`a\*(C'\fR will automatically provide
-definitions for \f(CW\*(C`Meta\-a\*(C'\fR, \f(CW\*(C`Shift\-a\*(C'\fR and so on, unless some of those are defined
-mappings themselves.
+Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more
+info):
 .Sp
-Unfortunately, this will override built-in key mappings. For example
-if you overwrite the \f(CW\*(C`Insert\*(C'\fR key you will disable @@RXVT_NAME@@'s
-\&\f(CW\*(C`Shift\-Insert\*(C'\fR mapping. To re-enable that, you can poke \*(L"holes\*(R" into the
-user-defined keymap using the \f(CW\*(C`builtin:\*(C'\fR replacement:
+.Vb 2
+\&  URxvt.keysym.M\-C\-3: command:\e033[8;25;80t
+\&  URxvt.keysym.M\-C\-4: command:\e033[8;48;110t
+.Ve
+.IP "builtin:" 4
+.IX Item "builtin:"
+The builtin action is the action that @@RXVT_NAME@@ would execute if no
+key binding existed for the key combination. The obvious use is to undo
+the effect of existing bindings. The not so obvious use is to reinstate
+bindings when another binding overrides too many modifiers.
+.Sp
+For example if you overwrite the \f(CW\*(C`Insert\*(C'\fR key you will disable
+@@RXVT_NAME@@'s \f(CW\*(C`Shift\-Insert\*(C'\fR mapping. To re-enable that, you can poke
+\&\*(L"holes\*(R" into the user-defined keymap using the \f(CW\*(C`builtin:\*(C'\fR replacement:
 .Sp
 .Vb 2
 \&  URxvt.keysym.Insert: <my insert key sequence>
@@ -1131,23 +1195,61 @@ user-defined keymap using the \f(CW\*(C`builtin:\*(C'\fR replacement:
 The first line defines a mapping for \f(CW\*(C`Insert\*(C'\fR and \fIany\fR combination
 of modifiers. The second line re-establishes the default mapping for
 \&\f(CW\*(C`Shift\-Insert\*(C'\fR.
-.Sp
-The following example will map Control\-Meta\-1 and Control\-Meta\-2 to
-the fonts \f(CW\*(C`suxuseuro\*(C'\fR and \f(CW\*(C`9x15bold\*(C'\fR, so you can have some limited
-font-switching at runtime:
+.IP "builtin-string:" 4
+.IX Item "builtin-string:"
+This action is mainly useful to restore string mappings for keys that
+have predefined actions in @@RXVT_NAME@@. The exact semantics are a bit
+difficult to explain \- basically, this action will send the string to the
+application that would be sent if @@RXVT_NAME@@ wouldn't have a built-in
+action for it.
+.Sp
+An example might make it clearer: @@RXVT_NAME@@ normally pastes the
+selection when you press \f(CW\*(C`Shift\-Insert\*(C'\fR. With the following bindings, it
+would instead emit the (undocumented, but what applications running in the
+terminal might expect) sequence \f(CW\*(C`ESC [ 2 $\*(C'\fR instead:
 .Sp
 .Vb 2
-\&  URxvt.keysym.M\-C\-1: command:\e033]50;suxuseuro\e007
-\&  URxvt.keysym.M\-C\-2: command:\e033]50;9x15bold\e007
+\&   URxvt.keysym.S\-Insert: builtin\-string:
+\&   URxvt.keysym.C\-S\-Insert: builtin:
 .Ve
 .Sp
-Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more
-info):
+The first line disables the paste functionality for that key
+combination, and the second reinstates the default behaviour for
+\&\f(CW\*(C`Control\-Shift\-Insert\*(C'\fR, which would otherwise be overridden.
+.Sp
+Similarly, to let applications gain access to the \f(CW\*(C`C\-M\-c\*(C'\fR (copy to
+clipboard) and \f(CW\*(C`C\-M\-v\*(C'\fR (paste clipboard) key combination, you can do
+this:
 .Sp
 .Vb 2
-\&  URxvt.keysym.M\-C\-3: command:\e033[8;25;80t
-\&  URxvt.keysym.M\-C\-4: command:\e033[8;48;110t
+\&   URxvt.keysym.C\-M\-c: builtin\-string:
+\&   URxvt.keysym.C\-M\-v: builtin\-string:
 .Ve
+.IP "\s-1EXTENSION:STRING\s0" 4
+.IX Item "EXTENSION:STRING"
+An action of this form invokes the action \fB\s-1STRING\s0\fR, if any, provided
+by the @@RXVT_NAME@@\fIperl\fR\|(3) extension \fB\s-1EXTENSION\s0\fR. The extension will
+be loaded automatically if necessary.
+.Sp
+Not all extensions define actions, but popular extensions that do
+include the \fIselection\fR and \fImatcher\fR extensions (documented in their
+own manpages, @@RXVT_NAME@@\-\fIselection\fR\|(1) and @@RXVT_NAME@@\-\fImatcher\fR\|(1),
+respectively).
+.Sp
+From the silly examples department, this will rot13\-\*(L"encrypt\*(R"
+@@RXVT_NAME@@'s selection when Alt-Control-c is pressed on typical \s-1PC\s0
+keyboards:
+.Sp
+.Vb 1
+\&  URxvt.keysym.M\-C\-c: selection:rot13
+.Ve
+.IP "perl:STRING *DEPRECATED*" 4
+.IX Item "perl:STRING *DEPRECATED*"
+This is a deprecated way of invoking commands provided by perl
+extensions. It is still supported, but should not be used anymore.
+.RE
+.RS 4
+.RE
 .IP "\fBperl-ext-common\fR: \fIstring\fR" 4
 .IX Item "perl-ext-common: string"
 .PD 0
@@ -1160,20 +1262,24 @@ use in this terminal instance; option \fB\-pe\fR.
 Extension names can be prefixed with a \f(CW\*(C`\-\*(C'\fR sign to prohibit using
 them. This can be useful to selectively disable some extensions loaded
 by default, or specified via the \f(CW\*(C`perl\-ext\-common\*(C'\fR resource. For
-example, \f(CW\*(C`default,\-selection\*(C'\fR will use all the default extension except
+example, \f(CW\*(C`default,\-selection\*(C'\fR will use all the default extensions except
 \&\f(CW\*(C`selection\*(C'\fR.
 .Sp
-Extension names can also be followed by an argument in angle brackets
-(e.g.  \f(CW\*(C`searchable\-scrollback<M\-s>\*(C'\fR, which binds the hotkey for
-searchable scrollback to Alt/Meta\-s). Mentioning the same extension
-multiple times with different arguments will pass multiple arguments to
-the extension.
+The default set includes the \f(CW\*(C`selection\*(C'\fR, \f(CW\*(C`option\-popup\*(C'\fR,
+\&\f(CW\*(C`selection\-popup\*(C'\fR and \f(CW\*(C`readline\*(C'\fR extensions, any extensions that
+define keybindings via \f(CW\*(C`BINDING\*(C'\fR meta comments, and extensions which
+are mentioned in \fBkeysym\fR resources.
+.Sp
+Any extension such that a corresponding resource is given on the
+command line is automatically appended to \fBperl-ext\fR.
 .Sp
 Each extension is looked up in the library directories, loaded if
-necessary, and bound to the current terminal instance.
+necessary, and bound to the current terminal instance. When the library
+search path contains multiple extension files of the same name, then the
+first one found will be used.
 .Sp
-If both of these resources are the empty string, then the perl
-interpreter will not be initialized. The idea behind two options is that
+If both of these resources are the empty string, then the perl interpreter
+will not be initialized. The rationale for having two options is that
 \&\fBperl-ext-common\fR will be used for extensions that should be available to
 all instances, while \fBperl-ext\fR is used for specific instances.
 .IP "\fBperl-eval\fR: \fIstring\fR" 4
@@ -1196,10 +1302,14 @@ details.
 .IX Item "selection-autotransform.idx: perl-transform"
 Selection auto-transform patterns, see the @@RXVT_NAME@@\fIperl\fR\|(3) manpage
 for details.
-.IP "\fBsearchable-scrollback:\fR \fIkeysym\fR" 4
-.IX Item "searchable-scrollback: keysym"
-Sets the hotkey that starts the incremental scrollback buffer search
-(default: \f(CW\*(C`M\-s\*(C'\fR).
+.IP "\fBsearchable-scrollback:\fR \fIkeysym\fR *DEPRECATED*" 4
+.IX Item "searchable-scrollback: keysym *DEPRECATED*"
+This resource is deprecated and will be removed. Use a \fBkeysym\fR resource
+instead, e.g.:
+.Sp
+.Vb 1
+\&   URxvt.keysym.M\-s: searchable\-scrollback:start
+.Ve
 .IP "\fBurl-launcher\fR: \fIstring\fR" 4
 .IX Item "url-launcher: string"
 Specifies the program to be started with a \s-1URL\s0 argument. Used by the
diff --git a/doc/rxvt.7.man.in b/doc/rxvt.7.man.in

index ee2de32ce4be6e1859e4effd0b5cba755414d0d0..

index ..f64e480b4839a4c7e4b6900d26289203db8ba1ce 100644

--- a/doc/rxvt.7.man.in
+++ b/doc/rxvt.7.man.in
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "@@RXVT_NAME@@ 7"
-.TH @@RXVT_NAME@@ 7 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 7 "2014-12-26" "@@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
@@ -176,11 +176,10 @@ interested in learning about new and exciting problems (but not FAQs :).
 \fII use Gentoo, and I have a problem...\fR
 .IX Subsection "I use Gentoo, and I have a problem..."
 .PP
-There are three big problems with Gentoo Linux: first of all, most if not
-all Gentoo systems are completely broken (missing or mismatched header
-files, broken compiler etc. are just the tip of the iceberg); secondly,
-the Gentoo maintainer thinks it is a good idea to add broken patches to
-the code; and lastly, it should be called Gentoo GNU/Linux.
+There are two big problems with Gentoo Linux: first, most if not all
+Gentoo systems are completely broken (missing or mismatched header
+files, broken compiler etc. are just the tip of the iceberg);
+secondly, it should be called Gentoo GNU/Linux.
 .PP
 For these reasons, it is impossible to support rxvt-unicode on
 Gentoo. Problems appearing on Gentoo systems will usually simply be
@@ -752,10 +751,10 @@ extension:
 \&   URxvt.perl\-ext\-common: default,\-readline
 .Ve
 .PP
-\fIMy numerical keypad acts weird and generates differing output?\fR
-.IX Subsection "My numerical keypad acts weird and generates differing output?"
+\fIMy numeric keypad acts weird and generates differing output?\fR
+.IX Subsection "My numeric keypad acts weird and generates differing output?"
 .PP
-Some Debian GNUL/Linux users seem to have this problem, although no
+Some Debian GNU/Linux users seem to have this problem, although no
 specific details were reported so far. It is possible that this is caused
 by the wrong \f(CW\*(C`TERM\*(C'\fR setting, although the details of whether and how
 this can happen are unknown, as \f(CW\*(C`TERM=rxvt\*(C'\fR should offer a compatible
@@ -1104,10 +1103,7 @@ user and root):
 .Ve
 .PP
 One some systems you might need to set \f(CW$TERMINFO\fR to the full path of
-\&\fI\f(CI$HOME\fI/.terminfo\fR for this to work. Debian systems have a broken tic
-which will not be able to overwrite the existing rxvt-unicode terminfo
-entry \- you might have to manually delete all traces of \fIrxvt\-unicode*\fR
-from \fI/etc/terminfo\fR.
+\&\fI\f(CI$HOME\fI/.terminfo\fR for this to work.
 .PP
 If you cannot or do not want to do this, then you can simply set
 \&\f(CW\*(C`TERM=rxvt\*(C'\fR or even \f(CW\*(C`TERM=xterm\*(C'\fR, and live with the small number of
@@ -1197,12 +1193,11 @@ See next entry.
 .IX Subsection "Why are the secondary screen-related options not working properly?"
 .PP
 Make sure you are using \f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR. Some pre-packaged
-distributions (most notably Debian GNU/Linux) break rxvt-unicode
-by setting \f(CW\*(C`TERM\*(C'\fR to \f(CW\*(C`rxvt\*(C'\fR, which doesn't have these extra
-features. Unfortunately, some of these (most notably, again, Debian
-GNU/Linux) furthermore fail to even install the \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo
-file, so you will need to install it on your own (See the question \fBWhen
-I log-in to another system it tells me about missing terminfo data?\fR on
+distributions break rxvt-unicode by setting \f(CW\*(C`TERM\*(C'\fR to \f(CW\*(C`rxvt\*(C'\fR, which
+doesn't have these extra features. Unfortunately, some of these
+furthermore fail to even install the \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo file, so
+you will need to install it on your own (See the question \fBWhen I
+log-in to another system it tells me about missing terminfo data?\fR on
 how to do this).
 .SS "Encoding / Locale / Input Method Issues"
 .IX Subsection "Encoding / Locale / Input Method Issues"
@@ -1371,23 +1366,6 @@ crashes cannot be completely avoided even if both sides cooperate.
 So the only workaround is not to kill your Input Method Servers.
 .SS "Operating Systems / Package Maintaining"
 .IX Subsection "Operating Systems / Package Maintaining"
-\fII am using Debian GNU/Linux and have a problem...\fR
-.IX Subsection "I am using Debian GNU/Linux and have a problem..."
-.PP
-The Debian GNU/Linux package of rxvt-unicode in sarge contains large
-patches that considerably change the behaviour of rxvt-unicode (but
-unfortunately this notice has been removed). Before reporting a bug to
-the original rxvt-unicode author please download and install the genuine
-version (<http://software.schmorp.de/pkg/rxvt\-unicode.html>) and try to
-reproduce the problem. If you cannot, chances are that the problems are
-specific to Debian GNU/Linux, in which case it should be reported via the
-Debian Bug Tracking System (use \f(CW\*(C`reportbug\*(C'\fR to report the bug).
-.PP
-For other problems that also affect the Debian package, you can and
-probably should use the Debian \s-1BTS,\s0 too, because, after all, it's also a
-bug in the Debian version and it serves as a reminder for other users that
-might encounter the same issue.
-.PP
 \fII am maintaining rxvt-unicode for distribution/OS \s-1XXX,\s0 any recommendation?\fR
 .IX Subsection "I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?"
 .PP
@@ -1589,9 +1567,8 @@ Application Keypad (\s-1SMKX\s0). See also next sequence.
 .IX Item "ESC >"
 Normal Keypad (\s-1RMKX\s0)
 .Sp
-\&\fBNote:\fR If the numeric keypad is activated, eg, \fBNum_Lock\fR has been
-pressed, numbers or control functions are generated by the numeric keypad
-(see Key Codes).
+\&\fBNote:\fR numbers or control functions are generated by the numeric
+keypad in normal or application mode, respectively (see Key Codes).
 .ie n .IP "\fB\fB""ESC D""\fB\fR" 4
 .el .IP "\fB\f(CBESC D\fB\fR" 4
 .IX Item "ESC D"
@@ -1658,13 +1635,13 @@ Designate Kanji Character Set
 Where \fB\f(CB\*(C`C\*(C'\fB\fR is one of:
 .TS
 l l .
-C = 0 	DEC Special Character and Line Drawing Set
-C = A 	United Kingdom (UK)
-C = B 	United States (USASCII)
+C = 0	DEC Special Character and Line Drawing Set
+C = A	United Kingdom (UK)
+C = B	United States (USASCII)
 C = <	Multinational character set unimplemented
-C = 5 	Finnish character set unimplemented
-C = C 	Finnish character set unimplemented
-C = K 	German character set unimplemented
+C = 5	Finnish character set unimplemented
+C = C	Finnish character set unimplemented
+C = K	German character set unimplemented
 .TE
 .PP

@@ -1729,12 +1706,12 @@ Ps = 2	Clear All
 .IX Item "ESC [ Ps K"
 Erase in Line (\s-1EL\s0)
 .TS
-l l .
+l l 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)
+			(@@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
@@ -1895,7 +1872,7 @@ Ps = 8	Request Version Number (place in window title)
 .ie n .IP "\fB\fB""ESC [ Ps SP q""\fB\fR" 4
 .el .IP "\fB\f(CBESC [ Ps SP q\fB\fR" 4
 .IX Item "ESC [ Ps SP q"
-Set Cursor Style (\s-1DESCUSR\s0)
+Set Cursor Style (\s-1DECSCUSR\s0)
 .TS
 l l .
 Ps = 0	Blink Block
@@ -1903,6 +1880,8 @@ Ps = 1	Blink Block
 Ps = 2	Steady Block
 Ps = 3	Blink Underline
 Ps = 4	Steady Underline
+Ps = 5	Blink Bar (XTerm)
+Ps = 6	Steady Bar (XTerm)
 .TE
 .ie n .IP "\fB\fB""ESC [ Ps;Ps r""\fB\fR" 4
 .el .IP "\fB\f(CBESC [ Ps;Ps r\fB\fR" 4
@@ -2035,14 +2014,22 @@ l l .
 h	Auto-repeat Keys
 l	No Auto-repeat Keys
 .TE
-.ie n .IP "\fB\fB""Pm = 9""\fB\fR X10 XTerm" 4
-.el .IP "\fB\f(CBPm = 9\fB\fR X10 XTerm" 4
-.IX Item "Pm = 9 X10 XTerm"
+.ie n .IP "\fB\fB""Pm = 9""\fB\fR (X10 XTerm mouse protocol)" 4
+.el .IP "\fB\f(CBPm = 9\fB\fR (X10 XTerm mouse protocol)" 4
+.IX Item "Pm = 9 (X10 XTerm mouse protocol)"
 .TS
 l l .
 h	Send Mouse X & Y on button press.
 l	No mouse reporting.
 .TE
+.ie n .IP "\fB\fB""Pm = 12""\fB\fR (\s-1AT&T 610,\s0 XTerm)" 4
+.el .IP "\fB\f(CBPm = 12\fB\fR (\s-1AT&T 610,\s0 XTerm)" 4
+.IX Item "Pm = 12 (AT&T 610, XTerm)"
+.TS
+l l .
+h	Blinking cursor (cvvis)
+l	Steady cursor (cnorm)
+.TE
 .ie n .IP "\fB\fB""Pm = 25""\fB\fR (\s-1DECTCEM\s0)" 4
 .el .IP "\fB\f(CBPm = 25\fB\fR (\s-1DECTCEM\s0)" 4
 .IX Item "Pm = 25 (DECTCEM)"
@@ -2051,9 +2038,9 @@ l l .
 h	Visible cursor {cnorm/cvvis}
 l	Invisible cursor {civis}
 .TE
-.ie n .IP "\fB\fB""Pm = 30""\fB\fR" 4
-.el .IP "\fB\f(CBPm = 30\fB\fR" 4
-.IX Item "Pm = 30"
+.ie n .IP "\fB\fB""Pm = 30""\fB\fR (\fBrxvt\fR)" 4
+.el .IP "\fB\f(CBPm = 30\fB\fR (\fBrxvt\fR)" 4
+.IX Item "Pm = 30 (rxvt)"
 .TS
 l l .
 h	scrollBar visible
@@ -2128,9 +2115,9 @@ l l .
 h	Backspace key sends BS
 l	Backspace key sends DEL
 .TE
-.ie n .IP "\fB\fB""Pm = 1000""\fB\fR (X11 XTerm)" 4
-.el .IP "\fB\f(CBPm = 1000\fB\fR (X11 XTerm)" 4
-.IX Item "Pm = 1000 (X11 XTerm)"
+.ie n .IP "\fB\fB""Pm = 1000""\fB\fR (X11 XTerm mouse protocol)" 4
+.el .IP "\fB\f(CBPm = 1000\fB\fR (X11 XTerm mouse protocol)" 4
+.IX Item "Pm = 1000 (X11 XTerm mouse protocol)"
 .TS
 l l .
 h	Send Mouse X & Y on button press and release.
@@ -2144,25 +2131,33 @@ l l .
 h	Use Hilite Mouse Tracking.
 l	No mouse reporting.
 .TE
-.ie n .IP "\fB\fB""Pm = 1002""\fB\fR (X11 XTerm)" 4
-.el .IP "\fB\f(CBPm = 1002\fB\fR (X11 XTerm)" 4
-.IX Item "Pm = 1002 (X11 XTerm)"
+.ie n .IP "\fB\fB""Pm = 1002""\fB\fR (X11 XTerm cell motion mouse tracking)" 4
+.el .IP "\fB\f(CBPm = 1002\fB\fR (X11 XTerm cell motion mouse tracking)" 4
+.IX Item "Pm = 1002 (X11 XTerm cell motion mouse tracking)"
 .TS
 l l .
 h	Send Mouse X & Y on button press and release, and motion with a button pressed.
 l	No mouse reporting.
 .TE
-.ie n .IP "\fB\fB""Pm = 1003""\fB\fR (X11 XTerm)" 4
-.el .IP "\fB\f(CBPm = 1003\fB\fR (X11 XTerm)" 4
-.IX Item "Pm = 1003 (X11 XTerm)"
+.ie n .IP "\fB\fB""Pm = 1003""\fB\fR (X11 XTerm all motion mouse tracking)" 4
+.el .IP "\fB\f(CBPm = 1003\fB\fR (X11 XTerm all motion mouse tracking)" 4
+.IX Item "Pm = 1003 (X11 XTerm all motion mouse tracking)"
 .TS
 l l .
 h	Send Mouse X & Y on button press and release, and motion.
 l	No mouse reporting.
 .TE
-.ie n .IP "\fB\fB""Pm = 1005""\fB\fR (X11 XTerm) (Compile frills)" 4
-.el .IP "\fB\f(CBPm = 1005\fB\fR (X11 XTerm) (Compile frills)" 4
-.IX Item "Pm = 1005 (X11 XTerm) (Compile frills)"
+.ie n .IP "\fB\fB""Pm = 1004""\fB\fR (X11 XTerm focus in/focus out events) \fIunimplemented\fR" 4
+.el .IP "\fB\f(CBPm = 1004\fB\fR (X11 XTerm focus in/focus out events) \fIunimplemented\fR" 4
+.IX Item "Pm = 1004 (X11 XTerm focus in/focus out events) unimplemented"
+.TS
+l l .
+h	Send Mouse focus in/focus out events.
+l	Don'T send focus events.
+.TE
+.ie n .IP "\fB\fB""Pm = 1005""\fB\fR (X11 XTerm \s-1UTF\-8\s0 mouse mode) (Compile frills)" 4
+.el .IP "\fB\f(CBPm = 1005\fB\fR (X11 XTerm \s-1UTF\-8\s0 mouse mode) (Compile frills)" 4
+.IX Item "Pm = 1005 (X11 XTerm UTF-8 mouse mode) (Compile frills)"
 .PD
 Try to avoid this mode, it doesn't work sensibly in non\-UTF\-8 locales. Use
 mode \f(CW1015\fR instead.
@@ -2193,6 +2188,11 @@ l	Don't scroll to bottom when a key is pressed
 .ie n .IP "\fB\fB""Pm = 1015""\fB\fR (\fBrxvt-unicode\fR) (Compile frills)" 4
 .el .IP "\fB\f(CBPm = 1015\fB\fR (\fBrxvt-unicode\fR) (Compile frills)" 4
 .IX Item "Pm = 1015 (rxvt-unicode) (Compile frills)"
+.TS
+l l .
+h	Enable urxvt mouse coordinate reporting.
+l	Use old-style CSI M C C C encoding.
+.TE
 .PD
 Changes all mouse reporting codes to use decimal parameters instead of
 octets or characters.
@@ -2228,11 +2228,6 @@ Other (to be implemented) reply sequences will use a similar encoding.
 .Sp
 In the future, more parameters might get added (pixel coordinates for
 example \- anybody out there who needs this?).
-.TS
-l l .
-h	Enable new mouse coordinate reporting.
-l	Use old-style CSI M C C C encoding.
-.TE
 .ie n .IP "\fB\fB""Pm = 1021""\fB\fR (\fBrxvt\fR)" 4
 .el .IP "\fB\f(CBPm = 1021\fB\fR (\fBrxvt\fR)" 4
 .IX Item "Pm = 1021 (rxvt)"
@@ -2242,33 +2237,33 @@ h	Bold/italic implies high intensity (see option -is)
 l	Font styles have no effect on intensity (Compile styles)
 .TE
 .PD 0
-.ie n .IP "\fB\fB""Pm = 1047""\fB\fR" 4
-.el .IP "\fB\f(CBPm = 1047\fB\fR" 4
-.IX Item "Pm = 1047"
+.ie n .IP "\fB\fB""Pm = 1047""\fB\fR (X11 XTerm alternate screen buffer)" 4
+.el .IP "\fB\f(CBPm = 1047\fB\fR (X11 XTerm alternate screen buffer)" 4
+.IX Item "Pm = 1047 (X11 XTerm alternate screen buffer)"
 .TS
 l l .
 h	Use Alternate Screen Buffer
 l	Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it
 .TE
-.ie n .IP "\fB\fB""Pm = 1048""\fB\fR" 4
-.el .IP "\fB\f(CBPm = 1048\fB\fR" 4
-.IX Item "Pm = 1048"
+.ie n .IP "\fB\fB""Pm = 1048""\fB\fR (X11 XTerm alternate \s-1DECSC\s0)" 4
+.el .IP "\fB\f(CBPm = 1048\fB\fR (X11 XTerm alternate \s-1DECSC\s0)" 4
+.IX Item "Pm = 1048 (X11 XTerm alternate DECSC)"
 .TS
 l l .
 h	Save cursor position
 l	Restore cursor position
 .TE
-.ie n .IP "\fB\fB""Pm = 1049""\fB\fR" 4
-.el .IP "\fB\f(CBPm = 1049\fB\fR" 4
-.IX Item "Pm = 1049"
+.ie n .IP "\fB\fB""Pm = 1049""\fB\fR (X11 XTerm 1047 + 1048)" 4
+.el .IP "\fB\f(CBPm = 1049\fB\fR (X11 XTerm 1047 + 1048)" 4
+.IX Item "Pm = 1049 (X11 XTerm 1047 + 1048)"
 .TS
 l l .
 h	Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it
 l	Use Normal Screen Buffer
 .TE
-.ie n .IP "\fB\fB""Pm = 2004""\fB\fR" 4
-.el .IP "\fB\f(CBPm = 2004\fB\fR" 4
-.IX Item "Pm = 2004"
+.ie n .IP "\fB\fB""Pm = 2004""\fB\fR (X11 XTerm bracketed paste mode)" 4
+.el .IP "\fB\f(CBPm = 2004\fB\fR (X11 XTerm bracketed paste mode)" 4
+.IX Item "Pm = 2004 (X11 XTerm bracketed paste mode)"
 .TS
 l l .
 h	Enable bracketed paste mode - prepend / append to the pasted text the control sequences ESC [ 200 ~ / ESC [ 201 ~
@@ -2385,16 +2380,16 @@ Row = \fB\f(CB\*(C`<y> \- SPACE\*(C'\fB\fR
 .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
-setting use \fBNum_Lock\fR to toggle Application-Keypad setting if
-\&\fBNum_Lock\fR is off, toggle Application-Keypad setting. Also note that
-values of \fBBackSpace\fR, \fBDelete\fR may have been compiled differently on
-your system.
+For the keypad, use \fBShift\fR to temporarily toggle Application Keypad
+mode and use \fBNum_Lock\fR to override Application Keypad mode, i.e. if
+\&\fBNum_Lock\fR is on the keypad is in normal mode. Also note that the
+values of \fBBackSpace\fR, \fBDelete\fR may have been compiled differently
+on your system.
 .TS
 l l l l l .
 	Normal	Shift	Control	Ctrl+Shift
 Tab	^I	ESC [ Z	^I	ESC [ Z
-BackSpace	^H	^?	^?	^?
+BackSpace	^?	^?	^H	^H
 Find	ESC [ 1 ~	ESC [ 1 $	ESC [ 1 ^	ESC [ 1 @
 Insert	ESC [ 2 ~	paste	ESC [ 2 ^	ESC [ 2 @
 Execute	ESC [ 3 ~	ESC [ 3 $	ESC [ 3 ^	ESC [ 3 @
@@ -2434,22 +2429,22 @@ KP_F1	ESC O P			ESC O P
 KP_F2	ESC O Q			ESC O Q
 KP_F3	ESC O R			ESC O R
 KP_F4	ESC O S			ESC O S
-XK_KP_Multiply	*			ESC O j
-XK_KP_Add	+			ESC O k
-XK_KP_Separator	,			ESC O l
-XK_KP_Subtract	-			ESC O m
-XK_KP_Decimal	.			ESC O n
-XK_KP_Divide	/			ESC O o
-XK_KP_0	0			ESC O p
-XK_KP_1	1			ESC O q
-XK_KP_2	2			ESC O r
-XK_KP_3	3			ESC O s
-XK_KP_4	4			ESC O t
-XK_KP_5	5			ESC O u
-XK_KP_6	6			ESC O v
-XK_KP_7	7			ESC O w
-XK_KP_8	8			ESC O x
-XK_KP_9	9			ESC O y
+KP_Multiply	*			ESC O j
+KP_Add	+			ESC O k
+KP_Separator	,			ESC O l
+KP_Subtract	-			ESC O m
+KP_Decimal	.			ESC O n
+KP_Divide	/			ESC O o
+KP_0	0			ESC O p
+KP_1	1			ESC O q
+KP_2	2			ESC O r
+KP_3	3			ESC O s
+KP_4	4			ESC O t
+KP_5	5			ESC O u
+KP_6	6			ESC O v
+KP_7	7			ESC O w
+KP_8	8			ESC O x
+KP_9	9			ESC O y
 .TE
 .SH "CONFIGURE OPTIONS"
 .IX Header "CONFIGURE OPTIONS"
diff --git a/doc/rxvtc.1.man.in b/doc/rxvtc.1.man.in

index f04b654065f479abae8614a89af7fb66de021677..

index ..50f69c2a8aa8b641cbf1a24dd4350fb0722662f1 100644

--- a/doc/rxvtc.1.man.in
+++ b/doc/rxvtc.1.man.in
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "@@RXVT_NAME@@ 1"
-.TH @@RXVT_NAME@@ 1 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 1 "2014-12-26" "@@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
@@ -152,6 +152,9 @@ will also be respected. Currently, it always returns immediately after
 contacting the daemon.
 .SH "OPTIONS"
 .IX Header "OPTIONS"
+If the first option is \fB\-k\fR, \fB@@RXVT_NAME@@c\fR tries to kill the
+daemon process and returns.
+.PP
 All options that are valid for \fB@@RXVT_NAME@@\fR are valid for
 \&\fB@@RXVT_NAME@@c\fR, too. Please note that options are interpreted in the
 context of the daemon process. However, as current working directory,
diff --git a/doc/rxvtd.1.man.in b/doc/rxvtd.1.man.in

index 9d7259cb534d9fbbef11aa07dbdb322fd1fd99ec..

index ..e028676f77fa9a7c67890aa06950e397934a5a28 100644

--- a/doc/rxvtd.1.man.in
+++ b/doc/rxvtd.1.man.in
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "@@RXVT_NAME@@ 1"
-.TH @@RXVT_NAME@@ 1 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 1 "2014-12-26" "@@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
@@ -142,7 +142,7 @@
 @@RXVT_NAME@@d \- @@RXVT_NAME@@ terminal daemon
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-\&\fB@@RXVT_NAME@@d\fR [\-q|\-\-quiet] [\-o|\-\-opendisplay] [\-f|\-\-fork] [\-m|\-\-mlock]
+\&\fB@@RXVT_NAME@@d\fR [\-q|\-\-quiet] [\-o|\-\-opendisplay] [\-f|\-\-fork] [\-m|\-\-mlock] [\-e|\-\-eval \fIperlstring\fR]
 .PP
 \&\fB@@RXVT_NAME@@d\fR \-q \-o \-f    # for .xsession use
 .SH "DESCRIPTION"
@@ -198,6 +198,17 @@ Note 2: There is a known bug in glibc (possibly fixed in 2.8 and later
 versions) where calloc returns non-zeroed memory when mlockall is in
 effect. If you experience crashes or other odd behaviour while using
 \&\-\-mlock, try it without it.
+.IP "\fB\-e\fR, \fB\-\-eval\fR \fIperlstring\fR" 4
+.IX Item "-e, --eval perlstring"
+Evaluate the given perl code after basic initialisation (requires perl
+support to be enabled when compiling \fB@@RXVT_NAME@@d\fR).
+.Sp
+This can be used for example to configure the internal perl interpreter,
+which is shared between all terminal instances, or create additional
+listening sockets for additional protocols.
+.Sp
+The code is currently executed \fIbefore\fR creating the normal listening
+sockets: this might change in future versions.
 .SH "EXAMPLES"
 .IX Header "EXAMPLES"
 This is a useful invocation of \fB@@RXVT_NAME@@d\fR in a \fI.xsession\fR\-style
diff --git a/doc/rxvtd.1.pod b/doc/rxvtd.1.pod

index fd4408ddd39b87da0113bb3b4c84037f04e64a2f..

index ..08d6b2b63344c63976f07eeba35578413ce90bd3 100644

--- a/doc/rxvtd.1.pod
+++ b/doc/rxvtd.1.pod
@@ -4,7 +4,7 @@

 =head1 SYNOPSIS

-B<@@RXVT_NAME@@d> [-q|--quiet] [-o|--opendisplay] [-f|--fork] [-m|--mlock]
+B<@@RXVT_NAME@@d> [-q|--quiet] [-o|--opendisplay] [-f|--fork] [-m|--mlock] [-e|--eval I<perlstring>]

 B<@@RXVT_NAME@@d> -q -o -f    # for .xsession use

@@ -69,6 +69,18 @@ versions) where calloc returns non-zeroed memory when mlockall is in
 effect. If you experience crashes or other odd behaviour while using
 --mlock, try it without it.

+=item B<-e>, B<--eval> I<perlstring>
+
+Evaluate the given perl code after basic initialisation (requires perl
+support to be enabled when compiling B<@@RXVT_NAME@@d>).
+
+This can be used for example to configure the internal perl interpreter,
+which is shared between all terminal instances, or create additional
+listening sockets for additional protocols.
+
+The code is currently executed I<before> creating the normal listening
+sockets: this might change in future versions.
+
 =back

 =head1 EXAMPLES
diff --git a/src/urxvt.pm b/src/urxvt.pm

index 6fd9e58bf95e972d5f533cf449643856d8941e00..

index ..1c7c01a35d633bd1427687b956f23302cba66110 100644

--- a/src/urxvt.pm
+++ b/src/urxvt.pm
@@ -1187,9 +1187,12 @@ sub scan_extensions {
    $gather->($_, 1) for @urxvtdirs;

    # and now merge resources
+
+   $meta{resource} = \my %resource;
+
    while (my ($k, $v) = each %{ $meta{ext} }) {
       #TODO: should check for extensions overriding each other
-      %{ $meta{resource} } = (%{ $meta{resource} }, %{ $v->{resource} });
+      %resource = (%resource, %{ $v->{resource} });
    }
 }

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

-- Response ended

-- Page fetched on Sun Jun 2 14:10:59 2024