From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 04 07:45:52 2017 Received: (at submit) by debbugs.gnu.org; 4 Jan 2017 12:45:52 +0000 Received: from localhost ([127.0.0.1]:40788 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cOkwx-0001Rf-R8 for submit@debbugs.gnu.org; Wed, 04 Jan 2017 07:45:52 -0500 Received: from eggs.gnu.org ([208.118.235.92]:49635) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cOkww-0001RS-BX for submit@debbugs.gnu.org; Wed, 04 Jan 2017 07:45:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cOkwp-0007Sk-I8 for submit@debbugs.gnu.org; Wed, 04 Jan 2017 07:45:44 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_50, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:52413) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cOkwp-0007Sc-7z for submit@debbugs.gnu.org; Wed, 04 Jan 2017 07:45:43 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cOkwn-0004Zv-KQ for bug-gnu-emacs@gnu.org; Wed, 04 Jan 2017 07:45:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cOkwl-0007S1-Lz for bug-gnu-emacs@gnu.org; Wed, 04 Jan 2017 07:45:41 -0500 Received: from mail-wm0-x232.google.com ([2a00:1450:400c:c09::232]:38644) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cOkwl-0007Rt-88 for bug-gnu-emacs@gnu.org; Wed, 04 Jan 2017 07:45:39 -0500 Received: by mail-wm0-x232.google.com with SMTP id k184so259780636wme.1 for ; Wed, 04 Jan 2017 04:45:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=wP3am9B0XJn67c5l2ptM3WTtUO8uVIfHOkkbz+z8CU0=; b=sD7Rmyzoejhp4aP3a/vEFUgqZ8KYwHGlRKRoycz3zrIVJkSIWF/6NSAsCR+hjjtqxY wRvuvnWF+qw4Tn6ajOcBZfebWZHodurLNA6N2P88UwJ81/ddTuYoSjdIbj03/wozFscM s+BFLY3IpSrGeMoENz4ud7yTmhW+Gxyq1PPrNvszgvpB4uZWRiWhQX29LltGzFjPKxvs ije5CNQTDnRV73oGgby2+LydjAkMlMlN1sYBCPU069wM6er4FYIzvYSMHiF07lemuQf3 BaqQ+rr65uEzW4IgiYDkh/k3Qa2AKMLlmHSQE1LplNqv6mRRT1C7PJCW7P0+HIymgH8U g0Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=wP3am9B0XJn67c5l2ptM3WTtUO8uVIfHOkkbz+z8CU0=; b=Ik2OOBAdqagzthftPF2e5zF+vxlNs/OuQFzTpXPB3JlLlg3PWDwZW2NPuZpoWao30C S8V0UmyET//qjzA0Xpy51tA/L2vomAS+wsI1hucmOpDrn1FLwbFRM6wiO1HTVGeQGsAI lCQKw2yXu6vCwQBcqF6CLsWtQscH9gOCE4VhX6r53t6eZVhWngrV4lFdHf0KD2wWj5oR 2IIkNP8b/o5a2w+jGx5jMSuWTVvxnfRaC/0FmH8Gjtz1WH0KeqKQo/nMEuywga/J/TK4 3QXpzo1VzvMSZgO/peSdJdAomeq1rlm0pCFBaa+k4bKwLZ+P2+m+6VOEdVcFS62KQ4mM 6GIw== X-Gm-Message-State: AIkVDXJO7nAUqNrTCW0yW2LyMuhaA5lF0XIkljLWq2gB8oZCcPG27DU83QieDnNmQ+9rqw== X-Received: by 10.28.134.204 with SMTP id i195mr53804396wmd.77.1483533937658; Wed, 04 Jan 2017 04:45:37 -0800 (PST) Received: from a.muc.corp.google.com ([2a00:79e0:15:4:f94f:825b:ede5:4b3f]) by smtp.gmail.com with ESMTPSA id z9sm45603216wjf.17.2017.01.04.04.45.36 for (version=TLS1_2 cipher=AES128-SHA bits=128/128); Wed, 04 Jan 2017 04:45:36 -0800 (PST) From: Philipp To: bug-gnu-emacs@gnu.org Subject: 26.0.50; Provide function to non-destructively replace buffer contents Date: Wed, 04 Jan 2017 13:45:32 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -3.8 (---) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.8 (---) There are many tools (e.g. auto-formatters) that take buffer contents, reformat them, and write the reformatted output somewhere. However, there is no good way how to apply the modified output to the source buffer. The naive way (erasing and re-inserting the buffer contents) loses point and markers. Therefore there should be a function (e.g. `replace-buffer-contents') that calculates a minimal diff between the old and the new contents and uses editing operations (insert, delete, etc.) to apply the diff. Ideally this would be done without any external tools (e.g. 'diff'). In GNU Emacs 26.0.50.25 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8) of 2017-01-04 built on unknown Repository revision: 44c588a25ce231ce05fb535cd6d7162e91214f45 Windowing system distributor 'The X.Org Foundation', version 11.0.11501000 System Description: Ubuntu 14.04 LTS Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Configured using: 'configure --with-modules --enable-checking --enable-check-lisp-object-type 'CFLAGS=3D-ggdb3 -O0'' Configured features: XPM JPEG TIFF GIF PNG SOUND GSETTINGS NOTIFY GNUTLS FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message subr-x puny seq byte-opt gv bytecomp byte-compile cl-extra help-mode cconv cl-loaddefs pcase cl-lib dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 97764 8542) (symbols 48 20217 1) (miscs 40 331 131) (strings 32 18017 4427) (string-bytes 1 592819) (vectors 16 14087) (vector-slots 8 472891 7102) (floats 8 181 43) (intervals 56 218 0) (buffers 976 12) (heap 1024 36851 1046)) --=20 Google Germany GmbH Erika-Mann-Stra=C3=9Fe 33 80636 M=C3=BCnchen Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Gesch=C3=A4ftsf=C3=BChrer: Matthew Scott Sucherman, Paul Terence Manicle Diese E-Mail ist vertraulich. Wenn Sie nicht der richtige Adressat sind, leiten Sie diese bitte nicht weiter, informieren Sie den Absender und l=C3= =B6schen Sie die E-Mail und alle Anh=C3=A4nge. Vielen Dank. This e-mail is confidential. If you are not the right addressee please do = not forward it, please inform the sender, and please erase this e-mail including any attachments. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 04 08:37:22 2017 Received: (at 25355) by debbugs.gnu.org; 4 Jan 2017 13:37:22 +0000 Received: from localhost ([127.0.0.1]:40812 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cOlkn-0002hh-W0 for submit@debbugs.gnu.org; Wed, 04 Jan 2017 08:37:22 -0500 Received: from mail-it0-f44.google.com ([209.85.214.44]:37280) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cOlkl-0002hJ-FH; Wed, 04 Jan 2017 08:37:20 -0500 Received: by mail-it0-f44.google.com with SMTP id o141so299941164itc.0; Wed, 04 Jan 2017 05:37:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=4KC+C1aTMjP+/Qeldb3Bdw8Pgk2xuxgfzkyASCBSOHA=; b=r4iUImZOKmtYvEJOWJ4op7eddIrafLC01475fuegWuEVC9T2O2+EPxjkafyDo5ZSpi 6NSKL22glviOBHPViZGixdPW+y+T9lNuNYi0Mz8kVS6k7tPpYj3e3wbgmvneamWKLeu9 mGrwYQTskrm+VGXWwwsAuaHF4rlMVno4cK5ctUb7R1gIGYJamg94IJO9AOifY8TrttOp F9zdr4LCOQatatONgv7OEnhOLv12/5rscKsUjXLslEifajPbu60mbnmnaMAskDo+PFkM UWMaszdiwnaz6E6LyFGeOuOzzfZX1DkfIG2LrcVH2dqu2GbNEq/TRFL7arE1EtkyJ6gF HQwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=4KC+C1aTMjP+/Qeldb3Bdw8Pgk2xuxgfzkyASCBSOHA=; b=jGqPfhAn+0R6GMhduJabGxRXCULuhpdXuzlRVVbFKa00MfuSIFeBKLYSS/SwxeyIJj RPJA8oKX3RxnKQ8Z57UqsRbnPJVxm7SNAn10iyAXu/coJ/ttHCzLGKZogMuAxkxt0QVU UyLlwMSAwClkJI0dBxOQiUQa0g4Lh0tQRUYhVNFkrUcaE4M5+MeQ08mgMZBbyc1JStOR 7/vaPNYhN0sjehw5CW3tmMMOvXo8UeNhqQG6dlTOcgGcm2afA91odmAyI1o9NBy19Ia3 lJ88J8cghyTUBZh1lucXdooj5KMyoK1ETsAoyvqU9pukaHaNO8KbUt1HYcovkUzzEv+Z 4+Pw== X-Gm-Message-State: AIkVDXJA/AGYQiQtw5gNwe00O1Z2RGVCOsw05S6Pzdon+896cx4x0Vl6l1u4IlJ1Sdh4Jw== X-Received: by 10.36.83.15 with SMTP id n15mr54646373itb.79.1483537033640; Wed, 04 Jan 2017 05:37:13 -0800 (PST) Received: from zony ([45.2.7.65]) by smtp.googlemail.com with ESMTPSA id g86sm18089848iod.31.2017.01.04.05.37.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 04 Jan 2017 05:37:13 -0800 (PST) From: npostavs@users.sourceforge.net To: Philipp Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents References: Date: Wed, 04 Jan 2017 08:38:15 -0500 In-Reply-To: (Philipp's message of "Wed, 04 Jan 2017 13:45:32 +0100") Message-ID: <87bmvn54jc.fsf@users.sourceforge.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.2 (/) X-Debbugs-Envelope-To: 25355 Cc: 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.2 (/) severity 25355 wishlist quit Philipp writes: > There are many tools (e.g. auto-formatters) that take buffer contents, > reformat them, and write the reformatted output somewhere. However, > there is no good way how to apply the modified output to the source > buffer. The naive way (erasing and re-inserting the buffer contents) > loses point and markers. Therefore there should be a function > (e.g. `replace-buffer-contents') that calculates a minimal diff between > the old and the new contents and uses editing operations (insert, > delete, etc.) to apply the diff. Ideally this would be done without any > external tools (e.g. 'diff'). This is pretty similar (though not identical) to https://debbugs.gnu.org/cgi/bugreport.cgi?bug=18. From debbugs-submit-bounces@debbugs.gnu.org Sun May 07 13:44:45 2017 Received: (at 25355) by debbugs.gnu.org; 7 May 2017 17:44:45 +0000 Received: from localhost ([127.0.0.1]:60602 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7QEf-0003K3-41 for submit@debbugs.gnu.org; Sun, 07 May 2017 13:44:45 -0400 Received: from mail-wr0-f182.google.com ([209.85.128.182]:35386) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7QEd-0003Jq-QT for 25355@debbugs.gnu.org; Sun, 07 May 2017 13:44:44 -0400 Received: by mail-wr0-f182.google.com with SMTP id z52so27898620wrc.2 for <25355@debbugs.gnu.org>; Sun, 07 May 2017 10:44:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=R2+II1Z7uh97UOe3O+rz8hU9BMtmCDqfI+QpliUaUFM=; b=TXiwXwlBxVQZIAI6tHFXkY+f3ZGlcQxHwG3U8pSBhoXyGSTiu0OE/CnDYoLDoJid+e nrCeyezWH5e6JOuovB2R2rXYMOVcPK3QtQRCXxY9Xy+stCstGzjzFsypxdpRirRy4ZKP PMSGktlp2X/TvbBwyRqM5EFUrzSmTvHf2OWJ1/Jkx9jHKKjTT3iaTkzXgG6RgJPx9Ios JXAcP69Va7njcVr4MsCiSBgTZ0OEzICrpPnf18cWZAg1Q0Z6/eicMUKtjTgOLG3B3vJa UII6ucy7/NUJW6PpVRdvpTr+PwrvaADko7Cg5yem21xsLdFo8PCaBFgyI83OJ4VODwPT 1Vlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=R2+II1Z7uh97UOe3O+rz8hU9BMtmCDqfI+QpliUaUFM=; b=OE78/l0vb/O6CW8atRhz+/onNwrY/6vyU11rc32ugOMYJOaXBYpn1v4m3b06mYSDeQ Uq5oF4paExiSGcbgf8lfUHmHuY8UnpnpMQfbdjChjJ/F6OjD+DPqyc9tokh+XG19MOHt 6WoiBsFCBKLzDXpeoM5Fb7dQHKbc3LOM26LnMEGCGTnpAzDKB0AK+VnsWjEe2lRDiFmi HZD1GBDEDMlfClkBNo/Y4JqEOuqbmQ3/lI8y6OIsw7E6yy10AYTA7f20S1LrfLbP8sKh P+SE93bxlXj3q5Dy/FGfPDqYWuVXDxDjw4OFnHVn8mrGBtvpPAHTz9RSEgmzGCFX68AY E3Mw== X-Gm-Message-State: AN3rC/4rZrak4Bs+/chBIfnfhg9T4MbM12tLIaC0ylyU8FXPyv93eO+z E05MNXjRwg4tO3XwhK9qM0k4XEoWjU+3 X-Received: by 10.223.148.35 with SMTP id 32mr29567026wrq.175.1494179077595; Sun, 07 May 2017 10:44:37 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Philipp Stephani Date: Sun, 07 May 2017 17:44:27 +0000 Message-ID: Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents To: 25355@debbugs.gnu.org Content-Type: multipart/alternative; boundary=94eb2c0d21c226d46e054ef2ad98 X-Spam-Score: -2.0 (--) X-Debbugs-Envelope-To: 25355 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.0 (--) --94eb2c0d21c226d46e054ef2ad98 Content-Type: text/plain; charset=UTF-8 Philipp schrieb am Mi., 4. Jan. 2017 um 13:46 Uhr: > > There are many tools (e.g. auto-formatters) that take buffer contents, > reformat them, and write the reformatted output somewhere. However, > there is no good way how to apply the modified output to the source > buffer. The naive way (erasing and re-inserting the buffer contents) > loses point and markers. Therefore there should be a function > (e.g. `replace-buffer-contents') that calculates a minimal diff between > the old and the new contents and uses editing operations (insert, > delete, etc.) to apply the diff. Ideally this would be done without any > external tools (e.g. 'diff'). > > FYI, I've now implemented this based on libmba ( http://www.ioplex.com/~miallen/libmba/). Unless there are concerns importing part of that library into the Emacs source tree, I'll send a patch. --94eb2c0d21c226d46e054ef2ad98 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Philip= p <p.stephani2@gmail.com>= ; schrieb am Mi., 4. Jan. 2017 um 13:46=C2=A0Uhr:

There are many tools (e.g. auto-formatters) that take buffer contents,
reformat them, and write the reformatted output somewhere.=C2=A0 However, there is no good way how to apply the modified output to the source
buffer.=C2=A0 The naive way (erasing and re-inserting the buffer contents)<= br> loses point and markers.=C2=A0 Therefore there should be a function
(e.g. `replace-buffer-contents') that calculates a minimal diff between=
the old and the new contents and uses editing operations (insert,
delete, etc.) to apply the diff.=C2=A0 Ideally this would be done without a= ny
external tools (e.g. 'diff').


FYI, I've now implemented this based o= n libmba (http://www.iop= lex.com/~miallen/libmba/). Unless there are concerns importing part of = that library into the Emacs source tree, I'll send a patch.
=
--94eb2c0d21c226d46e054ef2ad98-- From debbugs-submit-bounces@debbugs.gnu.org Sun May 07 14:06:35 2017 Received: (at 25355) by debbugs.gnu.org; 7 May 2017 18:06:35 +0000 Received: from localhost ([127.0.0.1]:60612 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7QZn-0003pJ-Cm for submit@debbugs.gnu.org; Sun, 07 May 2017 14:06:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60002) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7QZl-0003p1-7i for 25355@debbugs.gnu.org; Sun, 07 May 2017 14:06:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d7QZc-0003rB-PF for 25355@debbugs.gnu.org; Sun, 07 May 2017 14:06:27 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39854) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d7QZc-0003qy-Lf; Sun, 07 May 2017 14:06:24 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4727 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d7QZY-0007uO-Gz; Sun, 07 May 2017 14:06:24 -0400 Date: Sun, 07 May 2017 21:05:50 +0300 Message-Id: <8337cgee4h.fsf@gnu.org> From: Eli Zaretskii To: Philipp Stephani In-reply-to: (message from Philipp Stephani on Sun, 07 May 2017 17:44:27 +0000) Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 25355 Cc: 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Philipp Stephani > Date: Sun, 07 May 2017 17:44:27 +0000 > > FYI, I've now implemented this based on libmba (http://www.ioplex.com/~miallen/libmba/). Unless there are > concerns importing part of that library into the Emacs source tree, I'll send a patch. I'm not sure I understand what you mean by "importing part of that library". Are you going to ask the author to sign legal papers assigning copyright to the FSF? P.S. Doesn't GNU Diff have code to do this? Even dispnew.c has something similar, see scrolling_window. From debbugs-submit-bounces@debbugs.gnu.org Sun May 07 14:21:54 2017 Received: (at 25355) by debbugs.gnu.org; 7 May 2017 18:21:54 +0000 Received: from localhost ([127.0.0.1]:60629 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7Qoc-0004Bi-CJ for submit@debbugs.gnu.org; Sun, 07 May 2017 14:21:54 -0400 Received: from mail-wr0-f178.google.com ([209.85.128.178]:36233) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7QoZ-0004BT-Fp for 25355@debbugs.gnu.org; Sun, 07 May 2017 14:21:52 -0400 Received: by mail-wr0-f178.google.com with SMTP id l50so28187743wrc.3 for <25355@debbugs.gnu.org>; Sun, 07 May 2017 11:21:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=OeNXL4oR8s6nUEjsoHKhh1bJCuMPuqYzOWLUDRbepTc=; b=XHO2iJAo4DXXJP58tHqTiNZMbXzP9j8zLETvXOtRzlh5hDej82eZooXmi9frv/IpIi ZxUOW/4IJcxPqUojDQQCKRiM2BmFVGdtKg7mimBzR5uiTYTl6TMuynR5Vv2iWQjCMkSw +b+j7PX/L8DmL5GqK2gR8X1WKsIRh3reQ/ewL16oN/Pru4G6lVf92hZiGmjt2FJxfY57 Zqw7y6rLJ11SGR3UsNHJ9HVc4Fdz4MrPROGYShDOPq/i9NtH/RvEDNabYUFwXWBzI3WN /MCa5gw1azBXVh8+OBVCO0JYs03DSWzXPKEsHpUUJrt41fKca/2/NVEmzZhW9Ad8VhJB uKJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=OeNXL4oR8s6nUEjsoHKhh1bJCuMPuqYzOWLUDRbepTc=; b=DSvDKTvTeMUp6zHj7CYPeI5QWixosN+wenjKhAWcWiML2zz0woCau5vmZ/59qkt/UR /HwB9q/ruUkTHN+fFroYzlpGXNjrrkvhnVTjUiglP6oPSP5FnTbI717D+nlK6AT0wY30 XWqRgxEVtS3yDfUFeJb5qMimIMIMo+01yGnyjSsjmjSC+EgRarniqQEuzmN2eTI3Rfd+ eK2O3cqOHmNmdUqaJJpwThaTYDw/GAGOBgRVCKxR0TZotBXuBPCqk8W4PSl6kVS1V3Fp CZ2UlXOQ/j2TTenUuVLZRGNIroi7chWq3i0MA1smTUO/YW2FuOsC9ruu4mPvApjlPSsE 2GTw== X-Gm-Message-State: AN3rC/7YwmwFho3e9e00q7153byfGBgo+6hmAoBs/rhbWWukUyO1gJcB zO2IYQcTUia4VclEj7gybhTczwTtLg== X-Received: by 10.223.148.35 with SMTP id 32mr29621914wrq.175.1494181305723; Sun, 07 May 2017 11:21:45 -0700 (PDT) MIME-Version: 1.0 References: <8337cgee4h.fsf@gnu.org> In-Reply-To: <8337cgee4h.fsf@gnu.org> From: Philipp Stephani Date: Sun, 07 May 2017 18:21:35 +0000 Message-ID: Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents To: Eli Zaretskii Content-Type: multipart/alternative; boundary=94eb2c0d21c2f53109054ef331f4 X-Spam-Score: -2.0 (--) X-Debbugs-Envelope-To: 25355 Cc: 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.0 (--) --94eb2c0d21c2f53109054ef331f4 Content-Type: text/plain; charset=UTF-8 Eli Zaretskii schrieb am So., 7. Mai 2017 um 20:06 Uhr: > > From: Philipp Stephani > > Date: Sun, 07 May 2017 17:44:27 +0000 > > > > FYI, I've now implemented this based on libmba ( > http://www.ioplex.com/~miallen/libmba/). Unless there are > > concerns importing part of that library into the Emacs source tree, I'll > send a patch. > > I'm not sure I understand what you mean by "importing part of that > library". Are you going to ask the author to sign legal papers > assigning copyright to the FSF? > I guess we can just use the library as-is? It's MIT-licensed. > > P.S. Doesn't GNU Diff have code to do this? Sure, but it's not a library. libmba was the only library that I've found so far with a usable interface (i.e. that doesn't assume that the input sequences are byte arrays). > Even dispnew.c has > something similar, see scrolling_window. > That doesn't appear to be reusable. --94eb2c0d21c2f53109054ef331f4 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Eli Za= retskii <eliz@gnu.org> schrieb am= So., 7. Mai 2017 um 20:06=C2=A0Uhr:
p.stephani2@gmail.com>
> Date: Sun, 07 May 2017 17:44:27 +0000
>
> FYI, I've now implemented this based on libmba (http:= //www.ioplex.com/~miallen/libmba/). Unless there are
> concerns importing part of that library into the Emacs source tree, I&= #39;ll send a patch.

I'm not sure I understand what you mean by "importing part of that=
library".=C2=A0 Are you going to ask the author to sign legal papers assigning copyright to the FSF?

I guess= we can just use the library as-is? It's MIT-licensed.
=C2=A0=

P.S. Doesn't GNU Diff have code to do this?=C2=A0

=
Sure, but it's not a library. libmba was the only library th= at I've found so far with a usable interface (i.e. that doesn't ass= ume that the input sequences are byte arrays).
=C2=A0
Even dispnew.c has
something similar, see scrolling_window.

That doesn't appear to be reusable.=C2=A0
--94eb2c0d21c2f53109054ef331f4-- From debbugs-submit-bounces@debbugs.gnu.org Sun May 07 14:38:11 2017 Received: (at 25355) by debbugs.gnu.org; 7 May 2017 18:38:11 +0000 Received: from localhost ([127.0.0.1]:60660 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7R4N-0004bX-He for submit@debbugs.gnu.org; Sun, 07 May 2017 14:38:11 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37182) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7R4L-0004bJ-Gc for 25355@debbugs.gnu.org; Sun, 07 May 2017 14:38:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d7R4D-0001nD-8R for 25355@debbugs.gnu.org; Sun, 07 May 2017 14:38:04 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40472) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d7R4D-0001n5-4Y; Sun, 07 May 2017 14:38:01 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4745 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d7R4A-0006IG-7S; Sun, 07 May 2017 14:38:00 -0400 Date: Sun, 07 May 2017 21:37:27 +0300 Message-Id: <83zieocy3c.fsf@gnu.org> From: Eli Zaretskii To: Philipp Stephani In-reply-to: (message from Philipp Stephani on Sun, 07 May 2017 18:21:35 +0000) Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents References: <8337cgee4h.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 25355 Cc: 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Philipp Stephani > Date: Sun, 07 May 2017 18:21:35 +0000 > Cc: 25355@debbugs.gnu.org > > I guess we can just use the library as-is? It's MIT-licensed. What do you mean by "use"? Treat it as an optional library, like we do with image support and GnuTLS? I thought you wanted this feature to be present in every Emacs, not only Emacs linked against that library. > P.S. Doesn't GNU Diff have code to do this? > > Sure, but it's not a library. Why do you need a library, if you want the code to become part of Emacs? The advantage of Diff is that I think the situation with copyright assignment will be much easier there ;-) From debbugs-submit-bounces@debbugs.gnu.org Sun May 07 14:45:25 2017 Received: (at 25355) by debbugs.gnu.org; 7 May 2017 18:45:25 +0000 Received: from localhost ([127.0.0.1]:60664 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7RBN-0004mM-90 for submit@debbugs.gnu.org; Sun, 07 May 2017 14:45:25 -0400 Received: from mail-wm0-f52.google.com ([74.125.82.52]:35593) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7RBL-0004m6-B3 for 25355@debbugs.gnu.org; Sun, 07 May 2017 14:45:23 -0400 Received: by mail-wm0-f52.google.com with SMTP id b84so32841139wmh.0 for <25355@debbugs.gnu.org>; Sun, 07 May 2017 11:45:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Ad8sexzqOZgAG4Ix2xO3+aJo7/mIt6hmAg4GR/sVbcg=; b=jfWiFvdtZAhmR1ttM6iy0JkYyApUQ+blOUF6Xa0RzGa2mC+vNLeuftLR8FfE61Efg3 Gd6+tOAtfDL45VoiCI/9chCconQmx5A7USd5HWIGQHy+oXoPIfMOfHt0EHSG56SwrKyW yF2NRFYyzuv8DQFfAQ1ydDCsJcMktms3guBlQyxI/N8Ydq8uzIM/UTpPL9SE4SE6jwlF gZQsKZwr5jD9RPv6k0wc19dJsTFHLA9S++j/kL9M+9oWg18UJkrrv+Zep5gb7jIKMntq DZsnpPek4jeLg2+G6E6oZDZfMrzOf7ev/MKQEA7XqiB1+mQ25Xa0KYRsLXDJewH0GzG/ S/6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Ad8sexzqOZgAG4Ix2xO3+aJo7/mIt6hmAg4GR/sVbcg=; b=V2lv0embrBbA07b9YB+vTVHR4PV1d433KwuISOwsSN2mStphT32tdYm+2TOxUwSycQ 4jpnbfzJD0318QuMS/dv8vkS+qS4iFo4msHDH4dWWpc2+2259lobh2LigRjPQQcH+V8A VUKNbZzU1l9u4cVDS3dSWz8cJpNOFHOvYiiksOt/eA0Nr+ZDLaAiCjdNN1wXC3t8zNIh kaEp/TpwoVZCTM1844mJNjMSaR82ubC2c5HE53sN8JvTJsFd5VKIe52TZV+I8OptCZaZ 7+OlX73j4Az/B/fCVnr9FoS6j7UtpFIhbd1KkV/irSC1RqhZr9AI7IVy3NZ7DxbALdwy CB2A== X-Gm-Message-State: AODbwcAxNR+LQNlgSLkZBCan32cFE00fCgfl1Hz71pNFfaD/avenrLAq fkr2gTsZKKZRMhtZ7ZdKBdj+UNPVyIyv X-Received: by 10.28.87.70 with SMTP id l67mr10852917wmb.46.1494182717590; Sun, 07 May 2017 11:45:17 -0700 (PDT) MIME-Version: 1.0 References: <8337cgee4h.fsf@gnu.org> <83zieocy3c.fsf@gnu.org> In-Reply-To: <83zieocy3c.fsf@gnu.org> From: Philipp Stephani Date: Sun, 07 May 2017 18:45:07 +0000 Message-ID: Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents To: Eli Zaretskii Content-Type: multipart/alternative; boundary=001a1144323e1ca846054ef38664 X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 25355 Cc: 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) --001a1144323e1ca846054ef38664 Content-Type: text/plain; charset=UTF-8 Eli Zaretskii schrieb am So., 7. Mai 2017 um 20:38 Uhr: > > From: Philipp Stephani > > Date: Sun, 07 May 2017 18:21:35 +0000 > > Cc: 25355@debbugs.gnu.org > > > > I guess we can just use the library as-is? It's MIT-licensed. > > What do you mean by "use"? Treat it as an optional library, like we > do with image support and GnuTLS? I thought you wanted this feature > to be present in every Emacs, not only Emacs linked against that > library. > I just want to link it statically by adding the required source files to the source tree, like we do for e.g. oldXmenu. > > > P.S. Doesn't GNU Diff have code to do this? > > > > Sure, but it's not a library. > > Why do you need a library, if you want the code to become part of > Emacs? > I want something that can be used right now without reimplementing the diff algorithm from scratch. > > The advantage of Diff is that I think the situation with copyright > assignment will be much easier there ;-) > If this requires copyright assignment, then I'll stop immediately and reimplement this as a dynamic module outside of Emacs. Asking for copyright assignment is way too much work for this. --001a1144323e1ca846054ef38664 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Eli Za= retskii <eliz@gnu.org> schrieb am= So., 7. Mai 2017 um 20:38=C2=A0Uhr:
p.stephani2@gmail.com>
> Date: Sun, 07 May 2017 18:21:35 +0000
> Cc: 25355@d= ebbugs.gnu.org
>
> I guess we can just use the library as-is? It's MIT-licensed.

What do you mean by "use"?=C2=A0 Treat it as an optional library,= like we
do with image support and GnuTLS?=C2=A0 I thought you wanted this feature to be present in every Emacs, not only Emacs linked against that
library.

I just want to link it statica= lly by adding the required source files to the source tree, like we do for = e.g. oldXmenu.
=C2=A0

>=C2=A0 P.S. Doesn't GNU Diff have code to do this?
>
> Sure, but it's not a library.

Why do you need a library, if you want the code to become part of
Emacs?

I want something that can be use= d right now without reimplementing the diff algorithm from scratch.
=C2=A0

The advantage of Diff is that I think the situation with copyright
assignment will be much easier there ;-)

If this requires copyright assignment, then I'll stop immediately and= reimplement this as a dynamic module outside of Emacs. Asking for copyrigh= t assignment is way too much work for this.=C2=A0
--001a1144323e1ca846054ef38664-- From debbugs-submit-bounces@debbugs.gnu.org Sun May 07 15:19:41 2017 Received: (at 25355) by debbugs.gnu.org; 7 May 2017 19:19:42 +0000 Received: from localhost ([127.0.0.1]:60746 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7RiX-0000qV-Mz for submit@debbugs.gnu.org; Sun, 07 May 2017 15:19:41 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42050) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7RiW-0000qJ-K4 for 25355@debbugs.gnu.org; Sun, 07 May 2017 15:19:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d7RiM-0005VA-Ef for 25355@debbugs.gnu.org; Sun, 07 May 2017 15:19:35 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40803) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d7RiM-0005V3-Al; Sun, 07 May 2017 15:19:30 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4846 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d7RiL-0004u8-II; Sun, 07 May 2017 15:19:30 -0400 Date: Sun, 07 May 2017 22:19:07 +0300 Message-Id: <83y3u8cw5w.fsf@gnu.org> From: Eli Zaretskii To: Philipp Stephani In-reply-to: (message from Philipp Stephani on Sun, 07 May 2017 18:45:07 +0000) Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents References: <8337cgee4h.fsf@gnu.org> <83zieocy3c.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 25355 Cc: 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Philipp Stephani > Date: Sun, 07 May 2017 18:45:07 +0000 > Cc: 25355@debbugs.gnu.org > > What do you mean by "use"? Treat it as an optional library, like we > do with image support and GnuTLS? I thought you wanted this feature > to be present in every Emacs, not only Emacs linked against that > library. > > I just want to link it statically by adding the required source files to the source tree, like we do for e.g. > oldXmenu. That means we need legal papers, AFAIU. > If this requires copyright assignment, then I'll stop immediately and reimplement this as a dynamic module > outside of Emacs. Maybe I'm missing something, but I don't see how legal paperwork could be avoided in this case. Perhaps ask RMS. From debbugs-submit-bounces@debbugs.gnu.org Sun May 14 15:31:07 2017 Received: (at 25355) by debbugs.gnu.org; 14 May 2017 19:31:08 +0000 Received: from localhost ([127.0.0.1]:45110 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d9zER-0000e5-LR for submit@debbugs.gnu.org; Sun, 14 May 2017 15:31:07 -0400 Received: from mail-wm0-f48.google.com ([74.125.82.48]:36512) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d9zEP-0000cu-MF for 25355@debbugs.gnu.org; Sun, 14 May 2017 15:31:06 -0400 Received: by mail-wm0-f48.google.com with SMTP id u65so60866731wmu.1 for <25355@debbugs.gnu.org>; Sun, 14 May 2017 12:31:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=wvqLRbYzo6H3XFlzmJKWktNtHjkrxcszOJGp88Jp7Pw=; b=mWl126D1Co0pCxCheL2LPctJJvQXQJp1QEFvL7ZS2tim5fqa3qQuFCwzleFkbOuyQr tn8yr/3e2gRXfW/3/2cxlRSvWwEs5m3IqnkYF0LCaEhaGh48aOfb9U40tNagCt4fPnqa HKPYfEcth3uebBqy0pvMflNhXzG58tVLmjndIrrcWXF2hqJZWFz/B485JztbvV3x8OaV DSQT6n1HRqhpXqmKwC8XWtfCzvHV/uDrZw5DcSik/jW8GVyxVBa0p8fa6XIXJXmwMiaA FoAXt9frHpLfjWN5UNwi4pfpT5GGIpp4V2VJAM8ZxUAEtMlBD1kbHViYBsnn4f7szGAO xU2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=wvqLRbYzo6H3XFlzmJKWktNtHjkrxcszOJGp88Jp7Pw=; b=At59n1HMPHUACVDetFQfx+zsIg+7Vk9mkHWt5SHrwrHghCu1hz5gt3PLc4dMebQ4QI WgaPCCVAkr3i+ai89EDl7FJuRc2l0/BKcs8xJPtEzguu5/MIQbX4CdvVGn5cl3ciqA0j 8Ga+arwEyHZ0ZEwCSj3Bphq45nTnTxZw4ovjo08xYWngJcTthUqBJfFEh9MgR9DO0sdl qY5nZuFjjltOgxFvKm+G8KTHIxXjJwyQuORAfWuFaIS3Shk63vQl3Jrljhu/ilYXcb6/ U3z25+qf4rgWISue+MBlJKUvGtTVskJyKu6oktYapW4Oxh2NvMVVujgbMbSIWdy+ZHJ4 /WOA== X-Gm-Message-State: AODbwcC1DN67XZGYmCLBcBFs/bj0FhH0CcTauGxdLq2rr2QgkMJ9mAP7 VU77qv/i7p2qXTwcWjRnVFeqcwAh9g== X-Received: by 10.28.172.69 with SMTP id v66mr1730917wme.46.1494790259909; Sun, 14 May 2017 12:30:59 -0700 (PDT) MIME-Version: 1.0 References: <8337cgee4h.fsf@gnu.org> <83zieocy3c.fsf@gnu.org> <83y3u8cw5w.fsf@gnu.org> In-Reply-To: <83y3u8cw5w.fsf@gnu.org> From: Philipp Stephani Date: Sun, 14 May 2017 19:30:48 +0000 Message-ID: Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents To: Eli Zaretskii Content-Type: multipart/alternative; boundary="001a1141fbd674b0aa054f80faf9" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 25355 Cc: 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) --001a1141fbd674b0aa054f80faf9 Content-Type: text/plain; charset="UTF-8" Eli Zaretskii schrieb am So., 7. Mai 2017 um 21:19 Uhr: > > From: Philipp Stephani > > Date: Sun, 07 May 2017 18:45:07 +0000 > > Cc: 25355@debbugs.gnu.org > > > > What do you mean by "use"? Treat it as an optional library, like we > > do with image support and GnuTLS? I thought you wanted this feature > > to be present in every Emacs, not only Emacs linked against that > > library. > > > > I just want to link it statically by adding the required source files to > the source tree, like we do for e.g. > > oldXmenu. > > That means we need legal papers, AFAIU. > That's quite unfortunate, because it will prevent many useful libraries from being added to Emacs. How did we end up with oldXmenu? It's also MIT-licensed and not FSF-copyrighted. --001a1141fbd674b0aa054f80faf9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Eli Za= retskii <eliz@gnu.org> schrieb am= So., 7. Mai 2017 um 21:19=C2=A0Uhr:
p.stephani2@gmail.com>
> Date: Sun, 07 May 2017 18:45:07 +0000
> Cc: 25355@d= ebbugs.gnu.org
>
>=C2=A0 What do you mean by "use"? Treat it as an optional lib= rary, like we
>=C2=A0 do with image support and GnuTLS? I thought you wanted this feat= ure
>=C2=A0 to be present in every Emacs, not only Emacs linked against that=
>=C2=A0 library.
>
> I just want to link it statically by adding the required source files = to the source tree, like we do for e.g.
> oldXmenu.

That means we need legal papers, AFAIU.

That's quite unfortunate, because it will prevent many useful librarie= s from being added to Emacs.
How did we end up with oldXmenu? It&= #39;s also MIT-licensed and not FSF-copyrighted.=C2=A0
--001a1141fbd674b0aa054f80faf9-- From debbugs-submit-bounces@debbugs.gnu.org Sun May 14 21:47:59 2017 Received: (at 25355) by debbugs.gnu.org; 15 May 2017 01:47:59 +0000 Received: from localhost ([127.0.0.1]:45266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dA579-0004ZQ-KD for submit@debbugs.gnu.org; Sun, 14 May 2017 21:47:59 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49054) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dA578-0004ZC-0R for 25355@debbugs.gnu.org; Sun, 14 May 2017 21:47:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dA571-00034d-T4 for 25355@debbugs.gnu.org; Sun, 14 May 2017 21:47:52 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41529) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dA56z-00034B-Tm; Sun, 14 May 2017 21:47:49 -0400 Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1dA56z-0000nw-7a; Sun, 14 May 2017 21:47:49 -0400 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman To: Philipp Stephani In-reply-to: (message from Philipp Stephani on Sun, 14 May 2017 19:30:48 +0000) Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents References: <8337cgee4h.fsf@gnu.org> <83zieocy3c.fsf@gnu.org> <83y3u8cw5w.fsf@gnu.org> Message-Id: Date: Sun, 14 May 2017 21:47:49 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 25355 Cc: eliz@gnu.org, 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rms@gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > I just want to link it statically by adding the required source files to > > the source tree, like we do for e.g. > > > oldXmenu. > > > > That means we need legal papers, AFAIU. We don't need papers for the source code of a free library that is used outside of Emacs. Originally we made Emacs link with the Xmenu library. When that library became obsolete but we kept using it, we put it into the Emacs release and renamed it to oldXmenu, but we continued to say it was not a part of Emacs, just used with Emacs. We can include other libraries the same way. BTW, please don't use the term "MIT license" or "MIT-licensed". See https://gnu.org/licenses/license-list.html. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. From debbugs-submit-bounces@debbugs.gnu.org Sun May 14 22:49:47 2017 Received: (at 25355) by debbugs.gnu.org; 15 May 2017 02:49:47 +0000 Received: from localhost ([127.0.0.1]:45344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dA64w-00065I-SV for submit@debbugs.gnu.org; Sun, 14 May 2017 22:49:47 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36499) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dA64u-000651-UY for 25355@debbugs.gnu.org; Sun, 14 May 2017 22:49:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dA64k-0003jO-HP for 25355@debbugs.gnu.org; Sun, 14 May 2017 22:49:39 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42061) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dA64k-0003jE-Eo; Sun, 14 May 2017 22:49:34 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3109 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dA64d-0005zt-E8; Sun, 14 May 2017 22:49:27 -0400 Date: Mon, 15 May 2017 05:49:12 +0300 Message-Id: <83inl27s2f.fsf@gnu.org> From: Eli Zaretskii To: rms@gnu.org In-reply-to: (message from Richard Stallman on Sun, 14 May 2017 21:47:49 -0400) Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents References: <8337cgee4h.fsf@gnu.org> <83zieocy3c.fsf@gnu.org> <83y3u8cw5w.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 25355 Cc: p.stephani2@gmail.com, 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Richard Stallman > CC: eliz@gnu.org, 25355@debbugs.gnu.org > Date: Sun, 14 May 2017 21:47:49 -0400 > > We don't need papers for the source code of a free library that is > used outside of Emacs. Could you please clarify what does "used outside of Emacs" mean? The proposal in this case, AFAIU, is to add an external library as part of Emacs sources that are included in the tarball. From debbugs-submit-bounces@debbugs.gnu.org Mon May 15 18:09:16 2017 Received: (at 25355) by debbugs.gnu.org; 15 May 2017 22:09:16 +0000 Received: from localhost ([127.0.0.1]:47066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dAOB2-0001g3-6j for submit@debbugs.gnu.org; Mon, 15 May 2017 18:09:16 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40999) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dAOB0-0001fs-UX for 25355@debbugs.gnu.org; Mon, 15 May 2017 18:09:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dAOAu-0007ta-Ur for 25355@debbugs.gnu.org; Mon, 15 May 2017 18:09:09 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55642) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dAOAt-0007tG-IK; Mon, 15 May 2017 18:09:07 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1dAOAs-0001eq-OY; Mon, 15 May 2017 18:09:06 -0400 From: Glenn Morris To: Philipp Stephani Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents References: <8337cgee4h.fsf@gnu.org> <83zieocy3c.fsf@gnu.org> X-Spook: csim La Familia smugglers Sleet Air borne SEAL Team 6 X-Ran: 2CcAEAd?Q+P]u\B6}B'MwI^(9l=6R)v+ (Philipp Stephani's message of "Sun, 07 May 2017 18:45:07 +0000") Message-ID: <6m1srpu60t.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 25355 Cc: Eli Zaretskii , 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Philipp Stephani wrote: > I just want to link it statically by adding the required source files to > the source tree, like we do for e.g. oldXmenu. Please bear in mind that the negative aspects of this, as summarized at eg https://wiki.gentoo.org/wiki/Why_not_bundle_dependencies IMO oldXmenu is not a useful comparison because: 1) it doesn't exist as a separate entity any more 2) few (to no?) Emacs builds actually use it in practice 3) it's basically historical baggage that should be removed from Emacs (but removing things from Emacs is difficult). From debbugs-submit-bounces@debbugs.gnu.org Mon May 15 21:09:07 2017 Received: (at 25355) by debbugs.gnu.org; 16 May 2017 01:09:07 +0000 Received: from localhost ([127.0.0.1]:47190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dAQz5-0005ik-E4 for submit@debbugs.gnu.org; Mon, 15 May 2017 21:09:07 -0400 Received: from eggs.gnu.org ([208.118.235.92]:43097) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dAQz4-0005iG-7R for 25355@debbugs.gnu.org; Mon, 15 May 2017 21:09:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dAQyy-0003sO-7G for 25355@debbugs.gnu.org; Mon, 15 May 2017 21:09:01 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57322) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dAQyw-0003qX-Pe; Mon, 15 May 2017 21:08:58 -0400 Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1dAQyw-00009F-1u; Mon, 15 May 2017 21:08:58 -0400 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman To: Eli Zaretskii In-reply-to: <83inl27s2f.fsf@gnu.org> (message from Eli Zaretskii on Mon, 15 May 2017 05:49:12 +0300) Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents References: <8337cgee4h.fsf@gnu.org> <83zieocy3c.fsf@gnu.org> <83y3u8cw5w.fsf@gnu.org> <83inl27s2f.fsf@gnu.org> Message-Id: Date: Mon, 15 May 2017 21:08:58 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 25355 Cc: p.stephani2@gmail.com, 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rms@gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > We don't need papers for the source code of a free library that is > > used outside of Emacs. > Could you please clarify what does "used outside of Emacs" mean? I'm making the distinction between a contribution to Emacs and a library that is not specifically for Emacs but which we happen to use in Emacs. Xmenu wasn't written for Emacs. It was released for general use and was used by various programs. Then we made Emacs use it too. Thus, Xmenu was not a contribution to Emacs, not specially for Emacs. Rather, it was a free library that was used outside of Emacs. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 12 17:17:58 2017 Received: (at 25355) by debbugs.gnu.org; 12 Jun 2017 21:17:58 +0000 Received: from localhost ([127.0.0.1]:44102 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dKWij-0001ak-EI for submit@debbugs.gnu.org; Mon, 12 Jun 2017 17:17:58 -0400 Received: from mail-oi0-f46.google.com ([209.85.218.46]:34521) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dKWih-0001aW-3G for 25355@debbugs.gnu.org; Mon, 12 Jun 2017 17:17:56 -0400 Received: by mail-oi0-f46.google.com with SMTP id b6so8156944oia.1 for <25355@debbugs.gnu.org>; Mon, 12 Jun 2017 14:17:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=JFqqwNTU1hKdxCIy0T5UC+BPu3IfImAeJgkpRHVBcIw=; b=EYGbyJfHM1MKgRDHfIBiUfXYx5Vyzcs5yVPxFzb8KxTJEBpUPJ28jxB54df/PmKCXv WLVLfM7lwKMRgre/VcBz9CRL8KYIcOJzku0cRWiiMPlHqII1w3qbs+0wYE8Orl7T7l0f smbr8pLas3I+AOdLC4hzVfmtvH62Q45GIp6RSKzRAPcgBEIjVhiDA8gauLfGMY0dTU6I 5pq71Pmqxa87g6KQFfx1uYBx4KxmSMO7R15qFTmvbEEM5jkiVQRPbsj9YjMirQOVaG1p kyxZUWHI7CqX+nU9jsy0qIHH2K8Sps9oxQt63f92xig9gKjuz9aeQ2X5UNiVY0p0uTwQ VtgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JFqqwNTU1hKdxCIy0T5UC+BPu3IfImAeJgkpRHVBcIw=; b=gcU7Xf5g3M42irJFe1I1FUMI/9oqPGhX/T9wPdRNsS/jfttj4g50pO1rD5tjMCRIIe 2T5ovGup2eTugHLbJdbi3xpqquFli17ubrQAOu/K6/gn/46iKJ+gXha7p4xik+poEvi4 kFxrUYha+MG8IfGVjwM78QusfqtsYce4mxgqM7DcFmNub345O2pgfsQD1qfhwyBE473+ MMKlkyvOEZQ45HqiBEY7agA1ywn78ayjeTQ7ziN2JY+sHBaCmeggQZ/qycxTIkHOKyob +mSUGghnQtolNnw0a6dtxEVaZSSe1T4+fCe23g92rCpdJOxqfU7D3BoQTl+mgReuyMuk L/iw== X-Gm-Message-State: AODbwcCO0hAf1SJtqBdJvUwKmJfDBveFYh9qmegM/THjpDMLZcIeK5yW AT6MDy70I6ZiAoCZ/JwpL1HEODXUew== X-Received: by 10.202.235.12 with SMTP id j12mr11751535oih.2.1497302269535; Mon, 12 Jun 2017 14:17:49 -0700 (PDT) MIME-Version: 1.0 References: <8337cgee4h.fsf@gnu.org> In-Reply-To: From: Philipp Stephani Date: Mon, 12 Jun 2017 21:17:38 +0000 Message-ID: Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents To: Eli Zaretskii Content-Type: multipart/mixed; boundary="001a113cc70ce5cf0a0551c9d9d8" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 25355 Cc: 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) --001a113cc70ce5cf0a0551c9d9d8 Content-Type: multipart/alternative; boundary="001a113cc70ce5cf050551c9d9d6" --001a113cc70ce5cf050551c9d9d6 Content-Type: text/plain; charset="UTF-8" Philipp Stephani schrieb am So., 7. Mai 2017 um 20:21 Uhr: > > >> P.S. Doesn't GNU Diff have code to do this? > > > Sure, but it's not a library. libmba was the only library that I've found > so far with a usable interface (i.e. that doesn't assume that the input > sequences are byte arrays). > > Apparently I didn't look closely enough: Diffutils uses an implementation of the Myers algorithm from Gnulib, which is customizable enough to fit our needs. I've attached a patch that uses Gnulib. --001a113cc70ce5cf050551c9d9d6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Philip= p Stephani <p.stephani2@gmail.c= om> schrieb am So., 7. Mai 2017 um 20:21=C2=A0Uhr:

=

P.S. Doesn't GNU Diff have code to do this?=C2=A0

=
Sure, bu= t it's not a library. libmba was the only library that I've found s= o far with a usable interface (i.e. that doesn't assume that the input = sequences are byte arrays).
=C2=A0

Apparently I didn't look closely enough: Diffutils uses an implementat= ion of the Myers algorithm from Gnulib, which is customizable enough to fit= our needs. I've attached a patch that uses Gnulib.=C2=A0
--001a113cc70ce5cf050551c9d9d6-- --001a113cc70ce5cf0a0551c9d9d8 Content-Type: text/plain; charset="UTF-8"; name="0001-Add-command-to-replace-buffer-contents.txt" Content-Disposition: attachment; filename="0001-Add-command-to-replace-buffer-contents.txt" Content-Transfer-Encoding: base64 Content-ID: <15c9e2aa6dba3f15bf81> X-Attachment-Id: 15c9e2aa6dba3f15bf81 RnJvbSAwOTMzYzQ1YzlhZTlkYjJlN2E2ODZmNzY3NDdlZDAzMzg0OTI0NGJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwIFN0ZXBoYW5pIDxwaHN0QGdvb2dsZS5jb20+CkRh dGU6IFN1biwgNyBNYXkgMjAxNyAyMTowMTo1MyArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBj b21tYW5kIHRvIHJlcGxhY2UgYnVmZmVyIGNvbnRlbnRzCgpBZGQgYSBuZXcgY29tbWFuZCAncmVw bGFjZS1idWZmZXItY29udGVudHMnIHRoYXQgdXNlcyB0aGUgTXllcnMgZGlmZgphbGdvcml0aG0g dG8gbm9uLWRlc3RydWN0aXZlbHkgcmVwbGFjZSB0aGUgYWNjZXNzaWJsZSBwb3J0aW9uIG9mIHRo ZQpjdXJyZW50IGJ1ZmZlci4gIFRoZSBNeWVycyBhbGdvcml0aG0gaXMgaW1wbGVtZW50ZWQgaW4g R251bGliLgoKKiBzcmMvZWRpdGZucy5jIChGcmVwbGFjZV9idWZmZXJfY29udGVudHMpOiBOZXcg Y29tbWFuZC4KKGJ1ZmZlcl9jaGFyc19lcXVhbCk6IE5ldyBoZWxwZXIgZnVuY3Rpb24uCihzeW1z X29mX2VkaXRmbnMpOiBEZWZpbmUgbmV3IGNvbW1hbmQuCgoqIHRlc3Qvc3JjL2VkaXRmbnMtdGVz dHMuZWwgKHJlcGxhY2UtYnVmZmVyLWNvbnRlbnRzLTEpCihyZXBsYWNlLWJ1ZmZlci1jb250ZW50 cy0yKTogTmV3IHVuaXQgdGVzdHMuCi0tLQogZXRjL05FV1MgICAgICAgICAgICAgICAgICB8ICAg NSArCiBsaWIvZGlmZnNlcS5oICAgICAgICAgICAgIHwgNTI1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi9taW5tYXguaCAgICAgICAgICAgICAgfCAg NjAgKysrKysrCiBzcmMvZWRpdGZucy5jICAgICAgICAgICAgIHwgMTc5ICsrKysrKysrKysrKysr KysKIHRlc3Qvc3JjL2VkaXRmbnMtdGVzdHMuZWwgfCAgMzEgKysrCiA1IGZpbGVzIGNoYW5nZWQs IDgwMCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2RpZmZzZXEuaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IGxpYi9taW5tYXguaAoKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRj L05FV1MKaW5kZXggZmVlZDYyYzFjYS4uODM4ZmZiOGRkYyAxMDA2NDQKLS0tIGEvZXRjL05FV1MK KysrIGIvZXRjL05FV1MKQEAgLTQ2Miw2ICs0NjIsMTEgQEAgTmVnYXRpdmUgcHJlZml4IGFyZyBm bGlwcyB0aGUgZGlyZWN0aW9uIG9mIHNlbGVjdGlvbi4gIEFsc28sCiBkZWZ1biBhcmUgc2VsZWN0 ZWQgdW5sZXNzIHRoZXkgYXJlIHNlcGFyYXRlZCBmcm9tIHRoZSBkZWZ1biBieSBhIGJsYW5rCiBs aW5lLgogCisqKiBOZXcgY29tbWFuZCAncmVwbGFjZS1idWZmZXItY29udGVudHMnLiAgVGhpcyBj b21tYW5kIHJlcGxhY2VzIHRoZQorY29udGVudHMgb2YgdGhlYWNjZXNzaWJsZSBwb3J0aW9uIG9m IHRoZSBjdXJyZW50IGJ1ZmZlciB3aXRoIHRoZQorY29udGVudHMgb2YgdGhlIGFjY2Vzc2libGUg cG9ydGlvbiBvZiBhIGRpZmZlcmVudCBidWZmZXIgd2hpbGUga2VlcGluZworcG9pbnQsIG1hcmss IG1hcmtlcnMsIGFuZCB0ZXh0IHByb3BlcnRpZXMgYXMgaW50YWN0IGFzIHBvc3NpYmxlLgorCiAM CiAqIENoYW5nZXMgaW4gU3BlY2lhbGl6ZWQgTW9kZXMgYW5kIFBhY2thZ2VzIGluIEVtYWNzIDI2 LjEKIApkaWZmIC0tZ2l0IGEvbGliL2RpZmZzZXEuaCBiL2xpYi9kaWZmc2VxLmgKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZDdhMzc0MzU3YwotLS0gL2Rldi9udWxsCisr KyBiL2xpYi9kaWZmc2VxLmgKQEAgLTAsMCArMSw1MjUgQEAKKy8qIEFuYWx5emUgZGlmZmVyZW5j ZXMgYmV0d2VlbiB0d28gdmVjdG9ycy4KKworICAgQ29weXJpZ2h0IChDKSAxOTg4LTE5ODksIDE5 OTItMTk5NSwgMjAwMS0yMDA0LCAyMDA2LTIwMTcgRnJlZSBTb2Z0d2FyZQorICAgRm91bmRhdGlv biwgSW5jLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisg ICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisKKy8qIFRoZSBiYXNp YyBpZGVhIGlzIHRvIGNvbnNpZGVyIHR3byB2ZWN0b3JzIGFzIHNpbWlsYXIgaWYsIHdoZW4KKyAg IHRyYW5zZm9ybWluZyB0aGUgZmlyc3QgdmVjdG9yIGludG8gdGhlIHNlY29uZCB2ZWN0b3IgdGhy b3VnaCBhCisgICBzZXF1ZW5jZSBvZiBlZGl0cyAoaW5zZXJ0cyBhbmQgZGVsZXRlcyBvZiBvbmUg ZWxlbWVudCBlYWNoKSwKKyAgIHRoaXMgc2VxdWVuY2UgaXMgc2hvcnQgLSBvciBlcXVpdmFsZW50 bHksIGlmIHRoZSBvcmRlcmVkIGxpc3QKKyAgIG9mIGVsZW1lbnRzIHRoYXQgYXJlIHVudG91Y2hl ZCBieSB0aGVzZSBlZGl0cyBpcyBsb25nLiAgRm9yIGEKKyAgIGdvb2QgaW50cm9kdWN0aW9uIHRv IHRoZSBzdWJqZWN0LCByZWFkIGFib3V0IHRoZSAiTGV2ZW5zaHRlaW4KKyAgIGRpc3RhbmNlIiBp biBXaWtpcGVkaWEuCisKKyAgIFRoZSBiYXNpYyBhbGdvcml0aG0gaXMgZGVzY3JpYmVkIGluOgor ICAgIkFuIE8oTkQpIERpZmZlcmVuY2UgQWxnb3JpdGhtIGFuZCBpdHMgVmFyaWF0aW9ucyIsIEV1 Z2VuZSBXLiBNeWVycywKKyAgIEFsZ29yaXRobWljYSBWb2wuIDEsIDE5ODYsIHBwLiAyNTEtMjY2 LAorICAgPGh0dHA6Ly9keC5kb2kub3JnLzEwLjEwMDcvQkYwMTg0MDQ0Nj4uCisgICBTZWUgZXNw ZWNpYWxseSBzZWN0aW9uIDQuMiwgd2hpY2ggZGVzY3JpYmVzIHRoZSB2YXJpYXRpb24gdXNlZCBi ZWxvdy4KKworICAgVGhlIGJhc2ljIGFsZ29yaXRobSB3YXMgaW5kZXBlbmRlbnRseSBkaXNjb3Zl cmVkIGFzIGRlc2NyaWJlZCBpbjoKKyAgICJBbGdvcml0aG1zIGZvciBBcHByb3hpbWF0ZSBTdHJp bmcgTWF0Y2hpbmciLCBFc2tvIFVra29uZW4sCisgICBJbmZvcm1hdGlvbiBhbmQgQ29udHJvbCBW b2wuIDY0LCAxOTg1LCBwcC4gMTAwLTExOCwKKyAgIDxodHRwOi8vZHguZG9pLm9yZy8xMC4xMDE2 L1MwMDE5LTk5NTgoODUpODAwNDYtMj4uCisKKyAgIFVubGVzcyB0aGUgJ2ZpbmRfbWluaW1hbCcg ZmxhZyBpcyBzZXQsIHRoaXMgY29kZSB1c2VzIHRoZSBUT09fRVhQRU5TSVZFCisgICBoZXVyaXN0 aWMsIGJ5IFBhdWwgRWdnZXJ0LCB0byBsaW1pdCB0aGUgY29zdCB0byBPKE4qKjEuNSBsb2cgTikK KyAgIGF0IHRoZSBwcmljZSBvZiBwcm9kdWNpbmcgc3Vib3B0aW1hbCBvdXRwdXQgZm9yIGxhcmdl IGlucHV0cyB3aXRoCisgICBtYW55IGRpZmZlcmVuY2VzLiAgKi8KKworLyogQmVmb3JlIGluY2x1 ZGluZyB0aGlzIGZpbGUsIHlvdSBuZWVkIHRvIGRlZmluZToKKyAgICAgRUxFTUVOVCAgICAgICAg ICAgICAgICAgVGhlIGVsZW1lbnQgdHlwZSBvZiB0aGUgdmVjdG9ycyBiZWluZyBjb21wYXJlZC4K KyAgICAgRVFVQUwgICAgICAgICAgICAgICAgICAgQSB0d28tYXJndW1lbnQgbWFjcm8gdGhhdCB0 ZXN0cyB0d28gZWxlbWVudHMgZm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVxdWFs aXR5LgorICAgICBPRkZTRVQgICAgICAgICAgICAgICAgICBBIHNpZ25lZCBpbnRlZ2VyIHR5cGUg c3VmZmljaWVudCB0byBob2xkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWZm ZXJlbmNlIGJldHdlZW4gdHdvIGluZGljZXMuICBVc3VhbGx5CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNvbWV0aGluZyBsaWtlIHB0cmRpZmZfdC4KKyAgICAgRVhUUkFfQ09OVEVYVF9G SUVMRFMgICAgRGVjbGFyYXRpb25zIG9mIGZpZWxkcyBmb3IgJ3N0cnVjdCBjb250ZXh0Jy4KKyAg ICAgTk9URV9ERUxFVEUoY3R4dCwgeG9mZikgUmVjb3JkIHRoZSByZW1vdmFsIG9mIHRoZSBvYmpl Y3QgeHZlY1t4b2ZmXS4KKyAgICAgTk9URV9JTlNFUlQoY3R4dCwgeW9mZikgUmVjb3JkIHRoZSBp bnNlcnRpb24gb2YgdGhlIG9iamVjdCB5dmVjW3lvZmZdLgorICAgICBFQVJMWV9BQk9SVChjdHh0 KSAgICAgICAoT3B0aW9uYWwpIEEgYm9vbGVhbiBleHByZXNzaW9uIHRoYXQgdHJpZ2dlcnMgYW4K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFybHkgYWJvcnQgb2YgdGhlIGNvbXB1dGF0 aW9uLgorICAgICBVU0VfSEVVUklTVElDICAgICAgICAgICAoT3B0aW9uYWwpIERlZmluZSBpZiB5 b3Ugd2FudCB0byBzdXBwb3J0IHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXVy aXN0aWMgZm9yIGxhcmdlIHZlY3RvcnMuCisgICBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHVzZSB0 aGlzIGZpbGUgd2l0aCBhYnN0cmFjdCBhcnJheXMuICBJbiB0aGlzIGNhc2UsCisgICB4dmVjIGFu ZCB5dmVjIGFyZSBub3QgcmVwcmVzZW50ZWQgaW4gbWVtb3J5LiAgVGhleSBvbmx5IGV4aXN0IGNv bmNlcHR1YWxseS4KKyAgIEluIHRoaXMgY2FzZSwgdGhlIGxpc3Qgb2YgZGVmaW5lcyBhYm92ZSBp cyBhbWVuZGVkIGFzIGZvbGxvd3M6CisgICAgIEVMRU1FTlQgICAgICAgICAgICAgICAgIFVuZGVm aW5lZC4KKyAgICAgRVFVQUwgICAgICAgICAgICAgICAgICAgVW5kZWZpbmVkLgorICAgICBYVkVD UkVGX1lWRUNSRUZfRVFVQUwoY3R4dCwgeG9mZiwgeW9mZikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQSB0aHJlZS1hcmd1bWVudCBtYWNybzogUmVmZXJlbmNlcyB4dmVjW3hvZmZdIGFu ZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5dmVjW3lvZmZdIGFuZCB0ZXN0cyB0aGVz ZSBlbGVtZW50cyBmb3IgZXF1YWxpdHkuCisgICBCZWZvcmUgaW5jbHVkaW5nIHRoaXMgZmlsZSwg eW91IGFsc28gbmVlZCB0byBpbmNsdWRlOgorICAgICAjaW5jbHVkZSA8bGltaXRzLmg+CisgICAg ICNpbmNsdWRlIDxzdGRib29sLmg+CisgICAgICNpbmNsdWRlICJtaW5tYXguaCIKKyAqLworCisv KiBNYXhpbXVtIHZhbHVlIG9mIHR5cGUgT0ZGU0VULiAgKi8KKyNkZWZpbmUgT0ZGU0VUX01BWCBc CisgICgoKChPRkZTRVQpMSA8PCAoc2l6ZW9mIChPRkZTRVQpICogQ0hBUl9CSVQgLSAyKSkgLSAx KSAqIDIgKyAxKQorCisvKiBEZWZhdWx0IHRvIG5vIGVhcmx5IGFib3J0LiAgKi8KKyNpZm5kZWYg RUFSTFlfQUJPUlQKKyMgZGVmaW5lIEVBUkxZX0FCT1JUKGN0eHQpIGZhbHNlCisjZW5kaWYKKwor LyogVXNlIHRoaXMgdG8gc3VwcHJlc3MgZ2NjJ3MgIi4uLm1heSBiZSB1c2VkIGJlZm9yZSBpbml0 aWFsaXplZCIgd2FybmluZ3MuCisgICBCZXdhcmU6IFRoZSBDb2RlIGFyZ3VtZW50IG11c3Qgbm90 IGNvbnRhaW4gY29tbWFzLiAgKi8KKyNpZm5kZWYgSUZfTElOVAorIyBpZiBkZWZpbmVkIEdDQ19M SU5UIHx8IGRlZmluZWQgbGludAorIyAgZGVmaW5lIElGX0xJTlQoQ29kZSkgQ29kZQorIyBlbHNl CisjICBkZWZpbmUgSUZfTElOVChDb2RlKSAvKiBlbXB0eSAqLworIyBlbmRpZgorI2VuZGlmCisK Ky8qIEFzIGFib3ZlLCBidXQgd2hlbiBDb2RlIG11c3QgY29udGFpbiBvbmUgY29tbWEuICovCisj aWZuZGVmIElGX0xJTlQyCisjIGlmIGRlZmluZWQgR0NDX0xJTlQgfHwgZGVmaW5lZCBsaW50Cisj ICBkZWZpbmUgSUZfTElOVDIoQ29kZTEsIENvZGUyKSBDb2RlMSwgQ29kZTIKKyMgZWxzZQorIyAg ZGVmaW5lIElGX0xJTlQyKENvZGUxLCBDb2RlMikgLyogZW1wdHkgKi8KKyMgZW5kaWYKKyNlbmRp ZgorCisvKgorICogQ29udGV4dCBvZiBjb21wYXJpc29uIG9wZXJhdGlvbi4KKyAqLworc3RydWN0 IGNvbnRleHQKK3sKKyAgI2lmZGVmIEVMRU1FTlQKKyAgLyogVmVjdG9ycyBiZWluZyBjb21wYXJl ZC4gICovCisgIEVMRU1FTlQgY29uc3QgKnh2ZWM7CisgIEVMRU1FTlQgY29uc3QgKnl2ZWM7Cisg ICNlbmRpZgorCisgIC8qIEV4dHJhIGZpZWxkcy4gICovCisgIEVYVFJBX0NPTlRFWFRfRklFTERT CisKKyAgLyogVmVjdG9yLCBpbmRleGVkIGJ5IGRpYWdvbmFsLCBjb250YWluaW5nIDEgKyB0aGUg WCBjb29yZGluYXRlIG9mIHRoZSBwb2ludAorICAgICBmdXJ0aGVzdCBhbG9uZyB0aGUgZ2l2ZW4g ZGlhZ29uYWwgaW4gdGhlIGZvcndhcmQgc2VhcmNoIG9mIHRoZSBlZGl0CisgICAgIG1hdHJpeC4g ICovCisgIE9GRlNFVCAqZmRpYWc7CisKKyAgLyogVmVjdG9yLCBpbmRleGVkIGJ5IGRpYWdvbmFs LCBjb250YWluaW5nIHRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIHBvaW50CisgICAgIGZ1cnRoZXN0 IGFsb25nIHRoZSBnaXZlbiBkaWFnb25hbCBpbiB0aGUgYmFja3dhcmQgc2VhcmNoIG9mIHRoZSBl ZGl0CisgICAgIG1hdHJpeC4gICovCisgIE9GRlNFVCAqYmRpYWc7CisKKyAgI2lmZGVmIFVTRV9I RVVSSVNUSUMKKyAgLyogVGhpcyBjb3JyZXNwb25kcyB0byB0aGUgZGlmZiAtLXNwZWVkLWxhcmdl LWZpbGVzIGZsYWcuICBXaXRoIHRoaXMKKyAgICAgaGV1cmlzdGljLCBmb3IgdmVjdG9ycyB3aXRo IGEgY29uc3RhbnQgc21hbGwgZGVuc2l0eSBvZiBjaGFuZ2VzLAorICAgICB0aGUgYWxnb3JpdGht IGlzIGxpbmVhciBpbiB0aGUgdmVjdG9yIHNpemUuICAqLworICBib29sIGhldXJpc3RpYzsKKyAg I2VuZGlmCisKKyAgLyogRWRpdCBzY3JpcHRzIGxvbmdlciB0aGFuIHRoaXMgYXJlIHRvbyBleHBl bnNpdmUgdG8gY29tcHV0ZS4gICovCisgIE9GRlNFVCB0b29fZXhwZW5zaXZlOworCisgIC8qIFNu YWtlcyBiaWdnZXIgdGhhbiB0aGlzIGFyZSBjb25zaWRlcmVkICJiaWciLiAgKi8KKyAgI2RlZmlu ZSBTTkFLRV9MSU1JVCAyMAorfTsKKworc3RydWN0IHBhcnRpdGlvbgoreworICAvKiBNaWRwb2lu dHMgb2YgdGhpcyBwYXJ0aXRpb24uICAqLworICBPRkZTRVQgeG1pZDsKKyAgT0ZGU0VUIHltaWQ7 CisKKyAgLyogVHJ1ZSBpZiBsb3cgaGFsZiB3aWxsIGJlIGFuYWx5emVkIG1pbmltYWxseS4gICov CisgIGJvb2wgbG9fbWluaW1hbDsKKworICAvKiBMaWtld2lzZSBmb3IgaGlnaCBoYWxmLiAgKi8K KyAgYm9vbCBoaV9taW5pbWFsOworfTsKKworCisvKiBGaW5kIHRoZSBtaWRwb2ludCBvZiB0aGUg c2hvcnRlc3QgZWRpdCBzY3JpcHQgZm9yIGEgc3BlY2lmaWVkIHBvcnRpb24KKyAgIG9mIHRoZSB0 d28gdmVjdG9ycy4KKworICAgU2NhbiBmcm9tIHRoZSBiZWdpbm5pbmdzIG9mIHRoZSB2ZWN0b3Jz LCBhbmQgc2ltdWx0YW5lb3VzbHkgZnJvbSB0aGUgZW5kcywKKyAgIGRvaW5nIGEgYnJlYWR0aC1m aXJzdCBzZWFyY2ggdGhyb3VnaCB0aGUgc3BhY2Ugb2YgZWRpdC1zZXF1ZW5jZS4KKyAgIFdoZW4g dGhlIHR3byBzZWFyY2hlcyBtZWV0LCB3ZSBoYXZlIGZvdW5kIHRoZSBtaWRwb2ludCBvZiB0aGUg c2hvcnRlc3QKKyAgIGVkaXQgc2VxdWVuY2UuCisKKyAgIElmIEZJTkRfTUlOSU1BTCBpcyB0cnVl LCBmaW5kIHRoZSBtaW5pbWFsIGVkaXQgc2NyaXB0IHJlZ2FyZGxlc3Mgb2YKKyAgIGV4cGVuc2Uu ICBPdGhlcndpc2UsIGlmIHRoZSBzZWFyY2ggaXMgdG9vIGV4cGVuc2l2ZSwgdXNlIGhldXJpc3Rp Y3MgdG8KKyAgIHN0b3AgdGhlIHNlYXJjaCBhbmQgcmVwb3J0IGEgc3Vib3B0aW1hbCBhbnN3ZXIu CisKKyAgIFNldCBQQVJULT4oeG1pZCx5bWlkKSB0byB0aGUgbWlkcG9pbnQgKFhNSUQsWU1JRCku ICBUaGUgZGlhZ29uYWwgbnVtYmVyCisgICBYTUlEIC0gWU1JRCBlcXVhbHMgdGhlIG51bWJlciBv ZiBpbnNlcnRlZCBlbGVtZW50cyBtaW51cyB0aGUgbnVtYmVyCisgICBvZiBkZWxldGVkIGVsZW1l bnRzIChjb3VudGluZyBvbmx5IGVsZW1lbnRzIGJlZm9yZSB0aGUgbWlkcG9pbnQpLgorCisgICBT ZXQgUEFSVC0+bG9fbWluaW1hbCB0byB0cnVlIGlmZiB0aGUgbWluaW1hbCBlZGl0IHNjcmlwdCBm b3IgdGhlCisgICBsZWZ0IGhhbGYgb2YgdGhlIHBhcnRpdGlvbiBpcyBrbm93bjsgc2ltaWxhcmx5 IGZvciBQQVJULT5oaV9taW5pbWFsLgorCisgICBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCB0 aGUgZmlyc3QgZWxlbWVudHMgb2YgdGhlIHNwZWNpZmllZCBwb3J0aW9ucworICAgb2YgdGhlIHR3 byB2ZWN0b3JzIGRvIG5vdCBtYXRjaCwgYW5kIGxpa2V3aXNlIHRoYXQgdGhlIGxhc3QgZWxlbWVu dHMgZG8gbm90CisgICBtYXRjaC4gIFRoZSBjYWxsZXIgbXVzdCB0cmltIG1hdGNoaW5nIGVsZW1l bnRzIGZyb20gdGhlIGJlZ2lubmluZyBhbmQgZW5kCisgICBvZiB0aGUgcG9ydGlvbnMgaXQgaXMg Z29pbmcgdG8gc3BlY2lmeS4KKworICAgSWYgd2UgcmV0dXJuIHRoZSAid3JvbmciIHBhcnRpdGlv bnMsIHRoZSB3b3JzdCB0aGlzIGNhbiBkbyBpcyBjYXVzZQorICAgc3Vib3B0aW1hbCBkaWZmIG91 dHB1dC4gIEl0IGNhbm5vdCBjYXVzZSBpbmNvcnJlY3QgZGlmZiBvdXRwdXQuICAqLworCitzdGF0 aWMgdm9pZAorZGlhZyAoT0ZGU0VUIHhvZmYsIE9GRlNFVCB4bGltLCBPRkZTRVQgeW9mZiwgT0ZG U0VUIHlsaW0sIGJvb2wgZmluZF9taW5pbWFsLAorICAgICAgc3RydWN0IHBhcnRpdGlvbiAqcGFy dCwgc3RydWN0IGNvbnRleHQgKmN0eHQpCit7CisgIE9GRlNFVCAqY29uc3QgZmQgPSBjdHh0LT5m ZGlhZzsgICAgICAgLyogR2l2ZSB0aGUgY29tcGlsZXIgYSBjaGFuY2UuICovCisgIE9GRlNFVCAq Y29uc3QgYmQgPSBjdHh0LT5iZGlhZzsgICAgICAgLyogQWRkaXRpb25hbCBoZWxwIGZvciB0aGUg Y29tcGlsZXIuICovCisjaWZkZWYgRUxFTUVOVAorICBFTEVNRU5UIGNvbnN0ICpjb25zdCB4diA9 IGN0eHQtPnh2ZWM7IC8qIFN0aWxsIG1vcmUgaGVscCBmb3IgdGhlIGNvbXBpbGVyLiAqLworICBF TEVNRU5UIGNvbnN0ICpjb25zdCB5diA9IGN0eHQtPnl2ZWM7IC8qIEFuZCBtb3JlIGFuZCBtb3Jl IC4gLiAuICovCisgICNkZWZpbmUgWFJFRl9ZUkVGX0VRVUFMKHgseSkgIEVRVUFMICh4dlt4XSwg eXZbeV0pCisjZWxzZQorICAjZGVmaW5lIFhSRUZfWVJFRl9FUVVBTCh4LHkpICBYVkVDUkVGX1lW RUNSRUZfRVFVQUwgKGN0eHQsIHgsIHkpCisjZW5kaWYKKyAgY29uc3QgT0ZGU0VUIGRtaW4gPSB4 b2ZmIC0geWxpbTsgICAgICAvKiBNaW5pbXVtIHZhbGlkIGRpYWdvbmFsLiAqLworICBjb25zdCBP RkZTRVQgZG1heCA9IHhsaW0gLSB5b2ZmOyAgICAgIC8qIE1heGltdW0gdmFsaWQgZGlhZ29uYWwu ICovCisgIGNvbnN0IE9GRlNFVCBmbWlkID0geG9mZiAtIHlvZmY7ICAgICAgLyogQ2VudGVyIGRp YWdvbmFsIG9mIHRvcC1kb3duIHNlYXJjaC4gKi8KKyAgY29uc3QgT0ZGU0VUIGJtaWQgPSB4bGlt IC0geWxpbTsgICAgICAvKiBDZW50ZXIgZGlhZ29uYWwgb2YgYm90dG9tLXVwIHNlYXJjaC4gKi8K KyAgT0ZGU0VUIGZtaW4gPSBmbWlkOworICBPRkZTRVQgZm1heCA9IGZtaWQ7ICAgICAgICAgICAv KiBMaW1pdHMgb2YgdG9wLWRvd24gc2VhcmNoLiAqLworICBPRkZTRVQgYm1pbiA9IGJtaWQ7Cisg IE9GRlNFVCBibWF4ID0gYm1pZDsgICAgICAgICAgIC8qIExpbWl0cyBvZiBib3R0b20tdXAgc2Vh cmNoLiAqLworICBPRkZTRVQgYzsgICAgICAgICAgICAgICAgICAgICAvKiBDb3N0LiAqLworICBi b29sIG9kZCA9IChmbWlkIC0gYm1pZCkgJiAxOyAvKiBUcnVlIGlmIHNvdXRoZWFzdCBjb3JuZXIg aXMgb24gYW4gb2RkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdvbmFs IHdpdGggcmVzcGVjdCB0byB0aGUgbm9ydGh3ZXN0LiAqLworCisgIGZkW2ZtaWRdID0geG9mZjsK KyAgYmRbYm1pZF0gPSB4bGltOworCisgIGZvciAoYyA9IDE7OyArK2MpCisgICAgeworICAgICAg T0ZGU0VUIGQ7ICAgICAgICAgICAgICAgICAvKiBBY3RpdmUgZGlhZ29uYWwuICovCisgICAgICBi b29sIGJpZ19zbmFrZSA9IGZhbHNlOworCisgICAgICAvKiBFeHRlbmQgdGhlIHRvcC1kb3duIHNl YXJjaCBieSBhbiBlZGl0IHN0ZXAgaW4gZWFjaCBkaWFnb25hbC4gKi8KKyAgICAgIGlmIChmbWlu ID4gZG1pbikKKyAgICAgICAgZmRbLS1mbWluIC0gMV0gPSAtMTsKKyAgICAgIGVsc2UKKyAgICAg ICAgKytmbWluOworICAgICAgaWYgKGZtYXggPCBkbWF4KQorICAgICAgICBmZFsrK2ZtYXggKyAx XSA9IC0xOworICAgICAgZWxzZQorICAgICAgICAtLWZtYXg7CisgICAgICBmb3IgKGQgPSBmbWF4 OyBkID49IGZtaW47IGQgLT0gMikKKyAgICAgICAgeworICAgICAgICAgIE9GRlNFVCB4OworICAg ICAgICAgIE9GRlNFVCB5OworICAgICAgICAgIE9GRlNFVCB0bG8gPSBmZFtkIC0gMV07CisgICAg ICAgICAgT0ZGU0VUIHRoaSA9IGZkW2QgKyAxXTsKKyAgICAgICAgICBPRkZTRVQgeDAgPSB0bG8g PCB0aGkgPyB0aGkgOiB0bG8gKyAxOworCisgICAgICAgICAgZm9yICh4ID0geDAsIHkgPSB4MCAt IGQ7CisgICAgICAgICAgICAgICB4IDwgeGxpbSAmJiB5IDwgeWxpbSAmJiBYUkVGX1lSRUZfRVFV QUwgKHgsIHkpOworICAgICAgICAgICAgICAgeCsrLCB5KyspCisgICAgICAgICAgICBjb250aW51 ZTsKKyAgICAgICAgICBpZiAoeCAtIHgwID4gU05BS0VfTElNSVQpCisgICAgICAgICAgICBiaWdf c25ha2UgPSB0cnVlOworICAgICAgICAgIGZkW2RdID0geDsKKyAgICAgICAgICBpZiAob2RkICYm IGJtaW4gPD0gZCAmJiBkIDw9IGJtYXggJiYgYmRbZF0gPD0geCkKKyAgICAgICAgICAgIHsKKyAg ICAgICAgICAgICAgcGFydC0+eG1pZCA9IHg7CisgICAgICAgICAgICAgIHBhcnQtPnltaWQgPSB5 OworICAgICAgICAgICAgICBwYXJ0LT5sb19taW5pbWFsID0gcGFydC0+aGlfbWluaW1hbCA9IHRy dWU7CisgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisg ICAgICAvKiBTaW1pbGFybHkgZXh0ZW5kIHRoZSBib3R0b20tdXAgc2VhcmNoLiAgKi8KKyAgICAg IGlmIChibWluID4gZG1pbikKKyAgICAgICAgYmRbLS1ibWluIC0gMV0gPSBPRkZTRVRfTUFYOwor ICAgICAgZWxzZQorICAgICAgICArK2JtaW47CisgICAgICBpZiAoYm1heCA8IGRtYXgpCisgICAg ICAgIGJkWysrYm1heCArIDFdID0gT0ZGU0VUX01BWDsKKyAgICAgIGVsc2UKKyAgICAgICAgLS1i bWF4OworICAgICAgZm9yIChkID0gYm1heDsgZCA+PSBibWluOyBkIC09IDIpCisgICAgICAgIHsK KyAgICAgICAgICBPRkZTRVQgeDsKKyAgICAgICAgICBPRkZTRVQgeTsKKyAgICAgICAgICBPRkZT RVQgdGxvID0gYmRbZCAtIDFdOworICAgICAgICAgIE9GRlNFVCB0aGkgPSBiZFtkICsgMV07Cisg ICAgICAgICAgT0ZGU0VUIHgwID0gdGxvIDwgdGhpID8gdGxvIDogdGhpIC0gMTsKKworICAgICAg ICAgIGZvciAoeCA9IHgwLCB5ID0geDAgLSBkOworICAgICAgICAgICAgICAgeG9mZiA8IHggJiYg eW9mZiA8IHkgJiYgWFJFRl9ZUkVGX0VRVUFMICh4IC0gMSwgeSAtIDEpOworICAgICAgICAgICAg ICAgeC0tLCB5LS0pCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICBpZiAoeDAgLSB4 ID4gU05BS0VfTElNSVQpCisgICAgICAgICAgICBiaWdfc25ha2UgPSB0cnVlOworICAgICAgICAg IGJkW2RdID0geDsKKyAgICAgICAgICBpZiAoIW9kZCAmJiBmbWluIDw9IGQgJiYgZCA8PSBmbWF4 ICYmIHggPD0gZmRbZF0pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIHBhcnQtPnhtaWQg PSB4OworICAgICAgICAgICAgICBwYXJ0LT55bWlkID0geTsKKyAgICAgICAgICAgICAgcGFydC0+ bG9fbWluaW1hbCA9IHBhcnQtPmhpX21pbmltYWwgPSB0cnVlOworICAgICAgICAgICAgICByZXR1 cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgaWYgKGZpbmRfbWluaW1hbCkK KyAgICAgICAgY29udGludWU7CisKKyNpZmRlZiBVU0VfSEVVUklTVElDCisgICAgICAvKiBIZXVy aXN0aWM6IGNoZWNrIG9jY2FzaW9uYWxseSBmb3IgYSBkaWFnb25hbCB0aGF0IGhhcyBtYWRlIGxv dHMKKyAgICAgICAgIG9mIHByb2dyZXNzIGNvbXBhcmVkIHdpdGggdGhlIGVkaXQgZGlzdGFuY2Uu ICBJZiB3ZSBoYXZlIGFueQorICAgICAgICAgc3VjaCwgZmluZCB0aGUgb25lIHRoYXQgaGFzIG1h ZGUgdGhlIG1vc3QgcHJvZ3Jlc3MgYW5kIHJldHVybiBpdAorICAgICAgICAgYXMgaWYgaXQgaGFk IHN1Y2NlZWRlZC4KKworICAgICAgICAgV2l0aCB0aGlzIGhldXJpc3RpYywgZm9yIHZlY3RvcnMg d2l0aCBhIGNvbnN0YW50IHNtYWxsIGRlbnNpdHkKKyAgICAgICAgIG9mIGNoYW5nZXMsIHRoZSBh bGdvcml0aG0gaXMgbGluZWFyIGluIHRoZSB2ZWN0b3Igc2l6ZS4gICovCisKKyAgICAgIGlmICgy MDAgPCBjICYmIGJpZ19zbmFrZSAmJiBjdHh0LT5oZXVyaXN0aWMpCisgICAgICAgIHsKKyAgICAg ICAgICB7CisgICAgICAgICAgICBPRkZTRVQgYmVzdCA9IDA7CisKKyAgICAgICAgICAgIGZvciAo ZCA9IGZtYXg7IGQgPj0gZm1pbjsgZCAtPSAyKQorICAgICAgICAgICAgICB7CisgICAgICAgICAg ICAgICAgT0ZGU0VUIGRkID0gZCAtIGZtaWQ7CisgICAgICAgICAgICAgICAgT0ZGU0VUIHggPSBm ZFtkXTsKKyAgICAgICAgICAgICAgICBPRkZTRVQgeSA9IHggLSBkOworICAgICAgICAgICAgICAg IE9GRlNFVCB2ID0gKHggLSB4b2ZmKSAqIDIgLSBkZDsKKworICAgICAgICAgICAgICAgIGlmICh2 ID4gMTIgKiAoYyArIChkZCA8IDAgPyAtZGQgOiBkZCkpKQorICAgICAgICAgICAgICAgICAgewor ICAgICAgICAgICAgICAgICAgICBpZiAodiA+IGJlc3QKKyAgICAgICAgICAgICAgICAgICAgICAg ICYmIHhvZmYgKyBTTkFLRV9MSU1JVCA8PSB4ICYmIHggPCB4bGltCisgICAgICAgICAgICAgICAg ICAgICAgICAmJiB5b2ZmICsgU05BS0VfTElNSVQgPD0geSAmJiB5IDwgeWxpbSkKKyAgICAgICAg ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAvKiBXZSBoYXZlIGEgZ29v ZCBlbm91Z2ggYmVzdCBkaWFnb25hbDsgbm93IGluc2lzdAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgdGhhdCBpdCBlbmQgd2l0aCBhIHNpZ25pZmljYW50IHNuYWtlLiAgKi8KKyAgICAgICAg ICAgICAgICAgICAgICAgIGludCBrOworCisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGsg PSAxOyBYUkVGX1lSRUZfRVFVQUwgKHggLSBrLCB5IC0gayk7IGsrKykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgaWYgKGsgPT0gU05BS0VfTElNSVQpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVzdCA9IHY7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwYXJ0LT54bWlkID0geDsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBhcnQtPnltaWQgPSB5OworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgfQorICAgICAgICAg ICAgaWYgKGJlc3QgPiAwKQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcGFydC0+ bG9fbWluaW1hbCA9IHRydWU7CisgICAgICAgICAgICAgICAgcGFydC0+aGlfbWluaW1hbCA9IGZh bHNlOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgfQorICAgICAgICAg IH0KKworICAgICAgICAgIHsKKyAgICAgICAgICAgIE9GRlNFVCBiZXN0ID0gMDsKKworICAgICAg ICAgICAgZm9yIChkID0gYm1heDsgZCA+PSBibWluOyBkIC09IDIpCisgICAgICAgICAgICAgIHsK KyAgICAgICAgICAgICAgICBPRkZTRVQgZGQgPSBkIC0gYm1pZDsKKyAgICAgICAgICAgICAgICBP RkZTRVQgeCA9IGJkW2RdOworICAgICAgICAgICAgICAgIE9GRlNFVCB5ID0geCAtIGQ7CisgICAg ICAgICAgICAgICAgT0ZGU0VUIHYgPSAoeGxpbSAtIHgpICogMiArIGRkOworCisgICAgICAgICAg ICAgICAgaWYgKHYgPiAxMiAqIChjICsgKGRkIDwgMCA/IC1kZCA6IGRkKSkpCisgICAgICAgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmICh2ID4gYmVzdAorICAgICAgICAgICAg ICAgICAgICAgICAgJiYgeG9mZiA8IHggJiYgeCA8PSB4bGltIC0gU05BS0VfTElNSVQKKyAgICAg ICAgICAgICAgICAgICAgICAgICYmIHlvZmYgPCB5ICYmIHkgPD0geWxpbSAtIFNOQUtFX0xJTUlU KQorICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIFdl IGhhdmUgYSBnb29kIGVub3VnaCBiZXN0IGRpYWdvbmFsOyBub3cgaW5zaXN0CisgICAgICAgICAg ICAgICAgICAgICAgICAgICB0aGF0IGl0IGVuZCB3aXRoIGEgc2lnbmlmaWNhbnQgc25ha2UuICAq LworICAgICAgICAgICAgICAgICAgICAgICAgaW50IGs7CisKKyAgICAgICAgICAgICAgICAgICAg ICAgIGZvciAoayA9IDA7IFhSRUZfWVJFRl9FUVVBTCAoeCArIGssIHkgKyBrKTsgaysrKQorICAg ICAgICAgICAgICAgICAgICAgICAgICBpZiAoayA9PSBTTkFLRV9MSU1JVCAtIDEpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVz dCA9IHY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0LT54bWlkID0geDsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnQtPnltaWQgPSB5OworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgaWYgKGJlc3QgPiAwKQorICAgICAgICAgICAgICB7CisgICAgICAg ICAgICAgICAgcGFydC0+bG9fbWluaW1hbCA9IGZhbHNlOworICAgICAgICAgICAgICAgIHBhcnQt PmhpX21pbmltYWwgPSB0cnVlOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg ICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmIC8qIFVTRV9IRVVSSVNUSUMgKi8K KworICAgICAgLyogSGV1cmlzdGljOiBpZiB3ZSd2ZSBnb25lIHdlbGwgYmV5b25kIHRoZSBjYWxs IG9mIGR1dHksIGdpdmUgdXAKKyAgICAgICAgIGFuZCByZXBvcnQgaGFsZndheSBiZXR3ZWVuIG91 ciBiZXN0IHJlc3VsdHMgc28gZmFyLiAgKi8KKyAgICAgIGlmIChjID49IGN0eHQtPnRvb19leHBl bnNpdmUpCisgICAgICAgIHsKKyAgICAgICAgICBPRkZTRVQgZnh5YmVzdDsKKyAgICAgICAgICBP RkZTRVQgZnhiZXN0IElGX0xJTlQgKD0gMCk7CisgICAgICAgICAgT0ZGU0VUIGJ4eWJlc3Q7Cisg ICAgICAgICAgT0ZGU0VUIGJ4YmVzdCBJRl9MSU5UICg9IDApOworCisgICAgICAgICAgLyogRmlu ZCBmb3J3YXJkIGRpYWdvbmFsIHRoYXQgbWF4aW1pemVzIFggKyBZLiAgKi8KKyAgICAgICAgICBm eHliZXN0ID0gLTE7CisgICAgICAgICAgZm9yIChkID0gZm1heDsgZCA+PSBmbWluOyBkIC09IDIp CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIE9GRlNFVCB4ID0gTUlOIChmZFtkXSwgeGxp bSk7CisgICAgICAgICAgICAgIE9GRlNFVCB5ID0geCAtIGQ7CisgICAgICAgICAgICAgIGlmICh5 bGltIDwgeSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICB4ID0geWxpbSAr IGQ7CisgICAgICAgICAgICAgICAgICB5ID0geWxpbTsKKyAgICAgICAgICAgICAgICB9CisgICAg ICAgICAgICAgIGlmIChmeHliZXN0IDwgeCArIHkpCisgICAgICAgICAgICAgICAgeworICAgICAg ICAgICAgICAgICAgZnh5YmVzdCA9IHggKyB5OworICAgICAgICAgICAgICAgICAgZnhiZXN0ID0g eDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAvKiBGaW5k IGJhY2t3YXJkIGRpYWdvbmFsIHRoYXQgbWluaW1pemVzIFggKyBZLiAgKi8KKyAgICAgICAgICBi eHliZXN0ID0gT0ZGU0VUX01BWDsKKyAgICAgICAgICBmb3IgKGQgPSBibWF4OyBkID49IGJtaW47 IGQgLT0gMikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgT0ZGU0VUIHggPSBNQVggKHhv ZmYsIGJkW2RdKTsKKyAgICAgICAgICAgICAgT0ZGU0VUIHkgPSB4IC0gZDsKKyAgICAgICAgICAg ICAgaWYgKHkgPCB5b2ZmKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIHgg PSB5b2ZmICsgZDsKKyAgICAgICAgICAgICAgICAgIHkgPSB5b2ZmOworICAgICAgICAgICAgICAg IH0KKyAgICAgICAgICAgICAgaWYgKHggKyB5IDwgYnh5YmVzdCkKKyAgICAgICAgICAgICAgICB7 CisgICAgICAgICAgICAgICAgICBieHliZXN0ID0geCArIHk7CisgICAgICAgICAgICAgICAgICBi eGJlc3QgPSB4OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAg IC8qIFVzZSB0aGUgYmV0dGVyIG9mIHRoZSB0d28gZGlhZ29uYWxzLiAgKi8KKyAgICAgICAgICBp ZiAoKHhsaW0gKyB5bGltKSAtIGJ4eWJlc3QgPCBmeHliZXN0IC0gKHhvZmYgKyB5b2ZmKSkKKyAg ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgcGFydC0+eG1pZCA9IGZ4YmVzdDsKKyAgICAgICAg ICAgICAgcGFydC0+eW1pZCA9IGZ4eWJlc3QgLSBmeGJlc3Q7CisgICAgICAgICAgICAgIHBhcnQt PmxvX21pbmltYWwgPSB0cnVlOworICAgICAgICAgICAgICBwYXJ0LT5oaV9taW5pbWFsID0gZmFs c2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAg ICAgICAgICBwYXJ0LT54bWlkID0gYnhiZXN0OworICAgICAgICAgICAgICBwYXJ0LT55bWlkID0g Ynh5YmVzdCAtIGJ4YmVzdDsKKyAgICAgICAgICAgICAgcGFydC0+bG9fbWluaW1hbCA9IGZhbHNl OworICAgICAgICAgICAgICBwYXJ0LT5oaV9taW5pbWFsID0gdHJ1ZTsKKyAgICAgICAgICAgIH0K KyAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICN1bmRlZiBYUkVGX1lSRUZf RVFVQUwKK30KKworCisvKiBDb21wYXJlIGluIGRldGFpbCBjb250aWd1b3VzIHN1YnNlcXVlbmNl cyBvZiB0aGUgdHdvIHZlY3RvcnMKKyAgIHdoaWNoIGFyZSBrbm93biwgYXMgYSB3aG9sZSwgdG8g bWF0Y2ggZWFjaCBvdGhlci4KKworICAgVGhlIHN1YnNlcXVlbmNlIG9mIHZlY3RvciAwIGlzIFtY T0ZGLCBYTElNKSBhbmQgbGlrZXdpc2UgZm9yIHZlY3RvciAxLgorCisgICBOb3RlIHRoYXQgWExJ TSwgWUxJTSBhcmUgZXhjbHVzaXZlIGJvdW5kcy4gIEFsbCBpbmRpY2VzIGludG8gdGhlIHZlY3Rv cnMKKyAgIGFyZSBvcmlnaW4tMC4KKworICAgSWYgRklORF9NSU5JTUFMLCBmaW5kIGEgbWluaW1h bCBkaWZmZXJlbmNlIG5vIG1hdHRlciBob3cKKyAgIGV4cGVuc2l2ZSBpdCBpcy4KKworICAgVGhl IHJlc3VsdHMgYXJlIHJlY29yZGVkIGJ5IGludm9raW5nIE5PVEVfREVMRVRFIGFuZCBOT1RFX0lO U0VSVC4KKworICAgUmV0dXJuIGZhbHNlIGlmIHRlcm1pbmF0ZWQgbm9ybWFsbHksIG9yIHRydWUg aWYgdGVybWluYXRlZCB0aHJvdWdoIGVhcmx5CisgICBhYm9ydC4gICovCisKK3N0YXRpYyBib29s Citjb21wYXJlc2VxIChPRkZTRVQgeG9mZiwgT0ZGU0VUIHhsaW0sIE9GRlNFVCB5b2ZmLCBPRkZT RVQgeWxpbSwKKyAgICAgICAgICAgIGJvb2wgZmluZF9taW5pbWFsLCBzdHJ1Y3QgY29udGV4dCAq Y3R4dCkKK3sKKyNpZmRlZiBFTEVNRU5UCisgIEVMRU1FTlQgY29uc3QgKnh2ID0gY3R4dC0+eHZl YzsgLyogSGVscCB0aGUgY29tcGlsZXIuICAqLworICBFTEVNRU5UIGNvbnN0ICp5diA9IGN0eHQt Pnl2ZWM7CisgICNkZWZpbmUgWFJFRl9ZUkVGX0VRVUFMKHgseSkgIEVRVUFMICh4dlt4XSwgeXZb eV0pCisjZWxzZQorICAjZGVmaW5lIFhSRUZfWVJFRl9FUVVBTCh4LHkpICBYVkVDUkVGX1lWRUNS RUZfRVFVQUwgKGN0eHQsIHgsIHkpCisjZW5kaWYKKworICAvKiBTbGlkZSBkb3duIHRoZSBib3R0 b20gaW5pdGlhbCBkaWFnb25hbC4gICovCisgIHdoaWxlICh4b2ZmIDwgeGxpbSAmJiB5b2ZmIDwg eWxpbSAmJiBYUkVGX1lSRUZfRVFVQUwgKHhvZmYsIHlvZmYpKQorICAgIHsKKyAgICAgIHhvZmYr KzsKKyAgICAgIHlvZmYrKzsKKyAgICB9CisKKyAgLyogU2xpZGUgdXAgdGhlIHRvcCBpbml0aWFs IGRpYWdvbmFsLiAqLworICB3aGlsZSAoeG9mZiA8IHhsaW0gJiYgeW9mZiA8IHlsaW0gJiYgWFJF Rl9ZUkVGX0VRVUFMICh4bGltIC0gMSwgeWxpbSAtIDEpKQorICAgIHsKKyAgICAgIHhsaW0tLTsK KyAgICAgIHlsaW0tLTsKKyAgICB9CisKKyAgLyogSGFuZGxlIHNpbXBsZSBjYXNlcy4gKi8KKyAg aWYgKHhvZmYgPT0geGxpbSkKKyAgICB3aGlsZSAoeW9mZiA8IHlsaW0pCisgICAgICB7CisgICAg ICAgIE5PVEVfSU5TRVJUIChjdHh0LCB5b2ZmKTsKKyAgICAgICAgaWYgKEVBUkxZX0FCT1JUIChj dHh0KSkKKyAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgeW9mZisrOworICAgICAgfQor ICBlbHNlIGlmICh5b2ZmID09IHlsaW0pCisgICAgd2hpbGUgKHhvZmYgPCB4bGltKQorICAgICAg eworICAgICAgICBOT1RFX0RFTEVURSAoY3R4dCwgeG9mZik7CisgICAgICAgIGlmIChFQVJMWV9B Qk9SVCAoY3R4dCkpCisgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHhvZmYrKzsKKyAg ICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIHN0cnVjdCBwYXJ0aXRpb24gcGFydCBJRl9MSU5U MiAoPSB7IC54bWlkID0gMCwgLnltaWQgPSAwIH0pOworCisgICAgICAvKiBGaW5kIGEgcG9pbnQg b2YgY29ycmVzcG9uZGVuY2UgaW4gdGhlIG1pZGRsZSBvZiB0aGUgdmVjdG9ycy4gICovCisgICAg ICBkaWFnICh4b2ZmLCB4bGltLCB5b2ZmLCB5bGltLCBmaW5kX21pbmltYWwsICZwYXJ0LCBjdHh0 KTsKKworICAgICAgLyogVXNlIHRoZSBwYXJ0aXRpb25zIHRvIHNwbGl0IHRoaXMgcHJvYmxlbSBp bnRvIHN1YnByb2JsZW1zLiAgKi8KKyAgICAgIGlmIChjb21wYXJlc2VxICh4b2ZmLCBwYXJ0Lnht aWQsIHlvZmYsIHBhcnQueW1pZCwgcGFydC5sb19taW5pbWFsLCBjdHh0KSkKKyAgICAgICAgcmV0 dXJuIHRydWU7CisgICAgICBpZiAoY29tcGFyZXNlcSAocGFydC54bWlkLCB4bGltLCBwYXJ0Lnlt aWQsIHlsaW0sIHBhcnQuaGlfbWluaW1hbCwgY3R4dCkpCisgICAgICAgIHJldHVybiB0cnVlOwor ICAgIH0KKworICByZXR1cm4gZmFsc2U7CisgICN1bmRlZiBYUkVGX1lSRUZfRVFVQUwKK30KKwor I3VuZGVmIEVMRU1FTlQKKyN1bmRlZiBFUVVBTAorI3VuZGVmIE9GRlNFVAorI3VuZGVmIEVYVFJB X0NPTlRFWFRfRklFTERTCisjdW5kZWYgTk9URV9ERUxFVEUKKyN1bmRlZiBOT1RFX0lOU0VSVAor I3VuZGVmIEVBUkxZX0FCT1JUCisjdW5kZWYgVVNFX0hFVVJJU1RJQworI3VuZGVmIFhWRUNSRUZf WVZFQ1JFRl9FUVVBTAorI3VuZGVmIE9GRlNFVF9NQVgKZGlmZiAtLWdpdCBhL2xpYi9taW5tYXgu aCBiL2xpYi9taW5tYXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi45 MjkxODRhNWViCi0tLSAvZGV2L251bGwKKysrIGIvbGliL21pbm1heC5oCkBAIC0wLDAgKzEsNjAg QEAKKy8qIE1JTiwgTUFYIG1hY3Jvcy4KKyAgIENvcHlyaWdodCAoQykgMTk5NSwgMTk5OCwgMjAw MSwgMjAwMywgMjAwNSwgMjAwOS0yMDE3IEZyZWUgU29mdHdhcmUKKyAgIEZvdW5kYXRpb24sIElu Yy4KKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisgICBh bnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uICAqLworCisjaWZuZGVmIF9NSU5NQVhfSAorI2RlZmluZSBfTUlOTUFY X0gKKworLyogTm90ZTogTUlOLCBNQVggYXJlIGFsc28gZGVmaW5lZCBpbiA8c3lzL3BhcmFtLmg+ IG9uIHNvbWUgc3lzdGVtcworICAgKGdsaWJjLCBJUklYLCBIUC1VWCwgT1NGLzEpLiAgVGhlcmVm b3JlIHlvdSBtaWdodCBnZXQgd2FybmluZ3MgYWJvdXQKKyAgIE1JTiwgTUFYIG1hY3JvIHJlZGVm aW5pdGlvbnMgb24gc29tZSBzeXN0ZW1zOyB0aGUgd29ya2Fyb3VuZCBpcyB0bworICAgI2luY2x1 ZGUgdGhpcyBmaWxlIGFzIHRoZSBsYXN0IG9uZSBhbW9uZyB0aGUgI2luY2x1ZGUgbGlzdC4gICov CisKKy8qIEJlZm9yZSB3ZSBkZWZpbmUgdGhlIGZvbGxvd2luZyBzeW1ib2xzIHdlIGdldCB0aGUg PGxpbWl0cy5oPiBmaWxlCisgICBzaW5jZSBvdGhlcndpc2Ugd2UgZ2V0IHJlZGVmaW5pdGlvbnMg b24gc29tZSBzeXN0ZW1zIGlmIDxsaW1pdHMuaD4gaXMKKyAgIGluY2x1ZGVkIGFmdGVyIHRoaXMg ZmlsZS4gIExpa2V3aXNlIGZvciA8c3lzL3BhcmFtLmg+LgorICAgSWYgbW9yZSB0aGFuIG9uZSBv ZiB0aGVzZSBzeXN0ZW0gaGVhZGVycyBkZWZpbmUgTUlOIGFuZCBNQVgsIHBpY2sganVzdAorICAg b25lIG9mIHRoZSBoZWFkZXJzIChiZWNhdXNlIHRoZSBkZWZpbml0aW9ucyBtb3N0IGxpa2VseSBh cmUgdGhlIHNhbWUpLiAgKi8KKyNpZiBIQVZFX01JTk1BWF9JTl9MSU1JVFNfSAorIyBpbmNsdWRl IDxsaW1pdHMuaD4KKyNlbGlmIEhBVkVfTUlOTUFYX0lOX1NZU19QQVJBTV9ICisjIGluY2x1ZGUg PHN5cy9wYXJhbS5oPgorI2VuZGlmCisKKy8qIE5vdGU6IE1JTiBhbmQgTUFYIHNob3VsZCBiZSB1 c2VkIHdpdGggdHdvIGFyZ3VtZW50cyBvZiB0aGUKKyAgIHNhbWUgdHlwZS4gIFRoZXkgbWlnaHQg bm90IHJldHVybiB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBvZiB0aGVpciB0d28KKyAgIGFyZ3Vt ZW50cywgaWYgdGhlIGFyZ3VtZW50cyBoYXZlIGRpZmZlcmVudCB0eXBlcyBvciBoYXZlIHVudXN1 YWwKKyAgIGZsb2F0aW5nLXBvaW50IHZhbHVlcy4gIEZvciBleGFtcGxlLCBvbiBhIHR5cGljYWwg aG9zdCB3aXRoIDMyLWJpdCAnaW50JywKKyAgIDY0LWJpdCAnbG9uZyBsb25nJywgYW5kIDY0LWJp dCBJRUVFIDc1NCAnZG91YmxlJyB0eXBlczoKKworICAgICBNQVggKC0xLCAyMTQ3NDgzNjQ4KSBy ZXR1cm5zIDQyOTQ5NjcyOTUuCisgICAgIE1BWCAoOTAwNzE5OTI1NDc0MDk5Mi4wLCA5MDA3MTk5 MjU0NzQwOTkzKSByZXR1cm5zIDkwMDcxOTkyNTQ3NDA5OTIuMC4KKyAgICAgTUFYIChOYU4sIDAu MCkgcmV0dXJucyAwLjAuCisgICAgIE1BWCAoKzAuMCwgLTAuMCkgcmV0dXJucyAtMC4wLgorCisg ICBhbmQgaW4gZWFjaCBjYXNlIHRoZSBhbnN3ZXIgaXMgaW4gc29tZSBzZW5zZSBib2d1cy4gICov CisKKy8qIE1BWChhLGIpIHJldHVybnMgdGhlIG1heGltdW0gb2YgQSBhbmQgQi4gICovCisjaWZu ZGVmIE1BWAorIyBkZWZpbmUgTUFYKGEsYikgKChhKSA+IChiKSA/IChhKSA6IChiKSkKKyNlbmRp ZgorCisvKiBNSU4oYSxiKSByZXR1cm5zIHRoZSBtaW5pbXVtIG9mIEEgYW5kIEIuICAqLworI2lm bmRlZiBNSU4KKyMgZGVmaW5lIE1JTihhLGIpICgoYSkgPCAoYikgPyAoYSkgOiAoYikpCisjZW5k aWYKKworI2VuZGlmIC8qIF9NSU5NQVhfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2VkaXRmbnMuYyBi L3NyYy9lZGl0Zm5zLmMKaW5kZXggNDNiMTdmOWYxMS4uZjRlOTIzY2U4OSAxMDA2NDQKLS0tIGEv c3JjL2VkaXRmbnMuYworKysgYi9zcmMvZWRpdGZucy5jCkBAIC0zMTA1LDYgKzMxMDUsMTg0IEBA IGRldGVybWluZXMgd2hldGhlciBjYXNlIGlzIHNpZ25pZmljYW50IG9yIGlnbm9yZWQuICAqLykK ICAgLyogU2FtZSBsZW5ndGggdG9vID0+IHRoZXkgYXJlIGVxdWFsLiAgKi8KICAgcmV0dXJuIG1h a2VfbnVtYmVyICgwKTsKIH0KKworDAorLyogU2V0IHVwIG5lY2Vzc2FyeSBkZWZpbml0aW9ucyBm b3IgZGlmZnNlcS5oOyBzZWUgY29tbWVudHMgaW4KKyAgIGRpZmZzZXEuaCBmb3IgZXhwbGFuYXRp b24uICAqLworCisjdW5kZWYgRUxFTUVOVAorI3VuZGVmIEVRVUFMCisKKyNkZWZpbmUgWFZFQ1JF Rl9ZVkVDUkVGX0VRVUFMKGN0eCwgeG9mZiwgeW9mZikgIFwKKyAgYnVmZmVyX2NoYXJzX2VxdWFs ICgoY3R4KSwgKHhvZmYpLCAoeW9mZikpCisKKyNkZWZpbmUgT0ZGU0VUIHB0cmRpZmZfdAorCisj ZGVmaW5lIEVYVFJBX0NPTlRFWFRfRklFTERTICAgICAgICAgICAgICAgICAgICBcCisgIC8qIEJ1 ZmZlcnMgdG8gY29tcGFyZS4gICovICAgICAgICAgICAgICAgICAgICBcCisgIHN0cnVjdCBidWZm ZXIgKmJ1ZmZlcl9hOyAgICAgICAgICAgICAgICAgICAgICBcCisgIHN0cnVjdCBidWZmZXIgKmJ1 ZmZlcl9iOyAgICAgICAgICAgICAgICAgICAgICBcCisgIC8qIEJvb2xlYW4gdmVjdG9ycyByZWNv cmRpbmcgZm9yIGVhY2ggY2hhcmFjdGVyIHdoZXRoZXIgaXQgd2FzCisgICAgIGRlbGV0ZWQgb3Ig aW5zZXJ0ZWQuICAqLyAgICAgICAgICAgICAgICAgICBcCisgIExpc3BfT2JqZWN0IGRlbGV0aW9u czsgICAgICAgICAgICAgICAgICAgICAgICBcCisgIExpc3BfT2JqZWN0IGluc2VydGlvbnM7CisK KyNkZWZpbmUgTk9URV9ERUxFVEUoY3R4LCB4b2ZmKSBib29sX3ZlY3Rvcl9zZXQgKChjdHgpLT5k ZWxldGlvbnMsICh4b2ZmKSwgdHJ1ZSkKKyNkZWZpbmUgTk9URV9JTlNFUlQoY3R4LCB5b2ZmKSBi b29sX3ZlY3Rvcl9zZXQgKChjdHgpLT5pbnNlcnRpb25zLCAoeW9mZiksIHRydWUpCisKK3N0cnVj dCBjb250ZXh0Oworc3RhdGljIGJvb2wgYnVmZmVyX2NoYXJzX2VxdWFsIChzdHJ1Y3QgY29udGV4 dCAqLCBwdHJkaWZmX3QsIHB0cmRpZmZfdCk7CisKKyNpbmNsdWRlICJtaW5tYXguaCIKKyNpbmNs dWRlICJkaWZmc2VxLmgiCisKK0RFRlVOICgicmVwbGFjZS1idWZmZXItY29udGVudHMiLCBGcmVw bGFjZV9idWZmZXJfY29udGVudHMsCisgICAgICAgU3JlcGxhY2VfYnVmZmVyX2NvbnRlbnRzLCAx LCAxLCAiYlNvdXJjZSBidWZmZXI6ICIsCisgICAgICAgZG9jOiAvKiBSZXBsYWNlIGFjY2Vzc2li bGUgcG9ydGlvbiBvZiB0aGUgY3VycmVudCBidWZmZXIgd2l0aCBhY2Nlc3NpYmxlIHBvcnRpb24g b2YgU09VUkNFLgorQXMgZmFyIGFzIHBvc3NpYmxlIHRoZSByZXBsYWNlbWVudCBpcyBub24tZGVz dHJ1Y3RpdmUsIGkuZS4gZXhpc3RpbmcKK2J1ZmZlciBjb250ZW50cywgbWFya2VycywgcHJvcGVy dGllcywgYW5kIG92ZXJsYXlzIGluIHRoZSBjdXJyZW50CitidWZmZXIgc3RheSBpbnRhY3QuICAq LykKKyAgKExpc3BfT2JqZWN0IHNvdXJjZSkKK3sKKyAgc3RydWN0IGJ1ZmZlciAqYSA9IGN1cnJl bnRfYnVmZmVyOworICBMaXNwX09iamVjdCBzb3VyY2VfYnVmZmVyID0gRmdldF9idWZmZXIgKHNv dXJjZSk7CisgIGlmIChOSUxQIChzb3VyY2VfYnVmZmVyKSkKKyAgICBuc2JlcnJvciAoc291cmNl KTsKKyAgc3RydWN0IGJ1ZmZlciAqYiA9IFhCVUZGRVIgKHNvdXJjZV9idWZmZXIpOworICBpZiAo ISBCVUZGRVJfTElWRV9QIChiKSkKKyAgICBlcnJvciAoIlNlbGVjdGluZyBkZWxldGVkIGJ1ZmZl ciIpOworICBpZiAoYSA9PSBiKQorICAgIGVycm9yICgiQ2Fubm90IHJlcGxhY2UgYSBidWZmZXIg d2l0aCBpdHNlbGYiKTsKKworICBwdHJkaWZmX3QgbWluX2EgPSBCRUdWOworICBwdHJkaWZmX3Qg bWluX2IgPSBCVUZfQkVHViAoYik7CisgIHB0cmRpZmZfdCBzaXplX2EgPSBaViAtIG1pbl9hOwor ICBwdHJkaWZmX3Qgc2l6ZV9iID0gQlVGX1pWIChiKSAtIG1pbl9iOworICBib29sIGFfZW1wdHkg PSBzaXplX2EgPT0gMDsKKyAgYm9vbCBiX2VtcHR5ID0gc2l6ZV9iID09IDA7CisKKyAgLyogSGFu ZGxlIHRyaXZpYWwgY2FzZXMgd2hlcmUgYXQgbGVhc3Qgb25lIGFjY2Vzc2libGUgcG9ydGlvbiBp cworICAgICBlbXB0eS4gICovCisKKyAgaWYgKGFfZW1wdHkgJiYgYl9lbXB0eSkKKyAgICByZXR1 cm4gUW5pbDsKKworICBpZiAoYV9lbXB0eSkKKyAgICByZXR1cm4gRmluc2VydF9idWZmZXJfc3Vi c3RyaW5nIChzb3VyY2UsIFFuaWwsIFFuaWwpOworCisgIGlmIChiX2VtcHR5KQorICAgIHsKKyAg ICAgIGRlbF9yYW5nZV9ib3RoIChCRUdWLCBCRUdWX0JZVEUsIFpWLCBaVl9CWVRFLCB0cnVlKTsK KyAgICAgIHJldHVybiBRbmlsOworICAgIH0KKworICAvKiBGSVhNRTogSXQgaXMgbm90IGRvY3Vt ZW50ZWQgaG93IHRvIGluaXRpYWxpemUgdGhlIGNvbnRlbnRzIG9mIHRoZQorICAgICBjb250ZXh0 IHN0cnVjdHVyZS4gIFRoaXMgY29kZSBjYXJnby1jdWx0cyBmcm9tIHRoZSBleGlzdGluZworICAg ICBjYWxsZXIgaW4gc3JjL2FuYWx5emUuYyBvZiBHTlUgRGlmZnV0aWxzLCB3aGljaCBhcHBlYXJz IHRvCisgICAgIHdvcmsuICAqLworCisgIHB0cmRpZmZfdCBkaWFncyA9IHNpemVfYSArIHNpemVf YiArIDM7CisgIHB0cmRpZmZfdCAqYnVmZmVyOworICBVU0VfU0FGRV9BTExPQ0E7CisgIFNBRkVf TkFMTE9DQSAoYnVmZmVyLCAyLCBkaWFncyk7CisgIHN0cnVjdCBjb250ZXh0IGN0eCA9IHsKKyAg ICAuYnVmZmVyX2EgPSBhLAorICAgIC5idWZmZXJfYiA9IGIsCisgICAgLmluc2VydGlvbnMgPSBi b29sX3ZlY3Rvcl9maWxsIChtYWtlX3VuaW5pdF9ib29sX3ZlY3RvciAoc2l6ZV9iKSwgUW5pbCks CisgICAgLmRlbGV0aW9ucyA9IGJvb2xfdmVjdG9yX2ZpbGwgKG1ha2VfdW5pbml0X2Jvb2xfdmVj dG9yIChzaXplX2EpLCBRbmlsKSwKKyAgICAuZmRpYWcgPSBidWZmZXIgKyBzaXplX2IgKyAxLAor ICAgIC5iZGlhZyA9IGJ1ZmZlciArIGRpYWdzICsgc2l6ZV9iICsgMSwKKyAgICAvKiBGSVhNRTog RmluZCBhIGdvb2QgbnVtYmVyIGZvciAudG9vX2V4cGVuc2l2ZS4gICovCisgICAgLnRvb19leHBl bnNpdmUgPSAxMDAwMDAwLAorICB9OworICAvKiBjb21wYXJlc2VxIHJlcXVpcmVzIGluZGljZXMg dG8gYmUgemVyby1iYXNlZC4gIFdlIGFkZCBCRUdWIGJhY2sKKyAgICAgbGF0ZXIuICAqLworICBi b29sIGVhcmx5X2Fib3J0ID0gY29tcGFyZXNlcSAoMCwgc2l6ZV9hLCAwLCBzaXplX2IsIGZhbHNl LCAmY3R4KTsKKyAgLyogU2luY2Ugd2UgZGlkbuKAmXQgZGVmaW5lIEVBUkxZX0FCT1JULCB3ZSBz aG91bGQgbmV2ZXIgYWJvcnQKKyAgICAgZWFybHkuICAqLworICBlYXNzZXJ0ICghIGVhcmx5X2Fi b3J0KTsKKyAgU0FGRV9GUkVFICgpOworCisgIEZ1bmRvX2JvdW5kYXJ5ICgpOworICBwdHJkaWZm X3QgY291bnQgPSBTUEVDUERMX0lOREVYICgpOworICByZWNvcmRfdW53aW5kX3Byb3RlY3QgKHNh dmVfZXhjdXJzaW9uX3Jlc3RvcmUsIHNhdmVfZXhjdXJzaW9uX3NhdmUgKCkpOworCisgIFNFVF9Q VF9CT1RIIChCRUdWLCBCRUdWX0JZVEUpOworICBwdHJkaWZmX3QgaSA9IHNpemVfYTsKKyAgcHRy ZGlmZl90IGogPSBzaXplX2I7CisgIC8qIFdhbGsgYmFja3dhcmRzIHRocm91Z2ggdGhlIGxpc3Rz IG9mIGNoYW5nZXMuICBUaGlzIHdhcyBhbHNvCisgICAgIGNhcmdvLWN1bHRlZCBmcm9tIHNyYy9h bmFseXplLmMgaW4gR05VIERpZmZ1dGlscy4gIEJlY2F1c2Ugd2UKKyAgICAgd2FsayBiYWNrd2Fy ZHMsIHdlIGRvbuKAmXQgaGF2ZSB0byBrZWVwIHRoZSBwb3NpdGlvbnMgaW4gc3luYy4gICovCisg IHdoaWxlIChpID49IDAgfHwgaiA+PSAwKQorICAgIHsKKyAgICAgIC8qIENoZWNrIHdoZXRoZXIg dGhlcmUgaXMgYSBjaGFuZ2UgKGluc2VydGlvbiBvciBkZWxldGlvbikKKyAgICAgICAgIGJlZm9y ZSB0aGUgY3VycmVudCBwb3NpdGlvbi4gICovCisgICAgICBpZiAoKGkgPiAwICYmIGJvb2xfdmVj dG9yX2JpdHJlZiAoY3R4LmRlbGV0aW9ucywgaSAtIDEpKSB8fAorICAgICAgICAgIChqID4gMCAm JiBib29sX3ZlY3Rvcl9iaXRyZWYgKGN0eC5pbnNlcnRpb25zLCBqIC0gMSkpKQorCXsKKyAgICAg ICAgICBwdHJkaWZmX3QgZW5kX2EgPSBtaW5fYSArIGk7CisgICAgICAgICAgcHRyZGlmZl90IGVu ZF9iID0gbWluX2IgKyBqOworICAgICAgICAgIC8qIEZpbmQgdGhlIGJlZ2lubmluZyBvZiB0aGUg Y3VycmVudCBjaGFuZ2UgcnVuLiAgKi8KKwkgIHdoaWxlIChpID4gMCAmJiBib29sX3ZlY3Rvcl9i aXRyZWYgKGN0eC5kZWxldGlvbnMsIGkgLSAxKSkKKyAgICAgICAgICAgIC0taTsKKwkgIHdoaWxl IChqID4gMCAmJiBib29sX3ZlY3Rvcl9iaXRyZWYgKGN0eC5pbnNlcnRpb25zLCBqIC0gMSkpCisg ICAgICAgICAgICAtLWo7CisgICAgICAgICAgcHRyZGlmZl90IGJlZ19hID0gbWluX2EgKyBpOwor ICAgICAgICAgIHB0cmRpZmZfdCBiZWdfYiA9IG1pbl9iICsgajsKKyAgICAgICAgICBlYXNzZXJ0 IChiZWdfYSA+PSBCRUdWKTsKKyAgICAgICAgICBlYXNzZXJ0IChiZWdfYiA+PSBCVUZfQkVHViAo YikpOworICAgICAgICAgIGVhc3NlcnQgKGJlZ19hIDw9IGVuZF9hKTsKKyAgICAgICAgICBlYXNz ZXJ0IChiZWdfYiA8PSBlbmRfYik7CisgICAgICAgICAgZWFzc2VydCAoZW5kX2EgPD0gWlYpOwor ICAgICAgICAgIGVhc3NlcnQgKGVuZF9iIDw9IEJVRl9aViAoYikpOworICAgICAgICAgIGVhc3Nl cnQgKGJlZ19hIDwgZW5kX2EgfHwgYmVnX2IgPCBlbmRfYik7CisgICAgICAgICAgaWYgKGJlZ19h IDwgZW5kX2EpCisgICAgICAgICAgICBkZWxfcmFuZ2UgKGJlZ19hLCBlbmRfYSk7CisgICAgICAg ICAgaWYgKGJlZ19iIDwgZW5kX2IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIFNFVF9Q VCAoYmVnX2EpOworICAgICAgICAgICAgICBGaW5zZXJ0X2J1ZmZlcl9zdWJzdHJpbmcgKHNvdXJj ZSwgbWFrZV9uYXRudW0gKGJlZ19iKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWtlX25hdG51bSAoZW5kX2IpKTsKKyAgICAgICAgICAgIH0KKwl9CisgICAgICAt LWk7CisgICAgICAtLWo7CisgICAgfQorCisgIHJldHVybiB1bmJpbmRfdG8gKGNvdW50LCBRbmls KTsKK30KKworLyogUmV0dXJuIHRydWUgaWYgdGhlIGNoYXJhY3RlcnMgYXQgcG9zaXRpb24gUE9T X0Egb2YgYnVmZmVyCisgICBDVFgtPmJ1ZmZlcl9hIGFuZCBhdCBwb3NpdGlvbiBQT1NfQiBvZiBi dWZmZXIgQ1RYLT5idWZmZXJfYiBhcmUKKyAgIGVxdWFsIGluY2x1ZGluZyBwcm9wZXJ0aWVzLiAg UE9TX0EgYW5kIFBPU19CIGFyZSB6ZXJvLWJhc2VkLiAgKi8KKworc3RhdGljIGJvb2wKK2J1ZmZl cl9jaGFyc19lcXVhbCAoc3RydWN0IGNvbnRleHQgKmN0eCwKKyAgICAgICAgICAgICAgICAgICAg cHRyZGlmZl90IHBvc19hLCBwdHJkaWZmX3QgcG9zX2IpCit7CisgIHB0cmRpZmZfdCBjb3VudCA9 IFNQRUNQRExfSU5ERVggKCk7CisgIHJlY29yZF91bndpbmRfY3VycmVudF9idWZmZXIgKCk7CisK KyAgLyogV2UgY2Fu4oCZdCB1c2Ug4oCYY29tcGFyZS1idWZmZXItc3Vic3RyaW5nc+KAmSBiZWNh dXNlIHRoYXQgZG9lc27igJl0CisgICAgIHRha2UgcHJvcGVydGllcyBpbnRvIGFjY291bnQuICAq LworCisgIHNldF9idWZmZXJfaW50ZXJuYWwgKGN0eC0+YnVmZmVyX2EpOworICBwb3NfYSArPSBC RUdWOworICBlYXNzZXJ0IChwb3NfYSA+PSBCRUdWKTsKKyAgZWFzc2VydCAocG9zX2EgPCBaVik7 CisgIExpc3BfT2JqZWN0IGNoYXJfYSA9IG1ha2VfYnVmZmVyX3N0cmluZyAocG9zX2EsIHBvc19h ICsgMSwgdHJ1ZSk7CisKKyAgc2V0X2J1ZmZlcl9pbnRlcm5hbCAoY3R4LT5idWZmZXJfYik7Cisg IHBvc19iICs9IEJFR1Y7CisgIGVhc3NlcnQgKHBvc19iID49IEJFR1YpOworICBlYXNzZXJ0IChw b3NfYiA8IFpWKTsKKyAgTGlzcF9PYmplY3QgY2hhcl9iID0gbWFrZV9idWZmZXJfc3RyaW5nIChw b3NfYiwgcG9zX2IgKyAxLCB0cnVlKTsKKworICBib29sIHJlc3VsdCA9IEVRIChGZXF1YWxfaW5j bHVkaW5nX3Byb3BlcnRpZXMgKGNoYXJfYSwgY2hhcl9iKSwgUXQpOworICB1bmJpbmRfdG8gKGNv dW50LCBRbmlsKTsKKyAgcmV0dXJuIHJlc3VsdDsKK30KKwogDAogc3RhdGljIHZvaWQKIHN1YnN0 X2NoYXJfaW5fcmVnaW9uX3Vud2luZCAoTGlzcF9PYmplY3QgYXJnKQpAQCAtNTMxNSw2ICs1NDkz LDcgQEAgZnVuY3Rpb25zIGlmIGFsbCB0aGUgdGV4dCBiZWluZyBhY2Nlc3NlZCBoYXMgdGhpcyBw cm9wZXJ0eS4gICovKTsKIAogICBkZWZzdWJyICgmU2luc2VydF9idWZmZXJfc3Vic3RyaW5nKTsK ICAgZGVmc3ViciAoJlNjb21wYXJlX2J1ZmZlcl9zdWJzdHJpbmdzKTsKKyAgZGVmc3ViciAoJlNy ZXBsYWNlX2J1ZmZlcl9jb250ZW50cyk7CiAgIGRlZnN1YnIgKCZTc3Vic3RfY2hhcl9pbl9yZWdp b24pOwogICBkZWZzdWJyICgmU3RyYW5zbGF0ZV9yZWdpb25faW50ZXJuYWwpOwogICBkZWZzdWJy ICgmU2RlbGV0ZV9yZWdpb24pOwpkaWZmIC0tZ2l0IGEvdGVzdC9zcmMvZWRpdGZucy10ZXN0cy5l bCBiL3Rlc3Qvc3JjL2VkaXRmbnMtdGVzdHMuZWwKaW5kZXggMzA3M2UzNzE5My4uYTNlYThhYjYw YiAxMDA2NDQKLS0tIGEvdGVzdC9zcmMvZWRpdGZucy10ZXN0cy5lbAorKysgYi90ZXN0L3NyYy9l ZGl0Zm5zLXRlc3RzLmVsCkBAIC0yMDgsNCArMjA4LDM1IEBAIHRyYW5zcG9zZS10ZXN0LWdldC1i eXRlLXBvc2l0aW9ucwogICAgICAgICAgICAgICAgICAnKGVycm9yICJJbnZhbGlkIGZvcm1hdCBv cGVyYXRpb24gJSQiKSkpCiAgIChzaG91bGQgKGVxdWFsIChmb3JtYXQgIiUxJGMgJTEkcyIgP8Kx KSAiwrEgMTc3IikpKQogCisoZXJ0LWRlZnRlc3QgcmVwbGFjZS1idWZmZXItY29udGVudHMtMSAo KQorICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgIChpbnNlcnQgIygic291cmNlIiAyIDQgKHByb3Ag NykpKQorICAgIChsZXQgKChzb3VyY2UgKGN1cnJlbnQtYnVmZmVyKSkpCisgICAgICAod2l0aC10 ZW1wLWJ1ZmZlcgorICAgICAgICAoaW5zZXJ0ICJiZWZvcmUgZGVzdCBhZnRlciIpCisgICAgICAg IChsZXQgKChtYXJrZXIgKHNldC1tYXJrZXIgKG1ha2UtbWFya2VyKSAxNCkpKQorICAgICAgICAg IChzYXZlLXJlc3RyaWN0aW9uCisgICAgICAgICAgICAobmFycm93LXRvLXJlZ2lvbiA4IDEyKQor ICAgICAgICAgICAgKHJlcGxhY2UtYnVmZmVyLWNvbnRlbnRzIHNvdXJjZSkpCisgICAgICAgICAg KHNob3VsZCAoZXF1YWwgKG1hcmtlci1idWZmZXIgbWFya2VyKSAoY3VycmVudC1idWZmZXIpKSkK KyAgICAgICAgICAoc2hvdWxkIChlcXVhbCAobWFya2VyLXBvc2l0aW9uIG1hcmtlcikgMTYpKSkK KyAgICAgICAgKHNob3VsZCAoZXF1YWwtaW5jbHVkaW5nLXByb3BlcnRpZXMKKyAgICAgICAgICAg ICAgICAgKGJ1ZmZlci1zdHJpbmcpCisgICAgICAgICAgICAgICAgICMoImJlZm9yZSBzb3VyY2Ug YWZ0ZXIiIDkgMTEgKHByb3AgNykpKSkKKyAgICAgICAgKHNob3VsZCAoZXF1YWwgKHBvaW50KSA5 KSkpKQorICAgIChzaG91bGQgKGVxdWFsLWluY2x1ZGluZy1wcm9wZXJ0aWVzCisgICAgICAgICAg ICAgKGJ1ZmZlci1zdHJpbmcpCisgICAgICAgICAgICAgIygic291cmNlIiAyIDQgKHByb3AgNykp KSkpKQorCisoZXJ0LWRlZnRlc3QgcmVwbGFjZS1idWZmZXItY29udGVudHMtMiAoKQorICAod2l0 aC10ZW1wLWJ1ZmZlcgorICAgIChpbnNlcnQgImZvbyBiYXIgYmF6IHF1eCIpCisgICAgKGxldCAo KHNvdXJjZSAoY3VycmVudC1idWZmZXIpKSkKKyAgICAgICh3aXRoLXRlbXAtYnVmZmVyCisgICAg ICAgIChpbnNlcnQgImZvbyBCQVIgYmF6IHF1eCIpCisgICAgICAgIChyZXBsYWNlLWJ1ZmZlci1j b250ZW50cyBzb3VyY2UpCisgICAgICAgIChzaG91bGQgKGVxdWFsLWluY2x1ZGluZy1wcm9wZXJ0 aWVzCisgICAgICAgICAgICAgICAgIChidWZmZXItc3RyaW5nKQorICAgICAgICAgICAgICAgICAi Zm9vIGJhciBiYXogcXV4IikpKSkpKQorCiA7OzsgZWRpdGZucy10ZXN0cy5lbCBlbmRzIGhlcmUK LS0gCjIuMTMuMQoK --001a113cc70ce5cf0a0551c9d9d8-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 17 09:48:07 2017 Received: (at 25355-done) by debbugs.gnu.org; 17 Jun 2017 13:48:07 +0000 Received: from localhost ([127.0.0.1]:52262 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dME58-00033W-U9 for submit@debbugs.gnu.org; Sat, 17 Jun 2017 09:48:07 -0400 Received: from mail-oi0-f52.google.com ([209.85.218.52]:33410) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dME57-000332-1O for 25355-done@debbugs.gnu.org; Sat, 17 Jun 2017 09:48:05 -0400 Received: by mail-oi0-f52.google.com with SMTP id p66so3516628oia.0 for <25355-done@debbugs.gnu.org>; Sat, 17 Jun 2017 06:48:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Hcw/1zE9eE4zsi3ch1hxTZv52c9bpYdurCSFuz8RrYU=; b=LX7ZcQLKAZRkptUS7HNacQqMmWcL9ZUuFsJCBUSVVPvt+QZZ9+X7xvM3aqGdU6co2D Ml3Y1xW6PbMfQ026FEzvxKl/K9Gs3dDyOGpL5Itec0aVhirPA5l3HQ5ngmVKSfVmRrQX SmZcUPrRlwgoUBvNPENZhxohp6zdgscsPZt8yMr9UYN7SIqzVslpvdj7avwTfETm0O9w +gEyrhX3ArvZyNEUi7w6NqvCfiwxEq6BHbtZFzj7o9BWah9V0Zn5YD9TeV9GJJp9pGTJ CDLb69JWBPyJ31qAbBfGxuPcMgDJL30JJ6WvknzgHYce788F/KN8fVa0XqKGz/2cERa3 nx+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Hcw/1zE9eE4zsi3ch1hxTZv52c9bpYdurCSFuz8RrYU=; b=rH0Kne96XfQiR2IJWj4MPtusPRVdc1cgGqWoe2GiP+QUe3WiKYC002m/4Ct5o54xdk EmHS7mMPJwlUZL3nd8um2DXTfCwjAirdwnCBlcIQjsNTfuS+YWLVvkX8Q6zBLiD80Bbr vEtrIIeuHx5jr7mXHJBBUnQV+FmFov8A7p3SSr2JAM3Rb+ZYtXb31xZ9KGRcnMIyXyRR Nfgxzjn1vEQo3UKL7pY/Fo6EfHDaw2MMyWo25KZKrPzi7Mfg8xV/R3ap0Awrum7lq65t uN+eCEObqlBkwcP0ogwl16arSYzbuFDtCK+sRYTEPjjEzXzdwT8czzU0J/LTT4fdh4G5 xqEA== X-Gm-Message-State: AKS2vOyH9OftuBSEVgIWtUMIUkZFUUP0o+Z1OW3GQjHkGVahmMcSZ6gw Ovb8dpyKU3DbH+IvYQJq0Pp8qrtPSA== X-Received: by 10.202.225.65 with SMTP id y62mr6565870oig.113.1497707279225; Sat, 17 Jun 2017 06:47:59 -0700 (PDT) MIME-Version: 1.0 References: <8337cgee4h.fsf@gnu.org> In-Reply-To: From: Philipp Stephani Date: Sat, 17 Jun 2017 13:47:48 +0000 Message-ID: Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents To: Eli Zaretskii Content-Type: multipart/alternative; boundary="001a113d46945b178d0552282617" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 25355-done Cc: 25355-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) --001a113d46945b178d0552282617 Content-Type: text/plain; charset="UTF-8" Philipp Stephani schrieb am Mo., 12. Juni 2017 um 23:17 Uhr: > Philipp Stephani schrieb am So., 7. Mai 2017 um > 20:21 Uhr: > >> >> >>> P.S. Doesn't GNU Diff have code to do this? >> >> >> Sure, but it's not a library. libmba was the only library that I've found >> so far with a usable interface (i.e. that doesn't assume that the input >> sequences are byte arrays). >> >> > > Apparently I didn't look closely enough: Diffutils uses an implementation > of the Myers algorithm from Gnulib, which is customizable enough to fit our > needs. I've attached a patch that uses Gnulib. > I've pushed a slightly modified version of this patch as d682f0daa3. --001a113d46945b178d0552282617 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Philip= p Stephani <p.stephani2@gmail.c= om> schrieb am Mo., 12. Juni 2017 um 23:17=C2=A0Uhr:
Philipp Stephani <p.stephani2@gmail.com> schrieb am So., 7. Mai 2017 u= m 20:21=C2=A0Uhr:
=


P.S. Doesn't GNU Diff have code to do this?=C2=A0

=
Sure, bu= t it's not a library. libmba was the only library that I've found s= o far with a usable interface (i.e. that doesn't assume that the input = sequences are byte arrays).
=C2=A0

Apparently I didn&= #39;t look closely enough: Diffutils uses an implementation of the Myers al= gorithm from Gnulib, which is customizable enough to fit our needs. I'v= e attached a patch that uses Gnulib.=C2=A0

I've pushed a slightly modified version of this patch= as d682f0daa3.=C2=A0
--001a113d46945b178d0552282617-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 17 12:07:13 2017 Received: (at 25355) by debbugs.gnu.org; 17 Jun 2017 16:07:13 +0000 Received: from localhost ([127.0.0.1]:53573 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dMGFk-0006Va-TW for submit@debbugs.gnu.org; Sat, 17 Jun 2017 12:07:13 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59127) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dMGFi-0006VM-Gj for 25355@debbugs.gnu.org; Sat, 17 Jun 2017 12:07:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dMGFa-0000w8-8g for 25355@debbugs.gnu.org; Sat, 17 Jun 2017 12:07:05 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43068) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dMGFa-0000w0-4y; Sat, 17 Jun 2017 12:07:02 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2363 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dMGFZ-0004iL-AE; Sat, 17 Jun 2017 12:07:01 -0400 Date: Sat, 17 Jun 2017 19:06:45 +0300 Message-Id: <83k24azjhm.fsf@gnu.org> From: Eli Zaretskii To: Philipp Stephani In-reply-to: (message from Philipp Stephani on Sat, 17 Jun 2017 13:47:48 +0000) Subject: Re: bug#25355: 26.0.50; Provide function to non-destructively replace buffer contents References: <8337cgee4h.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -3.4 (---) X-Debbugs-Envelope-To: 25355 Cc: 25355@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.4 (---) > From: Philipp Stephani > Date: Sat, 17 Jun 2017 13:47:48 +0000 > Cc: 25355-done@debbugs.gnu.org > > Apparently I didn't look closely enough: Diffutils uses an implementation of the Myers algorithm from > Gnulib, which is customizable enough to fit our needs. I've attached a patch that uses Gnulib. > > I've pushed a slightly modified version of this patch as d682f0daa3. Thanks. Could you also update the manuals with the information about the new function? After doing that, please mark the NEWS entry with "+++". Btw, while compiling I see this warning: In file included from editfns.c:3139:0: ../lib/diffseq.h: In function 'diag': ../lib/diffseq.h:210:12: warning: variable 'big_snake' set but not used [-Wunused-but-set-variable] bool big_snake = false; ^ From unknown Sat Jun 21 10:31:47 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 16 Jul 2017 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator