From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: feature request: view part of file Date: Sat, 19 Jan 2013 02:18:56 -0800 Organization: UCLA Computer Science Department Message-ID: <50FA7310.5070809@cs.ucla.edu> References: <87lijrszn0.fsf@gnu.org> <87y5npeg4p.fsf@gnu.org> <877gnakr1d.fsf@gmail.com> <8738xykq0d.fsf@gmail.com> <83boclr7bu.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030907060700040908060505" X-Trace: ger.gmane.org 1358590757 2038 80.91.229.3 (19 Jan 2013 10:19:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 19 Jan 2013 10:19:17 +0000 (UTC) Cc: sds@gnu.org, Vitalie Spinu , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 19 11:19:35 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TwVWL-00012t-Bg for ged-emacs-devel@m.gmane.org; Sat, 19 Jan 2013 11:19:29 +0100 Original-Received: from localhost ([::1]:46181 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TwVW4-0001sm-AU for ged-emacs-devel@m.gmane.org; Sat, 19 Jan 2013 05:19:12 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:52600) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TwVW1-0001sh-1R for emacs-devel@gnu.org; Sat, 19 Jan 2013 05:19:10 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TwVVz-0000bY-Gc for emacs-devel@gnu.org; Sat, 19 Jan 2013 05:19:08 -0500 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:54983) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TwVVx-0000ar-5X; Sat, 19 Jan 2013 05:19:05 -0500 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 6FA9539E810A; Sat, 19 Jan 2013 02:18:57 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Vr0cwnkgSsmJ; Sat, 19 Jan 2013 02:18:56 -0800 (PST) Original-Received: from [192.168.1.9] (pool-71-189-154-249.lsanca.fios.verizon.net [71.189.154.249]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 8228139E8109; Sat, 19 Jan 2013 02:18:56 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 In-Reply-To: <83boclr7bu.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 131.179.128.62 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:156466 Archived-At: This is a multi-part message in MIME format. --------------030907060700040908060505 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 01/18/2013 10:54 PM, Eli Zaretskii wrote: > It's not a bug, it's a fundamental limitation of how Emacs accesses > buffers. Any valid buffer position _must_ fit into the width of an > Emacs integer. Sure, but Vitalie's not asking for large buffer positions, just for large file offsets. Emac's a bit squirrelly in this area, as it represents large file offsets by using floating point numbers, but if it's going to be squirrelly it should be *consistently* squirrelly, so I installed the attached patch into the trunk as bzr 111554. If 64-bit EMACS_INT were the default Vitalie wouldn't have had this problem. We have a simple fix (change configure so that --with-wide-int is the default, see Bug#8794) but this most likely would slow Emacs a bit. Stefan was skeptical and asked for benchmarks, but maybe I should boost the priority of this. Or, more drastically, maybe we should bite the bullet and add bignums (Bug#8611); it can't be *that* hard. --------------030907060700040908060505 Content-Type: text/plain; charset=UTF-8; name="float-offset.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="float-offset.txt" PT09IG1vZGlmaWVkIGZpbGUgJ2RvYy9saXNwcmVmL0NoYW5nZUxvZycKLS0tIGRvYy9saXNw cmVmL0NoYW5nZUxvZwkyMDEzLTAxLTEwIDAzOjQzOjAyICswMDAwCisrKyBkb2MvbGlzcHJl Zi9DaGFuZ2VMb2cJMjAxMy0wMS0xOSAwOTo1Nzo1OSArMDAwMApAQCAtMSwzICsxLDkgQEAK KzIwMTMtMDEtMTkgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgorCisJQWxs b3cgZmxvYXRpbmctcG9pbnQgZmlsZSBvZmZzZXRzLgorCSogZmlsZXMudGV4aSAoUmVhZGlu ZyBmcm9tIEZpbGVzLCBXcml0aW5nIHRvIEZpbGVzKToKKwlTYXkgdGhhdCBmaWxlIG9mZnNl dHMgY2FuIGJlIG51bWJlcnMsIG5vdCBqdXN0IGludGVnZXJzLgorCiAyMDEzLTAxLTA5ICBH bGVubiBNb3JyaXMgIDxyZ21AZ251Lm9yZz4KIAogCSogY29tbWFuZHMudGV4aSAoSW50ZXJh Y3RpdmUgQ29kZXMpOgoKPT09IG1vZGlmaWVkIGZpbGUgJ2RvYy9saXNwcmVmL2ZpbGVzLnRl eGknCi0tLSBkb2MvbGlzcHJlZi9maWxlcy50ZXhpCTIwMTMtMDEtMDQgMDI6NDI6MDggKzAw MDAKKysrIGRvYy9saXNwcmVmL2ZpbGVzLnRleGkJMjAxMy0wMS0xOSAwOTo1Nzo1OSArMDAw MApAQCAtNTMzLDkgKzUzMyw5IEBACiBmaWxlIG5hbWUgYW5kIGl0cyBsYXN0IHNhdmUgZmls ZSBtb2R0aW1lLiAgVGhpcyBmZWF0dXJlIGlzIHVzZWQgYnkKIEBjb2Rle2ZpbmQtZmlsZS1u b3NlbGVjdH0gYW5kIHlvdSBwcm9iYWJseSBzaG91bGQgbm90IHVzZSBpdCB5b3Vyc2VsZi4K IAotSWYgQHZhcntiZWd9IGFuZCBAdmFye2VuZH0gYXJlIG5vbi1AY29kZXtuaWx9LCB0aGV5 IHNob3VsZCBiZSBpbnRlZ2Vycwotc3BlY2lmeWluZyB0aGUgcG9ydGlvbiBvZiB0aGUgZmls ZSB0byBpbnNlcnQuICBJbiB0aGlzIGNhc2UsIEB2YXJ7dmlzaXR9Ci1tdXN0IGJlIEBjb2Rl e25pbH0uICBGb3IgZXhhbXBsZSwKK0lmIEB2YXJ7YmVnfSBhbmQgQHZhcntlbmR9IGFyZSBu b24tQGNvZGV7bmlsfSwgdGhleSBzaG91bGQgYmUgbnVtYmVycwordGhhdCBhcmUgYnl0ZSBv ZmZzZXRzIHNwZWNpZnlpbmcgdGhlIHBvcnRpb24gb2YgdGhlIGZpbGUgdG8gaW5zZXJ0Lgor SW4gdGhpcyBjYXNlLCBAdmFye3Zpc2l0fSBtdXN0IGJlIEBjb2Rle25pbH0uICBGb3IgZXhh bXBsZSwKIAogQGV4YW1wbGUKIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlbmFtZSBuaWwg MCA1MDApCkBAIC02MDUsOCArNjA1LDggQEAKIHRoaXMgY2FzZS4KIAogSWYgQHZhcnthcHBl bmR9IGlzIG5vbi1AY29kZXtuaWx9LCB0aGVuIHRoZSBzcGVjaWZpZWQgdGV4dCBpcyBhcHBl bmRlZAotdG8gdGhlIGV4aXN0aW5nIGZpbGUgY29udGVudHMgKGlmIGFueSkuICBJZiBAdmFy e2FwcGVuZH0gaXMgYW4KLWludGVnZXIsIEBjb2Rle3dyaXRlLXJlZ2lvbn0gc2Vla3MgdG8g dGhhdCBieXRlIG9mZnNldCBmcm9tIHRoZSBzdGFydAordG8gdGhlIGV4aXN0aW5nIGZpbGUg Y29udGVudHMgKGlmIGFueSkuICBJZiBAdmFye2FwcGVuZH0gaXMgYQorbnVtYmVyLCBAY29k ZXt3cml0ZS1yZWdpb259IHNlZWtzIHRvIHRoYXQgYnl0ZSBvZmZzZXQgZnJvbSB0aGUgc3Rh cnQKIG9mIHRoZSBmaWxlIGFuZCB3cml0ZXMgdGhlIGRhdGEgZnJvbSB0aGVyZS4KIAogSWYg QHZhcnttdXN0YmVuZXd9IGlzIG5vbi1AY29kZXtuaWx9LCB0aGVuIEBjb2Rle3dyaXRlLXJl Z2lvbn0gYXNrcwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy9DaGFuZ2VMb2cnCi0tLSBzcmMv Q2hhbmdlTG9nCTIwMTMtMDEtMTkgMDg6NDk6MTcgKzAwMDAKKysrIHNyYy9DaGFuZ2VMb2cJ MjAxMy0wMS0xOSAwOTo1Nzo1OSArMDAwMApAQCAtMSwzICsxLDEyIEBACisyMDEzLTAxLTE5 ICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBjcy51Y2xhLmVkdT4KKworCUFsbG93IGZsb2F0aW5n LXBvaW50IGZpbGUgb2Zmc2V0cy4KKwlQcm9ibGVtIHJlcG9ydGVkIGJ5IFZpdGFsaWUgU3Bp bnUgaW4KKwk8aHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLWRldmVs LzIwMTMtMDEvbXNnMDA0MTEuaHRtbD4uCisJKiBmaWxlaW8uYyAoZW1hY3NfbHNlZWspOiBS ZW1vdmUuCisJKGZpbGVfb2Zmc2V0KTogTmV3IGZ1bmN0aW9uLgorCShGaW5zZXJ0X2ZpbGVf Y29udGVudHMsIEZ3cml0ZV9yZWdpb24pOiBVc2UgaXQuCisKIDIwMTMtMDEtMTkgIENob25n IFlpZG9uZyAgPGN5ZEBnbnUub3JnPgogCiAJKiBlbWFjcy5jIChGa2lsbF9lbWFjcyk6IFNl dCB3YWl0aW5nX2Zvcl9pbnB1dCB0byAwIHRvIGF2b2lkCgo9PT0gbW9kaWZpZWQgZmlsZSAn c3JjL2ZpbGVpby5jJwotLS0gc3JjL2ZpbGVpby5jCTIwMTMtMDEtMTkgMDQ6NDQ6MzQgKzAw MDAKKysrIHNyYy9maWxlaW8uYwkyMDEzLTAxLTE5IDA5OjU3OjU5ICswMDAwCkBAIC0zNDQz LDE5ICszNDQzLDI1IEBACiAgIHJldHVybiBRbmlsOwogfQogCi0vKiBSZXBvc2l0aW9uIEZE IHRvIE9GRlNFVCwgYmFzZWQgb24gV0hFTkNFLiAgVGhpcyBhY3RzIGxpa2UgbHNlZWsKLSAg IGV4Y2VwdCB0aGF0IGl0IGFsc28gdGVzdHMgZm9yIE9GRlNFVCBiZWluZyBvdXQgb2YgbHNl ZWsncyByYW5nZS4gICovCisvKiBSZXR1cm4gdGhlIGZpbGUgb2Zmc2V0IHRoYXQgVkFMIHJl cHJlc2VudHMsIGNoZWNraW5nIGZvciB0eXBlCisgICBlcnJvcnMgYW5kIG92ZXJmbG93LiAg Ki8KIHN0YXRpYyBvZmZfdAotZW1hY3NfbHNlZWsgKGludCBmZCwgRU1BQ1NfSU5UIG9mZnNl dCwgaW50IHdoZW5jZSkKK2ZpbGVfb2Zmc2V0IChMaXNwX09iamVjdCB2YWwpCiB7Ci0gIC8q IFVzZSAiJiIgcmF0aGVyIHRoYW4gIiYmIiB0byBzdXBwcmVzcyBhIGJvZ3VzIEdDQyB3YXJu aW5nOyBzZWUKLSAgICAgPGh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5j Z2k/aWQ9NDM3NzI+LiAgKi8KLSAgaWYgKCEgKChvZmZzZXQgPj0gVFlQRV9NSU5JTVVNIChv ZmZfdCkpICYgKG9mZnNldCA8PSBUWVBFX01BWElNVU0gKG9mZl90KSkpKQorICBpZiAoUkFO R0VEX0lOVEVHRVJQICgwLCB2YWwsIFRZUEVfTUFYSU1VTSAob2ZmX3QpKSkKKyAgICByZXR1 cm4gWElOVCAodmFsKTsKKworICBpZiAoRkxPQVRQICh2YWwpKQogICAgIHsKLSAgICAgIGVy cm5vID0gRUlOVkFMOwotICAgICAgcmV0dXJuIC0xOworICAgICAgZG91YmxlIHYgPSBYRkxP QVRfREFUQSAodmFsKTsKKyAgICAgIGlmICgwIDw9IHYKKwkgICYmIChzaXplb2YgKG9mZl90 KSA8IHNpemVvZiB2CisJICAgICAgPyB2IDw9IFRZUEVfTUFYSU1VTSAob2ZmX3QpCisJICAg ICAgOiB2IDwgVFlQRV9NQVhJTVVNIChvZmZfdCkpKQorCXJldHVybiB2OwogICAgIH0KLSAg cmV0dXJuIGxzZWVrIChmZCwgb2Zmc2V0LCB3aGVuY2UpOworCisgIHdyb25nX3R5cGVfYXJn dW1lbnQgKGludGVybiAoImZpbGUtb2Zmc2V0IiksIHZhbCk7CiB9CiAKIC8qIFJldHVybiBh IHNwZWNpYWwgdGltZSB2YWx1ZSBpbmRpY2F0aW5nIHRoZSBlcnJvciBudW1iZXIgRVJSTlVN LiAgKi8KQEAgLTM2MDYsMjAgKzM2MTIsMTIgQEAKICAgICB9CiAKICAgaWYgKCFOSUxQIChi ZWcpKQotICAgIHsKLSAgICAgIGlmICghIFJBTkdFRF9JTlRFR0VSUCAoMCwgYmVnLCBUWVBF X01BWElNVU0gKG9mZl90KSkpCi0Jd3JvbmdfdHlwZV9hcmd1bWVudCAoaW50ZXJuICgiZmls ZS1vZmZzZXQiKSwgYmVnKTsKLSAgICAgIGJlZ19vZmZzZXQgPSBYRkFTVElOVCAoYmVnKTsK LSAgICB9CisgICAgYmVnX29mZnNldCA9IGZpbGVfb2Zmc2V0IChiZWcpOwogICBlbHNlCiAg ICAgYmVnX29mZnNldCA9IDA7CiAKICAgaWYgKCFOSUxQIChlbmQpKQotICAgIHsKLSAgICAg IGlmICghIFJBTkdFRF9JTlRFR0VSUCAoMCwgZW5kLCBUWVBFX01BWElNVU0gKG9mZl90KSkp Ci0Jd3JvbmdfdHlwZV9hcmd1bWVudCAoaW50ZXJuICgiZmlsZS1vZmZzZXQiKSwgZW5kKTsK LSAgICAgIGVuZF9vZmZzZXQgPSBYRkFTVElOVCAoZW5kKTsKLSAgICB9CisgICAgZW5kX29m ZnNldCA9IGZpbGVfb2Zmc2V0IChlbmQpOwogICBlbHNlCiAgICAgewogICAgICAgaWYgKG5v dF9yZWd1bGFyKQpAQCAtNDcxNCw3ICs0NzEyLDcgQEAKIGluc3RlYWQgb2YgYW55IGJ1ZmZl ciBjb250ZW50czsgRU5EIGlzIGlnbm9yZWQuCiAKIE9wdGlvbmFsIGZvdXJ0aCBhcmd1bWVu dCBBUFBFTkQgaWYgbm9uLW5pbCBtZWFucwotICBhcHBlbmQgdG8gZXhpc3RpbmcgZmlsZSBj b250ZW50cyAoaWYgYW55KS4gIElmIGl0IGlzIGFuIGludGVnZXIsCisgIGFwcGVuZCB0byBl eGlzdGluZyBmaWxlIGNvbnRlbnRzIChpZiBhbnkpLiAgSWYgaXQgaXMgYSBudW1iZXIsCiAg IHNlZWsgdG8gdGhhdCBvZmZzZXQgaW4gdGhlIGZpbGUgYmVmb3JlIHdyaXRpbmcuCiBPcHRp b25hbCBmaWZ0aCBhcmd1bWVudCBWSVNJVCwgaWYgdCBvciBhIHN0cmluZywgbWVhbnMKICAg c2V0IHRoZSBsYXN0LXNhdmUtZmlsZS1tb2R0aW1lIG9mIGJ1ZmZlciB0byB0aGlzIGZpbGUn cyBtb2R0aW1lCkBAIC00NzQzLDYgKzQ3NDEsNyBAQAogICAoTGlzcF9PYmplY3Qgc3RhcnQs IExpc3BfT2JqZWN0IGVuZCwgTGlzcF9PYmplY3QgZmlsZW5hbWUsIExpc3BfT2JqZWN0IGFw cGVuZCwgTGlzcF9PYmplY3QgdmlzaXQsIExpc3BfT2JqZWN0IGxvY2tuYW1lLCBMaXNwX09i amVjdCBtdXN0YmVuZXcpCiB7CiAgIGludCBkZXNjOworICBvZmZfdCBvZmZzZXQ7CiAgIGJv b2wgb2s7CiAgIGludCBzYXZlX2Vycm5vID0gMDsKICAgY29uc3QgY2hhciAqZm47CkBAIC00 ODY0LDEzICs0ODYzLDE0IEBACiAgIGVuY29kZWRfZmlsZW5hbWUgPSBFTkNPREVfRklMRSAo ZmlsZW5hbWUpOwogCiAgIGZuID0gU1NEQVRBIChlbmNvZGVkX2ZpbGVuYW1lKTsKKyAgb2Zm c2V0ID0gMDsKICAgZGVzYyA9IC0xOwogICBpZiAoIU5JTFAgKGFwcGVuZCkpCi0jaWZkZWYg RE9TX05UCi0gICAgZGVzYyA9IGVtYWNzX29wZW4gKGZuLCBPX1dST05MWSB8IE9fQklOQVJZ LCAwKTsKLSNlbHNlICAvKiBub3QgRE9TX05UICovCi0gICAgZGVzYyA9IGVtYWNzX29wZW4g KGZuLCBPX1dST05MWSwgMCk7Ci0jZW5kaWYgLyogbm90IERPU19OVCAqLworICAgIHsKKyAg ICAgIGlmIChOVU1CRVJQIChhcHBlbmQpKQorCW9mZnNldCA9IGZpbGVfb2Zmc2V0IChhcHBl bmQpOworICAgICAgZGVzYyA9IGVtYWNzX29wZW4gKGZuLCBPX1dST05MWSB8IE9fQklOQVJZ LCAwKTsKKyAgICB9CiAKICAgaWYgKGRlc2MgPCAwICYmIChOSUxQIChhcHBlbmQpIHx8IGVy cm5vID09IEVOT0VOVCkpCiAjaWZkZWYgRE9TX05UCkBAIC00ODk3LDE0ICs0ODk3LDkgQEAK IAogICByZWNvcmRfdW53aW5kX3Byb3RlY3QgKGNsb3NlX2ZpbGVfdW53aW5kLCBtYWtlX251 bWJlciAoZGVzYykpOwogCi0gIGlmICghTklMUCAoYXBwZW5kKSAmJiAhTklMUCAoRmZpbGVf cmVndWxhcl9wIChmaWxlbmFtZSkpKQorICBpZiAoIU5JTFAgKGFwcGVuZCkpCiAgICAgewot ICAgICAgb2ZmX3QgcmV0OwotCi0gICAgICBpZiAoTlVNQkVSUCAoYXBwZW5kKSkKLQlyZXQg PSBlbWFjc19sc2VlayAoZGVzYywgWElOVCAoYXBwZW5kKSwgU0VFS19DVVIpOwotICAgICAg ZWxzZQotCXJldCA9IGxzZWVrIChkZXNjLCAwLCBTRUVLX0VORCk7CisgICAgICBvZmZfdCBy ZXQgPSBsc2VlayAoZGVzYywgb2Zmc2V0LCBOVU1CRVJQIChhcHBlbmQpID8gU0VFS19TRVQg OiBTRUVLX0VORCk7CiAgICAgICBpZiAocmV0IDwgMCkKIAl7CiAjaWZkZWYgQ0xBU0hfREVU RUNUSU9OCgo= --------------030907060700040908060505--