From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Antipov Newsgroups: gmane.emacs.devel Subject: get-live-buffer primitive Date: Thu, 13 Sep 2012 11:52:43 +0400 Message-ID: <505190CB.5010809@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010109050500060806080408" X-Trace: ger.gmane.org 1347522785 7139 80.91.229.3 (13 Sep 2012 07:53:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 13 Sep 2012 07:53:05 +0000 (UTC) Cc: martin rudalics , Stefan Monnier To: Emacs development discussions Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Sep 13 09:53:06 2012 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 1TC4EN-0001ee-3a for ged-emacs-devel@m.gmane.org; Thu, 13 Sep 2012 09:52:59 +0200 Original-Received: from localhost ([::1]:59715 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TC4EJ-0002xe-Hy for ged-emacs-devel@m.gmane.org; Thu, 13 Sep 2012 03:52:55 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:44752) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TC4EG-0002wm-KW for emacs-devel@gnu.org; Thu, 13 Sep 2012 03:52:53 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TC4EA-0000Fr-9p for emacs-devel@gnu.org; Thu, 13 Sep 2012 03:52:52 -0400 Original-Received: from forward5h.mail.yandex.net ([84.201.186.23]:49169) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TC4E9-0000Fk-Ns for emacs-devel@gnu.org; Thu, 13 Sep 2012 03:52:46 -0400 Original-Received: from smtp2h.mail.yandex.net (smtp2h.mail.yandex.net [84.201.187.145]) by forward5h.mail.yandex.net (Yandex) with ESMTP id E22E5D01C9D; Thu, 13 Sep 2012 11:52:43 +0400 (MSK) Original-Received: from smtp2h.mail.yandex.net (localhost [127.0.0.1]) by smtp2h.mail.yandex.net (Yandex) with ESMTP id 9471D1700058; Thu, 13 Sep 2012 11:52:43 +0400 (MSK) Original-Received: from unknown (unknown [37.139.80.10]) by smtp2h.mail.yandex.net (nwsmtp/Yandex) with ESMTP id qgfWxKXs-qhfWivvC; Thu, 13 Sep 2012 11:52:43 +0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1347522763; bh=t9KuABUyhSnfctupwdKQkt4msiXMMXY7id7WklCyCws=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: Content-Type; b=mpQcE1Mh86g4bRzAp0zbaPP72nE2zAE89dFLFYm20mJNvcTQetj1IYzHTkK/mePjQ t92ZX6eqX/s6eEFWsKpYE3//RSJMZMHgvAUahRON5q8sKIB21C5/JwwoUHRN9suuzw HNIW3aNturvOSS5QtqTlOY7lbfZZ3Z42U02Zc1xs= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120907 Thunderbird/15.0.1 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 84.201.186.23 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:153273 Archived-At: This is a multi-part message in MIME format. --------------010109050500060806080408 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit What about such a primitive? We already have live_buffer used in markers code, so we can use this internal thing in Fget_live_buffer and avoid duplicating some things in elisp... Dmitry --------------010109050500060806080408 Content-Type: text/plain; charset=UTF-8; name="get_live_buffer.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="get_live_buffer.patch" PT09IG1vZGlmaWVkIGZpbGUgJ2xpc3Avd2luZG93LmVsJwotLS0gbGlzcC93aW5kb3cuZWwJ MjAxMi0wOS0wOSAwNjo0Mzo0NyArMDAwMAorKysgbGlzcC93aW5kb3cuZWwJMjAxMi0wOS0x MyAwNzozNzowMyArMDAwMApAQCAtMjE5LDE2ICsyMTksOSBAQAogICAiUmV0dXJuIGJ1ZmZl ciBzcGVjaWZpZWQgYnkgQlVGRkVSLU9SLU5BTUUuCiBCVUZGRVItT1ItTkFNRSBtdXN0IGJl IGVpdGhlciBhIGJ1ZmZlciBvciBhIHN0cmluZyBuYW1pbmcgYSBsaXZlCiBidWZmZXIgYW5k IGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IGJ1ZmZlci4iCi0gIChjb25kCi0gICAoKG5vdCBi dWZmZXItb3ItbmFtZSkKLSAgICAoY3VycmVudC1idWZmZXIpKQotICAgKChidWZmZXJwIGJ1 ZmZlci1vci1uYW1lKQotICAgIChpZiAoYnVmZmVyLWxpdmUtcCBidWZmZXItb3ItbmFtZSkK LQlidWZmZXItb3ItbmFtZQotICAgICAgKGVycm9yICJCdWZmZXIgJXMgaXMgbm90IGEgbGl2 ZSBidWZmZXIiIGJ1ZmZlci1vci1uYW1lKSkpCi0gICAoKGdldC1idWZmZXIgYnVmZmVyLW9y LW5hbWUpKQotICAgKHQKLSAgICAoZXJyb3IgIk5vIHN1Y2ggYnVmZmVyICVzIiBidWZmZXIt b3ItbmFtZSkpKSkKKyAgKGxldCAoKGJ1ZmZlciAoZ2V0LWxpdmUtYnVmZmVyIGJ1ZmZlci1v ci1uYW1lKSkpCisgICAgKG9yIGJ1ZmZlciAoZXJyb3IgIk5vIHN1Y2ggbGl2ZSBidWZmZXIg JXMiIGJ1ZmZlci1vci1uYW1lKSkKKyAgICBidWZmZXIpKQogCiAoZGVmdW4gd2luZG93LW5v cm1hbGl6ZS1mcmFtZSAoZnJhbWUpCiAgICJSZXR1cm4gZnJhbWUgc3BlY2lmaWVkIGJ5IEZS QU1FLgoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy9idWZmZXIuYycKLS0tIHNyYy9idWZmZXIu YwkyMDEyLTA5LTExIDA0OjIyOjAzICswMDAwCisrKyBzcmMvYnVmZmVyLmMJMjAxMi0wOS0x MyAwNzo0NzoyMyArMDAwMApAQCAtNDY5LDYgKzQ2OSwzMyBAQAogICByZXR1cm4gRmNkciAo YXNzb2NfaWdub3JlX3RleHRfcHJvcGVydGllcyAoYnVmZmVyX29yX25hbWUsIFZidWZmZXJf YWxpc3QpKTsKIH0KIAorREVGVU4gKCJnZXQtbGl2ZS1idWZmZXIiLCBGZ2V0X2xpdmVfYnVm ZmVyLCBTZ2V0X2xpdmVfYnVmZmVyLCAxLCAxLCAwLAorICAgICAgIGRvYzogLyogUmV0dXJu IGxpdmUgYnVmZmVyIG5hbWVkIEJVRkZFUi1PUi1OQU1FLgorSWYgQlVGRkVSLU9SLU5BTUUg aXMgbmlsLCByZXR1cm4gY3VycmVudCBidWZmZXIsIHdoaWNoIGlzIGFsd2F5cyBsaXZlLgor SWYgQlVGRkVSLU9SLU5BTUUgaXMgYSBzdHJpbmcgYW5kIHRoZXJlIGlzIGEgbGl2ZSBidWZm ZXIgd2l0aCB0aGF0IG5hbWUsCityZXR1cm4gdGhpcyBidWZmZXIuICBJZiB0aGVyZSBpcyBu byBzdWNoIGJ1ZmZlciBvciB0aGUgYnVmZmVyIGlzIGtpbGxlZCwKK3JldHVybiBuaWwuICBJ ZiBCVUZGRVItT1ItTkFNRSBpcyBhIGJ1ZmZlciwgcmV0dXJuIGl0IGFzIGdpdmVuIGlmIGl0 IGlzCitsaXZlLCBhbmQgbmlsIG90aGVyd2lzZS4gICovKQorICAoTGlzcF9PYmplY3QgYnVm ZmVyX29yX25hbWUpCit7CisgIHN0cnVjdCBidWZmZXIgKmI7CisKKyAgaWYgKFNUUklOR1Ag KGJ1ZmZlcl9vcl9uYW1lKSkKKyAgICB7CisgICAgICBidWZmZXJfb3JfbmFtZSA9IEZjZHIg KGFzc29jX2lnbm9yZV90ZXh0X3Byb3BlcnRpZXMKKwkJCSAgICAgKGJ1ZmZlcl9vcl9uYW1l LCBWYnVmZmVyX2FsaXN0KSk7CisgICAgICBpZiAoTklMUCAoYnVmZmVyX29yX25hbWUpKQor CXJldHVybiBRbmlsOworICAgIH0KKyAgYiA9IGxpdmVfYnVmZmVyIChidWZmZXJfb3JfbmFt ZSk7CisgIGlmIChiKQorICAgIHsKKyAgICAgIFhTRVRCVUZGRVIgKGJ1ZmZlcl9vcl9uYW1l LCBiKTsKKyAgICAgIHJldHVybiBidWZmZXJfb3JfbmFtZTsKKyAgICB9CisgIHJldHVybiBR bmlsOworfQorCiBERUZVTiAoImdldC1maWxlLWJ1ZmZlciIsIEZnZXRfZmlsZV9idWZmZXIs IFNnZXRfZmlsZV9idWZmZXIsIDEsIDEsIDAsCiAgICAgICAgZG9jOiAvKiBSZXR1cm4gdGhl IGJ1ZmZlciB2aXNpdGluZyBmaWxlIEZJTEVOQU1FIChhIHN0cmluZykuCiBUaGUgYnVmZmVy J3MgYGJ1ZmZlci1maWxlLW5hbWUnIG11c3QgbWF0Y2ggZXhhY3RseSB0aGUgZXhwYW5zaW9u IG9mIEZJTEVOQU1FLgpAQCAtNjI2MCw2ICs2Mjg3LDcgQEAKICAgZGVmc3ViciAoJlNidWZm ZXJfbGl2ZV9wKTsKICAgZGVmc3ViciAoJlNidWZmZXJfbGlzdCk7CiAgIGRlZnN1YnIgKCZT Z2V0X2J1ZmZlcik7CisgIGRlZnN1YnIgKCZTZ2V0X2xpdmVfYnVmZmVyKTsKICAgZGVmc3Vi ciAoJlNnZXRfZmlsZV9idWZmZXIpOwogICBkZWZzdWJyICgmU2dldF9idWZmZXJfY3JlYXRl KTsKICAgZGVmc3ViciAoJlNtYWtlX2luZGlyZWN0X2J1ZmZlcik7Cgo9PT0gbW9kaWZpZWQg ZmlsZSAnc3JjL2J1ZmZlci5oJwotLS0gc3JjL2J1ZmZlci5oCTIwMTItMDktMTEgMDQ6MjI6 MDMgKzAwMDAKKysrIHNyYy9idWZmZXIuaAkyMDEyLTA5LTEzIDA3OjMwOjIzICswMDAwCkBA IC0xMDI1LDYgKzEwMjUsMzAgQEAKIGV4dGVybiB2b2lkIGZpeF9vdmVybGF5c19iZWZvcmUg KHN0cnVjdCBidWZmZXIgKiwgcHRyZGlmZl90LCBwdHJkaWZmX3QpOwogZXh0ZXJuIHZvaWQg bW1hcF9zZXRfdmFycyAoYm9vbCk7CiAKKy8qIElmIEJVRkZFUiBpcyBuaWwsIHJldHVybiBj dXJyZW50IGJ1ZmZlciBwb2ludGVyLiAgTmV4dCwgY2hlY2sKKyAgIHdoZXRoZXIgQlVGRkVS IGlzIGEgYnVmZmVyIG9iamVjdCBhbmQgcmV0dXJuIGJ1ZmZlciBwb2ludGVyCisgICBjb3Jy ZXNwb25kaW5nIHRvIEJVRkZFUiBpZiBCVUZGRVIgaXMgbGl2ZSwgb3IgTlVMTCBvdGhlcndp c2UuICAqLworCitCVUZGRVJfSU5MSU5FIHN0cnVjdCBidWZmZXIgKgorbGl2ZV9idWZmZXIg KExpc3BfT2JqZWN0IGJ1ZmZlcikKK3sKKyAgc3RydWN0IGJ1ZmZlciAqYjsKKworICBpZiAo TklMUCAoYnVmZmVyKSkKKyAgICB7CisgICAgICBiID0gY3VycmVudF9idWZmZXI7CisgICAg ICBlYXNzZXJ0IChCVUZGRVJfTElWRV9QIChiKSk7CisgICAgfQorICBlbHNlCisgICAgewor ICAgICAgQ0hFQ0tfQlVGRkVSIChidWZmZXIpOworICAgICAgYiA9IFhCVUZGRVIgKGJ1ZmZl cik7CisgICAgICBpZiAoIUJVRkZFUl9MSVZFX1AgKGIpKQorICAgICAgIGIgPSBOVUxMOwor ICAgIH0KKyAgcmV0dXJuIGI7Cit9CisKIC8qIFNldCB0aGUgY3VycmVudCBidWZmZXIgdG8g Qi4KIAogICAgV2UgcHJldmlvdXNseSBzZXQgd2luZG93c19vcl9idWZmZXJzX2NoYW5nZWQg aGVyZSB0byBpbnZhbGlkYXRlCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL21hcmtlci5jJwot LS0gc3JjL21hcmtlci5jCTIwMTItMDktMTEgMDQ6MjI6MDMgKzAwMDAKKysrIHNyYy9tYXJr ZXIuYwkyMDEyLTA5LTEzIDA3OjMwOjAyICswMDAwCkBAIC00NTAsMzAgKzQ1MCw2IEBACiAg ICAgfQogfQogCi0vKiBJZiBCVUZGRVIgaXMgbmlsLCByZXR1cm4gY3VycmVudCBidWZmZXIg cG9pbnRlci4gIE5leHQsIGNoZWNrCi0gICB3aGV0aGVyIEJVRkZFUiBpcyBhIGJ1ZmZlciBv YmplY3QgYW5kIHJldHVybiBidWZmZXIgcG9pbnRlcgotICAgY29ycmVzcG9uZGluZyB0byBC VUZGRVIgaWYgQlVGRkVSIGlzIGxpdmUsIG9yIE5VTEwgb3RoZXJ3aXNlLiAgKi8KLQotc3Rh dGljIGlubGluZSBzdHJ1Y3QgYnVmZmVyICoKLWxpdmVfYnVmZmVyIChMaXNwX09iamVjdCBi dWZmZXIpCi17Ci0gIHN0cnVjdCBidWZmZXIgKmI7Ci0KLSAgaWYgKE5JTFAgKGJ1ZmZlcikp Ci0gICAgewotICAgICAgYiA9IGN1cnJlbnRfYnVmZmVyOwotICAgICAgZWFzc2VydCAoQlVG RkVSX0xJVkVfUCAoYikpOwotICAgIH0KLSAgZWxzZQotICAgIHsKLSAgICAgIENIRUNLX0JV RkZFUiAoYnVmZmVyKTsKLSAgICAgIGIgPSBYQlVGRkVSIChidWZmZXIpOwotICAgICAgaWYg KCFCVUZGRVJfTElWRV9QIChiKSkKLSAgICAgICBiID0gTlVMTDsKLSAgICB9Ci0gIHJldHVy biBiOwotfQotCiAvKiBJbnRlcm5hbCBmdW5jdGlvbiB0byBzZXQgTUFSS0VSIGluIEJVRkZF UiBhdCBQT1NJVElPTi4gIE5vbi16ZXJvCiAgICBSRVNUUklDVEVEIG1lYW5zIGxpbWl0IHRo ZSBQT1NJVElPTiBieSB0aGUgdmlzaWJsZSBwYXJ0IG9mIEJVRkZFUi4gICovCiAKCg== --------------010109050500060806080408--