Skip to content
Browse files

update to rxvt-unicode 9.16

  • Loading branch information...
1 parent a6faaae commit 1543997988a0bbfe733697642fd8e0989b6b9b76 @jjk-jacky committed Dec 28, 2012
Showing with 7,248 additions and 5,017 deletions.
  1. +51 −1 Changes
  2. +9 −5 MANIFEST
  3. +5 −5 Makefile.in
  4. +7 −7 README.FAQ
  5. +3 −18 README.configure
  6. +0 −3 config.h.in
  7. +344 −453 configure
  8. +20 −63 configure.ac
  9. +9 −15 doc/Makefile.in
  10. +5 −0 doc/extensions.pod.bot
  11. +21 −0 doc/extensions.pod.top
  12. +137 −132 doc/rxvt.1.man.in
  13. +134 −152 doc/rxvt.1.pod
  14. +12 −26 doc/rxvt.7.man.in
  15. +10 −26 doc/rxvt.7.pod
  16. +0 −1,849 doc/rxvtperl.3.man.in
  17. +7 −7 doc/wcwidth.patch
  18. +467 −0 libev/Changes
  19. +6 −6 libev/ev++.h
  20. +528 −211 libev/ev.c
  21. +87 −79 libev/ev.h
  22. +1 −1 libev/ev_epoll.c
  23. +20 −4 libev/ev_kqueue.c
  24. +15 −16 libev/ev_vars.h
  25. +12 −2 libev/ev_win32.c
  26. +162 −160 libev/ev_wrap.h
  27. +76 −0 libptytty/Changes
  28. +316 −38 {libecb → libptytty/src}/ecb.h
  29. +375 −0 libptytty/src/estl.h
  30. +1 −1 libptytty/src/logging.C
  31. +2 −6 libptytty/src/proxy.C
  32. +2 −10 libptytty/src/ptytty_conf.h
  33. +161 −113 src/Makefile.in
  34. +208 −1,160 src/background.C
  35. +114 −70 src/command.C
  36. +136 −0 src/emman.c
  37. +21 −0 src/emman.h
  38. +1 −1 src/feature.h
  39. +3 −1 src/hookinc.h
  40. +10 −97 src/init.C
  41. +1 −2 src/keyboard.C
  42. +100 −68 src/main.C
  43. +1,144 −0 src/perl/background
  44. +51 −0 src/perl/bell-command
  45. +12 −0 src/perl/block-graphics-to-ascii
  46. +15 −0 src/perl/clipboard-osc
  47. +11 −0 src/perl/confirm-paste
  48. +9 −1 src/perl/digital-clock
  49. +11 −1 src/perl/example-refresh-hooks
  50. +37 −0 src/perl/keysym-list
  51. +25 −0 src/perl/kuake
  52. +17 −4 src/perl/macosx-clipboard
  53. +19 −0 src/perl/macosx-clipboard-native
  54. +55 −17 src/perl/matcher
  55. +28 −0 src/perl/option-popup
  56. +12 −0 src/perl/overlay-osc
  57. +31 −0 src/perl/readline
  58. +31 −2 src/perl/remote-clipboard
  59. +30 −1 src/perl/searchable-scrollback
  60. +55 −0 src/perl/selection
  61. +44 −1 src/perl/selection-autotransform
  62. +45 −2 src/perl/selection-pastebin
  63. +34 −1 src/perl/selection-popup
  64. +36 −0 src/perl/tabbed
  65. +1 −1 src/perl/urxvt-popup
  66. +17 −0 src/perl/xim-onthespot
  67. +0 −2 src/ptytty_wrapper.C
  68. +8 −10 src/rsinc.h
  69. +134 −132 src/rxvt.h
  70. +15 −0 src/rxvtd.C
  71. +4 −1 src/rxvtdaemon.C
  72. +7 −7 src/rxvtfont.C
  73. +12 −1 src/rxvtfont.h
  74. +937 −0 src/rxvtimg.C
  75. +154 −0 src/rxvtimg.h
  76. +17 −0 src/rxvtperl.h
  77. +506 −7 src/rxvtperl.xs
  78. +85 −18 src/rxvttoolkit.C
Sorry, we could not display the entire diff because it was too big.
View
52 Changes
@@ -20,6 +20,56 @@ TODO: decrqm http://ue.tst.eu/71d7dbd1fcfeaa7d2a4b96eb957d570c.txt
TODO: perl-shell-window? perl-unix-socket?
TODO: command line editing when icanon?
TODO: split ROW into a ROW_fast (0..total*2-1) and ROW macros?
+TODO: catch exceptions when calling perl hooks
+TODO: xdbe
+TODO: optimise bg reeval for resize for common patterns (pixmap bigger than window?)
+TODO: DEC PM 4h/4l should toggle jumpscroll on or off (PrivMode_smoothScroll)
+TODO: pack rxvt_fatal messages into the exception object
+TODO: load must not cache, but global image cache must be cleaned
+TODO: provide something like % for easy access for parse_keysym
+TODO: description into --help output?
+TODO: shade
+TODO: rxvt -help => (see rxvt-XXX(1))?
+
+9.16 Thu Dec 27 11:56:43 CET 2012
+ - the "so much new stuff your eyes will pop out" release.
+ - INCOMPATIBLE CHANGE: renamed urlLauncher resource to url-launcher.
+ - fix processing of DEC private mode save sequences (patch by Patrick
+ Hemmer).
+ - perl extensions now have their own manpages, installed as urxvt-NAME(1),
+ e.g. urxvt-background(1) - see urxvt-extensions(1) for a list.
+ - fix disabling of cursor blink with the option-popup menu (based on a
+ patch by Jan Larres).
+ - the font height is not augmented anymore when lineSpace is non zero.
+ - fix "new pagemap" vs. "delete pagemap" mismatch ([] vs. non-[]),
+ as diagnosed by clang.
+ - fix height mismatch between active and inactive cursor when
+ lineSpace is non zero (patch by Stanislav Seletskiy).
+ - make it compile with LOCAL_X_IS_UNIX again (reported by
+ nickfailure@gmail.com).
+ - completely redone background pixmap support - users can now
+ specify arbitrary expressions (And programs) that calculate
+ new terminal backgrounds. see the urxvt-background manpage
+ for details.
+ - xrender is now required for background pixmap support.
+ - perl extensions can now provide commandline switches and resources
+ which show up in -help etc.
+ - iso14755 51 mode window now displays row and column.
+ - implement a -visual switch and move that and -depth to frills, also
+ warn when we can't get the requested visual.
+ - new env variable: RXVT_PERL_LIB.
+ - allocate all screen memory in one go and let the virtual memory
+ subsystem sort it out. this simplifies code, improves access
+ locality, saves a bit of ram and makes things a bit faster, too.
+ - remove support for libafterimage.
+ - update to CVS version of libev, for a whopping 11kb size decrease.
+ - do not ship yet another copy of ecb.h, use the one in libev or
+ libptytty instead.
+ - selectively mark some methods as cache-hot/cache cold, which
+ might speed up execution but definitely decreases codesize.
+ - Fix regression that prevented the scrollbar trough color
+ from being applied (reported by Derek B. Noonburg).
+ - Fix the scrollbar size for rxvt style (patch by Mark Robinson).
9.15 Sat Jan 21 13:36:56 CET 2012
- remove "using namespace std" because clang erroneously
@@ -96,7 +146,7 @@ TODO: split ROW into a ROW_fast (0..total*2-1) and ROW macros?
support the UTF8_STRING target.
- fix rendering of double width chars in certain circumstances, more
likely to happen if urxvt is compiled with 256 colors support as
- urxvt runs out of fonts much earlier then. Fixes gentoo bug #358151
+ urxvt runs out of fonts much earlier then. Fixes gentoo bug #358151
(Emanuele Giaquinta).
- restore support for 'list' syntax in keysym resources (requested by Sung Pae).
- always premultiply colour values - while this increases differences between
View
14 MANIFEST
@@ -37,7 +37,8 @@ doc/rxvt.1.man.in
doc/rxvt.7.man.in
doc/rxvtc.1.man.in
doc/rxvtd.1.man.in
-doc/rxvtperl.3.man.in
+doc/extensions.pod.top
+doc/extensions.pod.bot
src/.cvsignore
src/Makefile.in
@@ -66,15 +67,15 @@ src/rxvttoolkit.C
src/rxvttoolkit.h
src/rxvtfont.C
src/rxvtfont.h
+src/rxvtimg.h
+src/rxvtimg.C
src/rxvt.C
src/rxvt.h
src/rsinc.h
src/rxvtc.C
src/rxvtd.C
src/rxvtdaemon.C
src/rxvtdaemon.h
-src/salloc.C
-src/salloc.h
src/screen.C
src/scrollbar-next.C
src/scrollbar-rxvt.C
@@ -84,6 +85,8 @@ src/scrollbar.C
src/scrollbar.h
src/version.h
src/xdefaults.C
+src/emman.h
+src/emman.c
libptytty/Changes
libptytty/ptytty.m4
@@ -94,6 +97,8 @@ libptytty/src/ptytty.C
libptytty/src/proxy.C
libptytty/src/logging.C
libptytty/src/fdpass.C
+libptytty/src/estl.h
+libptytty/src/ecb.h
src/gentables
src/gencompose
@@ -147,6 +152,7 @@ src/iom_perl.xs
src/rxvtperl.h
src/rxvtperl.xs
+src/perl/background
src/perl/bell-command
src/perl/block-graphics-to-ascii
src/perl/clipboard-osc
@@ -185,5 +191,3 @@ libev/ev_kqueue.c
libev/ev_port.c
libev/libev.m4
-libecb/ecb.h
-
View
10 Makefile.in
@@ -1,8 +1,8 @@
# ./Makefile.in -*- Makefile -*-
-DATE=@DATE@
-VERSION=@VERSION@
-RXVTNAME=@RXVTNAME@
+DATE = @DATE@
+VERSION = @VERSION@
+RXVTNAME = @RXVTNAME@
SHELL = /bin/sh
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -21,8 +21,8 @@ INSTALL_DATA = @INSTALL@ -m 644
VERNAME = rxvt-unicode-$(VERSION)
-srcdir = @srcdir@
-VPATH = @srcdir@
+srcdir = @srcdir@
+VPATH = @srcdir@
first_rule: all
dummy:
View
14 README.FAQ
@@ -93,12 +93,12 @@ xterm? I need this to decide about setting colours etc.
[ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
if [ ${TERM:-foo} = xterm ]; then
stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not
- echo -n '^[Z'
+ printf "\eZ"
read term_id
stty icanon echo
if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
- echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string
- read DISPLAY # set it in our local shell
+ printf '\e[7n' # query the rxvt we are in for the DISPLAY string
+ read DISPLAY # set it in our local shell
fi
fi
@@ -208,8 +208,8 @@ xterm? I need this to decide about setting colours etc.
convert wallpaper.jpg -blur 20x20 -modulate 30 background.jpg
urxvt -pixmap "background.jpg;:root"
- That works. If you think it doesn't, you lack libAfterImage or
- GDK-PixBuf support, or you are unable to read.
+ That works. If you think it doesn't, you lack GDK-PixBuf support, or you
+ are unable to read.
3. Use an ARGB visual:
@@ -534,11 +534,11 @@ xterm? I need this to decide about setting colours etc.
# use Backspace = ^H
$ stty erase ^H
- $ echo -n "^[[?67h"
+ $ printf "\e[?67h"
# use Backspace = ^?
$ stty erase ^?
- $ echo -n "^[[?67l"
+ $ printf "\e[?67l"
This helps satisfy some of the Backspace discrepancies that occur, but
if you use Backspace = "^H", make sure that the termcap/terminfo value
View
21 README.configure
@@ -106,18 +106,6 @@ CONFIGURE OPTIONS
at start of rxvt execution. This option requires --enable-utmp to
also be specified.
- --enable-afterimage (default: off)
- Add support for libAfterImage to be used for background images. It
- adds support for many file formats including JPG, PNG, SVG, TIFF,
- GIF, XPM, BMP, ICO, XCF, TGA and AfterStep image XML
- (<http://www.afterstep.org/visualdoc.php?show=asimagexml>).
-
- Note that with this option enabled, rxvt's memory footprint might
- increase by a few megabytes even if no extra features are used
- (mostly due to third-party libraries used by libAI). Memory
- footprint may somewhat be lowered if libAfterImage is configured
- without support for SVG.
-
--enable-pixbuf (default: on)
Add support for GDK-PixBuf to be used for background images. It adds
support for many file formats including JPG, PNG, TIFF, GIF, XPM,
@@ -130,9 +118,8 @@ CONFIGURE OPTIONS
--enable-transparency (default: on)
Add support for using the root pixmap as background to simulate
- transparency. Note that blur and blend effects depend on
- libAfterImage or on libXrender and on the availability of the RENDER
- extension in the X server.
+ transparency. Note that this feature depends on libXrender and on
+ the availability of the RENDER extension in the X server.
--enable-fading (default: on)
Add support for fading the text when focus is lost.
@@ -187,6 +174,7 @@ CONFIGURE OPTIONS
skip builtin block graphics (-sbg)
separate highlight colour (-highlightColor, -highlightTextColor)
extended mouse reporting modes (1005 and 1015).
+ visual selection via -visual and -depth.
It also enables some non-essential features otherwise disabled, such
as:
@@ -263,9 +251,6 @@ CONFIGURE OPTIONS
dramatically when more than six fonts are in use by a terminal
instance.
- --with-afterimage-config=DIR
- Look for the libAfterImage config script in DIR.
-
--with-name=NAME (default: urxvt)
Set the basename for the installed binaries, resulting in "urxvt",
"urxvtd" etc.). Specify "--with-name=rxvt" to replace with "rxvt".
View
3 config.h.in
@@ -42,9 +42,6 @@
/* Define if you want extended chinese codesets */
#undef ENCODING_ZH_EXT
-/* Define if you want to use libAfterImage for image processing */
-#undef HAVE_AFTERIMAGE
-
/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME
View
797 configure
344 additions, 453 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
83 configure.ac
@@ -225,18 +225,6 @@ AC_ARG_ENABLE(font-styles,
support_styles=$enableval
fi])
-AC_ARG_ENABLE(afterimage,
- [ --enable-afterimage enable integration with libAfterImage for background images (deprecated)],
- [if test x$enableval = xyes -o x$enableval = xno; then
- support_afterimage=$enableval
- fi])
-
-AC_ARG_WITH(afterimage_config,
- [ --with-afterimage-config=DIR use libAfterImage config script in DIR],
- [if test "x$withval" != x; then
- afterimage_config=$withval/afterimage-config
- fi])
-
AC_ARG_ENABLE(pixbuf,
[ --enable-pixbuf enable integration with gdk-pixbuf for background images],
[if test x$enableval = xyes -o x$enableval = xno; then
@@ -453,9 +441,7 @@ if test x$support_pixbuf = xyes; then
if test x$support_pixbuf = xyes; then
AC_MSG_RESULT(ok)
image_lib=gdk-pixbuf
- support_afterimage=no
AC_DEFINE(HAVE_PIXBUF, 1, Define if you want to use gdk-pixbuf for image processing)
- AC_DEFINE(BG_IMAGE_FROM_FILE, 1, Define if you want to have sexy-looking background pixmaps.)
else
AC_MSG_RESULT(no)
fi
@@ -488,45 +474,6 @@ fi
AC_SUBST(STARTUP_NOTIFICATION_CFLAGS)
AC_SUBST(STARTUP_NOTIFICATION_LIBS)
-AFTERIMAGE_CFLAGS=
-AFTERIMAGE_LIBS=
-
-if test x$support_afterimage = xyes; then
- support_afterimage=no
-
- if test "x$afterimage_config" = "x" ; then
- AC_PATH_PROG(afterimage_config, afterimage-config, no)
- fi
- if test "x$afterimage_config" != "xno" ; then
- AC_MSG_CHECKING(for libAfterImage version >= 1.15)
- AFTERIMAGE_VERSION=`$afterimage_config --version`
- if test -n "$AFTERIMAGE_VERSION" ; then
- AFTERIMAGE_CFLAGS=`$afterimage_config --cflags`
- AFTERIMAGE_LIBS=`$afterimage_config --libs`
- if test "x$AFTERIMAGE_LIBS" != "x"; then
- libai_ver_major=`echo $AFTERIMAGE_VERSION | cut -f 1 -d .`
- libai_ver_minor=`echo $AFTERIMAGE_VERSION | cut -f 2 -d .`
- if test $libai_ver_major -gt 1 -o \( $libai_ver_major -eq 1 -a $libai_ver_minor -ge 15 \); then
- support_afterimage=yes
- fi
- fi
- fi
- if test "x$support_afterimage" = "xyes"; then
- AC_MSG_RESULT($AFTERIMAGE_LIBS)
- image_lib=libafterimage
- AC_DEFINE(HAVE_AFTERIMAGE, 1, Define if you want to use libAfterImage for image processing)
- AC_DEFINE(BG_IMAGE_FROM_FILE, 1, Define if you want to have sexy-looking background pixmaps.)
- else
- AC_MSG_RESULT(no)
- AFTERIMAGE_CFLAGS=
- AFTERIMAGE_LIBS=
- fi
- fi
-fi
-
-AC_SUBST(AFTERIMAGE_CFLAGS)
-AC_SUBST(AFTERIMAGE_LIBS)
-
dnl# --------------------------------------------------------------------------
dnl# CHECKING FOR HEADER FILES
dnl# --------------------------------------------------------------------------
@@ -640,7 +587,11 @@ TTY_GROUP_CHECK
dnl# --------------------------------------------------------------------------
dnl# now add and remove other stuff
dnl# --------------------------------------------------------------------------
-if test x$support_xft = xyes || test x$support_inheritpixmap = xyes; then
+support_image=no
+if test x$support_inheritpixmap = xyes || test x$support_pixbuf = xyes; then
+ support_image=yes
+fi
+if test x$support_xft = xyes || test x$support_image = xyes; then
rxvt_have_xrender=no
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test $PKG_CONFIG != no && $PKG_CONFIG --exists xrender; then
@@ -686,6 +637,20 @@ if test x$support_xft = xyes && test x$rxvt_have_xrender = xyes; then
AC_DEFINE(XFT, 1, Define to enable xft support)
fi
fi
+
+if test x$support_image = xyes && test x$rxvt_have_xrender = xyes; then
+ LIBS="$LIBS -lm"
+ AC_DEFINE(XRENDER, 1, Define to enable xrender support)
+
+ if test x$support_inheritpixmap = xyes; then
+ AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background)
+ fi
+
+ if test x$support_pixbuf = xyes; then
+ AC_DEFINE(BG_IMAGE_FROM_FILE, 1, Define if you want to have sexy-looking background pixmaps.)
+ fi
+fi
+
if test x$support_styles = xyes; then
AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
fi
@@ -698,13 +663,6 @@ fi
if test x$support_fading = xyes; then
AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost)
fi
-if test x$support_inheritpixmap = xyes; then
- if test x$rxvt_have_xrender = xyes; then
- LIBS="$LIBS -lm"
- AC_DEFINE(XRENDER, 1, Define to enable xrender support)
- fi
- AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background)
-fi
if test x$support_keepscrolling = xno; then
AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed)
fi
@@ -765,8 +723,7 @@ done
IF_PERL=\#
if test x$support_perl = xyes; then
- AC_PATH_PROG(PERL, perl5)
- AC_PATH_PROG(PERL, perl)
+ AC_PATH_PROG(PERL, perl5, perl)
AC_MSG_CHECKING(for $PERL suitability)
if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then
View
24 doc/Makefile.in
@@ -1,8 +1,8 @@
# doc/Makefile.in -*- Makefile -*-
-DATE=@DATE@
-VERSION=@VERSION@
-RXVTNAME=@RXVTNAME@
+DATE = @DATE@
+VERSION = @VERSION@
+RXVTNAME = @RXVTNAME@
SHELL = /bin/sh
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -19,8 +19,8 @@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL@ -m 755
INSTALL_DATA = @INSTALL@ -m 644
-srcdir = @srcdir@
-VPATH = @srcdir@
+srcdir = @srcdir@
+VPATH = @srcdir@
first_rule: all
dummy:
@@ -40,12 +40,8 @@ all:
sed $(SEDREPLACE) < $(srcdir)/rxvtc.1.man.in >rxvtc.1.man
sed $(SEDREPLACE) < $(srcdir)/rxvtd.1.man.in >rxvtd.1.man
sed $(SEDREPLACE) < $(srcdir)/rxvt.7.man.in >rxvt.7.man
-@IF_PERL@ sed $(SEDREPLACE) < $(srcdir)/rxvtperl.3.man.in >rxvtperl.3.man
-.INTERMEDIATE: rxvtperl.3.pod rxvt.7.tbl
-
-rxvtperl.3.pod: ../src/urxvt.pm
- cp $< $@
+.INTERMEDIATE: rxvt.7.tbl
%.tbl: %.pod
$(srcdir)/podtbl <$< >$@
@@ -76,18 +72,18 @@ $(srcdir)/etc/rxvt-unicode.termcap: $(srcdir)/etc/rxvt-unicode.terminfo
tags allbin:
-alldoc: rxvt.1.man.in rxvt.7.man.in rxvtc.1.man.in rxvtd.1.man.in rxvtperl.3.man.in \
+alldoc: rxvt.1.man.in rxvt.7.man.in rxvtc.1.man.in rxvtd.1.man.in \
../README.configure ../README.FAQ \
$(srcdir)/etc/rxvt-unicode.termcap
clean:
- rm -f rxvt.1.man rxvt.7.man rxvtc.1.man rxvtd.1.man rxvtperl.3.man
+ rm -f rxvt.1.man rxvt.7.man rxvtc.1.man rxvtd.1.man
distclean: clean
rm -f Makefile
realclean: distclean
- rm -f rxvt.1.man.in rxvt.7.man.in rxvtc.1.man.in rxvtd.1.man.in rxvtperl.3.man.in
+ rm -f rxvt.1.man.in rxvt.7.man.in rxvtc.1.man.in rxvtd.1.man.in
rm -f ../README.configure ../README.FAQ
rm -f $(srcdir)/etc/rxvt-unicode.termcap
@@ -100,8 +96,6 @@ install: all
$(INSTALL_DATA) rxvtc.1.man $(DESTDIR)$(man1dir)/$(RXVTNAME)c.$(man1ext)
$(INSTALL_DATA) rxvtd.1.man $(DESTDIR)$(man1dir)/$(RXVTNAME)d.$(man1ext)
$(INSTALL_DATA) rxvt.7.man $(DESTDIR)$(man7dir)/$(RXVTNAME).$(man7ext)
-@IF_PERL@ $(INSTALL) -d $(DESTDIR)$(man3dir)
-@IF_PERL@ $(INSTALL_DATA) rxvtperl.3.man $(DESTDIR)$(man3dir)/$(RXVTNAME)perl.$(man3ext)
@TIC@ $(srcdir)/etc/rxvt-unicode.terminfo
distdepend: alldoc
View
5 doc/extensions.pod.bot
@@ -0,0 +1,5 @@
+
+=head1 SEE ALSO
+
+urxvt(1), urxvtperl(3)
+
View
21 doc/extensions.pod.top
@@ -0,0 +1,21 @@
+=head1 NAME
+
+urxvt-extensions - briefly list urxvt perl extensions
+
+=head1 SYNOPSIS
+
+ urxvt -pe extension-name
+
+=head1 DESCRIPTION
+
+This manpage briefly lists the rxvt-unicode extensions available in this
+version of rxvt-unicode. For information on how to write urxvt extensions,
+see the L<urxvt-extensions> manpage.
+
+Extensions that use resources or command line switches for configuration
+are loaded automatically when their resources or switches are used. Any
+extension can be loaded explicitly with the C<-pe> switch.
+
+=head1 EXTENSION LIST
+
+
View
269 doc/rxvt.1.man.in
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
+.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "@@RXVT_NAME@@ 1"
-.TH @@RXVT_NAME@@ 1 "2012-01-21" "@@RXVT_VERSION@@" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 1 "2012-11-06" "@@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
@@ -220,13 +220,17 @@ 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;
+Compile \fIfrills\fR: Attempt to find a visual with the given bit depth;
resource \fBdepth\fR.
.Sp
[Please note that many X servers (and libXft) are buggy with
respect to \f(CW\*(C`\-depth 32\*(C'\fR and/or alpha channels, and will cause all sorts
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).
.IP "\fB\-geometry\fR \fIgeom\fR" 4
.IX Item "-geometry geom"
Window geometry (\fB\-g\fR still respected); resource \fBgeometry\fR.
@@ -239,12 +243,6 @@ Turn on/off jump scrolling (allow multiple lines per refresh); resource \fBjumpS
.IP "\fB\-ss\fR|\fB+ss\fR" 4
.IX Item "-ss|+ss"
Turn on/off skip scrolling (allow multiple screens per refresh); resource \fBskipScroll\fR.
-.IP "\fB\-tr\fR|\fB+tr\fR" 4
-.IX Item "-tr|+tr"
-Turn on/off pseudo-transparency by using the root pixmap as background; resource \fBtransparent\fR.
-.Sp
-\&\fB\-ip\fR is still accepted as an obsolete alias but will be removed in
-future versions.
.IP "\fB\-fade\fR \fInumber\fR" 4
.IX Item "-fade number"
Fade the text by the given percentage when focus is lost. Small values
@@ -254,35 +252,9 @@ colour; resource \fBfading\fR.
.IX Item "-fadecolor colour"
Fade to this colour when fading is used (see \fB\-fade\fR). The default colour
is opaque black. resource \fBfadeColor\fR.
-.IP "\fB\-tint\fR \fIcolour\fR" 4
-.IX Item "-tint colour"
-Tint the transparent background with the given colour;
-resource \fItintColor\fR.
-.IP "\fB\-sh\fR \fInumber\fR" 4
-.IX Item "-sh number"
-Darken (0 .. 99) or lighten (101 .. 200) the transparent background.
-A value of 100 means no shading; resource \fIshading\fR.
-.IP "\fB\-blt\fR \fIstring\fR" 4
-.IX Item "-blt string"
-Specify background blending type. If background pixmap is specified
-at the same time as transparency \- such pixmap will be blended over
-the transparent background, using the method specified. Supported values are:
-\&\fBadd\fR, \fBalphablend\fR, \fBallanon\fR \- colour values averaging, \fBcolorize\fR,
-\&\fBdarken\fR, \fBdiff\fR, \fBdissipate\fR, \fBhue\fR, \fBlighten\fR, \fBoverlay\fR,
-\&\fBsaturate\fR, \fBscreen\fR, \fBsub\fR, \fBtint\fR, \fBvalue\fR. The default is
-alpha-blending. Compile \fIafterimage\fR; resource \fIblendType\fR.
-.IP "\fB\-blr\fR \fIHxV\fR" 4
-.IX Item "-blr HxV"
-Apply Gaussian Blur with the specified radii to the transparent
-background. If a single number is specified, the vertical and
-horizontal radii are considered to be the same. Setting one of the
-radii to 1 and the other to a large number creates interesting effects
-on some backgrounds. The maximum radius value is 128. An horizontal or
-vertical radius of 0 disables blurring;
-resource \fIblurRadius\fR.
.IP "\fB\-icon\fR \fIfile\fR" 4
.IX Item "-icon file"
-Compile \fIafterimage\fR or \fIpixbuf\fR: Use the specified image as application icon. This
+Compile \fIpixbuf\fR: Use the specified image as application icon. This
is used by many window managers, taskbars and pagers to represent the
application window; resource \fIiconFile\fR.
.IP "\fB\-bg\fR \fIcolour\fR" 4
@@ -291,12 +263,6 @@ Window background colour; resource \fBbackground\fR.
.IP "\fB\-fg\fR \fIcolour\fR" 4
.IX Item "-fg colour"
Window foreground colour; resource \fBforeground\fR.
-.IP "\fB\-pixmap\fR \fIfile[;oplist]\fR" 4
-.IX Item "-pixmap file[;oplist]"
-Compile \fIafterimage\fR or \fIpixbuf\fR: Specify image file for the background and also
-optionally specify a list of operations to modify it. Note you may need to
-add quotes to avoid special shell interpretation of the \f(CW\*(C`;\*(C'\fR in the
-command-line; for more details see resource \fBbackgroundPixmap\fR.
.IP "\fB\-cr\fR \fIcolour\fR" 4
.IX Item "-cr colour"
The cursor colour; resource \fBcursorColor\fR.
@@ -733,37 +699,13 @@ option \fB\-ss\fR.
\&\fBFalse\fR: specify that everything is to be displayed, even
if the refresh is too fast for the human eye to read anything (or the
monitor to display anything); option \fB+ss\fR.
-.IP "\fBtransparent:\fR \fIboolean\fR" 4
-.IX Item "transparent: boolean"
-Turn on/off pseudo-transparency by using the root pixmap as background.
-.Sp
-\&\fBinheritPixmap\fR is still accepted as an obsolete alias but will be removed in
-future versions.
.IP "\fBfading:\fR \fInumber\fR" 4
.IX Item "fading: number"
Fade the text by the given percentage when focus is lost; option \fB\-fade\fR.
.IP "\fBfadeColor:\fR \fIcolour\fR" 4
.IX Item "fadeColor: colour"
Fade to this colour, when fading is used (see \fBfading:\fR). The default
colour is black; option \fB\-fadecolor\fR.
-.IP "\fBtintColor:\fR \fIcolour\fR" 4
-.IX Item "tintColor: colour"
-Tint the transparent background with the given colour. If the \s-1RENDER\s0
-extension is not available only black, red, green, yellow, blue,
-magenta, cyan and white tints can be performed server-side. Note that
-a black tint yields a completely black image while a white tint yields
-the image unchanged; option \fB\-tint\fR.
-.IP "\fBshading:\fR \fInumber\fR" 4
-.IX Item "shading: number"
-Darken (0 .. 99) or lighten (101 .. 200) the transparent background.
-A value of 100 means no shading; option \fB\-sh\fR.
-.IP "\fBblendType:\fR \fIstring\fR" 4
-.IX Item "blendType: string"
-Specify background blending type; option \fB\-blt\fR.
-.IP "\fBblurRadius:\fR \fInumber\fR" 4
-.IX Item "blurRadius: number"
-Apply gaussian blur with the specified radius to the transparent
-background; option \fB\-blr\fR.
.IP "\fBiconFile:\fR \fIfile\fR" 4
.IX Item "iconFile: file"
Set the application icon pixmap; option \fB\-icon\fR.
@@ -778,64 +720,6 @@ Use the specified colour for the scrollbar's trough area [default
.IX Item "borderColor: colour"
The colour of the border around the text area and between the scrollbar
and the text.
-.IP "\fBbackgroundPixmap:\fR \fIfile[;oplist]\fR" 4
-.IX Item "backgroundPixmap: file[;oplist]"
-Use the specified image file for the background and also
-optionally specify a colon separated list of operations to modify it.
-Supported operations are:
-.RS 4
-.IP "\fBWxH+X+Y\fR" 4
-.IX Item "WxH+X+Y"
-sets scale and position. \fB\*(L"W\*(R" / \*(L"H\*(R"\fR specify the horizontal/vertical
-scale (percent), and \fB\*(L"X\*(R" / \*(L"Y\*(R"\fR locate the image centre (percent). A
-scale of 0 disables scaling. The maximum permitted scale is 1000.
-.IP "\fBop=tile\fR" 4
-.IX Item "op=tile"
-enables tiling
-.IP "\fBop=keep\-aspect\fR" 4
-.IX Item "op=keep-aspect"
-maintain the image aspect ratio when scaling
-.IP "\fBop=root\-align\fR" 4
-.IX Item "op=root-align"
-use the position of the terminal window relative to the root window as
-the image offset, simulating a root window background
-.RE
-.RS 4
-.Sp
-The default scale and position setting is \f(CW\*(C`100x100+50+50\*(C'\fR.
-Alternatively, a predefined set of templates can be used to achieve
-the most common setups:
-.IP "\fBstyle=tiled\fR" 4
-.IX Item "style=tiled"
-the image is tiled with no scaling. Equivalent to 0x0+0+0:op=tile
-.IP "\fBstyle=aspect\-stretched\fR" 4
-.IX Item "style=aspect-stretched"
-the image is scaled to fill the whole window maintaining the aspect
-ratio and centered. Equivalent to 100x100+50+50:op=keep\-aspect
-.IP "\fBstyle=stretched\fR" 4
-.IX Item "style=stretched"
-the image is scaled to fill the whole window. Equivalent to 100x100
-.IP "\fBstyle=centered\fR" 4
-.IX Item "style=centered"
-the image is centered with no scaling. Equivalent to 0x0+50+50
-.IP "\fBstyle=root\-tiled\fR" 4
-.IX Item "style=root-tiled"
-the image is tiled with no scaling and using 'root' positioning.
-Equivalent to 0x0:op=tile:op=root\-align
-.RE
-.RS 4
-.Sp
-If multiple templates are specified the last one wins. Note that a
-template overrides all the scale, position and operations settings.
-.Sp
-If used in conjunction with \fB\-tr\fR option, the specified pixmap will be
-blended over the transparent background using alpha-blending. If \fIafterimage\fR
-support has been compiled in it is possible to choose other blending
-types with \fB\-blt \*(L"type\*(R"\fR option.
-.RE
-.IP "\fBpath:\fR \fIpath\fR" 4
-.IX Item "path: path"
-Specify the colon-delimited search path for finding background image files.
.IP "\fBfont:\fR \fIfontlist\fR" 4
.IX Item "font: fontlist"
Select the fonts to be used. This is a comma separated list of font names
@@ -1290,9 +1174,9 @@ the @@RXVT_NAME@@\fIperl\fR\|(3) manpage.
.IP "\fBperl-lib\fR: \fIpath\fR" 4
.IX Item "perl-lib: path"
Colon-separated list of additional directories that hold extension
-scripts. When looking for perl extensions, @@RXVT_NAME@@ will first
-look in these directories, then in \f(CW$HOME\fR/.urxvt/ext and lastly in
-\&\fI@@RXVT_LIBDIR@@/urxvt/perl/\fR.
+scripts. When looking for perl extensions, @@RXVT_NAME@@ will first look
+in these directories, then in \f(CW$URXVT_PERL_LIB\fR, \fI\f(CI$HOME\fI/.urxvt/ext\fR and
+lastly in \fI@@RXVT_LIBDIR@@/urxvt/perl/\fR.
.Sp
See the @@RXVT_NAME@@\fIperl\fR\|(3) manpage.
.IP "\fBselection.pattern\-\f(BIidx\fB\fR: \fIperl-regex\fR" 4
@@ -1307,8 +1191,8 @@ for details.
.IX Item "searchable-scrollback: keysym"
Sets the hotkey that starts the incremental scrollback buffer search
(default: \f(CW\*(C`M\-s\*(C'\fR).
-.IP "\fBurlLauncher\fR: \fIstring\fR" 4
-.IX Item "urlLauncher: string"
+.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
\&\f(CW\*(C`selection\-popup\*(C'\fR and \f(CW\*(C`matcher\*(C'\fR perl extensions.
.IP "\fBtransient-for\fR: \fIwindowid\fR" 4
@@ -1324,6 +1208,109 @@ Turn on/off \s-1ISO\s0 14755 (default enabled).
.IP "\fBiso14755_52:\fR \fIboolean\fR" 4
.IX Item "iso14755_52: boolean"
Turn on/off \s-1ISO\s0 14755 5.2 mode (default enabled).
+.SH "BACKGROUND IMAGE OPTIONS AND RESOURCES"
+.IX Header "BACKGROUND IMAGE OPTIONS AND RESOURCES"
+.IP "\fB\-pixmap\fR \fIfile[;oplist]\fR" 4
+.IX Item "-pixmap file[;oplist]"
+.PD 0
+.IP "\fBbackgroundPixmap:\fR \fIfile[;oplist]\fR" 4
+.IX Item "backgroundPixmap: file[;oplist]"
+.PD
+Compile \fIpixbuf\fR: Use the specified image file as the window's
+background and also optionally specify a colon separated list of
+operations to modify it. Note that you may need to quote the \f(CW\*(C`;\*(C'\fR
+character when using the command line option, as \f(CW\*(C`;\*(C'\fR is usually a
+metacharacter in shells. Supported operations are:
+.RS 4
+.IP "\fBWxH+X+Y\fR" 4
+.IX Item "WxH+X+Y"
+sets scale and position. \fB\*(L"W\*(R" / \*(L"H\*(R"\fR specify the horizontal/vertical
+scale (percent), and \fB\*(L"X\*(R" / \*(L"Y\*(R"\fR locate the image centre (percent). A
+scale of 0 disables scaling.
+.IP "\fBop=tile\fR" 4
+.IX Item "op=tile"
+enables tiling
+.IP "\fBop=keep\-aspect\fR" 4
+.IX Item "op=keep-aspect"
+maintain the image aspect ratio when scaling
+.IP "\fBop=root\-align\fR" 4
+.IX Item "op=root-align"
+use the position of the terminal window relative to the root window as
+the image offset, simulating a root window background
+.RE
+.RS 4
+.Sp
+The default scale and position setting is \f(CW\*(C`100x100+50+50\*(C'\fR.
+Alternatively, a predefined set of templates can be used to achieve
+the most common setups:
+.IP "\fBstyle=tiled\fR" 4
+.IX Item "style=tiled"
+the image is tiled with no scaling. Equivalent to 0x0+0+0:op=tile
+.IP "\fBstyle=aspect\-stretched\fR" 4
+.IX Item "style=aspect-stretched"
+the image is scaled to fill the whole window maintaining the aspect
+ratio and centered. Equivalent to 100x100+50+50:op=keep\-aspect
+.IP "\fBstyle=stretched\fR" 4
+.IX Item "style=stretched"
+the image is scaled to fill the whole window. Equivalent to 100x100
+.IP "\fBstyle=centered\fR" 4
+.IX Item "style=centered"
+the image is centered with no scaling. Equivalent to 0x0+50+50
+.IP "\fBstyle=root\-tiled\fR" 4
+.IX Item "style=root-tiled"
+the image is tiled with no scaling and using 'root' positioning.
+Equivalent to 0x0:op=tile:op=root\-align
+.RE
+.RS 4
+.Sp
+If multiple templates are specified the last one wins. Note that a
+template overrides all the scale, position and operations settings.
+.Sp
+If used in conjunction with pseudo-transparency, the specified pixmap
+will be blended over the transparent background using alpha-blending.
+.RE
+.IP "\fB\-tr\fR|\fB+tr\fR" 4
+.IX Item "-tr|+tr"
+.PD 0
+.IP "\fBtransparent:\fR \fIboolean\fR" 4
+.IX Item "transparent: boolean"
+.PD
+Turn on/off pseudo-transparency by using the root pixmap as background.
+.Sp
+\&\fB\-ip\fR (\fBinheritPixmap\fR) is still accepted as an obsolete alias but
+will be removed in future versions.
+.IP "\fB\-tint\fR \fIcolour\fR" 4
+.IX Item "-tint colour"
+.PD 0
+.IP "\fBtintColor:\fR \fIcolour\fR" 4
+.IX Item "tintColor: colour"
+.PD
+Tint the transparent background with the given colour. Note that a
+black tint yields a completely black image while a white tint yields
+the image unchanged.
+.IP "\fB\-sh\fR \fInumber\fR" 4
+.IX Item "-sh number"
+.PD 0
+.IP "\fBshading:\fR \fInumber\fR" 4
+.IX Item "shading: number"
+.PD
+Darken (0 .. 99) or lighten (101 .. 200) the transparent background.
+A value of 100 means no shading.
+.IP "\fB\-blr\fR \fIHxV\fR" 4
+.IX Item "-blr HxV"
+.PD 0
+.IP "\fBblurRadius:\fR \fIHxV\fR" 4
+.IX Item "blurRadius: HxV"
+.PD
+Apply gaussian blur with the specified radius to the transparent
+background. If a single number is specified, the vertical and
+horizontal radii are considered to be the same. Setting one of the
+radii to 1 and the other to a large number creates interesting effects
+on some backgrounds. The maximum radius value is 128. An horizontal or
+vertical radius of 0 disables blurring.
+.IP "\fBpath:\fR \fIpath\fR" 4
+.IX Item "path: path"
+Specify the colon-delimited search path for finding background image files.
.SH "THE SCROLLBAR"
.IX Header "THE SCROLLBAR"
Lines of text that scroll off the top of the \fB@@RXVT_NAME@@\fR window
@@ -1611,12 +1598,20 @@ 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.
-.IP "\fB\s-1RXVT_SOCKET\s0\fR" 4
-.IX Item "RXVT_SOCKET"
+.IP "\fB\s-1RXVT_SOCKET\s0\fR [\fIsic\fR]" 4
+.IX Item "RXVT_SOCKET [sic]"
The unix domain socket path used by @@RXVT_NAME@@c(1) and
@@RXVT_NAME@@d(1).
.Sp
Default \fI\f(CI$HOME\fI/.urxvt/urxvtd\-\fI<nodename>\fI\fR.
+.IP "\fB\s-1URXVT_PERL_LIB\s0\fR" 4
+.IX Item "URXVT_PERL_LIB"
+Additional \fI:\fR\-separated library search path for perl extensions. Will be
+searched after \fB\-perl\-lib\fR but before \fI~/.urxvt/ext\fR and the system library
+directory.
+.IP "\fB\s-1URXVT_PERL_VERBOSITY\s0\fR" 4
+.IX Item "URXVT_PERL_VERBOSITY"
+See @@RXVT_NAME@@perl(3).
.IP "\fB\s-1HOME\s0\fR" 4
.IX Item "HOME"
Used to locate the default directory for the unix domain socket for
@@ -1636,7 +1631,8 @@ If set and accessible, gives the name of a X resource file to be loaded by
Colour names.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
-@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1), @@RXVT_NAME@@d(1), \fIxterm\fR\|(1), \fIsh\fR\|(1), \fIresize\fR\|(1), X(1), \fIpty\fR\|(4), \fItty\fR\|(4), \fIutmp\fR\|(5)
+@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1), @@RXVT_NAME@@d(1), @@RXVT_NAME@@\-\fIextensions\fR\|(1),
+@@RXVT_NAME@@\fIperl\fR\|(3), \fIxterm\fR\|(1), \fIsh\fR\|(1), \fIresize\fR\|(1), X(1), \fIpty\fR\|(4), \fItty\fR\|(4), \fIutmp\fR\|(5)
.SH "CURRENT PROJECT COORDINATOR"
.IX Header "CURRENT PROJECT COORDINATOR"
.IP "Project Coordinator" 4
@@ -1677,3 +1673,12 @@ Project Coordinator (Changes 1.0 \-)
.IP "Emanuele Giaquinta <e.giaquinta@glauco.it>" 4
.IX Item "Emanuele Giaquinta <e.giaquinta@glauco.it>"
pty/utmp code rewrite, image code improvements, many random hacks and bugfixes.
+.SH "POD ERRORS"
+.IX Header "POD ERRORS"
+Hey! \fBThe above document had some coding errors, which are explained below:\fR
+.IP "Around line 1210:" 4
+.IX Item "Around line 1210:"
+You forgot a '=back' before '=head1'
+.IP "Around line 1212:" 4
+.IX Item "Around line 1212:"
+\&'=item' outside of any '=over'
View
286 doc/rxvt.1.pod
@@ -100,14 +100,19 @@ display specified by the B<DISPLAY> environment variable is used.
=item B<-depth> I<bitdepth>
-Compile I<xft>: Attempt to find a visual with the given bit depth;
+Compile I<frills>: Attempt to find a visual with the given bit depth;
resource B<depth>.
[Please note that many X servers (and libXft) are buggy with
respect to C<-depth 32> and/or alpha channels, and will cause all sorts
of graphical corruption. This is harmless, but we can't do anything about
this, so watch out]
+=item B<-visual> I<visualID>
+
+Compile I<frills>: Use the given visual (see e.g. C<xdpyinfo> for possible
+visual ids).
+
=item B<-geometry> I<geom>
Window geometry (B<-g> still respected); resource B<geometry>.
@@ -124,13 +129,6 @@ Turn on/off jump scrolling (allow multiple lines per refresh); resource B<jumpSc
Turn on/off skip scrolling (allow multiple screens per refresh); resource B<skipScroll>.
-=item B<-tr>|B<+tr>
-
-Turn on/off pseudo-transparency by using the root pixmap as background; resource B<transparent>.
-
-B<-ip> is still accepted as an obsolete alias but will be removed in
-future versions.
-
=item B<-fade> I<number>
Fade the text by the given percentage when focus is lost. Small values
@@ -142,39 +140,9 @@ colour; resource B<fading>.
Fade to this colour when fading is used (see B<-fade>). The default colour
is opaque black. resource B<fadeColor>.
-=item B<-tint> I<colour>
-
-Tint the transparent background with the given colour;
-resource I<tintColor>.
-
-=item B<-sh> I<number>
-
-Darken (0 .. 99) or lighten (101 .. 200) the transparent background.
-A value of 100 means no shading; resource I<shading>.
-
-=item B<-blt> I<string>
-
-Specify background blending type. If background pixmap is specified
-at the same time as transparency - such pixmap will be blended over
-the transparent background, using the method specified. Supported values are:
-B<add>, B<alphablend>, B<allanon> - colour values averaging, B<colorize>,
-B<darken>, B<diff>, B<dissipate>, B<hue>, B<lighten>, B<overlay>,
-B<saturate>, B<screen>, B<sub>, B<tint>, B<value>. The default is
-alpha-blending. Compile I<afterimage>; resource I<blendType>.
-
-=item B<-blr> I<HxV>
-
-Apply Gaussian Blur with the specified radii to the transparent
-background. If a single number is specified, the vertical and
-horizontal radii are considered to be the same. Setting one of the
-radii to 1 and the other to a large number creates interesting effects
-on some backgrounds. The maximum radius value is 128. An horizontal or
-vertical radius of 0 disables blurring;
-resource I<blurRadius>.
-
=item B<-icon> I<file>
-Compile I<afterimage> or I<pixbuf>: Use the specified image as application icon. This
+Compile I<pixbuf>: Use the specified image as application icon. This
is used by many window managers, taskbars and pagers to represent the
application window; resource I<iconFile>.
@@ -186,13 +154,6 @@ Window background colour; resource B<background>.
Window foreground colour; resource B<foreground>.
-=item B<-pixmap> I<file[;oplist]>
-
-Compile I<afterimage> or I<pixbuf>: Specify image file for the background and also
-optionally specify a list of operations to modify it. Note you may need to
-add quotes to avoid special shell interpretation of the C<;> in the
-command-line; for more details see resource B<backgroundPixmap>.
-
=item B<-cr> I<colour>
The cursor colour; resource B<cursorColor>.
@@ -690,13 +651,6 @@ B<False>: specify that everything is to be displayed, even
if the refresh is too fast for the human eye to read anything (or the
monitor to display anything); option B<+ss>.
-=item B<transparent:> I<boolean>
-
-Turn on/off pseudo-transparency by using the root pixmap as background.
-
-B<inheritPixmap> is still accepted as an obsolete alias but will be removed in
-future versions.
-
=item B<fading:> I<number>
Fade the text by the given percentage when focus is lost; option B<-fade>.
@@ -706,28 +660,6 @@ Fade the text by the given percentage when focus is lost; option B<-fade>.
Fade to this colour, when fading is used (see B<fading:>). The default
colour is black; option B<-fadecolor>.
-=item B<tintColor:> I<colour>
-
-Tint the transparent background with the given colour. If the RENDER
-extension is not available only black, red, green, yellow, blue,
-magenta, cyan and white tints can be performed server-side. Note that
-a black tint yields a completely black image while a white tint yields
-the image unchanged; option B<-tint>.
-
-=item B<shading:> I<number>
-
-Darken (0 .. 99) or lighten (101 .. 200) the transparent background.
-A value of 100 means no shading; option B<-sh>.
-
-=item B<blendType:> I<string>
-
-Specify background blending type; option B<-blt>.
-
-=item B<blurRadius:> I<number>
-
-Apply gaussian blur with the specified radius to the transparent
-background; option B<-blr>.
-
=item B<iconFile:> I<file>
Set the application icon pixmap; option B<-icon>.
@@ -746,77 +678,6 @@ Use the specified colour for the scrollbar's trough area [default
The colour of the border around the text area and between the scrollbar
and the text.
-=item B<backgroundPixmap:> I<file[;oplist]>
-
-Use the specified image file for the background and also
-optionally specify a colon separated list of operations to modify it.
-Supported operations are:
-
-=over 4
-
-=item B<WxH+X+Y>
-
-sets scale and position. B<"W" / "H"> specify the horizontal/vertical
-scale (percent), and B<"X" / "Y"> locate the image centre (percent). A
-scale of 0 disables scaling. The maximum permitted scale is 1000.
-
-=item B<op=tile>
-
-enables tiling
-
-=item B<op=keep-aspect>
-
-maintain the image aspect ratio when scaling
-
-=item B<op=root-align>
-
-use the position of the terminal window relative to the root window as
-the image offset, simulating a root window background
-
-=back
-
-The default scale and position setting is C<100x100+50+50>.
-Alternatively, a predefined set of templates can be used to achieve
-the most common setups:
-
-=over 4
-
-=item B<style=tiled>
-
-the image is tiled with no scaling. Equivalent to 0x0+0+0:op=tile
-
-=item B<style=aspect-stretched>
-
-the image is scaled to fill the whole window maintaining the aspect
-ratio and centered. Equivalent to 100x100+50+50:op=keep-aspect
-
-=item B<style=stretched>
-
-the image is scaled to fill the whole window. Equivalent to 100x100
-
-=item B<style=centered>
-
-the image is centered with no scaling. Equivalent to 0x0+50+50
-
-=item B<style=root-tiled>
-
-the image is tiled with no scaling and using 'root' positioning.
-Equivalent to 0x0:op=tile:op=root-align
-
-=back
-
-If multiple templates are specified the last one wins. Note that a
-template overrides all the scale, position and operations settings.
-
-If used in conjunction with B<-tr> option, the specified pixmap will be
-blended over the transparent background using alpha-blending. If I<afterimage>
-support has been compiled in it is possible to choose other blending
-types with B<-blt "type"> option.
-
-=item B<path:> I<path>
-
-Specify the colon-delimited search path for finding background image files.
-
=item B<font:> I<fontlist>
Select the fonts to be used. This is a comma separated list of font names
@@ -1303,9 +1164,9 @@ the @@RXVT_NAME@@perl(3) manpage.
=item B<perl-lib>: I<path>
Colon-separated list of additional directories that hold extension
-scripts. When looking for perl extensions, @@RXVT_NAME@@ will first
-look in these directories, then in $HOME/.urxvt/ext and lastly in
-F<@@RXVT_LIBDIR@@/urxvt/perl/>.
+scripts. When looking for perl extensions, @@RXVT_NAME@@ will first look
+in these directories, then in C<$URXVT_PERL_LIB>, F<$HOME/.urxvt/ext> and
+lastly in F<@@RXVT_LIBDIR@@/urxvt/perl/>.
See the @@RXVT_NAME@@perl(3) manpage.
@@ -1324,7 +1185,7 @@ for details.
Sets the hotkey that starts the incremental scrollback buffer search
(default: C<M-s>).
-=item B<urlLauncher>: I<string>
+=item B<url-launcher>: I<string>
Specifies the program to be started with a URL argument. Used by the
C<selection-popup> and C<matcher> perl extensions.
@@ -1346,6 +1207,116 @@ Turn on/off ISO 14755 (default enabled).
Turn on/off ISO 14755 5.2 mode (default enabled).
+=head1 BACKGROUND IMAGE OPTIONS AND RESOURCES
+
+=item B<-pixmap> I<file[;oplist]>
+
+=item B<backgroundPixmap:> I<file[;oplist]>
+
+Compile I<pixbuf>: Use the specified image file as the window's
+background and also optionally specify a colon separated list of
+operations to modify it. Note that you may need to quote the C<;>
+character when using the command line option, as C<;> is usually a
+metacharacter in shells. Supported operations are:
+
+=over 4
+
+=item B<WxH+X+Y>
+
+sets scale and position. B<"W" / "H"> specify the horizontal/vertical
+scale (percent), and B<"X" / "Y"> locate the image centre (percent). A
+scale of 0 disables scaling.
+
+=item B<op=tile>
+
+enables tiling
+
+=item B<op=keep-aspect>
+
+maintain the image aspect ratio when scaling
+
+=item B<op=root-align>
+
+use the position of the terminal window relative to the root window as
+the image offset, simulating a root window background
+
+=back
+
+The default scale and position setting is C<100x100+50+50>.
+Alternatively, a predefined set of templates can be used to achieve
+the most common setups:
+
+=over 4
+
+=item B<style=tiled>
+
+the image is tiled with no scaling. Equivalent to 0x0+0+0:op=tile
+
+=item B<style=aspect-stretched>
+
+the image is scaled to fill the whole window maintaining the aspect
+ratio and centered. Equivalent to 100x100+50+50:op=keep-aspect
+
+=item B<style=stretched>
+
+the image is scaled to fill the whole window. Equivalent to 100x100
+
+=item B<style=centered>
+
+the image is centered with no scaling. Equivalent to 0x0+50+50
+
+=item B<style=root-tiled>
+
+the image is tiled with no scaling and using 'root' positioning.
+Equivalent to 0x0:op=tile:op=root-align
+
+=back
+
+If multiple templates are specified the last one wins. Note that a
+template overrides all the scale, position and operations settings.
+
+If used in conjunction with pseudo-transparency, the specified pixmap
+will be blended over the transparent background using alpha-blending.
+
+=item B<-tr>|B<+tr>
+
+=item B<transparent:> I<boolean>
+
+Turn on/off pseudo-transparency by using the root pixmap as background.
+
+B<-ip> (B<inheritPixmap>) is still accepted as an obsolete alias but
+will be removed in future versions.
+
+=item B<-tint> I<colour>
+
+=item B<tintColor:> I<colour>
+
+Tint the transparent background with the given colour. Note that a
+black tint yields a completely black image while a white tint yields
+the image unchanged.
+
+=item B<-sh> I<number>
+
+=item B<shading:> I<number>
+
+Darken (0 .. 99) or lighten (101 .. 200) the transparent background.
+A value of 100 means no shading.
+
+=item B<-blr> I<HxV>
+
+=item B<blurRadius:> I<HxV>
+
+Apply gaussian blur with the specified radius to the transparent
+background. If a single number is specified, the vertical and
+horizontal radii are considered to be the same. Setting one of the
+radii to 1 and the other to a large number creates interesting effects
+on some backgrounds. The maximum radius value is 128. An horizontal or
+vertical radius of 0 disables blurring.
+
+=item B<path:> I<path>
+
+Specify the colon-delimited search path for finding background image files.
+
=back
=head1 THE SCROLLBAR
@@ -1655,13 +1626,23 @@ defaults to C<:0> if it doesn't exist.
The shell to be used for command execution, defaults to C</bin/sh>.
-=item B<RXVT_SOCKET>
+=item B<RXVT_SOCKET> [I<sic>]
The unix domain socket path used by @@RXVT_NAME@@c(1) and
@@RXVT_NAME@@d(1).
Default F<<< $HOME/.urxvt/urxvtd-I<< <nodename> >> >>>.
+=item B<URXVT_PERL_LIB>
+
+Additional F<:>-separated library search path for perl extensions. Will be
+searched after B<-perl-lib> but before F<~/.urxvt/ext> and the system library
+directory.
+
+=item B<URXVT_PERL_VERBOSITY>
+
+See L<@@RXVT_NAME@@perl>(3).
+
=item B<HOME>
Used to locate the default directory for the unix domain socket for
@@ -1691,7 +1672,8 @@ Colour names.
=head1 SEE ALSO
-@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1), @@RXVT_NAME@@d(1), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5)
+@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1), @@RXVT_NAME@@d(1), @@RXVT_NAME@@-extensions(1),
+@@RXVT_NAME@@perl(3), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5)
=head1 CURRENT PROJECT COORDINATOR
View
38 doc/rxvt.7.man.in
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
+.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "@@RXVT_NAME@@ 7"
-.TH @@RXVT_NAME@@ 7 "2012-01-21" "@@RXVT_VERSION@@" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 7 "2012-11-06" "@@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
@@ -272,12 +272,12 @@ snippets:
\& [ ${TERM:\-foo} = foo ] && TERM=xterm # assume an xterm if we don\*(Aqt know
\& if [ ${TERM:\-foo} = xterm ]; then
\& stty \-icanon \-echo min 0 time 15 # see if enhanced rxvt or not
-\& echo \-n \*(Aq^[Z\*(Aq
+\& printf "\eeZ"
\& read term_id
\& stty icanon echo
\& if [ ""${term_id} = \*(Aq^[[?1;2C\*(Aq \-a ${DISPLAY:\-foo} = foo ]; then
-\& echo \-n \*(Aq^[[7n\*(Aq # query the rxvt we are in for the DISPLAY string
-\& read DISPLAY # set it in our local shell
+\& printf \*(Aq\ee[7n\*(Aq # query the rxvt we are in for the DISPLAY string
+\& read DISPLAY # set it in our local shell
\& fi
\& fi
.Ve
@@ -409,7 +409,7 @@ your picture with gimp or any other tool:
\& @@URXVT_NAME@@ \-pixmap "background.jpg;:root"
.Ve
.PP
-That works. If you think it doesn't, you lack libAfterImage or GDK-PixBuf support, or you
+That works. If you think it doesn't, you lack GDK-PixBuf support, or you
are unable to read.
.PP
3. Use an \s-1ARGB\s0 visual:
@@ -806,11 +806,11 @@ private mode:
.Vb 3
\& # use Backspace = ^H
\& $ stty erase ^H
-\& $ echo \-n "^[[?67h"
+\& $ printf "\ee[?67h"
\&
\& # use Backspace = ^?
\& $ stty erase ^?
-\& $ echo \-n "^[[?67l"
+\& $ printf "\ee[?67l"
.Ve
.PP
This helps satisfy some of the Backspace discrepancies that occur, but
@@ -2282,7 +2282,7 @@ Ps = 12 Change colour of text cursor foreground to Pt
Ps = 13 Change colour of mouse foreground to Pt
Ps = 17 Change background colour of highlight characters to Pt
Ps = 19 Change foreground colour of highlight characters to Pt
-Ps = 20 Change background pixmap parameters (see section BACKGROUND IMAGE) (Compile afterimage or pixbuf).
+Ps = 20 Change background pixmap parameters (see section BACKGROUND IMAGE) (Compile pixbuf).
Ps = 39 Change default foreground colour to Pt. [deprecated, use 10]
Ps = 46 Change Log File to Pt unimplemented
Ps = 49 Change default background colour to Pt. [deprecated, use 11]
@@ -2542,17 +2542,6 @@ option requires \-\-enable\-utmp to also be specified.
Write user and tty to lastlog file (used by programs like
\&\fIlastlogin\fR) at start of rxvt execution. This option requires
\&\-\-enable\-utmp to also be specified.
-.IP "\-\-enable\-afterimage (default: off)" 4
-.IX Item "--enable-afterimage (default: off)"
-Add support for libAfterImage to be used for background
-images. It adds support for many file formats including \s-1JPG\s0, \s-1PNG\s0,
-\&\s-1SVG\s0, \s-1TIFF\s0, \s-1GIF\s0, \s-1XPM\s0, \s-1BMP\s0, \s-1ICO\s0, \s-1XCF\s0, \s-1TGA\s0 and AfterStep image \s-1XML\s0
-(<http://www.afterstep.org/visualdoc.php?show=asimagexml>).
-.Sp
-Note that with this option enabled, @@RXVT_NAME@@'s memory footprint might
-increase by a few megabytes even if no extra features are used (mostly due
-to third-party libraries used by libAI). Memory footprint may somewhat be
-lowered if libAfterImage is configured without support for \s-1SVG\s0.
.IP "\-\-enable\-pixbuf (default: on)" 4
.IX Item "--enable-pixbuf (default: on)"
Add support for GDK-PixBuf to be used for background images.
@@ -2565,9 +2554,8 @@ to display some kind of progress indicator during startup.
.IP "\-\-enable\-transparency (default: on)" 4
.IX Item "--enable-transparency (default: on)"
Add support for using the root pixmap as background to simulate transparency.
-Note that blur and blend effects depend on libAfterImage or on
-libXrender and on the availability of the \s-1RENDER\s0 extension in the X
-server.
+Note that this feature depends on libXrender and on the availability
+of the \s-1RENDER\s0 extension in the X server.
.IP "\-\-enable\-fading (default: on)" 4
.IX Item "--enable-fading (default: on)"
Add support for fading the text when focus is lost.
@@ -2622,6 +2610,7 @@ in combination with other switches) is:
\& skip builtin block graphics (\-sbg)
\& separate highlight colour (\-highlightColor, \-highlightTextColor)
\& extended mouse reporting modes (1005 and 1015).
+\& visual selection via \-visual and \-depth.
.Ve
.Sp
It also enables some non-essential features otherwise disabled, such as:
@@ -2697,9 +2686,6 @@ and consequently sets \f(CW\*(C`TERM\*(C'\fR to \f(CW\*(C`rxvt\-unicode\-256colo
.Sp
It also results in higher memory usage and can slow down @@RXVT_NAME@@
dramatically when more than six fonts are in use by a terminal instance.
-.IP "\-\-with\-afterimage\-config=DIR" 4
-.IX Item "--with-afterimage-config=DIR"
-Look for the libAfterImage config script in \s-1DIR\s0.
.IP "\-\-with\-name=NAME (default: urxvt)" 4
.IX Item "--with-name=NAME (default: urxvt)"
Set the basename for the installed binaries, resulting
View
36 doc/rxvt.7.pod
@@ -131,12 +131,12 @@ snippets:
[ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
if [ ${TERM:-foo} = xterm ]; then
stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not
- echo -n '^[Z'
+ printf "\eZ"
read term_id
stty icanon echo
if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
- echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string
- read DISPLAY # set it in our local shell
+ printf '\e[7n' # query the rxvt we are in for the DISPLAY string
+ read DISPLAY # set it in our local shell
fi
fi
@@ -253,7 +253,7 @@ your picture with gimp or any other tool:
convert wallpaper.jpg -blur 20x20 -modulate 30 background.jpg
@@URXVT_NAME@@ -pixmap "background.jpg;:root"
-That works. If you think it doesn't, you lack libAfterImage or GDK-PixBuf support, or you
+That works. If you think it doesn't, you lack GDK-PixBuf support, or you
are unable to read.
3. Use an ARGB visual:
@@ -601,11 +601,11 @@ private mode:
# use Backspace = ^H
$ stty erase ^H
- $ echo -n "^[[?67h"
+ $ printf "\e[?67h"
# use Backspace = ^?
$ stty erase ^?
- $ echo -n "^[[?67l"
+ $ printf "\e[?67l"
This helps satisfy some of the Backspace discrepancies that occur, but
if you use Backspace = C<^H>, make sure that the termcap/terminfo value
@@ -2056,7 +2056,7 @@ B<octet> can be escaped by prefixing it with SYN (0x16, ^V).
B<< C<Ps = 13> >> Change colour of mouse foreground to B<< C<Pt> >>
B<< C<Ps = 17> >> Change background colour of highlight characters to B<< C<Pt> >>
B<< C<Ps = 19> >> Change foreground colour of highlight characters to B<< C<Pt> >>
- B<< C<Ps = 20> >> Change background pixmap parameters (see section BACKGROUND IMAGE) (Compile afterimage or pixbuf).
+ B<< C<Ps = 20> >> Change background pixmap parameters (see section BACKGROUND IMAGE) (Compile pixbuf).
B<< C<Ps = 39> >> Change default foreground colour to B<< C<Pt> >>. [deprecated, use 10]
B<< C<Ps = 46> >> Change Log File to B<< C<Pt> >> I<unimplemented>
B<< C<Ps = 49> >> Change default background colour to B<< C<Pt> >>. [deprecated, use 11]
@@ -2359,18 +2359,6 @@ Write user and tty to lastlog file (used by programs like
F<lastlogin>) at start of rxvt execution. This option requires
--enable-utmp to also be specified.
-=item --enable-afterimage (default: off)
-
-Add support for libAfterImage to be used for background
-images. It adds support for many file formats including JPG, PNG,
-SVG, TIFF, GIF, XPM, BMP, ICO, XCF, TGA and AfterStep image XML
-(L<http://www.afterstep.org/visualdoc.php?show=asimagexml>).
-
-Note that with this option enabled, @@RXVT_NAME@@'s memory footprint might
-increase by a few megabytes even if no extra features are used (mostly due
-to third-party libraries used by libAI). Memory footprint may somewhat be
-lowered if libAfterImage is configured without support for SVG.
-
=item --enable-pixbuf (default: on)
Add support for GDK-PixBuf to be used for background images.
@@ -2385,9 +2373,8 @@ to display some kind of progress indicator during startup.
=item --enable-transparency (default: on)
Add support for using the root pixmap as background to simulate transparency.
-Note that blur and blend effects depend on libAfterImage or on
-libXrender and on the availability of the RENDER extension in the X
-server.
+Note that this feature depends on libXrender and on the availability
+of the RENDER extension in the X server.
=item --enable-fading (default: on)
@@ -2450,6 +2437,7 @@ in combination with other switches) is:
skip builtin block graphics (-sbg)
separate highlight colour (-highlightColor, -highlightTextColor)
extended mouse reporting modes (1005 and 1015).
+ visual selection via -visual and -depth.
It also enables some non-essential features otherwise disabled, such as:
@@ -2534,10 +2522,6 @@ and consequently sets C<TERM> to C<rxvt-unicode-256color> by default
It also results in higher memory usage and can slow down @@RXVT_NAME@@
dramatically when more than six fonts are in use by a terminal instance.
-=item --with-afterimage-config=DIR
-
-Look for the libAfterImage config script in DIR.
-
=item --with-name=NAME (default: urxvt)
Set the basename for the installed binaries, resulting
View
1,849 doc/rxvtperl.3.man.in
0 additions, 1,849 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
14 doc/wcwidth.patch
@@ -1,21 +1,21 @@
diff --git a/src/Makefile.in b/src/Makefile.in
-index 2136e69..3d7ddea 100644
+index defe61d..cbbacd1 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
-@@ -38,7 +38,7 @@ COMMON = \
- screen.o scrollbar.o scrollbar-next.o scrollbar-rxvt.o \
- scrollbar-xterm.o scrollbar-plain.o xdefaults.o encoding.o \
- rxvttoolkit.o rxvtutil.o keyboard.o \
+@@ -35,7 +35,7 @@ COMMON = \
+ screen.o scrollbar.o scrollbar-next.o scrollbar-rxvt.o \
+ scrollbar-xterm.o scrollbar-plain.o xdefaults.o encoding.o \
+ rxvttoolkit.o rxvtutil.o keyboard.o rxvtimg.o \
- ev_cpp.o fdpass_wrapper.o ptytty_wrapper.o @PERL_O@
+ ev_cpp.o fdpass_wrapper.o ptytty_wrapper.o wcwidth.o @PERL_O@
COMMON_DAEMON = rxvtdaemon.o
diff --git a/src/rxvt.h b/src/rxvt.h
-index 64b7fc0..1897040 100644
+index 5be4391..152bf64 100644
--- a/src/rxvt.h
+++ b/src/rxvt.h
-@@ -635,6 +635,12 @@ typedef struct _mwmhints {
+@@ -706,6 +706,12 @@ typedef struct _mwmhints
// speed hack, copy some member variable into a local variable of the same name
#define dLocal(type,name) type const name = this->name
View
467 libev/Changes
@@ -0,0 +1,467 @@
+Revision history for libev, a high-performance and full-featured event loop.
+
+TODO: ev_loop_wakeup
+TODO: EV_STANDALONE == NO_HASSEL (do not use clock_gettime in ev_standalone)
+TODO: faq, process a thing in each iteration
+TODO: dbeugging tips, ev_verify, ev_init twice
+TODO: ev_break for immediate exit (EVBREAK_NOW?)
+TODO: ev_feed_child_event
+
+TODO: document the special problem of signals around fork.
+TODO: store pid for each signal
+TODO: document file descriptor usage per loop
+TODO: store loop pid_t and compare isndie signal handler,store 1 for same, 2 for differign pid, clean up in loop_fork
+TODO: embed watchers need updating when fd changes
+TODO: document portbaility requirements for atomic pointer access
+ - destroying a non-default loop would stop the global waitpid
+ watcher (Denis Bilenko).
+ - queueing pending watchers of higher priority from a watcher now invokes
+ them in a timely fashion (reported by Denis Bilenko).
+ - add throw() to all libev functions that cannot throw exceptions, for
+ further code size decrease when compiling for C++.
+ - add throw () to callbacks that must not throw exceptions (allocator,
+ syserr, loop acquire/release, periodic reschedule cbs).
+ - fix event_base_loop return code, add event_get_callback, event_base_new,
+ event_base_get_method calls to improve libevent 1.x emulation and add
+ some libevent 2.x functionality (based on a patch by Jeff Davey).
+ - add more memory fences to fix a bug reported by Jeff Davey. Better
+ be overfenced than underprotected.
+ - ev_run now returns a boolean status (true meaning watchers are
+ still active).
+ - ev_once: undef EV_ERROR in ev_kqueue.c, to avoid clashing with
+ libev's EV_ERROR (reported by 191919).
+ - (ecb) add memory fence support for xlC (Darin McBride).
+ - (ecb) add memory fence support for gcc-mips (Anton Kirilov).
+ - (ecb) add memory fence support for gcc-alpha (Christian Weisgerber).
+ - work around some kernels losing file descriptors by leaking
+ the kqueue descriptor in the child.
+ - include sys/syscall.h instead of plain syscall.h.
+ - check for io watcher loops in ev_verify, check for the most
+ common reported usage bug in ev_io_start.
+ - chose socket vs. WSASocket at compiletime using EV_USE_WSASOCKET.
+ - always use WSASend/WSARecv directly on windows, hoping that this
+ works in all cases (unlike read/write/send/recv...).
+ - try to detect signals around a fork faster (test program by
+ Denis Bilenko).
+ - work around recent glibc versions that leak memory in realloc.
+ - rename ev::embed::set to ev::embed::set_embed to avoid clashing
+ the watcher base set (loop) method.
+ - rewrite the async/signal pipe logic to always keep a valid fd, which
+ simplifies (and hopefuly correctifies :) the race checking
+ on fork, at the cost of one extra fd.
+
+4.11 Sat Feb 4 19:52:39 CET 2012
+ - INCOMPATIBLE CHANGE: ev_timer_again now clears the pending status, as
+ was documented already, but not implemented in the repeating case.
+ - new compiletime symbols: EV_NO_SMP and EV_NO_THREADS.
+ - fix a race where the workaround against the epoll fork bugs
+ caused signals to not be handled anymore.
+ - correct backend_fudge for most backends, and implement a windows
+ specific workaround to avoid looping because we call both
+ select and Sleep, both with different time resolutions.
+ - document range and guarantees of ev_sleep.
+ - document reasonable ranges for periodics interval and offset.
+ - rename backend_fudge to backend_mintime to avoid future confusion :)
+ - change the default periodic reschedule function to hopefully be more
+ exact and correct even in corner cases or in the far future.
+ - do not rely on -lm anymore: use it when available but use our
+ own floor () if it is missing. This should make it easier to embed,
+ as no external libraries are required.
+ - strategically import macros from libecb and mark rarely-used functions
+ as cache-cold (saving almost 2k code size on typical amd64 setups).
+ - add Symbols.ev and Symbols.event files, that were missing.
+ - fix backend_mintime value for epoll (was 1/1024, is 1/1000 now).
+ - fix #3 "be smart about timeouts" to not "deadlock" when
+ timeout == now, also improve the section overall.
+ - avoid "AVOIDING FINISHING BEFORE RETURNING" idiom.
+ - support new EV_API_STATIC mode to make all libev symbols
+ static.
+ - supply default CFLAGS of -g -O3 with gcc when original CFLAGS
+ were empty.
+
+4.04 Wed Feb 16 09:01:51 CET 2011
+ - fix two problems in the native win32 backend, where reuse of fd's
+ with different underlying handles caused handles not to be removed
+ or added to the select set (analyzed and tested by Bert Belder).
+ - do no rely on ceil() in ev_e?poll.c.
+ - backport libev to HP-UX versions before 11 v3.
+ - configure did not detect nanosleep and clock_gettime properly when
+ they are available in the libc (as opposed to -lrt).
+
+4.03 Tue Jan 11 14:37:25 CET 2011
+ - officially support polling files with all backends.
+ - support files, /dev/zero etc. the same way as select in the epoll
+ backend, by generating events on our own.
+ - ports backend: work around solaris bug 6874410 and many related ones
+ (EINTR, maybe more), with no performance loss (note that the solaris
+ bug report is actually wrong, reality is far more bizarre and broken
+ than that).
+ - define EV_READ/EV_WRITE as macros in event.h, as some programs use
+ #ifdef to test for them.
+ - new (experimental) function: ev_feed_signal.
+ - new (to become default) EVFLAG_NOSIGMASK flag.
+ - new EVBACKEND_MASK symbol.
+ - updated COMMON IDIOMS SECTION.
+
+4.01 Fri Nov 5 21:51:29 CET 2010
+ - automake fucked it up, apparently, --add-missing -f is not quite enough
+ to make it update its files, so 4.00 didn't install ev++.h and
+ event.h on make install. grrr.
+ - ev_loop(count|depth) didn't return anything (Robin Haberkorn).
+ - change EV_UNDEF to 0xffffffff to silence some overzealous compilers.
+ - use "(libev) " prefix for all libev error messages now.
+
+4.00 Mon Oct 25 12:32:12 CEST 2010
+ - "PORTING FROM LIBEV 3.X TO 4.X" (in ev.pod) is recommended reading.
+ - ev_embed_stop did not correctly stop the watcher (very good
+ testcase by Vladimir Timofeev).
+ - ev_run will now always update the current loop time - it erroneously
+ didn't when idle watchers were active, causing timers not to fire.
+ - fix a bug where a timeout of zero caused the timer not to fire
+ in the libevent emulation (testcase by Péter Szabó).
+ - applied win32 fixes by Michael Lenaghan (also James Mansion).
+ - replace EV_MINIMAL by EV_FEATURES.
+ - prefer EPOLL_CTL_ADD over EPOLL_CTL_MOD in some more cases, as it
+ seems the former is *much* faster than the latter.
+ - linux kernel version detection (for inotify bug workarounds)
+ did not work properly.
+ - reduce the number of spurious wake-ups with the ports backend.
+ - remove dependency on sys/queue.h on freebsd (patch by Vanilla Hsu).
+ - do async init within ev_async_start, not ev_async_set, which avoids
+ an API quirk where the set function must be called in the C++ API
+ even when there is nothing to set.
+ - add (undocumented) EV_ENABLE when adding events with kqueue,
+ this might help with OS X, which seems to need it despite documenting
+ not to need it (helpfully pointed out by Tilghman Lesher).
+ - do not use poll by default on freebsd, it's broken (what isn't
+ on freebsd...).
+ - allow to embed epoll on kernels >= 2.6.32.
+ - configure now prepends -O3, not appends it, so one can still
+ override it.
+ - ev.pod: greatly expanded the portability section, added a porting
+ section, a description of watcher states and made lots of minor fixes.
+ - disable poll backend on AIX, the poll header spams the namespace
+ and it's not worth working around dead platforms (reported
+ and analyzed by Aivars Kalvans).
+ - improve header file compatibility of the standalone eventfd code
+ in an obscure case.
+ - implement EV_AVOID_STDIO option.
+ - do not use sscanf to parse linux version number (smaller, faster,
+ no sscanf dependency).
+ - new EV_CHILD_ENABLE and EV_SIGNAL_ENABLE configurable settings.
+ - update libev.m4 HAVE_CLOCK_SYSCALL test for newer glibcs.
+ - add section on accept() problems to the manpage.
+ - rename EV_TIMEOUT to EV_TIMER.
+ - rename ev_loop_count/depth/verify/loop/unloop.
+ - remove ev_default_destroy and ev_default_fork.
+ - switch to two-digit minor version.
+ - work around an apparent gentoo compiler bug.
+ - define _DARWIN_UNLIMITED_SELECT. just so.
+ - use enum instead of #define for most constants.
+ - improve compatibility to older C++ compilers.
+ - (experimental) ev_run/ev_default_loop/ev_break/ev_loop_new have now
+ default arguments when compiled as C++.
+ - enable automake dependency tracking.
+ - ev_loop_new no longer leaks memory when loop creation failed.
+ - new ev_cleanup watcher type.
+
+3.9 Thu Dec 31 07:59:59 CET 2009
+ - signalfd is no longer used by default and has to be requested
+ explicitly - this means that easy to catch bugs become hard to
+ catch race conditions, but the users have spoken.
+ - point out the unspecified signal mask in the documentation, and
+ that this is a race condition regardless of EV_SIGNALFD.
+ - backport inotify code to C89.
+ - inotify file descriptors could leak into child processes.
+ - ev_stat watchers could keep an erroneous extra ref on the loop,
+ preventing exit when unregistering all watchers (testcases
+ provided by ry@tinyclouds.org).
+ - implement EV_WIN32_HANDLE_TO_FD and EV_WIN32_CLOSE_FD configuration
+ symbols to make it easier for apps to do their own fd management.
+ - support EV_IDLE_ENABLE being disabled in ev++.h
+ (patch by Didier Spezia).
+ - take advantage of inotify_init1, if available, to set cloexec/nonblock
+ on fd creation, to avoid races.
+ - the signal handling pipe wasn't always initialised under windows
+ (analysed by lekma).
+ - changed minimum glibc requirement from glibc 2.9 to 2.7, for
+ signalfd.
+ - add missing string.h include (Denis F. Latypoff).
+ - only replace ev_stat.prev when we detect an actual difference,
+ so prev is (almost) always different to attr. this might
+ have caused the problems with 04_stat.t.
+ - add ev::timer->remaining () method to C++ API.
+
+3.8 Sun Aug 9 14:30:45 CEST 2009
+ - incompatible change: do not necessarily reset signal handler
+ to SIG_DFL when a sighandler is stopped.
+ - ev_default_destroy did not properly free or zero some members,
+ potentially causing crashes and memory corruption on repeated
+ ev_default_destroy/ev_default_loop calls.
+ - take advantage of signalfd on GNU/Linux systems.
+ - document that the signal mask might be in an unspecified
+ state when using libev's signal handling.
+ - take advantage of some GNU/Linux calls to set cloexec/nonblock
+ on fd creation, to avoid race conditions.
+
+3.7 Fri Jul 17 16:36:32 CEST 2009
+ - ev_unloop and ev_loop wrongly used a global variable to exit loops,
+ instead of using a per-loop variable (bug caught by accident...).
+ - the ev_set_io_collect_interval interpretation has changed.
+ - add new functionality: ev_set_userdata, ev_userdata,
+ ev_set_invoke_pending_cb, ev_set_loop_release_cb,
+ ev_invoke_pending, ev_pending_count, together with a long example
+ about thread locking.
+ - add ev_timer_remaining (as requested by Denis F. Latypoff).
+ - add ev_loop_depth.
+ - calling ev_unloop in fork/prepare watchers will no longer poll
+ for new events.
+ - Denis F. Latypoff corrected many typos in example code snippets.
+ - honor autoconf detection of EV_USE_CLOCK_SYSCALL, also double-
+ check that the syscall number is available before trying to
+ use it (reported by ry@tinyclouds).
+ - use GetSystemTimeAsFileTime instead of _timeb on windows, for
+ slightly higher accuracy.
+ - properly declare ev_loop_verify and ev_now_update even when
+ !EV_MULTIPLICITY.
+ - do not compile in any priority code when EV_MAXPRI == EV_MINPRI.
+ - support EV_MINIMAL==2 for a reduced API.
+ - actually 0-initialise struct sigaction when installing signals.
+ - add section on hibernate and stopped processes to ev_timer docs.
+
+3.6 Tue Apr 28 02:49:30 CEST 2009
+ - multiple timers becoming ready within an event loop iteration
+ will be invoked in the "correct" order now.
+ - do not leave the event loop early just because we have no active
+ watchers, fixing a problem when embedding a kqueue loop
+ that has active kernel events but no registered watchers
+ (reported by blacksand blacksand).
+ - correctly zero the idx values for arrays, so destroying and
+ reinitialising the default loop actually works (patch by
+ Malek Hadj-Ali).
+ - implement ev_suspend and ev_resume.
+ - new EV_CUSTOM revents flag for use by applications.
+ - add documentation section about priorities.
+ - add a glossary to the dcoumentation.
+ - extend the ev_fork description slightly.
+ - optimize a jump out of call_pending.
+
+3.53 Sun Feb 15 02:38:20 CET 2009
+ - fix a bug in event pipe creation on win32 that would cause a
+ failed assertion on event loop creation (patch by Malek Hadj-Ali).
+ - probe for CLOCK_REALTIME support at runtime as well and fall
+ back to gettimeofday if there is an error, to support older
+ operating systems with newer header files/libraries.
+ - prefer gettimeofday over clock_gettime with USE_CLOCK_SYSCALL
+ (default most everywhere), otherwise not.
+
+3.52 Wed Jan 7 21:43:02 CET 2009
+ - fix compilation of select backend in fd_set mode when NFDBITS is
+ missing (to get it to compile on QNX, reported by Rodrigo Campos).
+ - better select-nfds handling when select backend is in fd_set mode.
+ - diagnose fd_set overruns when select backend is in fd_set mode.
+ - due to a thinko, instead of disabling everything but
+ select on the borked OS X platform, everything but select was
+ allowed (reported by Emanuele Giaquinta).
+ - actually verify that local and remote port are matching in
+ libev's socketpair emulation, which makes denial-of-service
+ attacks harder (but not impossible - it's windows). Make sure
+ it even works under vista, which thinks that getpeer/sockname
+ should return fantasy port numbers.
+ - include "libev" in all assertion messages for potentially
+ clearer diagnostics.
+ - event_get_version (libevent compatibility) returned
+ a useless string instead of the expected version string
+ (patch by W.C.A. Wijngaards).
+
+3.51 Wed Dec 24 23:00:11 CET 2008
+ - fix a bug where an inotify watcher was added twice, causing
+ freezes on hash collisions (reported and analysed by Graham Leggett).
+ - new config symbol, EV_USE_CLOCK_SYSCALL, to make libev use
+ a direct syscall - slower, but no dependency on librt et al.
+ - assume negative return values != -1 signals success of port_getn
+ (http://cvs.epicsol.org/cgi/viewcvs.cgi/epic5/source/newio.c?rev=1.52)
+ (no known failure reports, but it doesn't hurt).
+ - fork detection in ev_embed now stops and restarts the watcher
+ automatically.
+ - EXPERIMENTAL: default the method to operator () in ev++.h,
+ to make it nicer to use functors (requested by Benedek László).
+ - fixed const object callbacks in ev++.h.
+ - replaced loop_ref argument of watcher.set (loop) by a direct
+ ev_loop * in ev++.h, to avoid clashes with functor patch.
+ - do not try to watch the empty string via inotify.
+ - inotify watchers could be leaked under certain circumstances.
+ - OS X 10.5 is actually even more broken than earlier versions,
+ so fall back to select on that piece of garbage.
+ - fixed some weirdness in the ev_embed documentation.
+
+3.49 Wed Nov 19 11:26:53 CET 2008
+ - ev_stat watchers will now use inotify as a mere hint on
+ kernels <2.6.25, or if the filesystem is not in the
+ "known to be good" list.
+ - better mingw32 compatibility (it's not as borked as native win32)
+ (analysed by Roger Pack).
+ - include stdio.h in the example program, as too many people are
+ confused by the weird C language otherwise. I guess the next thing
+ I get told is that the "..." ellipses in the examples don't compile
+ with their C compiler.
+
+3.48 Thu Oct 30 09:02:37 CET 2008
+ - further optimise away the EPOLL_CTL_ADD/MOD combo in the epoll
+ backend by assuming the kernel event mask hasn't changed if
+ ADD fails with EEXIST.
+ - work around spurious event notification bugs in epoll by using
+ a 32-bit generation counter. recreate kernel state if we receive
+ spurious notifications or unwanted events. this is very costly,
+ but I didn't come up with this horrible design.
+ - use memset to initialise most arrays now and do away with the
+ init functions.
+ - expand time-out strategies into a "Be smart about timeouts" section.
+ - drop the "struct" from all ev_watcher declarations in the
+ documentation and did other clarifications (yeah, it was a mistake
+ to have a struct AND a function called ev_loop).
+ - fix a bug where ev_default would not initialise the default
+ loop again after it was destroyed with ev_default_destroy.
+ - rename syserr to ev_syserr to avoid name clashes when embedding,
+ do similar changes for event.c.
+
+3.45 Tue Oct 21 21:59:26 CEST 2008
+ - disable inotify usage on linux <2.6.25, as it is broken
+ (reported by Yoann Vandoorselaere).
+ - ev_stat erroneously would try to add inotify watchers
+ even when inotify wasn't available (this should only
+ have a performance impact).
+ - ev_once now passes both timeout and io to the callback if both
+ occur concurrently, instead of giving timeouts precedence.
+ - disable EV_USE_INOTIFY when sys/inotify.h is too old.
+
+3.44 Mon Sep 29 05:18:39 CEST 2008
+ - embed watchers now automatically invoke ev_loop_fork on the
+ embedded loop when the parent loop forks.
+ - new function: ev_now_update (loop).
+ - verify_watcher was not marked static.
+ - improve the "associating..." manpage section.
+ - documentation tweaks here and there.
+
+3.43 Sun Jul 6 05:34:41 CEST 2008
+ - include more include files on windows to get struct _stati64
+ (reported by Chris Hulbert, but doesn't quite fix his issue).
+ - add missing #include <io.h> in ev.c on windows (reported by
+ Matt Tolton).
+
+3.42 Tue Jun 17 12:12:07 CEST 2008
+ - work around yet another windows bug: FD_SET actually adds fd's
+ multiple times to the fd_*SET*, despite official MSN docs claiming
+ otherwise. Reported and well-analysed by Matt Tolton.
+ - define NFDBITS to 0 when EV_SELECT_IS_WINSOCKET to make it compile
+ (reported any analysed by Chris Hulbert).
+ - fix a bug in ev_ebadf (this function is only used to catch
+ programming errors in the libev user). reported by Matt Tolton.
+ - fix a bug in fd_intern on win32 (could lead to compile errors
+ under some circumstances, but would work correctly if it compiles).
+ reported by Matt Tolton.
+ - (try to) work around missing lstat on windows.
+ - pass in the write fd set as except fd set under windows. windows
+ is so uncontrollably lame that it requires this. this means that
+ switching off oobinline is not supported (but tcp/ip doesn't
+ have oob, so that would be stupid anyways.
+ - use posix module symbol to auto-detect monotonic clock presence
+ and some other default values.
+
+3.41 Fri May 23 18:42:54 CEST 2008
+ - work around an obscure bug in winsocket select: if you
+ provide only empty fd sets then select returns WSAEINVAL. how sucky.
+ - improve timer scheduling stability and reduce use of time_epsilon.
+ - use 1-based 2-heap for EV_MINIMAL, simplifies code, reduces
+ codesize and makes for better cache-efficiency.
+ - use 3-based 4-heap for !EV_MINIMAL. this makes better use
+ of cpu cache lines and gives better growth behaviour than
+ 2-based heaps.
+ - cache timestamp within heap for !EV_MINIMAL, to avoid random
+ memory accesses.
+ - document/add EV_USE_4HEAP and EV_HEAP_CACHE_AT.
+ - fix a potential aliasing issue in ev_timer_again.
+ - add/document ev_periodic_at, retract direct access to ->at.
+ - improve ev_stat docs.
+ - add portability requirements section.
+ - fix manpage headers etc.
+ - normalise WSA error codes to lower range on windows.
+ - add consistency check code that can be called automatically
+ or on demand to check for internal structures (ev_loop_verify).
+
+3.31 Wed Apr 16 20:45:04 CEST 2008
+ - added last minute fix for ev_poll.c by Brandon Black.
+
+3.3 Wed Apr 16 19:04:10 CEST 2008
+ - event_base_loopexit should return 0 on success
+ (W.C.A. Wijngaards).
+ - added linux eventfd support.
+ - try to autodetect epoll and inotify support
+ by libc header version if not using autoconf.
+ - new symbols: EV_DEFAULT_UC and EV_DEFAULT_UC_.
+ - declare functions defined in ev.h as inline if
+ C99 or gcc are available.
+ - enable inlining with gcc versions 2 and 3.
+ - work around broken poll implementations potentially
+ not clearing revents field in ev_poll (Brandon Black)
+ (no such systems are known at this time).
+ - work around a bug in realloc on openbsd and darwin,
+ also makes the erroneous valgrind complaints
+ go away (noted by various people).
+ - fix ev_async_pending, add c++ wrapper for ev_async
+ (based on patch sent by Johannes Deisenhofer).
+ - add sensible set method to ev::embed.
+ - made integer constants type int in ev.h.
+
+3.2 Wed Apr 2 17:11:19 CEST 2008
+ - fix a 64 bit overflow issue in the select backend,
+ by using fd_mask instead of int for the mask.
+ - rename internal sighandler to avoid clash with very old perls.
+ - entering ev_loop will not clear the ONESHOT or NONBLOCKING
+ flags of any outer loops anymore.
+ - add ev_async_pending.
+
+3.1 Thu Mar 13 13:45:22 CET 2008
+ - implement ev_async watchers.
+ - only initialise signal pipe on demand.
+ - make use of sig_atomic_t configurable.
+ - improved documentation.
+
+3.0 Mon Jan 28 13:14:47 CET 2008
+ - API/ABI bump to version 3.0.
+ - ev++.h includes "ev.h" by default now, not <ev.h>.
+ - slightly improved documentation.
+ - speed up signal detection after a fork.
+ - only optionally return trace status changed in ev_child
+ watchers.
+ - experimental (and undocumented) loop wrappers for ev++.h.
+
+2.01 Tue Dec 25 08:04:41 CET 2007
+ - separate Changes file.
+ - fix ev_path_set => ev_stat_set typo.
+ - remove event_compat.h from the libev tarball.
+ - change how include files are found.
+ - doc updates.
+ - update licenses, explicitly allow for GPL relicensing.
+
+2.0 Sat Dec 22 17:47:03 CET 2007
+ - new ev_sleep, ev_set_(io|timeout)_collect_interval.
+ - removed epoll from embeddable fd set.
+ - fix embed watchers.
+ - renamed ev_embed.loop to other.
+ - added exported Symbol tables.
+ - undefine member wrapper macros at the end of ev.c.
+ - respect EV_H in ev++.h.
+
+1.86 Tue Dec 18 02:36:57 CET 2007
+ - fix memleak on loop destroy (not relevant for perl).
+
+1.85 Fri Dec 14 20:32:40 CET 2007
+ - fix some aliasing issues w.r.t. timers and periodics
+ (not relevant for perl).
+
+(for historic versions refer to EV/Changes, found in the Perl interface)
+
+0.1 Wed Oct 31 21:31:48 CET 2007
+ - original version; hacked together in <24h.
+
View
12 libev/ev++.h
@@ -286,7 +286,7 @@ namespace ev {
template<class K, void (K::*method)(int)>
static void method_thunk (int revents, void *arg)
{
- static_cast<K *>(arg)->*method
+ (static_cast<K *>(arg)->*method)
(revents);
}
@@ -300,7 +300,7 @@ namespace ev {
template<class K, void (K::*method)()>
static void method_noargs_thunk (int revents, void *arg)
{
- static_cast<K *>(arg)->*method
+ (static_cast<K *>(arg)->*method)
();
}
@@ -513,7 +513,7 @@ namespace ev {
void feed_event (int revents) throw ()
{
- ev_feed_event (EV_A_ static_cast<const ev_watcher *>(this), revents);
+ ev_feed_event (EV_A_ static_cast<ev_watcher *>(this), revents);
}
};
@@ -552,12 +552,12 @@ namespace ev {
return ev_embeddable_backends ();
}
- inline void set_allocator (void *(*cb)(void *ptr, long size)) throw ()
+ inline void set_allocator (void *(*cb)(void *ptr, long size) throw ()) throw ()
{
ev_set_allocator (cb);
}
- inline void set_syserr_cb (void (*cb)(const char *msg)) throw ()
+ inline void set_syserr_cb (void (*cb)(const char *msg) throw ()) throw ()
{
ev_set_syserr_cb (cb);
}
@@ -764,7 +764,7 @@ namespace ev {
#if EV_EMBED_ENABLE
EV_BEGIN_WATCHER (embed, embed)
- void set (struct ev_loop *embedded_loop) throw ()
+ void set_embed (struct ev_loop *embedded_loop) throw ()
{
int active = is_active ();
if (active) stop ();
View
739 libev/ev.c
528 additions, 211 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
166 libev/ev.h
@@ -1,7 +1,7 @@
/*
* libev native API header
*
- * Copyright (c) 2007,2008,2009,2010,2011 Marc Alexander Lehmann <libev@schmorp.de>
+ * Copyright (c) 2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann <libev@schmorp.de>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modifica-
@@ -46,6 +46,8 @@
# define EV_CPP(x)
#endif
+#define EV_THROW EV_CPP(throw())
+
EV_CPP(extern "C" {)
/*****************************************************************************/
@@ -56,7 +58,11 @@ EV_CPP(extern "C" {)
#endif
#ifndef EV_FEATURES
-# define EV_FEATURES 0x7f
+# if defined __OPTIMIZE_SIZE__
+# define EV_FEATURES 0x7c
+# else
+# define EV_FEATURES 0x7f
+# endif
#endif
#define EV_FEATURE_CODE ((EV_FEATURES) & 1)
@@ -199,7 +205,7 @@ struct ev_loop;
/*****************************************************************************/
#define EV_VERSION_MAJOR 4
-#define EV_VERSION_MINOR 4
+#define EV_VERSION_MINOR 11
/* eventmask, revents, events... */
enum {
@@ -327,7 +333,7 @@ typedef struct ev_periodic
ev_tstamp offset; /* rw */
ev_tstamp interval; /* rw */
- ev_tstamp (*reschedule_cb)(struct ev_periodic *w, ev_tstamp now); /* rw */
+ ev_tstamp (*reschedule_cb)(struct ev_periodic *w, ev_tstamp now) EV_THROW; /* rw */
} ev_periodic;
/* invoked when the given signal has been received */
@@ -514,72 +520,74 @@ enum {
};
#if EV_PROTOTYPES
-EV_API_DECL int ev_version_major (void);
-EV_API_DECL int ev_version_minor (void);
+EV_API_DECL int ev_version_major (void) EV_THROW;
+EV_API_DECL int ev_version_minor (void) EV_THROW;
-EV_API_DECL unsigned int ev_supported_backends (void);
-EV_API_DECL unsigned int ev_recommended_backends (void);
-EV_API_DECL unsigned int ev_embeddable_backends (void);
+EV_API_DECL unsigned int ev_supported_backends (void) EV_THROW;
+EV_API_DECL unsigned int ev_recommended_backends (void) EV_THROW;
+EV_API_DECL unsigned int ev_embeddable_backends (void) EV_THROW;
-EV_API_DECL ev_tstamp ev_time (void);
-EV_API_DECL void ev_sleep (ev_tstamp delay); /* sleep for a while */
+EV_API_DECL ev_tstamp ev_time (void) EV_THROW;
+EV_API_DECL void ev_sleep (ev_tstamp delay) EV_THROW; /* sleep for a while */
/* Sets the allocation function to use, works like realloc.
* It is used to allocate and free memory.
* If it returns zero when memory needs to be allocated, the library might abort
* or take some potentially destructive action.
* The default is your system realloc function.
*/
-EV_API_DECL void ev_set_allocator (void *(*cb)(void *ptr, long size));
+EV_API_DECL void ev_set_allocator (void *(*cb)(void *ptr, long size) EV_THROW) EV_THROW;
/* set the callback function to call on a
* retryable syscall error
* (such as failed select, poll, epoll_wait)
*/
-EV_API_DECL void ev_set_syserr_cb (void (*cb)(const char *msg));
+EV_API_DECL void ev_set_syserr_cb (void (*cb)(const char *msg) EV_THROW) EV_THROW;
#if EV_MULTIPLICITY
/* the default loop is the only one that handles signals and child watchers */
/* you can call this as often as you like */
-EV_API_DECL struct ev_loop *ev_default_loop (unsigned int flags EV_CPP (= 0));
+EV_API_DECL struct ev_loop *ev_default_loop (unsigned int flags EV_CPP (= 0)) EV_THROW;
+#ifdef EV_API_STATIC
EV_API_DECL struct ev_loop *ev_default_loop_ptr;
+#endif