# HG changeset patch # User Jordi GutiƩrrez Hermoso # Date 1350056766 14400 # Node ID 3ae8c1ee7365ecf889234eca8301500e794e71c3 # Parent f0dfdc7faa71b09a98977d4e087582918aab1dc3# Parent dcd6fa8d3da2f33ed331251b028269a2729cc699 maint: periodic merge of stable to default diff -r f0dfdc7faa71 -r 3ae8c1ee7365 doc/interpreter/contrib.txi diff -r f0dfdc7faa71 -r 3ae8c1ee7365 etc/HACKING diff -r f0dfdc7faa71 -r 3ae8c1ee7365 etc/README.MacOS diff -r f0dfdc7faa71 -r 3ae8c1ee7365 etc/README.MinGW diff -r f0dfdc7faa71 -r 3ae8c1ee7365 libinterp/interp-core/zfstream.cc --- a/libinterp/interp-core/zfstream.cc Thu Oct 11 09:26:14 2012 +0200 +++ b/libinterp/interp-core/zfstream.cc Fri Oct 12 11:46:06 2012 -0400 @@ -473,6 +473,11 @@ if ((io_mode & std::ios_base::in) && way == std::ios_base::cur) computed_off += this->gptr () - this->egptr (); + // Handle tellg/tellp as a special case up front, no need to seek + // or invalidate get/put buffers + if (off == 0 && way == std::ios_base::cur) + return pos_type (gztell (file) + computed_off); + if (way == std::ios_base::beg) ret = pos_type (gzseek (file, computed_off, SEEK_SET)); else if (way == std::ios_base::cur) diff -r f0dfdc7faa71 -r 3ae8c1ee7365 libinterp/version.in.h diff -r f0dfdc7faa71 -r 3ae8c1ee7365 scripts/help/unimplemented.m diff -r f0dfdc7faa71 -r 3ae8c1ee7365 scripts/miscellaneous/info.m diff -r f0dfdc7faa71 -r 3ae8c1ee7365 scripts/plot/subplot.m