Permalink
Browse files

Merge branch 'official'

  • Loading branch information...
jjk-jacky committed Mar 2, 2013
2 parents cb0f72d + 8598d5e commit 5151e7b37c5f37a837397f7924b4c54b8fcf73b3
Showing with 322 additions and 289 deletions.
  1. +12 −1 Changes
  2. +0 −3 config.h.in
  3. +0 −6 configure
  4. +0 −4 configure.ac
  5. +1 −1 doc/rxvt.1.man.in
  6. +1 −1 doc/rxvt.7.man.in
  7. +2 −2 doc/rxvtc.1.man.in
  8. +2 −2 doc/rxvtd.1.man.in
  9. +14 −4 libev/Changes
  10. +39 −10 libev/ev.c
  11. +23 −23 libev/ev.h
  12. +39 −97 src/background.C
  13. +19 −22 src/command.C
  14. +1 −1 src/init.C
  15. +4 −10 src/keyboard.C
  16. +2 −2 src/keyboard.h
  17. +11 −9 src/main.C
  18. +10 −0 src/perl/background
  19. +1 −1 src/rsinc.h
  20. +31 −30 src/rxvt.h
  21. +35 −2 src/rxvtimg.C
  22. +1 −0 src/rxvtimg.h
  23. +11 −11 src/rxvtperl.xs
  24. +1 −1 src/rxvttoolkit.C
  25. +1 −1 src/rxvttoolkit.h
  26. +56 −40 src/screen.C
  27. +2 −2 src/version.h
  28. +3 −3 src/xdefaults.C
View
13 Changes
@@ -28,9 +28,20 @@ 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.17 Fri Mar 1 13:46:08 CET 2013
+ - add shade operator in background perl extension.
+ - avoid starting or ending the selection in the middle of wide
+ characters to avoid artifacts (reproted by Tiago Resende).
+ - fix artifacts that may occur if the character in the cursor
+ cell has width > 1 (reported by Tiago Resende).
+ - fix regression that causes artifacts on scrolling if
+ saveLines is 0 and the window is resized (reported by Bert
+ Münnich).
+ - fix build when perl is enabled and pixbuf and transparency
+ are disabled.
+
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.
View
@@ -1,8 +1,5 @@
/* config.h.in. Generated from configure.ac by autoheader. */
-/* Define if you want to have sexy-looking background pixmaps. */
-#undef BG_IMAGE_FROM_FILE
-
/* Define if you want 8 bit control sequences */
#undef EIGHT_BIT_CONTROLS
View
@@ -7760,12 +7760,6 @@ $as_echo "#define XRENDER 1" >>confdefs.h
$as_echo "#define ENABLE_TRANSPARENCY 1" >>confdefs.h
fi
-
- if test x$support_pixbuf = xyes; then
-
-$as_echo "#define BG_IMAGE_FROM_FILE 1" >>confdefs.h
-
- fi
fi
if test x$support_styles = xyes; then
View
@@ -645,10 +645,6 @@ if test x$support_image = xyes && test x$rxvt_have_xrender = xyes; then
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
View
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "@@RXVT_NAME@@ 1"
-.TH @@RXVT_NAME@@ 1 "2012-11-06" "@@RXVT_VERSION@@" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 1 "2013-03-01" "@@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
View
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "@@RXVT_NAME@@ 7"
-.TH @@RXVT_NAME@@ 7 "2012-11-06" "@@RXVT_VERSION@@" "RXVT-UNICODE"
+.TH @@RXVT_NAME@@ 7 "2013-03-01" "@@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
View
@@ -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 "2013-03-01" "@@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
View
@@ -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 "2013-03-01" "@@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
View
@@ -6,13 +6,14 @@ 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
+
+4.15 Fri Mar 1 12:04:50 CET 2013
- destroying a non-default loop would stop the global waitpid
watcher (Denis Bilenko).
- queueing pending watchers of higher priority from a watcher now invokes
@@ -35,10 +36,12 @@ TODO: document portbaility requirements for atomic pointer access
- (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.
+ - work around linux inotify not reporting IN_ATTRIB changes for directories
+ in many cases.
- 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.
+ - choose 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
@@ -47,8 +50,15 @@ TODO: document portbaility requirements for atomic pointer access
- 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
+ simplifies (and hopefully correctifies :) the race checking
on fork, at the cost of one extra fd.
+ - add fat, msdos, jffs2, ramfs, ntfs and btrfs to the list of
+ inotify-supporting filesystems.
+ - move orig_CFLAGS assignment to after AC_INIT, as newer autoconf
+ versions ignore it before
+ (https://bugzilla.redhat.com/show_bug.cgi?id=908096).
+ - add some untested android support.
+ - enum expressions must be of type int (reported by Juan Pablo L).
4.11 Sat Feb 4 19:52:39 CET 2012
- INCOMPATIBLE CHANGE: ev_timer_again now clears the pending status, as
@@ -242,7 +252,7 @@ TODO: document portbaility requirements for atomic pointer access
- 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.
+ - add a glossary to the documentation.
- extend the ev_fork description slightly.
- optimize a jump out of call_pending.
View
@@ -359,6 +359,22 @@
# define EV_HEAP_CACHE_AT EV_FEATURE_DATA
#endif
+#ifdef ANDROID
+/* supposedly, android doesn't typedef fd_mask */
+# undef EV_USE_SELECT
+# define EV_USE_SELECT 0
+/* supposedly, we need to include syscall.h, not sys/syscall.h, so just disable */
+# undef EV_USE_CLOCK_SYSCALL
+# define EV_USE_CLOCK_SYSCALL 0
+#endif
+
+/* aix's poll.h seems to cause lots of trouble */
+#ifdef _AIX
+/* AIX has a completely broken poll.h header */
+# undef EV_USE_POLL
+# define EV_USE_POLL 0
+#endif
+
/* on linux, we can use a (slow) syscall to avoid a dependency on pthread, */
/* which makes programs even slower. might work on other unices, too. */
#if EV_USE_CLOCK_SYSCALL
@@ -375,12 +391,6 @@
/* this block fixes any misconfiguration where we know we run into trouble otherwise */
-#ifdef _AIX
-/* AIX has a completely broken poll.h header */
-# undef EV_USE_POLL
-# define EV_USE_POLL 0
-#endif
-
#ifndef CLOCK_MONOTONIC
# undef EV_USE_MONOTONIC
# define EV_USE_MONOTONIC 0
@@ -507,7 +517,7 @@ struct signalfd_siginfo
#define ECB_H
/* 16 bits major, 16 bits minor */
-#define ECB_VERSION 0x00010002
+#define ECB_VERSION 0x00010003
#ifdef _WIN32
typedef signed char int8_t;
@@ -541,6 +551,15 @@ struct signalfd_siginfo
#endif
#endif
+/* work around x32 idiocy by defining proper macros */
+#if __x86_64 || _M_AMD64
+ #if __ILP32
+ #define ECB_AMD64_X32 1
+ #else
+ #define ECB_AMD64 1
+ #endif
+#endif
+
/* many compilers define _GNUC_ to some versions but then only implement
* what their idiot authors think are the "more important" extensions,
* causing enormous grief in return for some better fake benchmark numbers.
@@ -2231,8 +2250,9 @@ void
ev_feed_signal (int signum) EV_THROW
{
#if EV_MULTIPLICITY
+ EV_P;
ECB_MEMORY_FENCE_ACQUIRE;
- EV_P = signals [signum - 1].loop;
+ EV_A = signals [signum - 1].loop;
if (!EV_A)
return;
@@ -3895,7 +3915,10 @@ static void noinline stat_timer_cb (EV_P_ ev_timer *w_, int revents);
static void noinline
infy_add (EV_P_ ev_stat *w)
{
- w->wd = inotify_add_watch (fs_fd, w->path, IN_ATTRIB | IN_DELETE_SELF | IN_MOVE_SELF | IN_MODIFY | IN_DONT_FOLLOW | IN_MASK_ADD);
+ w->wd = inotify_add_watch (fs_fd, w->path,
+ IN_ATTRIB | IN_DELETE_SELF | IN_MOVE_SELF | IN_MODIFY
+ | IN_CREATE | IN_DELETE | IN_MOVED_FROM | IN_MOVED_TO
+ | IN_DONT_FOLLOW | IN_MASK_ADD);
if (w->wd >= 0)
{
@@ -3909,10 +3932,16 @@ infy_add (EV_P_ ev_stat *w)
w->timer.repeat = w->interval ? w->interval : DEF_STAT_INTERVAL;
else if (!statfs (w->path, &sfs)
&& (sfs.f_type == 0x1373 /* devfs */
+ || sfs.f_type == 0x4006 /* fat */
+ || sfs.f_type == 0x4d44 /* msdos */
|| sfs.f_type == 0xEF53 /* ext2/3 */
+ || sfs.f_type == 0x72b6 /* jffs2 */
+ || sfs.f_type == 0x858458f6 /* ramfs */
+ || sfs.f_type == 0x5346544e /* ntfs */
|| sfs.f_type == 0x3153464a /* jfs */
+ || sfs.f_type == 0x9123683e /* btrfs */
|| sfs.f_type == 0x52654973 /* reiser3 */
- || sfs.f_type == 0x01021994 /* tempfs */
+ || sfs.f_type == 0x01021994 /* tmpfs */
|| sfs.f_type == 0x58465342 /* xfs */))
w->timer.repeat = 0.; /* filesystem is local, kernel new enough */
else
View
@@ -205,33 +205,33 @@ struct ev_loop;
/*****************************************************************************/
#define EV_VERSION_MAJOR 4
-#define EV_VERSION_MINOR 11
+#define EV_VERSION_MINOR 15
/* eventmask, revents, events... */
enum {
- EV_UNDEF = 0xFFFFFFFF, /* guaranteed to be invalid */
- EV_NONE = 0x00, /* no events */
- EV_READ = 0x01, /* ev_io detected read will not block */
- EV_WRITE = 0x02, /* ev_io detected write will not block */
- EV__IOFDSET = 0x80, /* internal use only */
- EV_IO = EV_READ, /* alias for type-detection */
- EV_TIMER = 0x00000100, /* timer timed out */
+ EV_UNDEF = (int)0xFFFFFFFF, /* guaranteed to be invalid */
+ EV_NONE = 0x00, /* no events */
+ EV_READ = 0x01, /* ev_io detected read will not block */
+ EV_WRITE = 0x02, /* ev_io detected write will not block */
+ EV__IOFDSET = 0x80, /* internal use only */
+ EV_IO = EV_READ, /* alias for type-detection */
+ EV_TIMER = 0x00000100, /* timer timed out */
#if EV_COMPAT3
- EV_TIMEOUT = EV_TIMER, /* pre 4.0 API compatibility */
-#endif
- EV_PERIODIC = 0x00000200, /* periodic timer timed out */
- EV_SIGNAL = 0x00000400, /* signal was received */
- EV_CHILD = 0x00000800, /* child/pid had status change */
- EV_STAT = 0x00001000, /* stat data changed */
- EV_IDLE = 0x00002000, /* event loop is idling */
- EV_PREPARE = 0x00004000, /* event loop about to poll */
- EV_CHECK = 0x00008000, /* event loop finished poll */
- EV_EMBED = 0x00010000, /* embedded event loop needs sweep */
- EV_FORK = 0x00020000, /* event loop resumed in child */
- EV_CLEANUP = 0x00040000, /* event loop resumed in child */
- EV_ASYNC = 0x00080000, /* async intra-loop signal */
- EV_CUSTOM = 0x01000000, /* for use by user code */
- EV_ERROR = 0x80000000 /* sent when an error occurs */
+ EV_TIMEOUT = EV_TIMER, /* pre 4.0 API compatibility */
+#endif
+ EV_PERIODIC = 0x00000200, /* periodic timer timed out */
+ EV_SIGNAL = 0x00000400, /* signal was received */
+ EV_CHILD = 0x00000800, /* child/pid had status change */
+ EV_STAT = 0x00001000, /* stat data changed */
+ EV_IDLE = 0x00002000, /* event loop is idling */
+ EV_PREPARE = 0x00004000, /* event loop about to poll */
+ EV_CHECK = 0x00008000, /* event loop finished poll */
+ EV_EMBED = 0x00010000, /* embedded event loop needs sweep */
+ EV_FORK = 0x00020000, /* event loop resumed in child */
+ EV_CLEANUP = 0x00040000, /* event loop resumed in child */
+ EV_ASYNC = 0x00080000, /* async intra-loop signal */
+ EV_CUSTOM = 0x01000000, /* for use by user code */
+ EV_ERROR = (int)0x80000000 /* sent when an error occurs */
};
/* can be used to add custom fields to all watchers, while losing binary compatibility */
Oops, something went wrong.

0 comments on commit 5151e7b

Please sign in to comment.