Received: (at 76322) by debbugs.gnu.org; 12 Mar 2025 07:18:23 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 12 03:18:23 2025 Received: from localhost ([127.0.0.1]:47133 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tsGMB-0003G1-3F for submit <at> debbugs.gnu.org; Wed, 12 Mar 2025 03:18:23 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:45016) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1tsGM8-0003Fe-Kb for 76322 <at> debbugs.gnu.org; Wed, 12 Mar 2025 03:18:21 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 3D8FC3C01084A; Wed, 12 Mar 2025 00:18:13 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id 3-PuzhR8GRq3; Wed, 12 Mar 2025 00:18:12 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id BF8313C01084D; Wed, 12 Mar 2025 00:18:12 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu BF8313C01084D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1741763892; bh=D2rj4Ld9oKafsLEjoSCKoqVdEXZhU+LOxVGbdtlPNII=; h=Message-ID:Date:MIME-Version:To:From; b=WOy0NirKPQxEnVCfTTqbcEenqSbaVA2mJu+I/Fk+2J4OLprmr/Z8kk07WWfAviYrR uGu8NFYPIe+PcS1b9aQYA2n7UJ51GlBmaV+845sLb4k4BMwzStR+il6BmrD1QtQH16 fpBw36bczepgK2IQx6c+9WrysTPxly1P4fz5SUmxeMroHj2qAefaRRAnKsf8q2xpee gSiEKZ39c5yLnllgo4vU1oR8s0U37alplNW28sOsU83llY8cy8QiR42JEBTdgNOzN2 CWKxhMRiHPJgSvsDdQOiQ9psA5IYy9EpW1nLU7+vEcLF9s9El3OH96n7Wyj0o1Q19U gQ2efWPqMct0Q== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id cD4HQL9STIDi; Wed, 12 Mar 2025 00:18:12 -0700 (PDT) Received: from [192.168.254.12] (unknown [47.147.225.25]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 9B4FB3C01084A; Wed, 12 Mar 2025 00:18:12 -0700 (PDT) Message-ID: <18200637-fd05-4b0b-a721-fc3569251899@HIDDEN> Date: Wed, 12 Mar 2025 00:18:11 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: rms@HIDDEN, Dmitry Gutov <dmitry@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> <86ikogevwc.fsf@HIDDEN> <1da853c1-1fd4-4022-a351-371b4f84ed6c@HIDDEN> <E1tsDgI-0007UZ-Vc@HIDDEN> Content-Language: en-US From: Paul Eggert <eggert@HIDDEN> Organization: UCLA Computer Science Department In-Reply-To: <E1tsDgI-0007UZ-Vc@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, eliz@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 2025-03-11 21:26, Richard Stallman wrote: > Can you summarize the important differences between this and our ctags? > Can you summarize the important differences between this and etags? No. And as I haven't used ctags or etags (of any flavor) for decades, I would not be a good choice to investigate details. That being said, by all reports Universal Ctags is better than what's shipped with GNU Emacs. Of the recent discussions I found on this topic, nobody recommended Emacs ctags; everybody wanted Universal Ctags, or something fancier like GNU Global or a language server, and some users were frustrated when Emacs ctags was installed by mistake. Apparently Emacs ctags is a revenant that costs us more in maintenance effort than it's worth, which is why I suggested removing it.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 12 Mar 2025 04:27:09 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 12 00:27:09 2025 Received: from localhost ([127.0.0.1]:46834 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tsDgT-0000ep-Bv for submit <at> debbugs.gnu.org; Wed, 12 Mar 2025 00:27:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33166) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rms@HIDDEN>) id 1tsDgP-0000eH-Tq for 76322 <at> debbugs.gnu.org; Wed, 12 Mar 2025 00:27:06 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <rms@HIDDEN>) id 1tsDgJ-0001mE-Kd; Wed, 12 Mar 2025 00:26:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=y25eDbUj9xsZ43w+brV5DnZSPRVlBja1Ssd81D8naI8=; b=jicWujUEoFxy lOoMIQlFFj0+viqWFk6R1K8W6D4XK5rNe1QXu+SE8QeMoCyp5+66uQhjiilZKdE5HeMWghUgTLWZ+ O9A6xfWUNb3duD7XkXcXEtppZfGjM5gO7LR4xzWNbSg/AUFejMlY0Z3zoTzSkB2BHoojNhE+Mfgez c27OvqVi5YiiNp0mutYIcadZlePeGb0BU8e50zJOIc59+RNJ59uP5shupffK6Q+3QUa071fPoRqTV E0Wby6vQJlz/avBMhL5YgTt+I9LZOV0UStP2zujAjtoeFrAGpHTGv+pOJJcDx9yGFc7aUhZyDQdYn MEWFz3LuHUHYFyiS3a9I6A==; Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from <rms@HIDDEN>) id 1tsDgI-0007UZ-Vc; Wed, 12 Mar 2025 00:26:59 -0400 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman <rms@HIDDEN> To: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <1da853c1-1fd4-4022-a351-371b4f84ed6c@HIDDEN> (message from Dmitry Gutov on Tue, 11 Mar 2025 04:34:55 +0200) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> <86ikogevwc.fsf@HIDDEN> <1da853c1-1fd4-4022-a351-371b4f84ed6c@HIDDEN> Message-Id: <E1tsDgI-0007UZ-Vc@HIDDEN> Date: Wed, 12 Mar 2025 00:26:58 -0400 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, eliz@HIDDEN, eggert@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Reply-To: rms@HIDDEN Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) [[[ 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. ]]] > From what I'm reading, a lot of distros have replaced their 'ctags' > package with universal-ctags: > https://repology.org/project/universal-ctags/versions Can you summarize the important differences between this and our ctags? Can you summarize the important differences between this and etags? -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 11 Mar 2025 18:02:57 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 11 14:02:57 2025 Received: from localhost ([127.0.0.1]:45506 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ts3wO-000290-Oo for submit <at> debbugs.gnu.org; Tue, 11 Mar 2025 14:02:57 -0400 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]:60633) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1ts3wI-00028h-NC for 76322 <at> debbugs.gnu.org; Tue, 11 Mar 2025 14:02:52 -0400 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5e5bc066283so9067011a12.0 for <76322 <at> debbugs.gnu.org>; Tue, 11 Mar 2025 11:02:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741716164; x=1742320964; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=0FpmU10+Q/VcKbvZjNyhHNX6fuJ3yTrKqAswhoXiSpg=; b=byACAdysRZ1Drj5ZOFalr8P2XR9ckeyp8mJEKWj4cB9TOYLA+QBGUMzEE22IIXOifM AHmatMutD+JJFVyha5iGWjw7tWr5xXhqtuZnP2qjjwdiINlIRHSom+FXUfdtZ2Bma5jL 1lt1cj8Bsous4eJ5BPeDBw7Md9Ch2dZHQHh9SsDe3aHY0jIM2GVrCHPtLcU7BoCs+YAI n6m43imeAQE3qNZa5Bznf2phzMy54gFbcdreSw575MoHWraVy72LLUfNmQ+dUVt12iP2 1CdW5vHiM5j9iiADpGtmjsvcvhoR8RaAJEAdz/akmYrkj/Z7g5QeG5ubW9cVlpL5wIxf sfiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741716164; x=1742320964; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=0FpmU10+Q/VcKbvZjNyhHNX6fuJ3yTrKqAswhoXiSpg=; b=iy1ZThUC8F991Qk2DX/kR/F/tUVKjtErQXdKaWSEknrHy+ELV0IY8sHpWIyje4eSvN ivUQacpapBRep6+KIvXv28OAH7kauzrxU7NF2BkoD8h0J7pPULZrbL/o7fJjfsYfiEEX TfV9zHVEI7sVWXnZmh9WnsHnaVUFaovHi7rRmwqCmDmS6MVm9dhNFl/YiMo8zCwR1wml Wxmx7gulnGK24WToBxu7qgCD0cGMQzYyNNAqZ8roTo3BdhXeL4XKu4rDxbCrll/jbRAZ piQ76UGKTJhN29a2FRsUfMnVGTdXuZ7GLmsv0l8G0+eovf4gPCNj8a7ILjPpjTw/sK0P BDtg== X-Gm-Message-State: AOJu0YwJiTeNLWHSBAUDF8sEsypEE057Jx5xNcOVny+4PA9rK1p4+6RZ ixaRW6mV2Mhme41Qe4I3hZcz00eD0GD15uTtD6hvR34iSFlwD9e3z/kLZsV3bt9zlYlBTZFChtx EKzj93FlfeMsDnXHVGlYvo6a7YPs= X-Gm-Gg: ASbGncto+S9SqK3B6dbWQR5MKr4IsYEaDEsFesYIMjqo0P0smJPDUrV0Dimjj5E6jcg XrxBis31Y5r5NspBeMAwsrwkPSyn/XsXpih5nmo3qFkq6ZBIiaAS32/9Va2SjjIOw6FByz8CoEw 8g/fRqoIOde+rSPfyFU8HNcs5nyg== X-Google-Smtp-Source: AGHT+IFfZKbcZrwT3MMhf7+xP5pV6+WpR/uhb00MZsvtMltzP8wXC37/mh3c+Ntkl/fQgpOo7vGSGP3BjIJqrF+vh3I= X-Received: by 2002:a05:6402:5c8:b0:5e5:bde4:755f with SMTP id 4fb4d7f45d1cf-5e5e22df03amr22566009a12.14.1741716163990; Tue, 11 Mar 2025 11:02:43 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Tue, 11 Mar 2025 14:02:43 -0400 From: Stefan Kangas <stefankangas@HIDDEN> In-Reply-To: <7124a452-38f2-442a-ab6e-6a5c6ff672f6@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> <2b588fd7-10ee-4d46-958c-3c9adba18ccf@HIDDEN> <86bju8eur1.fsf@HIDDEN> <CADwFkmkRHCh8_U5w6n8_3-SdgAiXzdn8aWwM=Wt2HFYYQEKOag@HIDDEN> <86h63zdaxs.fsf@HIDDEN> <7124a452-38f2-442a-ab6e-6a5c6ff672f6@HIDDEN> MIME-Version: 1.0 Date: Tue, 11 Mar 2025 14:02:43 -0400 X-Gm-Features: AQ5f1Jo4SAjYuD83msbVYF-tJwJDdtl5QNka73DqEV3A519RDMKSqmKg_2I4j10 Message-ID: <CADwFkmk3tZECqqrqDtbmHqfddzXRR6DHjhEDT0oW=S93yzcfkQ@HIDDEN> Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: Paul Eggert <eggert@HIDDEN>, Eli Zaretskii <eliz@HIDDEN> Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, rms@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Paul Eggert <eggert@HIDDEN> writes: > On 2025-03-11 05:11, Eli Zaretskii wrote: >> If we think our ctags is not being used (I suggested to query a few >> distros about that), I'd rather drop it entirely, first by adding the >> --ctags option to etags, and later maybe removing the ctags-only code >> from etags.c. > > That would be simpler, yes. Proposed patch attached. > > My impression is that distros generally prefer Universal Ctags these > days, though you can use Exuberant Ctags if you're old-fashioned or > Emacs ctags if your even older-fashioned. On Fedora, 'ctags' is > Universal Ctags; on Ubuntu all three variants are available as options > and /usr/bin/ctags is a symlink to /etc/alternatives/ctags which in turn > can link to /usr/bin/ctags-universal or /usr/bin/ctags-exuberant or > /usr/bin/ctags.emacs. > > To some extent it's a chicken-and-egg problem: if we keep shipping ctags > some distros will keep making it available as an option. But there's no > real need for us to keep maintaining the third (and oldest) variant. Makes sense to me.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 11 Mar 2025 17:01:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 11 13:01:58 2025 Received: from localhost ([127.0.0.1]:45325 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ts2zJ-0007kW-20 for submit <at> debbugs.gnu.org; Tue, 11 Mar 2025 13:01:58 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:60068) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1ts2zC-0007k8-KN for 76322 <at> debbugs.gnu.org; Tue, 11 Mar 2025 13:01:49 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 7F4BF3C01085E; Tue, 11 Mar 2025 10:01:40 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id EAax3p6KVQFt; Tue, 11 Mar 2025 10:01:39 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id E9D4D3C010877; Tue, 11 Mar 2025 10:01:38 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu E9D4D3C010877 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1741712499; bh=Ibri/35MfzhYxCdyEeUmeXsb/oTfaw2OjU91JhqB4ks=; h=Message-ID:Date:MIME-Version:To:From; b=QTL+lAZPOiFPbzbCflUlSS9ae41xN9B63purPqPXUweAizOqQT9qXQhd/z4NxTO9S +cI3+jhBQyd+0tzNWpDYYwmYXVjFOHOq9ibOxFIaUr3c+poPt1v1KQ5RI9AeiLzAfA yjUWi56GyDgp0vbTjjBWi9pZaz3MYMiLvW1pzAxqJ8fiW7Qx4xEzTVZD+U0RBOOTRF Nr6tBpTy5Wrp5WTLPSdKzx2x64Q+NY+Yqsf//K9421PMoztAiNDJwUIcyXtz1gAPnX hFuIBM2E6Q+9o/6H0I3PcG5x4Gl+23Iw755VJLH/pH0uvsDxpwOekJh8QvT+a+3NgT uzvqfyMLidgoA== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id 6rO3M7qKbZBV; Tue, 11 Mar 2025 10:01:38 -0700 (PDT) Received: from [192.168.254.12] (unknown [47.147.225.25]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id B81353C01085E; Tue, 11 Mar 2025 10:01:38 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------9qiQVdaWm68jOl0btT32niHF" Message-ID: <7124a452-38f2-442a-ab6e-6a5c6ff672f6@HIDDEN> Date: Tue, 11 Mar 2025 10:01:38 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: Eli Zaretskii <eliz@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> <2b588fd7-10ee-4d46-958c-3c9adba18ccf@HIDDEN> <86bju8eur1.fsf@HIDDEN> <CADwFkmkRHCh8_U5w6n8_3-SdgAiXzdn8aWwM=Wt2HFYYQEKOag@HIDDEN> <86h63zdaxs.fsf@HIDDEN> Content-Language: en-US From: Paul Eggert <eggert@HIDDEN> Organization: UCLA Computer Science Department In-Reply-To: <86h63zdaxs.fsf@HIDDEN> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, rms@HIDDEN, Stefan Kangas <stefankangas@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------9qiQVdaWm68jOl0btT32niHF Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025-03-11 05:11, Eli Zaretskii wrote: > If we think our ctags is not being used (I suggested to query a few > distros about that), I'd rather drop it entirely, first by adding the > --ctags option to etags, and later maybe removing the ctags-only code > from etags.c. That would be simpler, yes. Proposed patch attached. My impression is that distros generally prefer Universal Ctags these days, though you can use Exuberant Ctags if you're old-fashioned or Emacs ctags if your even older-fashioned. On Fedora, 'ctags' is Universal Ctags; on Ubuntu all three variants are available as options and /usr/bin/ctags is a symlink to /etc/alternatives/ctags which in turn can link to /usr/bin/ctags-universal or /usr/bin/ctags-exuberant or /usr/bin/ctags.emacs. To some extent it's a chicken-and-egg problem: if we keep shipping ctags some distros will keep making it available as an option. But there's no real need for us to keep maintaining the third (and oldest) variant. --------------9qiQVdaWm68jOl0btT32niHF Content-Type: text/x-patch; charset=UTF-8; name="0001-Remove-ctags-program.patch" Content-Disposition: attachment; filename="0001-Remove-ctags-program.patch" Content-Transfer-Encoding: base64 RnJvbSBjNmU0Y2FmOWZhZjIwNTBmMDA2Yjg1NDQxYTlhM2I3ZTZkMWIwMTBhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDExIE1hciAyMDI1IDA4OjQ3OjMwIC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gUmVtb3ZlIGN0YWdzIHByb2dyYW0KClJlbW92ZSBvdXIgb2xkIGN0YWdzIGFuZCBzdWdn ZXN0IFVuaXZlcnNhbCBDdGFncyBpbnN0ZWFkLgpUaGlzIGZpeGVzIGEgRklYTUUgaW4gbGli LXNyYy9NYWtlZmlsZS5pbiBhbmQgc3BlZWRzIHVwIGNvbXBpbGF0aW9uCnF1aXRlIGEgYml0 IG9uIG15IG9sZGVyIENQVSB3aGVuIEkgY29tcGlsZSB3aXRoCS0tZW5hYmxlLWdjYy13YXJu aW5ncy4KSXQgYWxzbyBsZXNzZW5zIGluc3RhbGxhdGlvbiBhbmQgcnVudGltZSBmb290cHJp bnQuCiogYWRtaW4vYXV0aG9ycy5lbCAoYXV0aG9ycy1yZW5hbWVkLWZpbGVzLWFsaXN0KTog UmVtb3ZlIGN0YWdzLjEuCiogYWRtaW4vY2hlY2stbWFuLXBhZ2VzOiBjdGFncy4xIGlzIG5v IGxvbmdlciBhIHNwZWNpYWwgY2FzZS4KKiBhZG1pbi9xdWljay1pbnN0YWxsLWVtYWNzIChQ VUJMSUNfTElCU1JDX0JJTkFSSUVTKTogUmVtb3ZlIGN0YWdzLgoqIGNyb3NzL01ha2VmaWxl LmluIChMSUJTUkNfQklOQVJJRVMpOiBSZW1vdmUgbGliLXNyYy9jdGFncy4KKiBkb2MvbWFu L2N0YWdzLjEsIGxpYi1zcmMvY3RhZ3MuYzogUmVtb3ZlLgoqIGphdmEvTWFrZWZpbGUuaW4g KENST1NTX0xJQlNSQ19CSU5TKTogUmVtb3ZlIGN0YWdzLgoqIGxpYi1zcmMvTWFrZWZpbGUu aW4gKElOU1RBTExBQkxFUyk6IFJlbW92ZSBjdGFncyR7RVhFRVhUfS4KKGN0YWdzJHtFWEVF WFR9KTogUmVtb3ZlLgoqIGxpYi1zcmMvZXRhZ3MuYyAoQ1RBR1MpOiBSZW1vdmUuICBBbGwg dXNlcyByZXBsYWNlZCBieSAuLi4KKGN0YWdzKTogLi4uIHRoaXMgbmV3IHN0YXRpYyB2YXIu CihTVERJTik6IFJlbW92ZSBtYWNyby4gIEFsbCB1c2VzIHJlcGxhY2VkIGJ5IG5ldyBTVERJ Tl9PUFRJT04gY29uc3RhbnQuCihDVEFHU19PUFRJT04sIFNURElOX09QVElPTik6IE5ldyBj b250YW50cy4KKGxvbmdvcHRzKTogTmV3IC0tY3RhZ3Mgb3B0aW9uLgooY3RhZ3NfZGVmYXVs dF9DX2hlbHApOiBOZXcgY29uc3RhbnQsCnRvIG92ZXJyaWRlIGRlZmF1bHRfQ19oZWxwIGF0 IHJ1bnRpbWUuCihkZWZhdWx0X0NfaGVscCk6IE5vdyBhbHdheXMgdGhlIGV0YWdzIHZlcnNp b24uCihDX0xBTkdfTkFNRVNfSU5ERVgpOiBOZXcgbWFjcm8uCihwcmludF9sYW5ndWFnZV9u YW1lcyk6IERvIG5vdCBhc3N1bWUgZXRhZ3MuCihQUk9HUkFNX05BTUUpOiBSZW1vdmUuICBB bGwgdXNlcyByZW1vdmVkLgoocHJpbnRfaGVscCk6IERvY3VtZW50IC0tY3RhZ3MgaWYgUFJJ TlRfVU5ET0NVTUVOVEVEX09QVElPTlNfSEVMUC4KKG1haW4pOiBTdXBwb3J0IG5ldyAtLWN0 YWdzIG9wdGlvbiwgYW5kIHN1cHBvcnQgYWxsIFtjZV10YWdzIG9wdGlvbnMuCi0tLQogLmdp dGlnbm9yZSAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIElOU1RBTEwgICAgICAgICAgICAg ICAgICAgIHwgICAyICstCiBNYWtlZmlsZS5pbiAgICAgICAgICAgICAgICB8ICAgNCArLQog YWRtaW4vYXV0aG9ycy5lbCAgICAgICAgICAgfCAgIDEgLQogYWRtaW4vY2hlY2stbWFuLXBh Z2VzICAgICAgfCAgIDcgLS0tCiBhZG1pbi9xdWljay1pbnN0YWxsLWVtYWNzICB8ICAgMiAr LQogY3Jvc3MvTWFrZWZpbGUuaW4gICAgICAgICAgfCAgIDIgKy0KIGRvYy9lbWFjcy9hbmRy b2lkLnRleGkgICAgIHwgICA2ICstCiBkb2MvbGlzcHJlZi9wcm9jZXNzZXMudGV4aSB8ICAg NyArLS0KIGRvYy9tYW4vY3RhZ3MuMSAgICAgICAgICAgIHwgICAxIC0KIGRvYy9tYW4vZXRh Z3MuMSAgICAgICAgICAgIHwgIDMyICsrKysrLS0tLS0KIGV0Yy9ORVdTICAgICAgICAgICAg ICAgICAgIHwgICA2ICsrCiBldGMvUFJPQkxFTVMgICAgICAgICAgICAgICB8ICAgNCArLQog amF2YS9NYWtlZmlsZS5pbiAgICAgICAgICAgfCAgIDQgKy0KIGxpYi1zcmMvTWFrZWZpbGUu aW4gICAgICAgIHwgICA5ICstLQogbGliLXNyYy9jdGFncy5jICAgICAgICAgICAgfCAgIDIg LQogbGliLXNyYy9ldGFncy5jICAgICAgICAgICAgfCAxMjMgKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLQogbnQvUkVBRE1FICAgICAgICAgICAgICAgICAgfCAgIDIg Ky0KIG50L1JFQURNRS5XMzIgICAgICAgICAgICAgIHwgICAyICstCiBzcmMvY2FsbHByb2Mu YyAgICAgICAgICAgICB8ICAgNiArLQogMjAgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlv bnMoKyksIDEyMyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2MvbWFuL2N0 YWdzLjEKIGRlbGV0ZSBtb2RlIDEwMDY0NCBsaWItc3JjL2N0YWdzLmMKCmRpZmYgLS1naXQg YS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBlYTk0MmI4NmY4MC4uODY0MmZmNDdj MjkgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMjA5LDcg KzIwOSw3IEBAIHRlc3QvaW5mcmEvYW5kcm9pZC8qKi8qLnppcAogdGVzdC9pbmZyYS9hbmRy b2lkLyoqLyouamFyCiB0ZXN0L2luZnJhL2FuZHJvaWQvYmluL2J1aWxkLnNoCiAKLSMgY3Rh Z3MsIGV0YWdzLgorIyBldGFncy4KIFRBR1MKICFhZG1pbi9ub3Rlcy90YWdzCiAKZGlmZiAt LWdpdCBhL0lOU1RBTEwgYi9JTlNUQUxMCmluZGV4IGQzOGZmZjdiMmU2Li40MGNiNjc0ZDQ4 ZiAxMDA2NDQKLS0tIGEvSU5TVEFMTAorKysgYi9JTlNUQUxMCkBAIC02MTIsNyArNjEyLDcg QEAgaW5zdGFsbGVkIGxvY2F0aW9ucywgd2l0aCAnbWFrZSBpbnN0YWxsJy4gIEJ5IGRlZmF1 bHQsIEVtYWNzJ3MgZmlsZXMKIGFyZSBpbnN0YWxsZWQgaW4gdGhlIGZvbGxvd2luZyBkaXJl Y3RvcmllczoKIAogJy91c3IvbG9jYWwvYmluJyBob2xkcyB0aGUgZXhlY3V0YWJsZSBwcm9n cmFtcyB1c2VycyBub3JtYWxseSBydW4gLQotCQknZW1hY3MnLCAnZXRhZ3MnLCAnY3RhZ3Mn LCAnZW1hY3NjbGllbnQnLgorCQknZW1hY3MnLCAnZXRhZ3MnLCAnZW1hY3NjbGllbnQnLgog CiAnL3Vzci9sb2NhbC9zaGFyZS9lbWFjcy9WRVJTSU9OL2xpc3AnIGhvbGRzIHRoZSBFbWFj cyBMaXNwIGxpYnJhcnk7CiAJCSdWRVJTSU9OJyBzdGFuZHMgZm9yIHRoZSBudW1iZXIgb2Yg dGhlIEVtYWNzIHZlcnNpb24KZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUu aW4KaW5kZXggY2E2ZDk5MWJjZTYuLjBmMDZiYTAwZWU4IDEwMDY0NAotLS0gYS9NYWtlZmls ZS5pbgorKysgYi9NYWtlZmlsZS5pbgpAQCAtODE4LDkgKzgxOCw3IEBAIGluc3RhbGwtaW5m bzoKIAogIyMgImd6aXAgfHwgdHJ1ZSIgaXMgYmVjYXVzZSBzb21lIGd6aXBzIGV4aXQgd2l0 aCBub24temVybyBzdGF0dXMKICMjIGlmIGNvbXByZXNzaW9uIHdvdWxkIG5vdCByZWR1Y2Ug dGhlIGZpbGUgc2l6ZS4gIEVnLCB0aGUgZ3ppcCBpbgotIyMgT3BlbkJTRCA0Ljkgc2VlbXMg dG8gZG8gdGhpcyAoMjAxMy8wMykuICBJbiBFbWFjcywgdGhpcyBjYW4KLSMjIG9ubHkgaGFw cGVuIHdpdGggdGhlIHRpbnkgY3RhZ3MuMSBtYW5wYWdlLiAgV2UgZG9uJ3QgcmVhbGx5IGNh cmUgaWYKLSMjIGN0YWdzLjEgaXMgY29tcHJlc3NlZCBvciBub3QuICAiZ3ppcCAtZiIgaXMg YW5vdGhlciBvcHRpb24gaGVyZSwKKyMjIE9wZW5CU0QgNC45IHNlZW1zIHRvIGRvIHRoaXMg KDIwMTMvMDMpLiAgImd6aXAgLWYiIGlzIGFub3RoZXIgb3B0aW9uIGhlcmUsCiAjIyBidXQg bm90IHN1cmUgaWYgcG9ydGFibGUuCiBpbnN0YWxsLW1hbjoKIAl1bWFzayAwMjI7ICR7TUtE SVJfUH0gIiQoREVTVERJUikke21hbjFkaXJ9IgpkaWZmIC0tZ2l0IGEvYWRtaW4vYXV0aG9y cy5lbCBiL2FkbWluL2F1dGhvcnMuZWwKaW5kZXggNTk4ZGViNjgxZTUuLmI5ZjVmMTcwZmMw IDEwMDY0NAotLS0gYS9hZG1pbi9hdXRob3JzLmVsCisrKyBiL2FkbWluL2F1dGhvcnMuZWwK QEAgLTE0NzEsNyArMTQ3MSw2IEBAIGF1dGhvcnMtcmVuYW1lZC1maWxlcy1hbGlzdAogICAg ICgib3JnL0NPUFlSSUdIVC1BTkQtTElDRU5TRSIgLiAib3JnL1JFQURNRSIpCiAgICAgKCJs aXNwL25ldC9pZG5hLmVsIiAuICJwdW55LmVsIikKICAgICA7OyBNb3ZlZCB0byBkaWZmZXJl bnQgZGlyZWN0b3JpZXMuCi0gICAgKCJjdGFncy4xIiAuICJjdGFncy4xIikKICAgICAoImV0 YWdzLjEiIC4gImV0YWdzLjEiKQogICAgICgiZW1hY3MuMSIgLiAiZW1hY3MuMSIpCiAgICAg KCJlbWFjc2NsaWVudC4xIiAuICJlbWFjc2NsaWVudC4xIikKZGlmZiAtLWdpdCBhL2FkbWlu L2NoZWNrLW1hbi1wYWdlcyBiL2FkbWluL2NoZWNrLW1hbi1wYWdlcwppbmRleCA0MDkwMDNl MDQ2Mi4uODRjYTU2YmYwODQgMTAwNzU1Ci0tLSBhL2FkbWluL2NoZWNrLW1hbi1wYWdlcwor KysgYi9hZG1pbi9jaGVjay1tYW4tcGFnZXMKQEAgLTMyLDEzICszMiw2IEBAIGV4aXRfc3Rh dHVzPTAKIAogY2QgIiRQRCIvLi4vZG9jL21hbgogZm9yIHBhZ2UgaW4gKi4xOyBkbwotICAg ICMgY3RhZ3MuMSBqdXN0IGluY2x1ZGVzIHRoZSBtYW4gcGFnZSBldGFncy4xLCB3aGljaCBB RkFJQ1Qgd2lsbAotICAgICMgZGVmYXVsdCB0byB0aGUgb25lIGluc3RhbGxlZCBvbiB0aGUg c3lzdGVtICghKSwgaW5zdGVhZCBvZiB0aGUKLSAgICAjIG9uZSBpbiB0aGUgcmVwb3NpdG9y eS4gIFNvIGNoZWNraW5nIGl0IGlzIHBvaW50bGVzcywgYW5kIHdlIHdpbGwKLSAgICAjIGlu IGFueSBjYXNlIGFscmVhZHkgY2hlY2sgZXRhZ3MuMSBzZXBhcmF0ZWx5LgotICAgIGlmIFsg IiRwYWdlIiA9PSAiY3RhZ3MuMSIgXTsgdGhlbgotICAgICAgICBjb250aW51ZQotICAgIGZp CiAgICAgbG9nPSQoZW1hY3NfbWt0ZW1wKQogICAgIExDX0FMTD1DLlVURi04IE1BTlJPRkZT RVE9JycgTUFOV0lEVEg9ODAgXAogICAgICAgICBtYW4gLS13YXJuaW5ncz1hbGwsbWFjIC1F IFVURi04IC1sIC1UdXRmOCAtWiAiJHBhZ2UiID4vZGV2L251bGwgMj4gIiRsb2ciCmRpZmYg LS1naXQgYS9hZG1pbi9xdWljay1pbnN0YWxsLWVtYWNzIGIvYWRtaW4vcXVpY2staW5zdGFs bC1lbWFjcwppbmRleCBjZWFiZTgwMDI0ZS4uNTQ1MzQ1NmQwOWMgMTAwNzU1Ci0tLSBhL2Fk bWluL3F1aWNrLWluc3RhbGwtZW1hY3MKKysrIGIvYWRtaW4vcXVpY2staW5zdGFsbC1lbWFj cwpAQCAtMjcsNyArMjcsNyBAQAogIyMgaW5zdGFsbCBlbWFjcyB2ZXJ5IG9mdGVuLiAgU2Vl IHRoZSAtLWhlbHAgb3V0cHV0IGZvciBtb3JlIGRldGFpbHMuCiAKIAotUFVCTElDX0xJQlNS Q19CSU5BUklFUz0nZW1hY3NjbGllbnQgZXRhZ3MgY3RhZ3MgZWJyb3dzZScKK1BVQkxJQ19M SUJTUkNfQklOQVJJRVM9J2VtYWNzY2xpZW50IGV0YWdzIGVicm93c2UnCiAKIEFWT0lEPSJD VlMgLURJQyBSRUFETUUgQ09QWUlORyBDaGFuZ2VMb2cgfiBbLl1vcmlnJCBbLl1yZWokIE1h a2VmaWxlJCBNYWtlZmlsZS5pbiQgbWFrZWZpbGUkIG1ha2VmaWxlLnczMi1pbiQgc3RhbXAt c3ViZGlyIFsuXWN2c2lnbm9yZSBbLl1hcmNoLWlkcyBbe11hcmNoW31dIFsuXVtjaG9dJCBt YWtlLWRvY2ZpbGUiCiAKZGlmZiAtLWdpdCBhL2Nyb3NzL01ha2VmaWxlLmluIGIvY3Jvc3Mv TWFrZWZpbGUuaW4KaW5kZXggOTRhMjhhNzU1YmMuLmIxMzIyZWE0YzViIDEwMDY0NAotLS0g YS9jcm9zcy9NYWtlZmlsZS5pbgorKysgYi9jcm9zcy9NYWtlZmlsZS5pbgpAQCAtNTAsNyAr NTAsNyBAQCBMSUJfU1JDX1RPUF9TUkNESVIgPQogCiAjIFRoaXMgaXMgYSBsaXN0IG9mIGJp bmFyaWVzIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIGluIGxpYi1zcmMuCiAKLUxJQlNSQ19CSU5B UklFUyA9IGxpYi1zcmMvZXRhZ3MgbGliLXNyYy9jdGFncyBsaWItc3JjL2VtYWNzY2xpZW50 IFwKK0xJQlNSQ19CSU5BUklFUyA9IGxpYi1zcmMvZXRhZ3MgbGliLXNyYy9lbWFjc2NsaWVu dCBcCiAJCSAgbGliLXNyYy9lYnJvd3NlIGxpYi1zcmMvaGV4bCBsaWItc3JjL21vdmVtYWls CiAKIENMRUFOX1NVQkRJUlMgPSAkKHdpbGRjYXJkIHNyYyBsaWItc3JjIGxpYiBldGMpCmRp ZmYgLS1naXQgYS9kb2MvZW1hY3MvYW5kcm9pZC50ZXhpIGIvZG9jL2VtYWNzL2FuZHJvaWQu dGV4aQppbmRleCBjMzE4MzczNTM2YS4uOGIwMGVhOTRjYjMgMTAwNjQ0Ci0tLSBhL2RvYy9l bWFjcy9hbmRyb2lkLnRleGkKKysrIGIvZG9jL2VtYWNzL2FuZHJvaWQudGV4aQpAQCAtMzUz LDExICszNTMsMTEgQEAgQW5kcm9pZCBFbnZpcm9ubWVudAogICBUaGUgRW1hY3MgZGlzdHJp YnV0aW9uIGFsc28gaW5jb3Jwb3JhdGVzIHNldmVyYWwgYmluYXJpZXMuICBXaGlsZQogYmVp bmcgZXhlY3V0YWJsZSBmaWxlcywgdGhleSBhcmUgcGFja2FnZWQgYXMgbGlicmFyaWVzIGlu IHRoZSBsaWJyYXJ5CiBkaXJlY3RvcnksIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBzeXN0ZW0g d2lsbCBub3QgdW5wYWNrIHRoZW0gd2hpbGUKLUVtYWNzIGlzIGJlaW5nIGluc3RhbGxlZC4g IFRoaXMgbWVhbnMgdGhhdCBpbnN0ZWFkIG9mIEBjb2Rle2N0YWdzfSBvcgotQGNvZGV7ZW1h Y3NjbGllbnR9LCBMaXNwIGNvZGUgbXVzdCBzcGVjaWZ5IEBjb2Rle2xpYmN0YWdzLnNvfSBv cgorRW1hY3MgaXMgYmVpbmcgaW5zdGFsbGVkLiAgVGhpcyBtZWFucyB0aGF0IGluc3RlYWQg b2YKK0Bjb2Rle2VtYWNzY2xpZW50fSwgTGlzcCBjb2RlIG11c3Qgc3BlY2lmeQogQGNvZGV7 bGliZW1hY3NjbGllbnQuc299IG9uIHRoZSBjb21tYW5kIGxpbmUgd2hlbiBzdGFydGluZyBl aXRoZXIgb2YKIHRob3NlIHByb2dyYW1zIGluIGEgc3VicHJvY2VzczsgdG8gZGV0ZXJtaW5l IHdoaWNoIG5hbWVzIHRvIHVzZSwKLWNvbnN1bHQgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFi bGVzIEBjb2Rle2N0YWdzLXByb2dyYW0tbmFtZX0sCitjb25zdWx0IHRoZSB2YWx1ZXMgb2Yg dGhlIHZhcmlhYmxlcwogQGNvZGV7ZXRhZ3MtcHJvZ3JhbS1uYW1lfSwgQGNvZGV7aGV4bC1w cm9ncmFtLW5hbWV9LAogQGNvZGV7ZW1hY3NjbGllbnQtcHJvZ3JhbS1uYW1lfSwgQGNvZGV7 bW92ZW1haWwtcHJvZ3JhbS1uYW1lfSwKIEBjb2Rle2Vicm93c2UtcHJvZ3JhbS1uYW1lfSwg YW5kIEBjb2Rle3JjczJsb2ctcHJvZ3JhbS1uYW1lfS4KZGlmZiAtLWdpdCBhL2RvYy9saXNw cmVmL3Byb2Nlc3Nlcy50ZXhpIGIvZG9jL2xpc3ByZWYvcHJvY2Vzc2VzLnRleGkKaW5kZXgg ODA0ZWZiNTAxNjIuLjU2ZTc4ZWFjOTAwIDEwMDY0NAotLS0gYS9kb2MvbGlzcHJlZi9wcm9j ZXNzZXMudGV4aQorKysgYi9kb2MvbGlzcHJlZi9wcm9jZXNzZXMudGV4aQpAQCAtMTg2LDcg KzE4Niw2IEBAIFN1YnByb2Nlc3MgQ3JlYXRpb24KIEBlbmQgZGVmdW4KIAogQGNpbmRleCBw cm9ncmFtcyBkaXN0cmlidXRlZCB3aXRoIEVtYWNzLCBzdGFydGluZwotQHZpbmRleCBjdGFn cy1wcm9ncmFtLW5hbWUKIEB2aW5kZXggZXRhZ3MtcHJvZ3JhbS1uYW1lCiBAdmluZGV4IGhl eGwtcHJvZ3JhbS1uYW1lCiBAdmluZGV4IGVtYWNzY2xpZW50LXByb2dyYW0tbmFtZQpAQCAt MTk3LDExICsxOTYsMTEgQEAgU3VicHJvY2VzcyBDcmVhdGlvbgogbXVzdCB0YWtlIGludG8g YWNjb3VudCB0aGF0IHRoZSBwcm9ncmFtIG1heSBoYXZlIGJlZW4gcmVuYW1lZCBpbiBvcmRl cgogdG8gY29tcGx5IHdpdGggZXhlY3V0YWJsZSBuYW1pbmcgcmVzdHJpY3Rpb25zIHByZXNl bnQgb24gdGhlIHN5c3RlbS4KIAotICBJbnN0ZWFkIG9mIHN0YXJ0aW5nIEBjb21tYW5ke2N0 YWdzfSwgZm9yIGV4YW1wbGUsIHlvdSBzaG91bGQgc3BlY2lmeQotdGhlIHZhbHVlIG9mIEBj b2Rle2N0YWdzLXByb2dyYW0tbmFtZX0gaW5zdGVhZC4gIExpa2V3aXNlLCBpbnN0ZWFkIG9m CisgIEluc3RlYWQgb2Ygc3RhcnRpbmcgQGNvbW1hbmR7ZW1hY3NjbGllbnR9LCBmb3IgZXhh bXBsZSwgeW91IHNob3VsZCBzcGVjaWZ5Cit0aGUgdmFsdWUgb2YgQGNvZGV7ZW1hY3NjbGll bnQtcHJvZ3JhbS1uYW1lfSBpbnN0ZWFkLiAgTGlrZXdpc2UsIGluc3RlYWQgb2YKIHN0YXJ0 aW5nIEBjb21tYW5ke21vdmVtYWlsfSwgeW91IG11c3Qgc3RhcnQKIEBjb2Rle21vdmVtYWls LXByb2dyYW0tbmFtZX0sIGFuZCB0aGUgc2FtZSBnb2VzIGZvciBAY29tbWFuZHtldGFnc30s Ci1AY29tbWFuZHtoZXhsfSwgQGNvbW1hbmR7ZW1hY3NjbGllbnR9LCBAY29kZXtyY3MybG9n fSwgYW5kCitAY29tbWFuZHtoZXhsfSwgQGNvZGV7cmNzMmxvZ30sIGFuZAogQGNvbW1hbmR7 ZWJyb3dzZX0uCiAKIEBub2RlIFNoZWxsIEFyZ3VtZW50cwpkaWZmIC0tZ2l0IGEvZG9jL21h bi9jdGFncy4xIGIvZG9jL21hbi9jdGFncy4xCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAxZWFiMDJmMjE0NS4uMDAwMDAwMDAwMDAKLS0tIGEvZG9jL21hbi9jdGFncy4xCisr KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotLnNvIG1hbjEvZXRhZ3MuMQpkaWZmIC0tZ2l0 IGEvZG9jL21hbi9ldGFncy4xIGIvZG9jL21hbi9ldGFncy4xCmluZGV4IGE4N2FkMjJkNDhl Li43MDlkNjM4Yjk4MCAxMDA2NDQKLS0tIGEvZG9jL21hbi9ldGFncy4xCisrKyBiL2RvYy9t YW4vZXRhZ3MuMQpAQCAtMSw1ICsxLDUgQEAKIC5cIiBTZWUgc2VjdGlvbiBDT1BZSU5HIGZv ciBjb3B5cmlnaHQgYW5kIHJlZGlzdHJpYnV0aW9uIGluZm9ybWF0aW9uLgotLlRIIEVUQUdT IDEgIjIwMjQtMTItMjEiICJHTlUgVG9vbHMiICJHTlUiCisuVEggRVRBR1MgMSAiMjAyNS0w My0xMSIgIkdOVSBUb29scyIgIkdOVSIKIC5kZSBCUAogLnNwCiAudGkgLS4yaQpAQCAtNyw3 ICs3LDcgQEAKIC4uCiAKIC5TSCBOQU1FCi1ldGFncywgY3RhZ3MgXC0gZ2VuZXJhdGUgdGFn IGZpbGUgZm9yIEVtYWNzLCB2aQorZXRhZ3MgXC0gZ2VuZXJhdGUgdGFnIGZpbGUgZm9yIEVt YWNzLCB2aQogLlNIIFNZTk9QU0lTCiAuaHkgMAogLm5hCkBAIC0yNyw3ICsyNyw3IEBAIGV0 YWdzLCBjdGFncyBcLSBnZW5lcmF0ZSB0YWcgZmlsZSBmb3IgRW1hY3MsIHZpCiBbXHxcLVwt aGVscFx8XSBbXHxcLVwtdmVyc2lvblx8XQogXGZJZmlsZVxmUCAuXHwuXHwuCiAKLVxmQmN0 YWdzXGZQIFtcfFwtYUNkZ0lRUlZoXHxdIFtcfFwtQnRUdXZ3eFx8XSBbXHxcLWwgXGZJbGFu Z3VhZ2VcZlBcfF0KK1xmQmV0YWdzIFwtXC1jdGFnc1xmUCBbXHxcLWFDZGdJUVJWaFx8XSBb XHxcLUJ0VHV2d3hcfF0gW1x8XC1sIFxmSWxhbmd1YWdlXGZQXHxdCiAuaWYgbiAuYnIKIFtc fFwtbyBcZkl0YWdmaWxlXGZQXHxdIFtcfFwtciBcZklyZWdleHBcZlBcfF0KIFtcfFwtXC1w YXJzZVwtc3RkaW49XGZJZmlsZVxmUFx8XQpAQCAtNDcsMTcgKzQ3LDE4IEBAIGV0YWdzLCBj dGFncyBcLSBnZW5lcmF0ZSB0YWcgZmlsZSBmb3IgRW1hY3MsIHZpCiBUaGUgXHxcZkJldGFn c1xmUFx8IHByb2dyYW0gaXMgdXNlZCB0byBjcmVhdGUgYSB0YWcgdGFibGUgZmlsZSwgaW4g YSBmb3JtYXQKIHVuZGVyc3Rvb2QgYnkKIC5CUiBlbWFjcyAoIDEgKVxjCi1cJjsgdGhlIFx8 XGZCY3RhZ3NcZlBcfCBwcm9ncmFtIGlzIHVzZWQgdG8gY3JlYXRlIGEgc2ltaWxhciB0YWJs ZSBpbiBhCitcJjsgaWYgdGhlIGZpcnN0IG9wdGlvbiBpcyBcfFxmQlwtXC1jdGFnc1xmUFx8 Cit0aGUgcHJvZ3JhbSBpcyB1c2VkIHRvIGNyZWF0ZSBhIHNpbWlsYXIgdGFibGUgaW4gYQog Zm9ybWF0IHVuZGVyc3Rvb2QgYnkKIC5CUiB2aSAoIDEgKVxjCi1cJi4gIEJvdGggZm9ybXMg b2YgdGhlIHByb2dyYW0gdW5kZXJzdGFuZAorXCYuICBUaGUgcHJvZ3JhbSB1bmRlcnN0YW5k cwogdGhlIHN5bnRheCBvZiBDLCBPYmplY3RpdmUgQywgQysrLCBKYXZhLCBGb3J0cmFuLCBB ZGEsIENvYm9sLCBFcmxhbmcsCiBGb3J0aCwgR28sIEhUTUwsIExhVGVYLCBFbWFjcyBMaXNw L0NvbW1vbiBMaXNwLCBMdWEsIE1ha2VmaWxlLCBNZXJjdXJ5LCBQYXNjYWwsCiBQZXJsLCBS dWJ5LCBSdXN0LCBQSFAsIFBvc3RTY3JpcHQsIFB5dGhvbiwgUHJvbG9nLCBTY2hlbWUgYW5k IG1vc3QKIGFzc2VtYmxlclwtbGlrZSBzeW50YXhlcy4KLUJvdGggZm9ybXMgcmVhZCB0aGUg ZmlsZXMgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUsIGFuZCB3cml0ZSBhIHRhZwot dGFibGUgKGRlZmF1bHRzOiBcZkJUQUdTXGZQIGZvciBcZkJldGFnc1xmUCwgXGZCdGFnc1xm UCBmb3IKLVxmQmN0YWdzXGZQKSBpbiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4K K0l0IHJlYWRzIHRoZSBmaWxlcyBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZSwgYW5k IHdyaXRlIGEgdGFnCit0YWJsZSAoZGVmYXVsdDogXGZCVEFHU1xmUCwgb3IgXGZCdGFnc1xm UCBpZgorXGZCXC1cLWN0YWdzXGZQIGlzIHVzZWQpIGluIHRoZSBjdXJyZW50IHdvcmtpbmcg ZGlyZWN0b3J5LgogRmlsZXMgc3BlY2lmaWVkIHdpdGggcmVsYXRpdmUgZmlsZSBuYW1lcyB3 aWxsIGJlIHJlY29yZGVkIGluIHRoZSB0YWcKIHRhYmxlIHdpdGggZmlsZSBuYW1lcyByZWxh dGl2ZSB0byB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSB0YWcgdGFibGUKIHJlc2lkZXMuICBJ ZiB0aGUgdGFnIHRhYmxlIGlzIGluIC9kZXYgb3IgaXMgdGhlIHN0YW5kYXJkIG91dHB1dCwK QEAgLTczLDggKzc0LDcgQEAgcGFyc2luZyBvZiB0aGUgZmlsZSBuYW1lcyBmb2xsb3dpbmcg dGhlIHN3aXRjaCBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuCiBsYW5ndWFnZSwgb3ZlcnJpZGlu ZyBndWVzc2VzIGJhc2VkIG9uIGZpbGVuYW1lIGV4dGVuc2lvbnMuCiAuU0ggT1BUSU9OUwog U29tZSBvcHRpb25zIG1ha2Ugc2Vuc2Ugb25seSBmb3IgdGhlIFxmQnZpXGZQIHN0eWxlIHRh ZyBmaWxlcyBwcm9kdWNlZAotYnkgY3RhZ3M7Ci1cZkJldGFnc1xmUCBkb2VzIG5vdCByZWNv Z25pemUgdGhlbS4KK3dpdGggdGhlIFxmQlwtXC1jdGFnc1xmUCBvcHRpb247IHRoZXkgYXJl IGlnbm9yZWQgb3RoZXJ3aXNlLgogVGhlIHByb2dyYW1zIGFjY2VwdCB1bmFtYmlndW91cyBh YmJyZXZpYXRpb25zIGZvciBsb25nIG9wdGlvbiBuYW1lcy4KIC5UUAogLkIgXC1hLCBcLVwt YXBwZW5kCkBAIC04Nyw3ICs4Nyw3IEBAIGV4cHJlc3Npb24gc2VhcmNoIGluc3RydWN0aW9u czsgdGhlIFxmQlwtQlxmUCBvcHRpb24gd3JpdGVzIHRoZW0gdXNpbmcKIHRoZSBkZWxpbWl0 ZXIgIlx8XGZCP1xmUFx8IiwgdG8gc2VhcmNoIFxmSWJhY2t3YXJkc1xmUCB0aHJvdWdoIGZp bGVzLgogVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBkZWxpbWl0ZXIgIlx8XGZCL1xmUFx8 IiwgdG8gc2VhcmNoIFxmSWZvcndhcmRzXGZQCiB0aHJvdWdoIGZpbGVzLgotT25seSBcZkJj dGFnc1xmUCBhY2NlcHRzIHRoaXMgb3B0aW9uLgorVGhpcyBvcHRpb24gbWFrZXMgc2Vuc2Ug b25seSBpZiBcZkJcLVwtY3RhZ3NcZlAgaXMgdXNlZC4KIC5UUAogLkIgXC1cLWRlY2xhcmF0 aW9ucwogSW4gQyBhbmQgZGVyaXZlZCBsYW5ndWFnZXMsIGNyZWF0ZSB0YWdzIGZvciBmdW5j dGlvbiBkZWNsYXJhdGlvbnMsCkBAIC0xODUsNyArMTg1LDcgQEAgdGhlIHByZXZpb3VzIG9u ZXMuICBUaGUgcmVnZXhwcyBhcmUgb2Ygb25lIG9mIHRoZSBmb3JtczoKIHdoZXJlIFxmSXRh Z3JlZ2V4cFxmUCBpcyB1c2VkIHRvIG1hdGNoIHRoZSB0YWcuICBJdCBzaG91bGQgbm90IG1h dGNoCiB1c2VsZXNzIGNoYXJhY3RlcnMuICBJZiB0aGUgbWF0Y2ggaXMgc3VjaCB0aGF0IG1v cmUgY2hhcmFjdGVycyB0aGFuCiBuZWVkZWQgYXJlIHVuYXZvaWRhYmx5IG1hdGNoZWQgYnkg XGZJdGFncmVnZXhwXGZQLCBpdCBtYXkgYmUgdXNlZnVsIHRvCi1hZGQgYSBcZkluYW1lcmVn ZXhwXGZQLCB0byBuYXJyb3cgZG93biB0aGUgdGFnIHNjb3BlLiAgXGZCY3RhZ3NcZlAKK2Fk ZCBhIFxmSW5hbWVyZWdleHBcZlAsIHRvIG5hcnJvdyBkb3duIHRoZSB0YWcgc2NvcGUuICBc ZkJcLVwtY3RhZ3NcZlAKIGlnbm9yZXMgcmVnZXhwcyB3aXRob3V0IGEgXGZJbmFtZXJlZ2V4 cFxmUC4gIFRoZSBzeW50YXggb2YgcmVnZXhwcyBpcwogdGhlIHNhbWUgYXMgaW4gRW1hY3Ms IGV4Y2VwdCB0aGF0IGJhY2tzbGFzaCBlc2NhcGVzIGFyZSB0aGUgc2FtZQogYXMgR05VIGdy ZXAgKHdoaWNoIG1lYW5zLCBmb3IgZXhhbXBsZSwgdGhhdCBzaHkgZ3JvdXBzIGFyZSBub3Qg c3VwcG9ydGVkKSwKQEAgLTI4MSwxNSArMjgxLDE3IEBAIHRhZyBlbnRyaWVzIGZvciBvdGhl ciBmaWxlcyBpbiBwbGFjZS4gIEN1cnJlbnRseSwgdGhpcyBpcyBpbXBsZW1lbnRlZAogYnkg ZGVsZXRpbmcgdGhlIGV4aXN0aW5nIGVudHJpZXMgZm9yIHRoZSBnaXZlbiBmaWxlcyBhbmQg dGhlbgogcmV3cml0aW5nIHRoZSBuZXcgZW50cmllcyBhdCB0aGUgZW5kIG9mIHRoZSB0YWdz IGZpbGUuICBJdCBpcyBvZnRlbgogZmFzdGVyIHRvIHNpbXBseSByZWJ1aWxkIHRoZSBlbnRp cmUgdGFnIGZpbGUgdGhhbiB0byB1c2UgdGhpcy4KLU9ubHkgXGZCY3RhZ3NcZlAgYWNjZXB0 cyB0aGlzIG9wdGlvbi4KK1RoaXMgb3B0aW9uIG1ha2VzIHNlbnNlIG9ubHkgaWYgXGZCXC1c LWN0YWdzXGZQIGlzIHVzZWQuCiAuVFAKIC5CIFwtdiwgXC1cLXZncmluZAogSW5zdGVhZCBv ZiBnZW5lcmF0aW5nIGEgdGFnIGZpbGUsIHdyaXRlIGluZGV4IChpbiBcZkJ2Z3JpbmRcZlAg Zm9ybWF0KQotdG8gc3RhbmRhcmQgb3V0cHV0LiAgT25seSBcZkJjdGFnc1xmUCBhY2NlcHRz IHRoaXMgb3B0aW9uLgordG8gc3RhbmRhcmQgb3V0cHV0LgorVGhpcyBvcHRpb24gbWFrZXMg c2Vuc2Ugb25seSBpZiBcZkJcLVwtY3RhZ3NcZlAgaXMgdXNlZC4KIC5UUAogLkIgXC14LCBc LVwtY3hyZWYKIEluc3RlYWQgb2YgZ2VuZXJhdGluZyBhIHRhZyBmaWxlLCB3cml0ZSBhIGNy b3NzIHJlZmVyZW5jZSAoaW4KLVxmQmN4cmVmXGZQIGZvcm1hdCkgdG8gc3RhbmRhcmQgb3V0 cHV0LiAgT25seSBcZkJjdGFnc1xmUCBhY2NlcHRzIHRoaXMgb3B0aW9uLgorXGZCY3hyZWZc ZlAgZm9ybWF0KSB0byBzdGFuZGFyZCBvdXRwdXQuCitUaGlzIG9wdGlvbiBtYWtlcyBzZW5z ZSBvbmx5IGlmIFxmQlwtXC1jdGFnc1xmUCBpcyB1c2VkLgogLlRQCiAuQiBcLWgsIFwtSCwg XC1cLWhlbHAKIFByaW50IHVzYWdlIGluZm9ybWF0aW9uLiAgRm9sbG93ZWQgYnkgb25lIG9y IG1vcmUgXC1cLWxhbmd1YWdlPUxBTkcKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05F V1MKaW5kZXggOTI2ZDQyNmVhYWUuLjUyMWQ1NDUyOGE1IDEwMDY0NAotLS0gYS9ldGMvTkVX UworKysgYi9ldGMvTkVXUwpAQCAtMjksNiArMjksMTIgQEAgYXBwbGllcywgYW5kIHBsZWFz ZSBhbHNvIHVwZGF0ZSBkb2NzdHJpbmdzIGFzIG5lZWRlZC4KIFRoZSB0cmFkaXRpb25hbCB1 bmV4ZWMgZHVtcGVyLCBkZXByZWNhdGVkIHNpbmNlIEVtYWNzIDI3LCBoYXMgYmVlbgogcmVt b3ZlZC4KIAorLS0tCisqKiBFbWFjcydzIG9sZCBjdGFncyBwcm9ncmFtIGlzIG5vIGxvbmdl ciBidWlsdCBvciBpbnN0YWxsZWQuCitZb3UgYXJlIGVuY291cmFnZWQgdG8gdXNlIFVuaXZl cnNhbCBDdGFncyA8aHR0cHM6Ly9jdGFncy5pby8+IGluc3RlYWQuCitGb3Igbm93LCB0byBn ZXQgdGhlIG9sZCBjdGFncyBiZWhhdmlvciB5b3UgY2FuIGNhbiBydW4gJ2V0YWdzIC0tY3Rh Z3MnCitvciB1c2UgYSBzaGVsbCBzY3JpcHQgbmFtZWQgJ2N0YWdzJyB0aGF0IHJ1bnMgJ2V0 YWdzIC0tY3RhZ3MgIiRAIicuCisKIC0tLQogKiogQ2hhbmdlZCBHQ0MgZGVmYXVsdCBvcHRp b25zIG9uIDMyLWJpdCB4ODYgc3lzdGVtcy4KIFdoZW4gdXNpbmcgR0NDIDQgb3IgbGF0ZXIg dG8gYnVpbGQgRW1hY3Mgb24gMzItYml0IHg4NiBzeXN0ZW1zLApkaWZmIC0tZ2l0IGEvZXRj L1BST0JMRU1TIGIvZXRjL1BST0JMRU1TCmluZGV4IDBkNjFhM2JjNzZlLi45NTI4MTNmMGM1 YiAxMDA2NDQKLS0tIGEvZXRjL1BST0JMRU1TCisrKyBiL2V0Yy9QUk9CTEVNUwpAQCAtMzk3 Myw3ICszOTczLDcgQEAgVGhlcmUgYXJlIHNldmVyYWwga25vd24gd29ya2Fyb3VuZHM6CiAK IFRoZSBsaW5rZXIgZXJyb3IgbWVzc2FnZXMgbG9vayBsaWtlIHRoaXM6CiAKLSBvby1zcGQv aTM4Ni9jdGFncy5vOmN0YWdzLmM6KC50ZXh0KzB4MTU2ZSk6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYF9pbXBfX3JlX3NldF9zeW50YXgnCisgb28tc3BkL2kzODYvZXRhZ3MubzpldGFn cy5jOigudGV4dCsweDE1NmUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19yZV9z ZXRfc3ludGF4JwogIGNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCiAKIFRo aXMgaGFwcGVucyBiZWNhdXNlIEdDQyBmaW5kcyBhbiBpbmNvbXBhdGlibGUgcmVnZXguaCBo ZWFkZXIKQEAgLTQwMDQsNyArNDAwNCw3IEBAIFNvbWUgdmVyc2lvbnMgb2YgbWluZ3czMiBt YWtlIG9uIHNvbWUgdmVyc2lvbnMgb2YgV2luZG93cyBkbyBub3Qgc2VlbQogdG8gZGV0ZWN0 IHRoZSBzaGVsbCBjb3JyZWN0bHkuICBUcnkgIm1ha2UgU0hFTEw9Y21kLmV4ZSIsIG9yIGlm IHRoYXQKIGZhaWxzLCB0cnkgcnVubmluZyBtYWtlIGZyb20gQ3lnd2luIGJhc2ggaW5zdGVh ZC4KIAotKioqIEJ1aWxkaW5nICdjdGFncycgZm9yIE1TLVdpbmRvd3Mgd2l0aCB0aGUgTWlu R1cgcG9ydCBvZiBHQ0MgZmFpbHMuCisqKiogQnVpbGRpbmcgJ2V0YWdzJyBmb3IgTVMtV2lu ZG93cyB3aXRoIHRoZSBNaW5HVyBwb3J0IG9mIEdDQyBmYWlscy4KIAogVGhpcyBtaWdodCBo YXBwZW4gZHVlIHRvIGEgYnVnIGluIHRoZSBNaW5HVyBoZWFkZXIgYXNzZXJ0LmgsIHdoaWNo CiBkZWZpbmVzIHRoZSAnYXNzZXJ0JyBtYWNybyB3aXRoIGEgdHJhaWxpbmcgc2VtaS1jb2xv bi4gIFRoZSBmb2xsb3dpbmcKZGlmZiAtLWdpdCBhL2phdmEvTWFrZWZpbGUuaW4gYi9qYXZh L01ha2VmaWxlLmluCmluZGV4IDM5ZDZlODVjN2E3Li40OTg4MjkwYTIwNyAxMDA2NDQKLS0t IGEvamF2YS9NYWtlZmlsZS5pbgorKysgYi9qYXZhL01ha2VmaWxlLmluCkBAIC0xMjgsNyAr MTI4LDYgQEAgSVNfRDhfUjggOj0KICMgY29udGFpbmluZyB0aGUgZm9sbG93aW5nIGZpbGVz OgogIyAgbGliLyQoQU5EUk9JRF9BQkkpL2xpYmVtYWNzLnNvCiAjICBsaWIvJChBTkRST0lE X0FCSSkvbGliYW5kcm9pZC1lbWFjcy5zbwotIyAgbGliLyQoQU5EUk9JRF9BQkkpL2xpYmN0 YWdzLnNvCiAjICBsaWIvJChBTkRST0lEX0FCSSkvbGliZXRhZ3Muc28KICMgIGxpYi8kKEFO RFJPSURfQUJJKS9saWJoZXhsLnNvCiAjICBsaWIvJChBTkRST0lEX0FCSSkvbGlibW92ZW1h aWwuc28KQEAgLTE0Myw4ICsxNDIsNyBAQCBhbGw6CiAKICMgQmluYXJpZXMgdG8gY3Jvc3Mt Y29tcGlsZS4KIENST1NTX1NSQ19CSU5TIDo9ICQodG9wX2J1aWxkZGlyKS9jcm9zcy9zcmMv YW5kcm9pZC1lbWFjcwotQ1JPU1NfTElCU1JDX0JJTlMgOj0gJCh0b3BfYnVpbGRkaXIpL2Ny b3NzL2xpYi1zcmMvY3RhZ3MJXAotCQkgICAgICQodG9wX2J1aWxkZGlyKS9jcm9zcy9saWIt c3JjL2hleGwJCVwKK0NST1NTX0xJQlNSQ19CSU5TIDo9ICQodG9wX2J1aWxkZGlyKS9jcm9z cy9saWItc3JjL2hleGwJCVwKIAkJICAgICAkKHRvcF9idWlsZGRpcikvY3Jvc3MvbGliLXNy Yy9lYnJvd3NlCVwKIAkJICAgICAkKHRvcF9idWlsZGRpcikvY3Jvc3MvbGliLXNyYy9lbWFj c2NsaWVudAlcCiAJCSAgICAgJCh0b3BfYnVpbGRkaXIpL2Nyb3NzL2xpYi1zcmMvZXRhZ3MK ZGlmZiAtLWdpdCBhL2xpYi1zcmMvTWFrZWZpbGUuaW4gYi9saWItc3JjL01ha2VmaWxlLmlu CmluZGV4IDQzOWQ5YTFhNTJkLi40OWEyNDNlNDc5NSAxMDA2NDQKLS0tIGEvbGliLXNyYy9N YWtlZmlsZS5pbgorKysgYi9saWItc3JjL01ha2VmaWxlLmluCkBAIC0xNTUsNyArMTU1LDcg QEAgQU5EUk9JRD0KIENMSUVOVFcgPSBAQ0xJRU5UV0AKIAogIyBUaGluZ3MgdGhhdCBhIHVz ZXIgbWlnaHQgYWN0dWFsbHkgcnVuLCB3aGljaCBzaG91bGQgYmUgaW5zdGFsbGVkIGluIGJp bmRpci4KLUlOU1RBTExBQkxFUyA9IGV0YWdzJHtFWEVFWFR9IGN0YWdzJHtFWEVFWFR9IGVt YWNzY2xpZW50JHtFWEVFWFR9ICQoQ0xJRU5UVykgXAorSU5TVEFMTEFCTEVTID0gZXRhZ3Mk e0VYRUVYVH0gZW1hY3NjbGllbnQke0VYRUVYVH0gJChDTElFTlRXKSBcCiAgICAgICAgICAg ICAgICBlYnJvd3NlJHtFWEVFWFR9CiAKICMgVGhpbmdzIHRoYXQgRW1hY3MgcnVucyBpbnRl cm5hbGx5LCBvciBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MsCkBAIC00MTUsMTMgKzQxNSw2 IEBAIGV0YWdzX2xpYnMgPQogZXRhZ3Mke0VYRUVYVH06ICR7ZXRhZ3NfZGVwc30KIAkkKEFN X1ZfQ0NMRCkkKENDKSAke0FMTF9DRkxBR1N9IC1vICRAICQ8ICQoZXRhZ3NfbGlicykKIAot IyMgY3RhZ3MuYyBpcyBkaXN0aW5jdCBmcm9tIGV0YWdzLmMgc28gdGhhdCBwYXJhbGxlbCBt YWtlcyBkbyBub3Qgd3JpdGUgdHdvCi0jIyBldGFncy5vIGZpbGVzIG9uIHRvcCBvZiBlYWNo IG90aGVyLgotIyMgRklYTUU/Ci0jIyBDYW4ndCB3ZSB1c2UgYSB3cmFwcGVyIHRoYXQgY2Fs bHMgJ2V0YWdzIC0tY3RhZ3MnPwotY3RhZ3Mke0VYRUVYVH06ICR7c3JjZGlyfS9jdGFncy5j ICR7ZXRhZ3NfZGVwc30KLQkkKEFNX1ZfQ0NMRCkkKENDKSAke0FMTF9DRkxBR1N9IC1vICRA ICQ8ICQoZXRhZ3NfbGlicykKLQogYXNzZXQtZGlyZWN0b3J5LXRvb2wke0VYRUVYVH06ICR7 c3JjZGlyfS9hc3NldC1kaXJlY3RvcnktdG9vbC5jICQoY29uZmlnX2gpCiAJJChBTV9WX0ND TEQpJChDQykgJHtBTExfQ0ZMQUdTfSAkPCAkKExPQURMSUJFUykgLW8gJEAKIApkaWZmIC0t Z2l0IGEvbGliLXNyYy9jdGFncy5jIGIvbGliLXNyYy9jdGFncy5jCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwYTY4MzhhOWRiYi4uMDAwMDAwMDAwMDAKLS0tIGEvbGliLXNy Yy9jdGFncy5jCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0jZGVmaW5lIENUQUdT IDEKLSNpbmNsdWRlICJldGFncy5jIgpkaWZmIC0tZ2l0IGEvbGliLXNyYy9ldGFncy5jIGIv bGliLXNyYy9ldGFncy5jCmluZGV4IGI1OWI3MGM5ZWM3Li5kNTExYmMzOTU4OCAxMDA2NDQK LS0tIGEvbGliLXNyYy9ldGFncy5jCisrKyBiL2xpYi1zcmMvZXRhZ3MuYwpAQCAtMTI2LDE2 ICsxMjYsNiBAQCBDb3B5cmlnaHQgKEMpIDE5ODQsIDE5ODctMTk4OSwgMTk5My0xOTk1LCAx OTk4LTIwMjUgRnJlZSBTb2Z0d2FyZQogI2luY2x1ZGUgPGdldG9wdC5oPgogI2luY2x1ZGUg PHJlZ2V4Lmg+CiAKLS8qIERlZmluZSBDVEFHUyB0byBtYWtlIHRoZSBwcm9ncmFtICJjdGFn cyIgY29tcGF0aWJsZSB3aXRoIHRoZSB1c3VhbCBvbmUuCi0gTGVhdmUgaXQgdW5kZWZpbmVk IHRvIG1ha2UgdGhlIHByb2dyYW0gImV0YWdzIiwgd2hpY2ggbWFrZXMgZW1hY3Mtc3R5bGUK LSB0YWcgdGFibGVzIGFuZCB0YWdzIHR5cGVkZWZzLCAjZGVmaW5lcyBhbmQgc3RydWN0L3Vu aW9uL2VudW0gYnkgZGVmYXVsdC4gKi8KLSNpZmRlZiBDVEFHUwotIyB1bmRlZiAgQ1RBR1MK LSMgZGVmaW5lIENUQUdTIHRydWUKLSNlbHNlCi0jIGRlZmluZSBDVEFHUyBmYWxzZQotI2Vu ZGlmCi0KIC8qIERlZmluZSBNRVJDVVJZX0hFVVJJU1RJQ1NfUkFUSU8gYXMgaXQgd2FzIG5l Y2Vzc2FyeSB0byBkaXNhbWJpZ3VhdGUKICAgIE1lcmN1cnkgZnJvbSBPYmplY3RpdmUgQywg d2hpY2ggaGF2ZSBzYW1lIGZpbGUgZXh0ZW5zaW9ucyAubQogICAgU2VlIGNvbW1lbnRzIGJl Zm9yZSBmdW5jdGlvbiB0ZXN0X29iamNfaXNfbWVyY3VyeSBmb3IgZGV0YWlscy4gICovCkBA IC00NjUsMTIgKzQ1NSwxMiBAQCAjZGVmaW5lIHhybmV3KG9wLCBuLCBtKSAoKG9wKSA9IHhu cmVhbGxvYyAob3AsIG4sIChtKSAqIHNpemVvZiAqKG9wKSkpCiAJCQkJLyogbWVtYmVyIGZ1 bmN0aW9ucy4gKi8KIHN0YXRpYyBib29sIGNvbnN0YW50eXBlZGVmczsJLyogLWQ6IGNyZWF0 ZSB0YWdzIGZvciBDICNkZWZpbmUsIGVudW0gKi8KIAkJCQkvKiBjb25zdGFudHMgYW5kIHZh cmlhYmxlcy4gKi8KLQkJCQkvKiAtRDogb3Bwb3NpdGUgb2YgLWQuICBEZWZhdWx0IHVuZGVy IGN0YWdzLiAqLworCQkJCS8qIC1EOiBvcHBvc2l0ZSBvZiAtZC4gIERlZmF1bHQgaWYgY3Rh Z3MuICovCiBzdGF0aWMgaW50IGdsb2JhbHM7CQkvKiBjcmVhdGUgdGFncyBmb3IgZ2xvYmFs IHZhcmlhYmxlcyAqLwogc3RhdGljIGludCBtZW1iZXJzOwkJLyogY3JlYXRlIHRhZ3MgZm9y IEMgbWVtYmVyIHZhcmlhYmxlcyAqLwogc3RhdGljIGludCBkZWNsYXJhdGlvbnM7CS8qIC0t ZGVjbGFyYXRpb25zOiB0YWcgdGhlbSBhbmQgZXh0ZXJuIGluIEMmQ28qLwogc3RhdGljIGlu dCBub19saW5lX2RpcmVjdGl2ZTsJLyogaWdub3JlICNsaW5lIGRpcmVjdGl2ZXMgKHVuZG9j dW1lbnRlZCkgKi8KLXN0YXRpYyBpbnQgbm9fZHVwbGljYXRlczsJLyogbm8gZHVwbGljYXRl IHRhZ3MgZm9yIGN0YWdzICh1bmRvY3VtZW50ZWQpICovCitzdGF0aWMgaW50IG5vX2R1cGxp Y2F0ZXM7CS8qIG5vIGR1cGxpY2F0ZSB0YWdzIGlmIGN0YWdzICh1bmRvY3VtZW50ZWQpICov CiBzdGF0aWMgYm9vbCB1cGRhdGU7CQkvKiAtdTogdXBkYXRlIHRhZ3MgKi8KIHN0YXRpYyBi b29sIHZncmluZF9zdHlsZTsJLyogLXY6IGNyZWF0ZSB2Z3JpbmQgc3R5bGUgaW5kZXggb3V0 cHV0ICovCiBzdGF0aWMgYm9vbCBub193YXJuaW5nczsJLyogLXc6IHN1cHByZXNzIHdhcm5p bmdzICh1bmRvY3VtZW50ZWQpICovCkBAIC00NzksMTggKzQ2OSwyMCBAQCAjZGVmaW5lIHhy bmV3KG9wLCBuLCBtKSAoKG9wKSA9IHhucmVhbGxvYyAob3AsIG4sIChtKSAqIHNpemVvZiAq KG9wKSkpCiBzdGF0aWMgYm9vbCBpZ25vcmVpbmRlbnQ7CS8qIC1JOiBpZ25vcmUgaW5kZW50 YXRpb24gaW4gQyAqLwogc3RhdGljIGludCBwYWNrYWdlc19vbmx5OwkvKiAtLXBhY2thZ2Vz LW9ubHk6IGluIEFkYSwgb25seSB0YWcgcGFja2FnZXMqLwogc3RhdGljIGludCBjbGFzc19x dWFsaWZ5OwkvKiAtUTogcHJvZHVjZSBjbGFzcy1xdWFsaWZpZWQgdGFncyBpbiBDKysvSmF2 YSAqLworc3RhdGljIGJvb2wgY3RhZ3M7CQkvKiAtLWN0YWdzICovCiBzdGF0aWMgaW50IGRl YnVnOwkJLyogLS1kZWJ1ZyAqLwogc3RhdGljIGludCBmYWxsYmFja19sYW5nOwkvKiAtLShu by0pZmFsbGJhY2stbGFuZzogRm9ydHJhbi9DIGZhbGxiYWNrcyAqLwogc3RhdGljIGludCBl bXB0eV9maWxlczsJCS8qIC0tKG5vLSllbXB0eS1maWxlLWVudHJpZXMgKi8KLQotLyogU1RE SU4gaXMgZGVmaW5lZCBpbiBMeW54T1Mgc3lzdGVtIGhlYWRlcnMgKi8KLSNpZmRlZiBTVERJ TgotIyB1bmRlZiBTVERJTgotI2VuZGlmCi0KLSNkZWZpbmUgU1RESU4gMHgxMDAxCQkvKiBy ZXR1cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICovCiBzdGF0aWMgYm9v bCBwYXJzaW5nX3N0ZGluOwkvKiAtLXBhcnNlLXN0ZGluIHVzZWQgKi8KIAorLyogRm9yIGxv bmcgb3B0aW9ucyB0aGF0IGhhdmUgbm8gZXF1aXZhbGVudCBzaG9ydCBvcHRpb24sIHVzZSBh CisgICBub24tY2hhcmFjdGVyIGFzIGEgcHNldWRvIHNob3J0IG9wdGlvbiwgc3RhcnRpbmcg d2l0aCBDSEFSX01BWCArIDEuICAqLworZW51bQorICB7CisgICAgQ1RBR1NfT1BUSU9OID0g Q0hBUl9NQVggKyAxLAorICAgIFNURElOX09QVElPTgorICB9OworCiBzdGF0aWMgcmVnZXhw ICpwX2hlYWQ7CQkvKiBsaXN0IG9mIGFsbCByZWdleHBzICovCiBzdGF0aWMgYm9vbCBuZWVk X2ZpbGVidWY7CS8qIHNvbWUgcmVnZXhlcyBhcmUgbXVsdGktbGluZSAqLwogCkBAIC00OTks NiArNDkxLDcgQEAgI2RlZmluZSBTVERJTiAweDEwMDEJCS8qIHJldHVybmVkIGJ5IGdldG9w dF9sb25nIG9uIC0tcGFyc2Utc3RkaW4gKi8KICAgeyAiYXBwZW5kIiwgICAgICAgICAgICAg bm9fYXJndW1lbnQsICAgICAgIE5VTEwsICAgICAgICAgICAgICAgJ2EnICAgfSwKICAgeyAi cGFja2FnZXMtb25seSIsICAgICAgbm9fYXJndW1lbnQsICAgICAgICZwYWNrYWdlc19vbmx5 LCAgICAgMSAgICAgfSwKICAgeyAiYysrIiwgICAgICAgICAgICAgICAgbm9fYXJndW1lbnQs ICAgICAgIE5VTEwsICAgICAgICAgICAgICAgJ0MnICAgfSwKKyAgeyAiY3RhZ3MiLCAgICAg ICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICAgICAgICBDVEFHU19PUFRJT04g fSwKICAgeyAiZGVidWciLCAgICAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgICZkZWJ1 ZywgICAgICAgICAgICAgMSAgICAgfSwKICAgeyAiZGVjbGFyYXRpb25zIiwgICAgICAgbm9f YXJndW1lbnQsICAgICAgICZkZWNsYXJhdGlvbnMsICAgICAgMSAgICAgfSwKICAgeyAibm8t bGluZS1kaXJlY3RpdmUiLCAgbm9fYXJndW1lbnQsICAgICAgICZub19saW5lX2RpcmVjdGl2 ZSwgMSAgICAgfSwKQEAgLTUxNCwxMCArNTA3LDEwIEBAICNkZWZpbmUgU1RESU4gMHgxMDAx CQkvKiByZXR1cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICovCiAgIHsg InJlZ2V4IiwgICAgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAgICAgICAg ICAgICAgICdyJyAgIH0sCiAgIHsgIm5vLXJlZ2V4IiwgICAgICAgICAgIG5vX2FyZ3VtZW50 LCAgICAgICBOVUxMLCAgICAgICAgICAgICAgICdSJyAgIH0sCiAgIHsgImlnbm9yZS1jYXNl LXJlZ2V4IiwgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAgICAgICAgICAgICAgICdjJyAg IH0sCi0gIHsgInBhcnNlLXN0ZGluIiwgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxM LCAgICAgICAgICAgICAgIFNURElOIH0sCisgIHsgInBhcnNlLXN0ZGluIiwgICAgICAgIHJl cXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAgICAgICAgU1RESU5fT1BUSU9OIH0sCiAgIHsgInZl cnNpb24iLCAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAg ICAgICdWJyAgIH0sCiAKLSNpZiBDVEFHUyAvKiBDdGFncyBvcHRpb25zICovCisgIC8qIGN0 YWdzIG9wdGlvbnMgKi8KICAgeyAiYmFja3dhcmQtc2VhcmNoIiwgICAgbm9fYXJndW1lbnQs ICAgICAgIE5VTEwsICAgICAgICAgICAgICAgJ0InICAgfSwKICAgeyAiY3hyZWYiLCAgICAg ICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICAgICAgICAgICAgICAgJ3gnICAg fSwKICAgeyAiZGVmaW5lcyIsICAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEws ICAgICAgICAgICAgICAgJ2QnICAgfSwKQEAgLTUyOCw3ICs1MjEsNyBAQCAjZGVmaW5lIFNU RElOIDB4MTAwMQkJLyogcmV0dXJuZWQgYnkgZ2V0b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRp biAqLwogICB7ICJ2Z3JpbmQiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVM TCwgICAgICAgICAgICAgICAndicgICB9LAogICB7ICJuby13YXJuIiwgICAgICAgICAgICBu b19hcmd1bWVudCwgICAgICAgTlVMTCwgICAgICAgICAgICAgICAndycgICB9LAogCi0jZWxz ZSAvKiBFdGFncyBvcHRpb25zICovCisgIC8qIGV0YWdzIG9wdGlvbnMgKi8KICAgeyAibm8t ZGVmaW5lcyIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICAgICAgICAgICAg ICAgJ0QnICAgfSwKICAgeyAibm8tZ2xvYmFscyIsICAgICAgICAgbm9fYXJndW1lbnQsICAg ICAgICZnbG9iYWxzLCAgICAgICAgICAgMCAgICAgfSwKICAgeyAiaW5jbHVkZSIsICAgICAg ICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICAgICAgICAgICAgICAgJ2knICAgfSwK QEAgLTUzNiw3ICs1MjksNyBAQCAjZGVmaW5lIFNURElOIDB4MTAwMQkJLyogcmV0dXJuZWQg YnkgZ2V0b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAqLwogICB7ICJmYWxsYmFjay1sYW5n IiwgICAgICBub19hcmd1bWVudCwgICAgICAgJmZhbGxiYWNrX2xhbmcsICAgICAxICAgICB9 LAogICB7ICJuby1lbXB0eS1maWxlLWVudHJpZXMiLCBub19hcmd1bWVudCwgICAgJmVtcHR5 X2ZpbGVzLCAgICAgICAwICAgICB9LAogICB7ICJlbXB0eS1maWxlLWVudHJpZXMiLCBub19h cmd1bWVudCwgICAgICAgJmVtcHR5X2ZpbGVzLCAgICAgICAxICAgICB9LAotI2VuZGlmCisK ICAgeyBOVUxMIH0KIH07CiAKQEAgLTU5OCwxNSArNTkxLDE3IEBAICNkZWZpbmUgU1RESU4g MHgxMDAxCQkvKiByZXR1cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICov CiAgICBUaGF0IGlzIHdoeSBkZWZhdWx0X0NfZW50cmllcyBpcyBjYWxsZWQgZm9yIHRoZXNl LiAqLwogc3RhdGljIGNvbnN0IGNoYXIgKmRlZmF1bHRfQ19zdWZmaXhlcyBbXSA9CiAgIHsg ImMiLCAiaCIsIE5VTEwgfTsKLSNpZiBDVEFHUwkJCQkvKiBDIGhlbHAgZm9yIEN0YWdzICov Ci1zdGF0aWMgY29uc3QgY2hhciBkZWZhdWx0X0NfaGVscCBbXSA9CisKKy8qIEMgaGVscCBm b3IgY3RhZ3MgKi8KK3N0YXRpYyBjb25zdCBjaGFyIGN0YWdzX2RlZmF1bHRfQ19oZWxwW10g PQogIkluIEMgY29kZSwgYW55IEMgZnVuY3Rpb24gaXMgYSB0YWcuICBVc2UgLXQgdG8gdGFn IHR5cGVkZWZzLlxuXAogVXNlIC1UIHRvIHRhZyBkZWZpbml0aW9ucyBvZiAnc3RydWN0Jywg J3VuaW9uJyBhbmQgJ2VudW0nLlxuXAogVXNlIC1kIHRvIHRhZyAnI2RlZmluZScgbWFjcm8g ZGVmaW5pdGlvbnMgYW5kICdlbnVtJyBjb25zdGFudHMuXG5cCiBVc2UgLS1nbG9iYWxzIHRv IHRhZyBnbG9iYWwgdmFyaWFibGVzLlxuXAogWW91IGNhbiB0YWcgZnVuY3Rpb24gZGVjbGFy YXRpb25zIGFuZCBleHRlcm5hbCB2YXJpYWJsZXMgYnlcblwKIHVzaW5nICctLWRlY2xhcmF0 aW9ucycsIGFuZCBzdHJ1Y3QgbWVtYmVycyBieSB1c2luZyAnLS1tZW1iZXJzJy4iOwotI2Vs c2UJCQkJCS8qIEMgaGVscCBmb3IgRXRhZ3MgKi8KKworLyogQyBoZWxwIGZvciBldGFncyAq Lwogc3RhdGljIGNvbnN0IGNoYXIgZGVmYXVsdF9DX2hlbHAgW10gPQogIkluIEMgY29kZSwg YW55IEMgZnVuY3Rpb24gb3IgdHlwZWRlZiBpcyBhIHRhZywgYW5kIHNvIGFyZVxuXAogZGVm aW5pdGlvbnMgb2YgJ3N0cnVjdCcsICd1bmlvbicgYW5kICdlbnVtJy4gICcjZGVmaW5lJyBt YWNyb1xuXApAQCAtNjE3LDcgKzYxMiw2IEBAICNkZWZpbmUgU1RESU4gMHgxMDAxCQkvKiBy ZXR1cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICovCiAnLS1uby1tZW1i ZXJzJyBjYW4gbWFrZSB0aGUgdGFncyB0YWJsZSBmaWxlIG11Y2ggc21hbGxlci5cblwKIFlv dSBjYW4gdGFnIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgZXh0ZXJuYWwgdmFyaWFibGVz IGJ5XG5cCiB1c2luZyAnLS1kZWNsYXJhdGlvbnMnLiI7Ci0jZW5kaWYJLyogQyBoZWxwIGZv ciBDdGFncyBhbmQgRXRhZ3MgKi8KIAogc3RhdGljIGNvbnN0IGNoYXIgKkNwbHVzcGx1c19z dWZmaXhlcyBbXSA9CiAgIHsgIkMiLCAiYysrIiwgImNjIiwgImNwcCIsICJjeHgiLCAiSCIs ICJoKysiLCAiaGgiLCAiaHBwIiwgImh4eCIsCkBAIC04NjIsNiArODU2LDcgQEAgI2RlZmlu ZSBTVERJTiAweDEwMDEJCS8qIHJldHVybmVkIGJ5IGdldG9wdF9sb25nIG9uIC0tcGFyc2Ut c3RkaW4gKi8KIHsKICAgeyAiYWRhIiwgICAgICAgQWRhX2hlbHAsICAgICAgIEFkYV9mdW5j cywgICAgICAgICBBZGFfc3VmZml4ZXMgICAgICAgfSwKICAgeyAiYXNtIiwgICAgICAgQXNt X2hlbHAsICAgICAgIEFzbV9sYWJlbHMsICAgICAgICBBc21fc3VmZml4ZXMgICAgICAgfSwK KyNkZWZpbmUgQ19MQU5HX05BTUVTX0lOREVYIDIKICAgeyAiYyIsICAgICAgICAgZGVmYXVs dF9DX2hlbHAsIGRlZmF1bHRfQ19lbnRyaWVzLCBkZWZhdWx0X0Nfc3VmZml4ZXMgfSwKICAg eyAiYysrIiwgICAgICAgQ3BsdXNwbHVzX2hlbHAsIENwbHVzcGx1c19lbnRyaWVzLCBDcGx1 c3BsdXNfc3VmZml4ZXMgfSwKICAgeyAiYyoiLCAgICAgICAgbm9fbGFuZ19oZWxwLCAgIENz dGFyX2VudHJpZXMsICAgICBDc3Rhcl9zdWZmaXhlcyAgICAgfSwKQEAgLTkzNCwxNSArOTI5 LDEwIEBAIHByaW50X2xhbmd1YWdlX25hbWVzICh2b2lkKQogZXRhZ3MgLS1oZWxwIC0tbGFu Zz1hZGEuIik7CiB9CiAKLSNpZiBDVEFHUwotIyBkZWZpbmUgUFJPR1JBTV9OQU1FICJjdGFn cyIKLSNlbHNlCi0jIGRlZmluZSBQUk9HUkFNX05BTUUgImV0YWdzIgotI2VuZGlmCiBzdGF0 aWMgX05vcmV0dXJuIHZvaWQKIHByaW50X3ZlcnNpb24gKHZvaWQpCiB7Ci0gIGZwdXRzICgo UFJPR1JBTV9OQU1FICIgKCIgUEFDS0FHRV9OQU1FICIgIiBQQUNLQUdFX1ZFUlNJT04gIilc biIKKyAgZnB1dHMgKCgiZXRhZ3MgKCIgUEFDS0FHRV9OQU1FICIgIiBQQUNLQUdFX1ZFUlNJ T04gIilcbiIKIAkgIENPUFlSSUdIVCAiXG4iCiAJICAiVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBpbiBFVEFHUy5SRUFETUVcbiIpLAogCSBzdGRvdXQp OwpAQCAtOTg0LDcgKzk3NCw3IEBAIHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIp CiAgIHB1dHMgKCItLXBhY2thZ2VzLW9ubHlcblwKICAgICAgICAgRm9yIEFkYSBmaWxlcywg b25seSBnZW5lcmF0ZSB0YWdzIGZvciBwYWNrYWdlcy4iKTsKIAotICBpZiAoQ1RBR1MpCisg IGlmIChjdGFncykKICAgICBwdXRzICgiLUIsIC0tYmFja3dhcmQtc2VhcmNoXG5cCiAgICAg ICAgIFdyaXRlIHRoZSBzZWFyY2ggY29tbWFuZHMgZm9yIHRoZSB0YWcgZW50cmllcyB1c2lu ZyAnPycsIHRoZVxuXAogICAgICAgICBiYWNrd2FyZC1zZWFyY2ggY29tbWFuZCBpbnN0ZWFk IG9mICcvJywgdGhlIGZvcndhcmQtc2VhcmNoIGNvbW1hbmQuIik7CkBAIC05OTcsOSArOTg3 LDEzIEBAIHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIpCiAgICAgICAgIFRyZWF0 IGZpbGVzIHdob3NlIG5hbWUgc3VmZml4IGRlZmF1bHRzIHRvIEMgbGFuZ3VhZ2UgYXMgQysr IGZpbGVzLiIpOwogICAqLwogCisgIGlmIChQUklOVF9VTkRPQ1VNRU5URURfT1BUSU9OU19I RUxQICYmICFjdGFncykKKyAgICBwdXRzICgiLS1jdGFnc1xuXAorCUltcGxlbWVudCBjdGFn cyBiZWhhdmlvci4iKTsKKwogICBwdXRzICgiLS1kZWNsYXJhdGlvbnNcblwKIAlJbiBDIGFu ZCBkZXJpdmVkIGxhbmd1YWdlcywgY3JlYXRlIHRhZ3MgZm9yIGZ1bmN0aW9uIGRlY2xhcmF0 aW9ucywiKTsKLSAgaWYgKENUQUdTKQorICBpZiAoY3RhZ3MpCiAgICAgcHV0cyAoIlx0YW5k IGNyZWF0ZSB0YWdzIGZvciBleHRlcm4gdmFyaWFibGVzIGlmIC0tZ2xvYmFscyBpcyB1c2Vk LiIpOwogICBlbHNlCiAgICAgcHV0cwpAQCAtMTAwOCw3ICsxMDAyLDcgQEAgcHJpbnRfaGVs cCAoYXJndW1lbnQgKmFyZ2J1ZmZlcikKICAgcHV0cyAoIlx0SW4gTWVyY3VyeSwgdGFnIGJv dGggZGVjbGFyYXRpb25zIHN0YXJ0aW5nIGEgbGluZSB3aXRoICc6LScgYW5kXG5cCiAgICAg ICAgIGZpcnN0IHByZWRpY2F0ZXMgb3IgZnVuY3Rpb25zIGluIGNsYXVzZXMuIik7CiAKLSAg aWYgKENUQUdTKQorICBpZiAoY3RhZ3MpCiAgICAgcHV0cyAoIi1kLCAtLWRlZmluZXNcblwK ICAgICAgICAgQ3JlYXRlIHRhZyBlbnRyaWVzIGZvciBDICNkZWZpbmUgY29uc3RhbnRzIGFu ZCBlbnVtIGNvbnN0YW50cywgdG9vLiIpOwogICBlbHNlCkBAIC0xMDE2LDcgKzEwMTAsNyBA QCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVmZmVyKQogICAgICAgICBEb24ndCBjcmVh dGUgdGFnIGVudHJpZXMgZm9yIEMgI2RlZmluZSBjb25zdGFudHMgYW5kIGVudW0gY29uc3Rh bnRzLlxuXAogCVRoaXMgbWFrZXMgdGhlIHRhZ3MgZmlsZSBzbWFsbGVyLiIpOwogCi0gIGlm ICghQ1RBR1MpCisgIGlmICghY3RhZ3MpCiAgICAgcHV0cyAoIi1pIEZJTEUsIC0taW5jbHVk ZT1GSUxFXG5cCiAgICAgICAgIEluY2x1ZGUgYSBub3RlIGluIHRhZyBmaWxlIGluZGljYXRp bmcgdGhhdCwgd2hlbiBzZWFyY2hpbmcgZm9yXG5cCiAgICAgICAgIGEgdGFnLCBvbmUgc2hv dWxkIGFsc28gY29uc3VsdCB0aGUgdGFncyBmaWxlIEZJTEUgYWZ0ZXJcblwKQEAgLTEwMjYs NyArMTAyMCw3IEBAIHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIpCiAgICAgICAg IEZvcmNlIHRoZSBmb2xsb3dpbmcgZmlsZXMgdG8gYmUgY29uc2lkZXJlZCBhcyB3cml0dGVu IGluIHRoZVxuXAogCW5hbWVkIGxhbmd1YWdlIHVwIHRvIHRoZSBuZXh0IC0tbGFuZ3VhZ2U9 TEFORyBvcHRpb24uIik7CiAKLSAgaWYgKENUQUdTKQorICBpZiAoY3RhZ3MpCiAgICAgcHV0 cyAoIi0tZ2xvYmFsc1xuXAogCUNyZWF0ZSB0YWcgZW50cmllcyBmb3IgZ2xvYmFsIHZhcmlh YmxlcyBpbiBzb21lIGxhbmd1YWdlcy4iKTsKICAgZWxzZQpAQCAtMTAzNyw3ICsxMDMxLDcg QEAgcHJpbnRfaGVscCAoYXJndW1lbnQgKmFyZ2J1ZmZlcikKICAgcHV0cyAoIi0tbm8tbGlu ZS1kaXJlY3RpdmVcblwKICAgICAgICAgSWdub3JlICNsaW5lIHByZXByb2Nlc3NvciBkaXJl Y3RpdmVzIGluIEMgYW5kIGRlcml2ZWQgbGFuZ3VhZ2VzLiIpOwogCi0gIGlmIChDVEFHUykK KyAgaWYgKGN0YWdzKQogICAgIHB1dHMgKCItLW1lbWJlcnNcblwKIAlDcmVhdGUgdGFnIGVu dHJpZXMgZm9yIG1lbWJlcnMgb2Ygc3RydWN0dXJlcyBpbiBzb21lIGxhbmd1YWdlcy4iKTsK ICAgZWxzZQpAQCAtMTA0NSw3ICsxMDM5LDcgQEAgcHJpbnRfaGVscCAoYXJndW1lbnQgKmFy Z2J1ZmZlcikKIAlEbyBub3QgY3JlYXRlIHRhZyBlbnRyaWVzIGZvciBtZW1iZXJzIG9mIHN0 cnVjdHVyZXNcblwKIAlpbiBzb21lIGxhbmd1YWdlcy4iKTsKIAotICBpZiAoIUNUQUdTKQor ICBpZiAoIWN0YWdzKQogICAgIHsKICAgICAgIHB1dHMgKCItLWZhbGxiYWNrLWxhbmdcblwK IAlJZiBhIGZpbGUncyBsYW5ndWFnZSBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZCwgdHJ5IHRv IHBhcnNlXG5cCkBAIC0xMDkyLDcgKzEwODYsNyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAq YXJnYnVmZmVyKQogICBwdXRzICgiLS1wYXJzZS1zdGRpbj1OQU1FXG5cCiAgICAgICAgIFJl YWQgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgcmVjb3JkIHRhZ3MgYXMgYmVsb25naW5nIHRv IGZpbGUgTkFNRS4iKTsKIAotICBpZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICB7CiAg ICAgICBwdXRzICgiLXQsIC0tdHlwZWRlZnNcblwKICAgICAgICAgR2VuZXJhdGUgdGFnIGVu dHJpZXMgZm9yIEMgYW5kIEFkYSB0eXBlZGVmcy4iKTsKQEAgLTExMDEsNyArMTA5NSw3IEBA IHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIpCiAgICAgICAgIGFuZCBDKysgbWVt YmVyIGZ1bmN0aW9ucy4iKTsKICAgICB9CiAKLSAgaWYgKENUQUdTKQorICBpZiAoY3RhZ3Mp CiAgICAgcHV0cyAoIi11LCAtLXVwZGF0ZVxuXAogICAgICAgICBVcGRhdGUgdGhlIHRhZyBl bnRyaWVzIGZvciB0aGUgZ2l2ZW4gZmlsZXMsIGxlYXZpbmcgdGFnXG5cCiAgICAgICAgIGVu dHJpZXMgZm9yIG90aGVyIGZpbGVzIGluIHBsYWNlLiAgQ3VycmVudGx5LCB0aGlzIGlzXG5c CkBAIC0xMTEwLDcgKzExMDQsNyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVmZmVy KQogICAgICAgICB0YWdzIGZpbGUuICBJdCBpcyBvZnRlbiBmYXN0ZXIgdG8gc2ltcGx5IHJl YnVpbGQgdGhlIGVudGlyZVxuXAogICAgICAgICB0YWcgZmlsZSB0aGFuIHRvIHVzZSB0aGlz LiIpOwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAgIHsKICAgICAgIHB1dHMg KCItdiwgLS12Z3JpbmRcblwKICAgICAgICAgUHJpbnQgb24gdGhlIHN0YW5kYXJkIG91dHB1 dCBhbiBpbmRleCBvZiBpdGVtcyBpbnRlbmRlZCBmb3JcblwKQEAgLTExNjAsNyArMTE1NCw2 IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgbGluZWJ1ZmZlciBmaWxlbmFt ZV9sYjsKICAgYm9vbCBoZWxwX2Fza2VkID0gZmFsc2U7CiAgIHB0cmRpZmZfdCBsZW47Ci0g IGNoYXIgKm9wdHN0cmluZzsKICAgaW50IG9wdDsKIAogICBwcm9nbmFtZSA9IGFyZ3ZbMF07 CkBAIC0xMTkyLDkgKzExODUsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAK ICAgLyogV2hlbiB0aGUgb3B0c3RyaW5nIGJlZ2lucyB3aXRoIGEgJy0nIGdldG9wdF9sb25n IGRvZXMgbm90IHJlYXJyYW5nZSB0aGUKICAgICAgbm9uLW9wdGlvbnMgYXJndW1lbnRzIHRv IGJlIGF0IHRoZSBlbmQsIGJ1dCBsZWF2ZXMgdGhlbSBhbG9uZS4gKi8KLSAgb3B0c3RyaW5n ID0gY29uY2F0ICgiLWFjOkNmOklsOm86UXI6UlNWaEgiLAotCQkgICAgICAoQ1RBR1MpID8g IkJ4ZHRUdXZ3IiA6ICJEaToiLAotCQkgICAgICAiIik7CisgIHN0YXRpYyBjaGFyIGNvbnN0 IG9wdHN0cmluZ1tdID0gIi1hQmM6Q2REZjpoSGk6SWw6bzpRcjpSU3RUdXZWd3giOwogCiAg IHdoaWxlICgob3B0ID0gZ2V0b3B0X2xvbmcgKGFyZ2MsIGFyZ3YsIG9wdHN0cmluZywgbG9u Z29wdHMsIE5VTEwpKSAhPSBFT0YpCiAgICAgc3dpdGNoIChvcHQpCkBAIC0xMjE1LDcgKzEy MDYsMTMgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCSsrZmlsZV9jb3VudDsK IAlicmVhazsKIAotICAgICAgY2FzZSBTVERJTjoKKyAgICAgIGNhc2UgQ1RBR1NfT1BUSU9O OgorCS8qIE9wZXJhdGUgYXMgY3RhZ3MsIG5vdCBldGFncy4gICovCisJY3RhZ3MgPSB0cnVl OworCWxhbmdfbmFtZXNbQ19MQU5HX05BTUVTX0lOREVYXS5oZWxwID0gY3RhZ3NfZGVmYXVs dF9DX2hlbHA7CisJYnJlYWs7CisKKyAgICAgIGNhc2UgU1RESU5fT1BUSU9OOgogCS8qIFBh cnNlIHN0YW5kYXJkIGlucHV0LiAgSWRlYSBieSBWaXZlayA8dml2ZWtAZXRsYS5vcmc+LiAq LwogCWFyZ2J1ZmZlcltjdXJyZW50X2FyZ10uYXJnX3R5cGUgPSBhdF9zdGRpbjsKIAlhcmdi dWZmZXJbY3VycmVudF9hcmddLndoYXQgICAgID0gb3B0YXJnOwpAQCAtMTMyNSw3ICsxMzIy LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIH0KIAogICBpZiAodGFn ZmlsZSA9PSBOVUxMKQotICAgIHRhZ2ZpbGUgPSBzYXZlc3RyIChDVEFHUyA/ICJ0YWdzIiA6 ICJUQUdTIik7CisgICAgdGFnZmlsZSA9IHNhdmVzdHIgKGN0YWdzID8gInRhZ3MiIDogIlRB R1MiKTsKICAgY3dkID0gZXRhZ3NfZ2V0Y3dkICgpOwkvKiB0aGUgY3VycmVudCB3b3JraW5n IGRpcmVjdG9yeSAqLwogICBpZiAoY3dkW3N0cmxlbiAoY3dkKSAtIDFdICE9ICcvJykKICAg ICB7CkBAIC0xMzQ5LDcgKzEzNDYsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CiAgIGxpbmVidWZmZXJfaW5pdCAoJmZpbGVidWYpOwogICBsaW5lYnVmZmVyX2luaXQgKCZ0 b2tlbl9uYW1lKTsKIAotICBpZiAoIUNUQUdTKQorICBpZiAoIWN0YWdzKQogICAgIHsKICAg ICAgIGlmIChzdHJlcSAodGFnZmlsZSwgIi0iKSkKIAl7CkBAIC0xNDA3LDEzICsxNDA0LDEz IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgZnJlZSAoZmlsZWJ1Zi5idWZm ZXIpOwogICBmcmVlICh0b2tlbl9uYW1lLmJ1ZmZlcik7CiAKLSAgaWYgKCFDVEFHUyB8fCBj eHJlZl9zdHlsZSkKKyAgaWYgKCFjdGFncyB8fCBjeHJlZl9zdHlsZSkKICAgICB7CiAgICAg ICAvKiBXcml0ZSB0aGUgcmVtYWluaW5nIHRhZ3MgdG8gdGFnZiAoRVRBR1MpIG9yIHN0ZG91 dCAoQ1hSRUYpLiAqLwogICAgICAgcHV0X2VudHJpZXMgKG5vZGVoZWFkKTsKICAgICAgIGZy ZWVfdHJlZSAobm9kZWhlYWQpOwogICAgICAgbm9kZWhlYWQgPSBOVUxMOwotICAgICAgaWYg KCFDVEFHUykKKyAgICAgIGlmICghY3RhZ3MpCiAJewogCSAgZmRlc2MgKmZkcDsKIApAQCAt MTQ2Miw3ICsxNDU5LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBpZiAo ZmNsb3NlICh0YWdmKSA9PSBFT0YpCiAgICAgcGZhdGFsICh0YWdmaWxlKTsKIAotICBpZiAo Q1RBR1MpCisgIGlmIChjdGFncykKICAgICBpZiAoYXBwZW5kX3RvX3RhZ2ZpbGUgfHwgdXBk YXRlKQogICAgICAgewogCS8qIE1heWJlIHRoZXNlIHNob3VsZCBiZSB1c2VkOgpAQCAtMTg2 MCw3ICsxODU3LDcgQEAgcHJvY2Vzc19maWxlIChGSUxFICpmaCwgY2hhciAqZm4sIGxhbmd1 YWdlICpsYW5nKQogICAvKiBJZiBub3QgQ3RhZ3MsIGFuZCBpZiB0aGlzIGlzIG5vdCBtZXRh c291cmNlIGFuZCBpZiBpdCBjb250YWluZWQgbm8gI2xpbmUKICAgICAgZGlyZWN0aXZlcywg d2UgY2FuIHdyaXRlIHRoZSB0YWdzIGFuZCBmcmVlIGFsbCBub2RlcyBwb2ludGluZyB0bwog ICAgICBjdXJmZHAuICovCi0gIGlmICghQ1RBR1MKKyAgaWYgKCFjdGFncwogICAgICAgJiYg Y3VyZmRwLT51c2VjaGFybm8JLyogbm8gI2xpbmUgZGlyZWN0aXZlcyBpbiB0aGlzIGZpbGUg Ki8KICAgICAgICYmICFjdXJmZHAtPmxhbmctPm1ldGFzb3VyY2UpCiAgICAgewpAQCAtMjA5 Miw3ICsyMDg5LDcgQEAgbWFrZV90YWcgKGNvbnN0IGNoYXIgKm5hbWUsIAkvKiB0YWcgbmFt ZSwgb3IgTlVMTCBpZiB1bm5hbWVkICovCiAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXMgb24g JXM6JSJQUklkTUFYIjogJXNcbiIsCiAJICAgICBuYW1lZCA/IG5hbWUgOiAiKHVubmFtZWQp IiwgY3VyZmRwLT50YWdnZWRmbmFtZSwgbG5vLCBsaW5lc3RhcnQpOwogCi0gIGlmICghQ1RB R1MgJiYgbmFtZWQpCQkvKiBtYXliZSBzZXQgbmFtZWQgdG8gZmFsc2UgKi8KKyAgaWYgKCFj dGFncyAmJiBuYW1lZCkJCS8qIG1heWJlIHNldCBuYW1lZCB0byBmYWxzZSAqLwogICAgIC8q IExldCdzIHRyeSB0byBtYWtlIGFuIGltcGxpY2l0IHRhZyBuYW1lLCB0aGF0IGlzLCBjcmVh dGUgYW4gdW5uYW1lZCB0YWcKICAgICAgICBzdWNoIHRoYXQgZXRhZ3MuZWwgY2FuIGd1ZXNz IGEgbmFtZSBmcm9tIGl0LiAqLwogICAgIHsKQEAgLTIxMzMsMTcgKzIxMzAsMTcgQEAgcGZu b3RlIChjaGFyICpuYW1lLAkJLyogdGFnIG5hbWUsIG9yIE5VTEwgaWYgdW5uYW1lZCAqLwog ewogICByZWdpc3RlciBub2RlICpucDsKIAotICBpZiAoKENUQUdTICYmIG5hbWUgPT0gTlVM TCkKKyAgaWYgKChjdGFncyAmJiBuYW1lID09IE5VTEwpCiAgICAgICAvKiBXZSB1c2VkIHRv IGhhdmUgYW4gYXNzZXJ0aW9uIGhlcmUgZm9yIHRoZSBjYXNlIGJlbG93LCBidXQgaWYgd2Ug aGl0CiAJIHRoYXQgY2FzZSwgaXQganVzdCBtZWFucyBvdXIgcGFyc2VyIGdvdCBjb25mdXNl ZCwgYW5kIHRoZXJlJ3Mgbm90aGluZwogCSB0byBkbyBhYm91dCBzdWNoIGVtcHR5ICJ0YWdz Ii4gICovCi0gICAgICB8fCAoIUNUQUdTICYmIG5hbWUgJiYgbmFtZVswXSA9PSAnXDAnKSkK KyAgICAgIHx8ICghY3RhZ3MgJiYgbmFtZSAmJiBuYW1lWzBdID09ICdcMCcpKQogICAgIHJl dHVybjsKIAogICBucCA9IHhtYWxsb2MgKHNpemVvZiAqbnApOwogCiAgIC8qIElmIGN0YWdz IG1vZGUsIGNoYW5nZSBuYW1lICJtYWluIiB0byBNPHRoaXNmaWxlbmFtZT4uICovCi0gIGlm IChDVEFHUyAmJiAhY3hyZWZfc3R5bGUgJiYgc3RyZXEgKG5hbWUsICJtYWluIikpCisgIGlm IChjdGFncyAmJiAhY3hyZWZfc3R5bGUgJiYgc3RyZXEgKG5hbWUsICJtYWluIikpCiAgICAg ewogICAgICAgY2hhciAqZnAgPSBzdHJyY2hyIChjdXJmZHAtPnRhZ2dlZGZuYW1lLCAnLycp OwogICAgICAgbnAtPm5hbWUgPSBjb25jYXQgKCJNIiwgZnAgPT0gTlVMTCA/IGN1cmZkcC0+ dGFnZ2VkZm5hbWUgOiBmcCArIDEsICIiKTsKQEAgLTIxNjgsNyArMjE2NSw3IEBAIHBmbm90 ZSAoY2hhciAqbmFtZSwJCS8qIHRhZyBuYW1lLCBvciBOVUxMIGlmIHVubmFtZWQgKi8KICAg ZWxzZQogICAgIG5wLT5jbm8gPSBpbnZhbGlkY2hhcm5vOwogICBucC0+bGVmdCA9IG5wLT5y aWdodCA9IE5VTEw7Ci0gIGlmIChDVEFHUyAmJiAhY3hyZWZfc3R5bGUpCisgIGlmIChjdGFn cyAmJiAhY3hyZWZfc3R5bGUpCiAgICAgewogICAgICAgaWYgKHN0cm5sZW4gKGxpbmVzdGFy dCwgNTApIDwgNTApCiAJbnAtPnJlZ2V4ID0gY29uY2F0IChsaW5lc3RhcnQsICIkIiwgIiIp OwpAQCAtMjI5NSw3ICsyMjkyLDcgQEAgYWRkX25vZGUgKG5vZGUgKm5wLCBub2RlICoqY3Vy X25vZGVfcCkKICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgaWYgKCFDVEFHUykKKyAgaWYg KCFjdGFncykKICAgICAvKiBFdGFncyBNb2RlICovCiAgICAgewogICAgICAgLyogRm9yIGVh Y2ggZmlsZSBuYW1lLCB0YWdzIGFyZSBpbiBhIGxpbmtlZCBzdWJsaXN0IG9uIHRoZSByaWdo dApAQCAtMjM5NCw3ICsyMzkxLDcgQEAgaW52YWxpZGF0ZV9ub2RlcyAoZmRlc2MgKmJhZGZk cCwgbm9kZSAqKm5wcCkKICAgbm9kZSAqbnAgPSAqbnBwOwogICBzdGtlbnRyeSAqc3RhY2sg PSBOVUxMOwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAgIHsKICAgICAgIHdo aWxlIChucCkKIAl7CkBAIC0yNTA0LDcgKzI1MDEsNyBAQCBwdXRfZW50cnkgKG5vZGUgKm5w KQogICAvKiBPdXRwdXQgdGhpcyBlbnRyeSAqLwogICBpZiAobnAtPnZhbGlkKQogICAgIHsK LSAgICAgIGlmICghQ1RBR1MpCisgICAgICBpZiAoIWN0YWdzKQogCXsKIAkgIC8qIEV0YWdz IG1vZGUgKi8KIAkgIGlmIChmZHAgIT0gbnAtPmZkcCkKQEAgLTI1NzYsNyArMjU3Myw3IEBA IHB1dF9lbnRyaWVzIChub2RlICpucCkKICAgaWYgKG5wID09IE5VTEwpCiAgICAgcmV0dXJu OwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAgIHsKICAgICAgIHdoaWxlIChu cCkKIAl7CmRpZmYgLS1naXQgYS9udC9SRUFETUUgYi9udC9SRUFETUUKaW5kZXggYTkwOWFk YTFjODcuLjE0ZmY1OWRlODdjIDEwMDY0NAotLS0gYS9udC9SRUFETUUKKysrIGIvbnQvUkVB RE1FCkBAIC00NCw3ICs0NCw3IEBACiAgICsgYWRkcG0uZXhlIC0gQSBiYXNpYyBpbnN0YWxs ZXIgdGhhdCBjcmVhdGVzIFN0YXJ0IE1lbnUgaWNvbnMgZm9yIEVtYWNzLgogICAgIFJ1bm5p bmcgdGhpcyBpcyBvcHRpb25hbC4KIAotICArIGN0YWdzLmV4ZSwgZXRhZ3MuZXhlIC0gVG9v bHMgZm9yIGdlbmVyYXRpbmcgdGFnIGZpbGVzLiAgU2VlIHRoZQorICArIGV0YWdzLmV4ZSAt IFRvb2wgZm9yIGdlbmVyYXRpbmcgdGFnIGZpbGVzLiAgU2VlIHRoZQogICAgIGBUYWdzJyBu b2RlIG9mIHRoZSBFbWFjcyBtYW51YWwuCiAKICAgKyBlYnJvd3NlLmV4ZSAtIEEgdG9vbCBm b3IgZ2VuZXJhdGluZyBDKysgYnJvd3NlIGluZm9ybWF0aW9uLiAgU2VlIHRoZQpkaWZmIC0t Z2l0IGEvbnQvUkVBRE1FLlczMiBiL250L1JFQURNRS5XMzIKaW5kZXggMjVjYTIwYmM3YmYu LmZjNDE1ZDY3NzY5IDEwMDY0NAotLS0gYS9udC9SRUFETUUuVzMyCisrKyBiL250L1JFQURN RS5XMzIKQEAgLTEwNCw3ICsxMDQsNyBAQCBTZWUgdGhlIGVuZCBvZiB0aGUgZmlsZSBmb3Ig bGljZW5zZSBjb25kaXRpb25zLgogICArIGFkZHBtLmV4ZSAtIEEgYmFzaWMgaW5zdGFsbGVy IHRoYXQgYWRkcyBFbWFjcyB0byAiU3RhcnQiIG1lbnVzIGFuZAogICAgIGFkZHMgRW1hY3Mt cmVsYXRlZCBlbnRyaWVzIHRvIHRoZSBXaW5kb3dzIFJlZ2lzdHJ5LgogCi0gICsgY3RhZ3Mu ZXhlLCBldGFncy5leGUgLSBUb29scyBmb3IgZ2VuZXJhdGluZyB0YWcgZmlsZXMuICBTZWUg dGhlCisgICsgZXRhZ3MuZXhlIC0gVG9vbCBmb3IgZ2VuZXJhdGluZyB0YWcgZmlsZXMuICBT ZWUgdGhlCiAgICAgYFRhZ3MnIG5vZGUgb2YgdGhlIEVtYWNzIG1hbnVhbC4KIAogICArIGVi cm93c2UuZXhlIC0gQSB0b29sIGZvciBnZW5lcmF0aW5nIEMrKyBicm93c2UgaW5mb3JtYXRp b24uICBTZWUgdGhlCmRpZmYgLS1naXQgYS9zcmMvY2FsbHByb2MuYyBiL3NyYy9jYWxscHJv Yy5jCmluZGV4IDMzYjBmZWFmMjY2Li43MDU5YTJiYWM2ZiAxMDA2NDQKLS0tIGEvc3JjL2Nh bGxwcm9jLmMKKysrIGIvc3JjL2NhbGxwcm9jLmMKQEAgLTIxNjcsMTQgKzIxNjcsMTAgQEAg c3ltc19vZl9jYWxscHJvYyAodm9pZCkKICAgVnByb2Nlc3NfZW52aXJvbm1lbnQgPSBRbmls OwogCiAgIERFRlZBUl9MSVNQICgiY3RhZ3MtcHJvZ3JhbS1uYW1lIiwgVmN0YWdzX3Byb2dy YW1fbmFtZSwKLSAgICBkb2M6IC8qIE5hbWUgb2YgdGhlIGBjdGFncycgcHJvZ3JhbSBkaXN0 cmlidXRlZCB3aXRoIEVtYWNzLgorICAgIGRvYzogLyogTmFtZSBvZiB0aGUgYGN0YWdzJyBw cm9ncmFtLgogVXNlIHRoaXMgaW5zdGVhZCBvZiBjYWxsaW5nIGBjdGFncycgZGlyZWN0bHks IGFzIGBjdGFncycgbWF5IGhhdmUgYmVlbgogcmVuYW1lZCB0byBjb21wbHkgd2l0aCBleGVj dXRhYmxlIG5hbWluZyByZXN0cmljdGlvbnMgb24gdGhlIHN5c3RlbS4gICovKTsKLSNpZiAh ZGVmaW5lZCBIQVZFX0FORFJPSUQgfHwgZGVmaW5lZCBBTkRST0lEX1NUVUJJRlkKICAgVmN0 YWdzX3Byb2dyYW1fbmFtZSA9IGJ1aWxkX3N0cmluZyAoImN0YWdzIik7Ci0jZWxzZQotICBW Y3RhZ3NfcHJvZ3JhbV9uYW1lID0gYnVpbGRfc3RyaW5nICgibGliY3RhZ3Muc28iKTsKLSNl bmRpZgogCiAgIERFRlZBUl9MSVNQICgiZXRhZ3MtcHJvZ3JhbS1uYW1lIiwgVmV0YWdzX3By b2dyYW1fbmFtZSwKICAgICBkb2M6IC8qIE5hbWUgb2YgdGhlIGBldGFncycgcHJvZ3JhbSBk aXN0cmlidXRlZCB3aXRoIEVtYWNzLgotLSAKMi40NS4yCgo= --------------9qiQVdaWm68jOl0btT32niHF--
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 11 Mar 2025 12:46:23 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 11 08:46:23 2025 Received: from localhost ([127.0.0.1]:42121 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tryzz-0005ZN-N9 for submit <at> debbugs.gnu.org; Tue, 11 Mar 2025 08:46:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46594) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tryzq-0005Yz-RA for 76322 <at> debbugs.gnu.org; Tue, 11 Mar 2025 08:46:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1tryzk-0005w8-Dp; Tue, 11 Mar 2025 08:46:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=x1QOWOXIFTb4qSkN3nj0M3UMqdxlDcrS89yuNQwp0ZY=; b=YNwHgd5P63IW qOmb8mgdYR3hqrdWRAd1Vcmuk5XRwCaPgbGexidjC3ezyh5qyaQcklNpHQ2MNFgPWVkzS4T/T6HUj uO4DsU4mjN7ZlJUNwLGHhVwoOgHaIgBMYJWhX8DeNjFq5vVWvLAwJ7gTYnBHEB5BB9EOcFut1EsWg t9NJJnvu5cPgLc3Pnw6+8kRhY+rplJeL8YCkirVDvk5mVmAF9lKEnr2ai9FF1qkfIUi9MbpzVqkWM E2N8KMhrgKuUC8+bxDzEeZ9NnSHwR5RYKJ1KZFsKpx7VeSUQZTtvy+AETRrS8oN4UJU2yOkZiWIXA XYeEqKMTYr/Rxfme+5EGww==; Date: Tue, 11 Mar 2025 14:45:53 +0200 Message-Id: <867c4vd9by.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <1da853c1-1fd4-4022-a351-371b4f84ed6c@HIDDEN> (message from Dmitry Gutov on Tue, 11 Mar 2025 04:34:55 +0200) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> <86ikogevwc.fsf@HIDDEN> <1da853c1-1fd4-4022-a351-371b4f84ed6c@HIDDEN> X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, eggert@HIDDEN, rms@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.6 (--) > Date: Tue, 11 Mar 2025 04:34:55 +0200 > Cc: 76322 <at> debbugs.gnu.org, eggert@HIDDEN > From: Dmitry Gutov <dmitry@HIDDEN> > > On 10/03/2025 17:40, Eli Zaretskii wrote: > > AFAIR, the ctags output is used by other editors (Vim, I think?). > > Whether that, or the fact that we shipped ctags since forever, is a > > significant enough reason to keep it in the tree and in the tarballs, > > is another question. Maybe we should ask downstream distros how they > > feel about dropping ctags. > > From what I'm reading, a lot of distros have replaced their 'ctags' > package with universal-ctags: > > https://repology.org/project/universal-ctags/versions > > It's the main ctags fork out there, and a pretty active one. Yes, that's what I had in mind.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 11 Mar 2025 12:11:41 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 11 08:11:41 2025 Received: from localhost ([127.0.0.1]:42036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tryST-0003vp-7C for submit <at> debbugs.gnu.org; Tue, 11 Mar 2025 08:11:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50180) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1trySP-0003vW-KS for 76322 <at> debbugs.gnu.org; Tue, 11 Mar 2025 08:11:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1tryS9-0006mi-LJ; Tue, 11 Mar 2025 08:11:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=IFf6ClQY3NzHrftjTdSxhZgn7xZTQmpKjRbjUanbiO0=; b=LMjJS0JSUN8I 5LDucGmWjFV7sg03QzDr1GpMwaJXLOZAvM5gZo3kXi2TystlGZAJgjXLw18zlmA28Xdb0gCt2mNYf BfMFsagRgMxXD3vaT9iyqXnL26PUu6ZLiLYngxf7rod0LhkjbndFc6mmiXHkRU0yFRsYTyV7AWGKT j3ejx0B/iFHGJsSU4h7QLWGJgmW4moESFqnX1d1E5RPb7jT234S4X5essm9wPXMrTyLXZPT0k5En6 MOAwukVHWkRKc7iIA3iJ+0p/UnidVwv9nsQKUFrvpCwvNasmQstTJeHuYDYSEVhGxFDo2Y2Hxi8Fq Am1bL+6DRamvzU3PJcBb7w==; Date: Tue, 11 Mar 2025 14:11:11 +0200 Message-Id: <86h63zdaxs.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Stefan Kangas <stefankangas@HIDDEN> In-Reply-To: <CADwFkmkRHCh8_U5w6n8_3-SdgAiXzdn8aWwM=Wt2HFYYQEKOag@HIDDEN> (message from Stefan Kangas on Mon, 10 Mar 2025 16:14:13 -0400) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> <2b588fd7-10ee-4d46-958c-3c9adba18ccf@HIDDEN> <86bju8eur1.fsf@HIDDEN> <CADwFkmkRHCh8_U5w6n8_3-SdgAiXzdn8aWwM=Wt2HFYYQEKOag@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, eggert@HIDDEN, rms@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Stefan Kangas <stefankangas@HIDDEN> > Date: Mon, 10 Mar 2025 16:14:13 -0400 > Cc: 76322 <at> debbugs.gnu.org, rms@HIDDEN > > Eli Zaretskii <eliz@HIDDEN> writes: > > >> More radically, Emacs could also stop installing etags, and advise > >> people to run ctags -e instead, where this is the other ctags. > > > > To this I object, since the master source of the format of the TAGS > > files must be in Emacs, and what better to document this format than > > to maintain and distribute etags the program. > > As a counter-point, we distribute parsers for quite a few formats where > the master source of the format is not in emacs.git. They don't usually > have the same legacy as ctags, admittedly. > > How about adding a --without-ctags flag, for those of us that never have > a need for it? Is that worth the extra maintenance headaches? If we think our ctags is not being used (I suggested to query a few distros about that), I'd rather drop it entirely, first by adding the --ctags option to etags, and later maybe removing the ctags-only code from etags.c.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 11 Mar 2025 02:35:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 10 22:35:07 2025 Received: from localhost ([127.0.0.1]:40665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trpSV-00031v-2Z for submit <at> debbugs.gnu.org; Mon, 10 Mar 2025 22:35:07 -0400 Received: from fhigh-a6-smtp.messagingengine.com ([103.168.172.157]:51145) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1trpSS-0002yt-LV for 76322 <at> debbugs.gnu.org; Mon, 10 Mar 2025 22:35:05 -0400 Received: from phl-compute-08.internal (phl-compute-08.phl.internal [10.202.2.48]) by mailfhigh.phl.internal (Postfix) with ESMTP id 07860114021D; Mon, 10 Mar 2025 22:34:59 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-08.internal (MEProxy); Mon, 10 Mar 2025 22:34:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1741660499; x=1741746899; bh=rHjaIU/HMIdnS2DSgncU9MamCajOOLsEYvfNHyIZKtY=; b= zVVKqrfqyvHrl6DKufE8MSeryh/3g2vzgOFuYEBxaAfZR+APyNH2WmK4bvu6cUqV btQFzZxXnoHtI7fRNxXTi7oLuzRsGWTtfx7FdDPkhPeIrGgwafaJRrww2FJSBfxK 58OFfcoawOTx/Iwa+eR8crqcTgVYGWcReI77jjrGkVSH6aqY4pO5EkrzyAGy0JnF b+NffYmfW5xDbAU+XP23zcm1DquBjx5AtMUEB78MJgXP9gy0Kb/U0Ezv234oQfVg dABaiewZo2TU3ZqNg4FTLkpel1lzU4GHJCI95XoMGJ3IUviG8lnUFAnx0poRtrhe GQrIInnY6zxkOlquX21rKQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1741660499; x= 1741746899; bh=rHjaIU/HMIdnS2DSgncU9MamCajOOLsEYvfNHyIZKtY=; b=r Uto3Bb1aWQTIZvLeYBP4m4TvWbzUQAoKPJoaurQ22AbBnQoiXLlNyWCCZBFXpgQR MmTw9oATEOC6dUhsnqWZvs0d7PkXtWHVA1HXNoC6hump1FCunQ7uwLfwzx8knn41 riJdThUHBBV+xplykoTVyLfKtD0sP1tZdj/SU1wcYcmfed4ejWeLeM9koNO97iRi oTRsgJ3yqmCIvmn3rkpBwdFmF2AM8b4jPmMlcWjbqXOwERuNlwY5Ctl0FCAn2b8P 5C+pysiRlCr3X9lRmGjQ4B7S5t6sPwvbE4UyuduwAi/g7hXIt1ZHDgFVZuSSUqop 7Abl76BfZw3mtmzt5bFjw== X-ME-Sender: <xms:UqHPZ4fuKcuiJdeCa_e8xguovgaOJeYcwNdoVaWwbmOXA_Qr0Fx2RA> <xme:UqHPZ6P1kWt0KviHhS1w98U6g8khqkksv4HW8L2pbp9VIJY4Oya-kqU11r62L2PXa zMEBVVcIaUWlSifUEk> X-ME-Received: <xmr:UqHPZ5hgerOOV92bc2FyMghJ8FZATR0UW3o7sVIO_T-FEsi-pbAYQ2j9K-tU07-Wa0Kp> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvddutdegucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih gvnhhtshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddt vdejnecuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovh druggvvheqnecuggftrfgrthhtvghrnhepfeevgeehheejgfevteeihfeileeihfdtffej udevueekheelieehleegjeegjeffnecuffhomhgrihhnpehrvghpohhlohhghidrohhrgh enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumhhi thhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthhtohepgedpmhhouggvpehsmhhtph houhhtpdhrtghpthhtohepvghlihiisehgnhhurdhorhhgpdhrtghpthhtoheprhhmshes ghhnuhdrohhrghdprhgtphhtthhopeejieefvddvseguvggssghughhsrdhgnhhurdhorh hgpdhrtghpthhtohepvghgghgvrhhtsegtshdruhgtlhgrrdgvughu X-ME-Proxy: <xmx:UqHPZ98c535Wq9ccKl8OZ2QhUDa39dCi0Heu9RsuKSnk9LkyFF-RnQ> <xmx:UqHPZ0tpL-gZfLfgr6ROYvFwZbGJtc16uW57MrEIUry_NADGgM3XGQ> <xmx:UqHPZ0HT0xBh_bNOYf7DtGG8ByXEg_t0HU9x4zaItoquSEfxlQfAuQ> <xmx:UqHPZzPqhgrlSU0uocOHyIqH9owozmZAC-4___kFqiubbgV1_LWrog> <xmx:UqHPZ2JsKgIuV_1_o9mhXh6Qe1YFl7qWphCamEKgyj1vhD04qYANewpc> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 10 Mar 2025 22:34:56 -0400 (EDT) Message-ID: <1da853c1-1fd4-4022-a351-371b4f84ed6c@HIDDEN> Date: Tue, 11 Mar 2025 04:34:55 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: Eli Zaretskii <eliz@HIDDEN>, rms@HIDDEN References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> <86ikogevwc.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <86ikogevwc.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, eggert@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 10/03/2025 17:40, Eli Zaretskii wrote: > AFAIR, the ctags output is used by other editors (Vim, I think?). > Whether that, or the fact that we shipped ctags since forever, is a > significant enough reason to keep it in the tree and in the tarballs, > is another question. Maybe we should ask downstream distros how they > feel about dropping ctags. From what I'm reading, a lot of distros have replaced their 'ctags' package with universal-ctags: https://repology.org/project/universal-ctags/versions It's the main ctags fork out there, and a pretty active one.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 10 Mar 2025 23:42:22 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 10 19:42:22 2025 Received: from localhost ([127.0.0.1]:40415 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trmlK-0003W7-GP for submit <at> debbugs.gnu.org; Mon, 10 Mar 2025 19:42:22 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:34586) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1trmlI-0003Vh-4R for 76322 <at> debbugs.gnu.org; Mon, 10 Mar 2025 19:42:20 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id A7FA33C01086D; Mon, 10 Mar 2025 16:42:13 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id RA_XUaLkHTV0; Mon, 10 Mar 2025 16:42:13 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 2917F3C010874; Mon, 10 Mar 2025 16:42:13 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 2917F3C010874 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1741650133; bh=eBhChcd54+JNyXRIyYjx2STKjAq5BuRKAAbmOYcdBuQ=; h=Message-ID:Date:MIME-Version:To:From; b=M/ZvzFbU2O+YPoDxDrhggZ96pfqoKyAK7IXI1uyK6JUUd1sox3QuUvXk6wEANeEx5 3sW7Q9Qx5uEHvnSWMWeHIlS2m2duIc4rR2cyRDptpbwiwNMWbecZN/1/l4Ap0G0SYj +xAibSJG6F0touNMnEtZwUq2mWujn8KwWJFAQ0lms9a3Bx5gZ7ISOBE55lZD1tA2Of EGp1AEg6fS2IFv/DXHy9MDiQT6MMI1jblvaDBaMK7hZLE7Gewx0+FfSMr8Sf0EVNXp 1De+HkFXhltmBZ68zmm/ZZpuj3dmhGDKc5dq6ko0USPVkkfSgntXb+tEEFs6QH9iEm pccex1f+YhlfA== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id f5U5yG_Nz7J2; Mon, 10 Mar 2025 16:42:13 -0700 (PDT) Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 0D94C3C01086D; Mon, 10 Mar 2025 16:42:13 -0700 (PDT) Message-ID: <caf4726d-e86a-475e-8910-89c1373d3536@HIDDEN> Date: Mon, 10 Mar 2025 16:42:12 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: Stefan Kangas <stefankangas@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> <2b588fd7-10ee-4d46-958c-3c9adba18ccf@HIDDEN> <86bju8eur1.fsf@HIDDEN> <CADwFkmkRHCh8_U5w6n8_3-SdgAiXzdn8aWwM=Wt2HFYYQEKOag@HIDDEN> Content-Language: en-US From: Paul Eggert <eggert@HIDDEN> Autocrypt: addr=eggert@HIDDEN; keydata= xsFNBEyAcmQBEADAAyH2xoTu7ppG5D3a8FMZEon74dCvc4+q1XA2J2tBy2pwaTqfhpxxdGA9 Jj50UJ3PD4bSUEgN8tLZ0san47l5XTAFLi2456ciSl5m8sKaHlGdt9XmAAtmXqeZVIYX/UFS 96fDzf4xhEmm/y7LbYEPQdUdxu47xA5KhTYp5bltF3WYDz1Ygd7gx07Auwp7iw7eNvnoDTAl KAl8KYDZzbDNCQGEbpY3efZIvPdeI+FWQN4W+kghy+P6au6PrIIhYraeua7XDdb2LS1en3Ss mE3QjqfRqI/A2ue8JMwsvXe/WK38Ezs6x74iTaqI3AFH6ilAhDqpMnd/msSESNFt76DiO1ZK QMr9amVPknjfPmJISqdhgB1DlEdw34sROf6V8mZw0xfqT6PKE46LcFefzs0kbg4GORf8vjG2 Sf1tk5eU8MBiyN/bZ03bKNjNYMpODDQQwuP84kYLkX2wBxxMAhBxwbDVZudzxDZJ1C2VXujC OJVxq2kljBM9ETYuUGqd75AW2LXrLw6+MuIsHFAYAgRr7+KcwDgBAfwhPBYX34nSSiHlmLC+ KaHLeCLF5ZI2vKm3HEeCTtlOg7xZEONgwzL+fdKo+D6SoC8RRxJKs8a3sVfI4t6CnrQzvJbB n6gxdgCu5i29J1QCYrCYvql2UyFPAK+do99/1jOXT4m2836j1wARAQABzSBQYXVsIEVnZ2Vy dCA8ZWdnZXJ0QGNzLnVjbGEuZWR1PsLBlQQTAQgAPwIbAwYLCQgHAwIGFQgCCQoLBBYCAwEC HgECF4AWIQR+N5Kp2Kz31jO8FYjtl+kOYqp+NAUCZiLOewUJHWQLDAAKCRDtl+kOYqp+NHGE D/9Wmbk+cAaQsYLPGBvyzIjZIRzo/V2p3ZwckVA1VEQivx5azu1cs86qDoVIe45AtwmKOvdV wTQd/QeglkZR6D2YPW7UR/7emajyJZZcy+etVTDKoaw1i6/hmd/CpGjUeUSvgoPs6nYR+1lo pSXTpaGrh1W0qQHalSkOOwCHG3HtGk9Ve2AERDUYxmcn8/eZHb7xpUJEJMBBI1bx/zcw1EtB rjsQ1R1faJ/r/7LPAyV36RLvnbX69PylHKQEbJoaY9aUb2Vpm63ni3FeTA7/3jpPvaSRWHJh vPYx6Fm2Ln8pI0Yf/W2B8QMiPTnF/LnH2kvUcf9VXm+1mQJ3fBFU25HZwBhuqZ24IeKymPEt BUMQAum97Dto0jSgR2OUvX7z+twhpQEgRGBzPHYwDi4SxF5Z4Q5Y7B7a++HP9tIxG6CVFIwI 4xVaZud18bPa0YBL+cISmMgxq7h7yoVXl6u3pm9Yiv+W6Lp9QGN8Rw1VuJMOoFCYuoxG8mXO TA5b1jvlQ32gHFFhqErDAhNJRsfgrpe9Gok4Ycp+rWljbvS5Wrl0uth5MP7FbaHN2kmTZibq KXAd//IqczhDyU6qnW6ao+h4iDBDgYgRbQjmToX/vmIdEMzvPGqWXKhe/q1TYMuOO+IfP+bI fyPFH29nVN/o9c4J7myeKvv3HKSXdSVjlh2V787BTQRMgHJkARAApoXrvxP3DIfjCNOtXU/P dwMShKdX/RlSs5PfunV1wbKP8herXHrvQdFVqECaTSxmlhzbk8X0PkY9gcVaU2O49T3qsOd1 cHeF52YFGEt0LhsBeMjgNX5uZ1V76r8gyeVlFpWWb0SIwJUBHrDXexF67upeRb2vdHBjYDNe ySn+0B7gFEqvVmZu+LadudDp6kQLjatFvHQHUSGNshBnkkcaTbiI9Pst0GCc2aiznBiPPA2W QxAPlPRh3OGTsn5THADmbjqY6FEMLasVX8DSCblMvLwNeO/8SxziBidhqLpJCqdQRWHku5Xx gIkGeKOz5OLDvXHWJyafrEYjjkS6Ak6B5z6svKliClWnjHQcjlPzyoFFgKTEfcqDxCj4RY0D 0DgtFD0NfyeOidrSB/SzTe2hwryQE3rpSiqo+0cGdzh4yAHKYJ+UrXZ4p93ZhjGfKD1xlrNY DlWyW9PGmbvqFuDmiIAQf9WD/wzEfICc+F+uDDI+uYkRxUFp92ykmdhDEFg1yjYsU8iGU69a Hyvhq36z4zctvbqhRNzOWB1bVJ/dIMDvsExGcXQVDIT7sDNXv0wE3jKSKpp7NDG1oXUXL+2+ SF99Kjy753AbQSAmH617fyBNwhJWvQYg+mUvPpiGOtses9EXUI3lS4v0MEaPG43flEs1UR+1 rpFQWVHo1y1OO+sAEQEAAcLBfAQYAQgAJgIbDBYhBH43kqnYrPfWM7wViO2X6Q5iqn40BQJm Is58BQkdZAsMAAoJEO2X6Q5iqn40Q68QAJ9GubS/ej30Vc4idoZdc0IyMcL7kQJbMohF+Tyn ZE+TGn9WvzP10yLyzoI0vNlcNfP92d2MS//pFjOuANb5mwyiEYA+rDZIdS4ZZpHxCs2sxMC4 afLCf3kv4aMnTeBvb9na403dlczz9cAacvsmniSFdpb1+BzMpYbybglU5oYMGhYT2nnCRjXN 6S2nKYt4mjJeeOuxHrdeqQQdVBNYeNfTcPePeqvZ2+bD6u9yxZtaV+wxdpqglosQvjqhOYz7 h50/ZTSq70/npoCq44TzdJKttaYvlW6ziRz0g4RRAqZyoxjYXiy5qj8r8zXJuB11ApZCGuKn /usbji9RYbflAhxFeh4LMmpDVi6BrF30b73Md59K7PuEKN1NxzlWiqqQHZZ9momN0GXLPcGq 4uyfq7yVEy7wP5PMOh6oqscKklE3gFQtq0P1Ki0xqdF6Fq5LPJc+0Db2CYkVIy7Xaa/f74I3 sOfQfEeDylVXR5iDfUJEYv/0DYhOr7q5/0b1kh3M4wkrB4C5jVNHjIIj+RsAK90c3t38OhAl jiSN7Bkwy24Afy8eIu6wWzvhnsQGpZPB+IffmxT1wkTy8UxZKjUWV0C82iphVgCUUi2f9sDV Q/tNcwVWmOS+gdv9Wk6tdGeM+Ee+Qs6YG05jcSoajzF0TL07ajLcayRq2j1Os2CtQ8qu Organization: UCLA Computer Science Department In-Reply-To: <CADwFkmkRHCh8_U5w6n8_3-SdgAiXzdn8aWwM=Wt2HFYYQEKOag@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, rms@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 3/10/25 13:14, Stefan Kangas wrote: > How about adding a --without-ctags flag, for those of us that never have > a need for it? I assume you mean a --disable-ctags option for 'configure'. Yes, that's doable. We could also have a --disable-etags if we want people to be able to disable ctags without disabling etags. The reverse wouldn't be possible (or needed). This is an independent issue of course.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 10 Mar 2025 20:14:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 10 16:14:24 2025 Received: from localhost ([127.0.0.1]:39994 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trjW3-0001Eb-QG for submit <at> debbugs.gnu.org; Mon, 10 Mar 2025 16:14:24 -0400 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]:42167) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1trjW0-0001EN-Rx for 76322 <at> debbugs.gnu.org; Mon, 10 Mar 2025 16:14:21 -0400 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5dccaaca646so503828a12.0 for <76322 <at> debbugs.gnu.org>; Mon, 10 Mar 2025 13:14:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741637654; x=1742242454; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=ZJbNoPWAbkcOSKOzzsaQRGB1KTkeLyuGLJrvtshJHN0=; b=M+nVrHDdsasuHpDeyMJsiNCi++uCzMM41oiSCsih9ZwWY6duJN2/4qatZogcgoMFlX 6t6G3d3+XLoGmJ4NThhA8cYug9twODnn8yw32rk/cYHeQvNBf7klfg7E7qMf0xC7G1UA +hOh9mRP9w/gcc5uX4YEPoVWxdHIszB2EVaBmIxWpbxzRUmWve4s66yIkOzSZ0qf6anH B1flONtLwDgxNXazV5kWijNwYOKSM5qWJiBnFVhm3JPTG0Y9kKP1ZK0xxSWPh4tgkQNi NtHP0Ybo+kiR3ED/6UZuFJe/lynP78KZujDRBd3bEO5vcJg9cAudTbXsVjB/whCj4in8 N7Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741637654; x=1742242454; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZJbNoPWAbkcOSKOzzsaQRGB1KTkeLyuGLJrvtshJHN0=; b=ImM1S6TxzuwJc3eybdEAIUvJdG4lcdTewxhswd/7821S2j/d8rfo+JPVBjs+GUMfw7 n+yhLlrnaT02Ed+oigrZKZoeVQP1soDiUBoqRQ5dro2soHByC1EN86Tch9cNCW/dXsAU 89l/00F/ETrcMmgfu/tfIpXjxOg0VEhFWAdyEOp39409puJc077NPIaZhW75YGfqNg6K 9oG6YmAgC52cuJ7Pr0J40hjeflrmjplWXt953Q8R0hT5PA7Ey1CnpUvHbRx1cmB4Tfxq YrqnOFAwkIO8Hbvu9/vy/HZccN9x17Zl4YA99YEsJZy0VSjan/w7U+5GXnN1Pi6UJczu LzNw== X-Gm-Message-State: AOJu0YzKE17x5XqkqGzW3cJdjj66XMAoNWRSJnUqzqSWn3fAnG9OsN3h 0JfVZq5buRlgIsAY95fjfbiR9A/6EXN0HNbOsn5OU/gtGO8R8A47id3ybpQ6TLa9avMdlPbHZs9 wMsfbu6qiQcdWudRvAj5kdwJ2td4= X-Gm-Gg: ASbGncu+fRsV8kK4OMMAA/zA2NorH/v9KwcDazpjwKznoZDIM9jPtn1Nysygu71J6pB FRuoaEXYi5w65d0w8c1f+dF1abnKfaf+q+LYu+S6S2R4JkW/bHBnB4LhMj8DW/pPALT2zuoc17X cVTl9grYXSeNWkG4mX+qGlH2GFOWdz+u36uCopCA== X-Google-Smtp-Source: AGHT+IGHYwIdI24gWIccf//JXYZ/GrlHld6vc0QhfSIjam0hHFjmXhdrOrjF3ZDHMVDuKYj/5emRj/L8YbvNF11NOqY= X-Received: by 2002:a05:6402:270d:b0:5e4:95fc:d748 with SMTP id 4fb4d7f45d1cf-5e7628ff54cmr1004263a12.5.1741637654289; Mon, 10 Mar 2025 13:14:14 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Mon, 10 Mar 2025 16:14:13 -0400 From: Stefan Kangas <stefankangas@HIDDEN> In-Reply-To: <86bju8eur1.fsf@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> <2b588fd7-10ee-4d46-958c-3c9adba18ccf@HIDDEN> <86bju8eur1.fsf@HIDDEN> MIME-Version: 1.0 Date: Mon, 10 Mar 2025 16:14:13 -0400 X-Gm-Features: AQ5f1Jqf_AFjhDNrRlJnjxHtkWtR-UdtKkmodtBSS3XaDjD4FEUq8Dipepqzp3o Message-ID: <CADwFkmkRHCh8_U5w6n8_3-SdgAiXzdn8aWwM=Wt2HFYYQEKOag@HIDDEN> Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: Eli Zaretskii <eliz@HIDDEN>, Paul Eggert <eggert@HIDDEN> Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, rms@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Eli Zaretskii <eliz@HIDDEN> writes: >> More radically, Emacs could also stop installing etags, and advise >> people to run ctags -e instead, where this is the other ctags. > > To this I object, since the master source of the format of the TAGS > files must be in Emacs, and what better to document this format than > to maintain and distribute etags the program. As a counter-point, we distribute parsers for quite a few formats where the master source of the format is not in emacs.git. They don't usually have the same legacy as ctags, admittedly. How about adding a --without-ctags flag, for those of us that never have a need for it?
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 10 Mar 2025 16:05:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 10 12:05:59 2025 Received: from localhost ([127.0.0.1]:39431 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trfdf-0000F3-74 for submit <at> debbugs.gnu.org; Mon, 10 Mar 2025 12:05:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55244) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1trfdc-0000Em-NZ for 76322 <at> debbugs.gnu.org; Mon, 10 Mar 2025 12:05:57 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1trfdW-0007dH-BP; Mon, 10 Mar 2025 12:05:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=npFlJr4BJErnXgJ/YMJxtwuCcqyLPq16czmdRVjLJvM=; b=Y3GwsAP2V8fv VjURfrhqv0Wmjy+KWknrmMKFOBww+i91CtYsU9Ol8Lm1JZ/lvaZdxxuWE1yUoykclZ0MpJtYRAD0U iBApyxcb65E15wgUeHGDosyMBkoax++S6fbHJa8wu6EoUpzdor7hdsWHPS8BKYgVVcynylqopcVQf 0fd2Dl9uNQNAiJ/69YfaqBblb9AOwcB6wcHvYcySZEbf00Dyi9TbGy1UdKWHXFaDqo06zC0M5Kg33 0eaUA42+4hSLlVBvnre/Iw3uSfSo+XUedbkdFmtcmr/Y+bLd/NumxQIQHMRN0rSNMYC+eqXiYXDJi uS6jJ2/2OB2JWpD5PG6cvg==; Date: Mon, 10 Mar 2025 18:05:38 +0200 Message-Id: <86bju8eur1.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Paul Eggert <eggert@HIDDEN> In-Reply-To: <2b588fd7-10ee-4d46-958c-3c9adba18ccf@HIDDEN> (message from Paul Eggert on Sun, 9 Mar 2025 23:33:03 -0700) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> <2b588fd7-10ee-4d46-958c-3c9adba18ccf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, rms@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Sun, 9 Mar 2025 23:33:03 -0700 > Cc: 76322 <at> debbugs.gnu.org > From: Paul Eggert <eggert@HIDDEN> > > On 2025-03-09 21:18, Richard Stallman wrote: > > The idea was that a user could give the program any name, > > and it would still behave the same. > > Yes, the idea is that a user can copy /usr/bin/ctags to (for example) > /usr/bin/ceetags or /home/eggert/bin/sitags and the command will still > work under its new name. If we must support arbitrary renames of programs that are not synchronized across the entire Emacs installation, i.e. not bounded by what we have in --program-transform-name=PROGRAM and --program-prefix etc., then no wrapper script can ever work reliably to cause etags work as ctags, because the script will be unable to find the correct etags to run. > If ctags invokes etags by replacing $0's basename with "etags", copying > /usr/bin/ctags to /usr/bin/ceetags just works, whereas copying > /usr/bin/ctags to /home/eggert/bin/sitags will require that the user > also copy or link /usr/bin/etags to /home/eggert/bin/etags. I assume > this requirement is OK (as I understand it, Eli says it's OK). This requirement will be OK if the programs were renamed using the facilities mentioned above, or at least the most common uses fog them. > Dropping support for ctags output would address the problem by removing > the need for two programs. And since there is a GPL'ed ctags[1] that is > better than what's shipped with Emacs, one option is for Emacs to stop > installing ctags, and to advise users who want a ctags program to use > the other ctags instead. That's the default on many distros nowadays anyway. We can do something less drastic: tell them to use "etags --ctags" instead. > More radically, Emacs could also stop installing etags, and advise > people to run ctags -e instead, where this is the other ctags. To this I object, since the master source of the format of the TAGS files must be in Emacs, and what better to document this format than to maintain and distribute etags the program. > As a practical matter, ctags and etags both have problems with languages > like C++ and Python where the same name can mean many different things > depending on context. My impression is that nowadays many (most?) people > who want tags-like capabilities use Language Server Protocol[2] clients > like lsp-mode[3] instead, as LSP can handle these more-complicated > naming conventions. Ctags and etags are mostly needed for old-fashioned > users. Given that there still is no GCC-based LSP server for C and C++, using LSP for C/C++ development means one needs to install clang in addition to GCC, and that is a nuisance. (I urged the GCC developers several years ago to develop LSP capabilities, but AFAIK nothing practical came out if that.) In any case, etags is a much more lightweight solution for what it provides (which us only a small part of what an LSP server can provide), so removing it for that reason would be unwise, IMO.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 10 Mar 2025 15:41:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 10 11:41:24 2025 Received: from localhost ([127.0.0.1]:39349 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trfFs-0004PW-4y for submit <at> debbugs.gnu.org; Mon, 10 Mar 2025 11:41:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44408) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1trfFo-0004PH-Ij for 76322 <at> debbugs.gnu.org; Mon, 10 Mar 2025 11:41:21 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1trfFh-0003ix-Al; Mon, 10 Mar 2025 11:41:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=ttnwN43x4itgs3NA1fQbPfRkw/YTmHyb4hLj/wcBfSQ=; b=UlSr70NSOO9e vtc2JmCEam25pMo1R/0d5zJwHAmOLYyF+FriPGOHi+II6iCNt80b2v9e0zdfGUhQ5NWDnKqCFloZc 03HRWuiDnrAtdBMDIUebG3XgzyGGxqb/0zIWiFKBZfiwlKc5fl4Fc9DHgovM0GLMnvgW+85EGr0eP b1yC2DCpHAGMAjhLE9tBVy0Pf/mx4kh70LQnmh0EeplJGao1BhMH1/gM3p8rvACM9nvnXSS+awe0x jOKcOWt71g4M4Qur/nnsRB1wqA0g6bXobQIlF559e4RtqwG742v/B7wiyWRLGO/egzOqFVlWw8jO6 Vf2RgbKN+xzunqnSEjsZ5A==; Date: Mon, 10 Mar 2025 17:40:51 +0200 Message-Id: <86ikogevwc.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: rms@HIDDEN In-Reply-To: <E1trUaq-0004Xr-Ph@HIDDEN> (message from Richard Stallman on Mon, 10 Mar 2025 00:18:20 -0400) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, eggert@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Richard Stallman <rms@HIDDEN> > Cc: eggert@HIDDEN, 76322 <at> debbugs.gnu.org > Date: Mon, 10 Mar 2025 00:18:20 -0400 > > i wrote etags very early in development of GNU, starting from ctags > which I did not write. At that time, I considered it unclean for a > program to behave differently depending on the name it is invoked > with. The idea was that a user could give the program any name, > and it would still behave the same. > > Back then, there was a reason to have ctags and etags, making their > different formats. etags output had rough source locations which sped > up finding a definition in the source. > > Nowadays that speedup may be insignificant in practice. > > Is it still beneficial? Emacs doesn't use the output of ctags. All our tags-related commands use on the TAGS files produced by etags. So dropping ctags will lose Emacs nothing. AFAIR, the ctags output is used by other editors (Vim, I think?). Whether that, or the fact that we shipped ctags since forever, is a significant enough reason to keep it in the tree and in the tarballs, is another question. Maybe we should ask downstream distros how they feel about dropping ctags.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 10 Mar 2025 06:33:20 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 10 02:33:20 2025 Received: from localhost ([127.0.0.1]:36039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trWhU-00054Z-Aa for submit <at> debbugs.gnu.org; Mon, 10 Mar 2025 02:33:20 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:39594) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1trWhR-00054E-Vb for 76322 <at> debbugs.gnu.org; Mon, 10 Mar 2025 02:33:18 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id BB8D83C01085F; Sun, 9 Mar 2025 23:33:11 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id QFHjgjoneCAh; Sun, 9 Mar 2025 23:33:11 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 6148D3C010861; Sun, 9 Mar 2025 23:33:11 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 6148D3C010861 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1741588391; bh=56vtGxg+hqYRvk2rBoMnaLHN4C7CTcPvgjGGgMM704U=; h=Message-ID:Date:MIME-Version:To:From; b=gOvyoiXb+R5nBoxW8shsB2ExSZxsbKC5KjzYk1oqbSvWxYKPJumSV+2oJHPqjU0Ba qT2IXZ8R2dAEFoEKuhwkL/gZ4K97Um2mtDdYD+UKC9w+V1494YzPXJtIMHnt8rvTZ+ FjRjfVycKG7szbL1IM5AAzINwIIhm+wT/elAuDegi+H+MBdtzS4ApuIfEFWE8FDDPQ cdsTlIPT83aHm/yLLX0Hu0VNf93fwiioCkhGMLA4fWTxTwKopy4FhTZJ5HbYem38kr Eb+vDwzLpTwf0N/9sWSl/W3feD3+rCN6D/lzSHK1fOpMVmxKZg7j7q2iH+ipCO4pXF HuiG6HEV7TQiA== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id y2ps1juUQWB3; Sun, 9 Mar 2025 23:33:11 -0700 (PDT) Received: from [192.168.254.12] (unknown [47.147.225.25]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 410AA3C01085F; Sun, 9 Mar 2025 23:33:11 -0700 (PDT) Message-ID: <2b588fd7-10ee-4d46-958c-3c9adba18ccf@HIDDEN> Date: Sun, 9 Mar 2025 23:33:03 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: rms@HIDDEN, Eli Zaretskii <eliz@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <E1trUaq-0004Xr-Ph@HIDDEN> Content-Language: en-US From: Paul Eggert <eggert@HIDDEN> Organization: UCLA Computer Science Department In-Reply-To: <E1trUaq-0004Xr-Ph@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.3 (/) On 2025-03-09 21:18, Richard Stallman wrote: > The idea was that a user could give the program any name, > and it would still behave the same. Yes, the idea is that a user can copy /usr/bin/ctags to (for example) /usr/bin/ceetags or /home/eggert/bin/sitags and the command will still work under its new name. If ctags invokes etags by replacing $0's basename with "etags", copying /usr/bin/ctags to /usr/bin/ceetags just works, whereas copying /usr/bin/ctags to /home/eggert/bin/sitags will require that the user also copy or link /usr/bin/etags to /home/eggert/bin/etags. I assume this requirement is OK (as I understand it, Eli says it's OK). > Back then, there was a reason to have ctags and etags, making their > different formats. etags output had rough source locations which sped > up finding a definition in the source. > > Nowadays that speedup may be insignificant in practice. > > Is it still beneficial? Dropping support for ctags output would address the problem by removing the need for two programs. And since there is a GPL'ed ctags[1] that is better than what's shipped with Emacs, one option is for Emacs to stop installing ctags, and to advise users who want a ctags program to use the other ctags instead. That's the default on many distros nowadays anyway. More radically, Emacs could also stop installing etags, and advise people to run ctags -e instead, where this is the other ctags. As a practical matter, ctags and etags both have problems with languages like C++ and Python where the same name can mean many different things depending on context. My impression is that nowadays many (most?) people who want tags-like capabilities use Language Server Protocol[2] clients like lsp-mode[3] instead, as LSP can handle these more-complicated naming conventions. Ctags and etags are mostly needed for old-fashioned users. [1]: https://github.com/universal-ctags/ctags [2]: https://en.wikipedia.org/wiki/Language_Server_Protocol [3]: https://emacs-lsp.github.io/lsp-mode/
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 10 Mar 2025 04:18:33 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 10 00:18:33 2025 Received: from localhost ([127.0.0.1]:35735 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trUb3-00070q-7j for submit <at> debbugs.gnu.org; Mon, 10 Mar 2025 00:18:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50488) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rms@HIDDEN>) id 1trUb0-00070e-RJ for 76322 <at> debbugs.gnu.org; Mon, 10 Mar 2025 00:18:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <rms@HIDDEN>) id 1trUat-00089o-Kp; Mon, 10 Mar 2025 00:18:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=tUrfNGkFSkkIvKCtmgBqrr3wUrWTVNsfYSG9ZKmkPlM=; b=K9/Hx2ZTBXTK oBxKRyCACgWzM6i8ijQ7IIIht8XVgjk8aUD6wW+SUab4mKrRZlYZ3ZkmdgtDLHLCDSxZ4l+Wyf2S2 gf2jR2OWAPk5T7D87V6ABSMuGPPh5RvfT59BzVpQc1aVTu6WWY/l5GCeXZKAjvwQgMsXWbma1w82L Gi/C5iB6fHvZ6N2HRTLhpH/WPmII9NwQ8xWQ33parCp2+sGGSSVhLJDOaBConjNVac2MDzTZsxbHr A5lB+BJ018y0PE4bbkFLJn0iZPzf7a9u41V7ALOgVAoiSuCQ46m5tB0apbFCdUVSztvDgMATDqRJe sZNO7YazR2rdZEe0NiBO3w==; Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from <rms@HIDDEN>) id 1trUaq-0004Xr-Ph; Mon, 10 Mar 2025 00:18:21 -0400 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman <rms@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <86senqmgkg.fsf@HIDDEN> (message from Eli Zaretskii on Thu, 06 Mar 2025 15:31:11 +0200) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> Message-Id: <E1trUaq-0004Xr-Ph@HIDDEN> Date: Mon, 10 Mar 2025 00:18:20 -0400 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, eggert@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Reply-To: rms@HIDDEN Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) [[[ 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 wrote etags very early in development of GNU, starting from ctags which I did not write. At that time, I considered it unclean for a program to behave differently depending on the name it is invoked with. The idea was that a user could give the program any name, and it would still behave the same. Back then, there was a reason to have ctags and etags, making their different formats. etags output had rough source locations which sped up finding a definition in the source. Nowadays that speedup may be insignificant in practice. Is it still beneficial? -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 9 Mar 2025 13:08:46 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 09 09:08:46 2025 Received: from localhost ([127.0.0.1]:58809 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trGOc-0001ek-Db for submit <at> debbugs.gnu.org; Sun, 09 Mar 2025 09:08:46 -0400 Received: from mail-40131.protonmail.ch ([185.70.40.131]:24719) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>) id 1trGOa-0001eW-Aj for 76322 <at> debbugs.gnu.org; Sun, 09 Mar 2025 09:08:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1741525717; x=1741784917; bh=iA5yKtDoh25w872xZeUwZOghoVGIuGwSFj82f3SiZEU=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=Gun6AKeNVGPO6gQnFxNqp4IDt+s5aj4SsPu5I459Ipv0nO7a8lyvY001NKGPA5VBT wQEQysPPqy/YIh5E7W68JAW89bo5FE0k5swoKecxCxmuTCg6SCu+lUiw/69rWIS3cw FExh2XVHP2m4sIqtyeBpFtl8jbhIrs5hN0myBoNVYAWnPzGy9eZeRa4e10dHOeqNbh XXgLpgtXMHpz7jTm4P43EeXz0LHrb1HcNAYunlepw3wGe/oMxqIbXOLeiHAOcVKEjO PyzRzcWpH5Pckvlnmd0yrV/tO1UKhXNH3Hh5g2S8ByLmygAhPpN4WfFb5i27gTm3Ae hLGxumzIi40gg== Date: Sun, 09 Mar 2025 13:08:32 +0000 To: Paul Eggert <eggert@HIDDEN> From: Pip Cet <pipcet@HIDDEN> Subject: Re: bug#76322: Make ctags a thin wrapper around etags Message-ID: <87pliq5p3m.fsf@HIDDEN> In-Reply-To: <719e33a6-66cb-41af-a01e-be1b5a1ffdad@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <719e33a6-66cb-41af-a01e-be1b5a1ffdad@HIDDEN> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: 96ca08d844ddf53469f51947eb83115f9cdb1849 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Pip Cet <pipcet@HIDDEN> writes: > "Paul Eggert" <eggert@HIDDEN> writes: > >> + for (; *s; s++) >> + { >> + if (*s =3D=3D '"') >> + store (d, i, bscount + 1, '\\'); > > This sholud be i =3D store (d, i , ...), so we don't lose the > backslashes. Also (but much more harmless, no buffer overflow here): size_t nargbytes =3D sizeof etags_program + sizeof option_prefix - 1; should be size_t nargbytes =3D sizeof option_prefix - 1; because etags_program is no longer copied into the newly allocated area. Pip
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 9 Mar 2025 12:23:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 09 08:23:47 2025 Received: from localhost ([127.0.0.1]:58728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trFh5-0004uy-10 for submit <at> debbugs.gnu.org; Sun, 09 Mar 2025 08:23:47 -0400 Received: from mail-40134.protonmail.ch ([185.70.40.134]:13049) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>) id 1trFh2-0004uh-3T for 76322 <at> debbugs.gnu.org; Sun, 09 Mar 2025 08:23:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1741523017; x=1741782217; bh=XtFeDWGBTf25sKUuPA1dPq/JySYcojke73JZYdjsjfY=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=mpQ8utINCzjlsTjYv6sSz1JipSzsNYDwFf8/mouMgzzMxjWnjYlp6NwAGneCNKpjP Yu3AxzkxFiCFDHLfS7F12Dxz3DaFvNjUZaJ9rqShXqp2DD7gINKJJ5mdnY9vQdenDb elfi67ZT+K8aA1qQOcVfBZgyLpqlwGb7gRpyXLbQCSY+KydT5FT+Dho+DTXt9CqPki YtHFiXjWgxbhn4pS15U1x11q/1LsahU4/nwZndiYoezz8wmZfayV64iWCRlf0ajpQ3 JPeHlfttxc0h7QUBFyiHVaxrTxzHlXHxeEbJubLrfyh0RyKoasS7hdtzs8jXVahrjj rCPk2T5gvzy+w== Date: Sun, 09 Mar 2025 12:23:33 +0000 To: Paul Eggert <eggert@HIDDEN> From: Pip Cet <pipcet@HIDDEN> Subject: Re: bug#76322: Make ctags a thin wrapper around etags Message-ID: <87v7si5r6n.fsf@HIDDEN> In-Reply-To: <719e33a6-66cb-41af-a01e-be1b5a1ffdad@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <719e33a6-66cb-41af-a01e-be1b5a1ffdad@HIDDEN> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: 86f02cd3256498793b58a9f065a228f30b7dbf5b MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) "Paul Eggert" <eggert@HIDDEN> writes: > On 2025-03-06 05:31, Eli Zaretskii wrote: >>> Date: Tue, 4 Mar 2025 10:37:05 -0800 >>> Cc: 76322 <at> debbugs.gnu.org >>> From: Paul Eggert <eggert@HIDDEN> >>> >>> Thanks for the review. Revised patch attached, which I think addresses >>> all the comments. >> >> Thanks. This mostly worked, but I needed a few minor changes (below). >> We should use _spawnvp, not _execvp, since the latter doesn't return, >> so we cannot return the exit status of etags to the caller. More >> importantly, the counting of bytes to allocate missed the PROGRAM part >> of --ctags=3DPROGRAM, so ctags would crash in weird ways. Finally, I >> need to include stdio.h to get the declaration of perror. Here's the >> patch: > > Thanks, I incorporated all that into the proposed patch. A couple of > things, though. First, when _spawnvp returns -1 I assume ctags should > call perror and exit with status 127 rather than simply try to exit with > status -1. Second and more important, my earlier proposal violated the > GNU Coding Standards because its behavior depended on its name.[1] If you're referring to the previous behavior of looking for etags in the right directory, rather than a hard-coded directory as the current patch does, I'm not sure how the GNU coding standards prohibit that. > Fixing the second problem simplified the C and shell code a bit. Revised > patch attached. But that means we hard-code the installation path for "etags" in the "ctags" shell script/executable, which seems worse than simply depending on the name (or going back to building two binaries) to me. Non-relocatable builds are a pain. It's also different from what other GNU utilities do: gunzip looks for gzip in the PATH, for example. > diff --git a/lib-src/ctags.sh b/lib-src/ctags.sh > new file mode 100755 > index 00000000000..13a4320d9e9 > --- /dev/null > +++ b/lib-src/ctags.sh > @@ -0,0 +1,2 @@ > +#!/bin/sh > +exec '@ETAGS_PROGRAM@' --ctags=3D"$0" "$@" I think this file should not be executable (and I'm not sure why it's called "ctags.sh" rather than "ctags.in" or something similar, which would indicate it needs to be processed to yield an executable file). > + for (; *s; s++) > + { > + if (*s =3D=3D '"') > + store (d, i, bscount + 1, '\\'); This sholud be i =3D store (d, i , ...), so we don't lose the backslashes. Pip
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 9 Mar 2025 12:16:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 09 08:16:07 2025 Received: from localhost ([127.0.0.1]:58719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trFZe-0004cD-ST for submit <at> debbugs.gnu.org; Sun, 09 Mar 2025 08:16:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59382) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1trFZa-0004bf-5g for 76322 <at> debbugs.gnu.org; Sun, 09 Mar 2025 08:16:04 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1trFZT-0000Ae-W0; Sun, 09 Mar 2025 08:15:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=LxYZCzWgAzvZRaqVJfgizF1mPZfHn9j4yDIWTyo4qXs=; b=bylfiTawOU/J LS+mmOU/Q1aR5CHfLX6x77tUZrvZ1lKl0n4GpeB7HhoBvBXRkB/eclxGkCkHjnTYkyDm7hKWqdj8h 2UNLhSNofkSnTSkZZFuiUP04miqvkHenGBM6mRcQHKk+JnwV6cUFtBwe0IfqJgoOyCb2ym07hQVv7 Tb78IoeA207wqNyFmq2Z4zfsmZxnXSK5RpF3bYdK4tP4dwtxW2VsS41Yceop2lsM9WOSpwqPM6t3+ A/dtYaKmBPcUp/lgP27P9ZudTPPbBgiZLKqywqAxpAWdPgCYL+Rs0DXuNIK1Z8q8FGaLwMiijDY7n bqNhmrtDt//6r3KB5vNQJA==; Date: Sun, 09 Mar 2025 14:15:51 +0200 Message-Id: <86ecz6flhk.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Paul Eggert <eggert@HIDDEN> In-Reply-To: <719e33a6-66cb-41af-a01e-be1b5a1ffdad@HIDDEN> (message from Paul Eggert on Sun, 9 Mar 2025 00:13:51 -0800) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> <719e33a6-66cb-41af-a01e-be1b5a1ffdad@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Sun, 9 Mar 2025 00:13:51 -0800 > Cc: 76322 <at> debbugs.gnu.org > From: Paul Eggert <eggert@HIDDEN> > > > Thanks. This mostly worked, but I needed a few minor changes (below). > > We should use _spawnvp, not _execvp, since the latter doesn't return, > > so we cannot return the exit status of etags to the caller. More > > importantly, the counting of bytes to allocate missed the PROGRAM part > > of --ctags=PROGRAM, so ctags would crash in weird ways. Finally, I > > need to include stdio.h to get the declaration of perror. Here's the > > patch: > > Thanks, I incorporated all that into the proposed patch. A couple of > things, though. First, when _spawnvp returns -1 I assume ctags should > call perror and exit with status 127 rather than simply try to exit with > status -1. Second and more important, my earlier proposal violated the > GNU Coding Standards because its behavior depended on its name.[1] > > Fixing the second problem simplified the C and shell code a bit. Revised > patch attached. Thanks, but this doesn't quite work. The reason is here: > + static char const etags_program[] = ETAGS_PROGRAM; ETAGS_PROGRAM is computed by lib-src/Makefile, which sets it to the absolute file name of etags in the installation tree. So if the etags there doesn't exist (e.g., Emacs was not yet installed), or is not the new etags which understands the --ctags= option, ctags will fail. So I cannot even run the etags test suite after building the patched tree, because all ctags tests failed. Why did you drop the previous approach, which just replaced "ctags" with "etags" in the original argv[0]? That did work, was reliable, and allowed to move the installed programs to any other directory (something that happens a lot on Windows). It also made sure the pair of programs came from the same Emacs version, which is also important. Was there any problem with that approach that required you to abandon it? Thanks.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 9 Mar 2025 08:14:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 09 04:14:18 2025 Received: from localhost ([127.0.0.1]:58100 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1trBna-0006LL-Rt for submit <at> debbugs.gnu.org; Sun, 09 Mar 2025 04:14:18 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:49526) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1trBnP-0006KY-8M for 76322 <at> debbugs.gnu.org; Sun, 09 Mar 2025 04:14:13 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id C144C3C010856; Sun, 9 Mar 2025 00:13:56 -0800 (PST) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id pjenJtKZ7YRg; Sun, 9 Mar 2025 00:13:55 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 69FE23C010857; Sun, 9 Mar 2025 00:13:55 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 69FE23C010857 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1741508035; bh=1wiH8xq8Mtt48xj8dLpbtyUrLlRorBx976BZRAZVTmE=; h=Message-ID:Date:MIME-Version:To:From; b=O6slWB5blV1eoTFgaRPRJ09FGOpf0hErdGeAXlfuKglqiqZgy8vmzWdFcnBSkvsgF Gh1mnFGxQgM1y0z/B/tDTRzWh8I8oUjXSjJgyEC7jkGLST2pP8lUXG7fap1AyE2RVv X0vRXWGkjCJ/8eREapOCg3RRMjISzpah1Ya5cg2pyFZVeiMDKJwuKmIcfjudq9sOTu 38GZuMUXbg+YDCmpGQXlqTUhKeOTidRyufVsuh1TCygxtB31JaUoMFG6/HB5iBQ28v w+k9BgWonozQTVnK8GXu/gyyLeGxAFu93uXKLXHuykjA4/DIy//d6teXKDSq4tUByA dcPvy8bMslbHg== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id gRpswDy8bL2b; Sun, 9 Mar 2025 00:13:55 -0800 (PST) Received: from [192.168.254.12] (unknown [47.147.225.25]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 3FBA23C010856; Sun, 9 Mar 2025 00:13:55 -0800 (PST) Content-Type: multipart/mixed; boundary="------------9gmm2n9oWGUy1pHeOdxqY2Vp" Message-ID: <719e33a6-66cb-41af-a01e-be1b5a1ffdad@HIDDEN> Date: Sun, 9 Mar 2025 00:13:51 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: Eli Zaretskii <eliz@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> <86senqmgkg.fsf@HIDDEN> Content-Language: en-US From: Paul Eggert <eggert@HIDDEN> Organization: UCLA Computer Science Department In-Reply-To: <86senqmgkg.fsf@HIDDEN> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------9gmm2n9oWGUy1pHeOdxqY2Vp Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025-03-06 05:31, Eli Zaretskii wrote: >> Date: Tue, 4 Mar 2025 10:37:05 -0800 >> Cc: 76322 <at> debbugs.gnu.org >> From: Paul Eggert <eggert@HIDDEN> >> >> Thanks for the review. Revised patch attached, which I think addresses >> all the comments. > > Thanks. This mostly worked, but I needed a few minor changes (below). > We should use _spawnvp, not _execvp, since the latter doesn't return, > so we cannot return the exit status of etags to the caller. More > importantly, the counting of bytes to allocate missed the PROGRAM part > of --ctags=PROGRAM, so ctags would crash in weird ways. Finally, I > need to include stdio.h to get the declaration of perror. Here's the > patch: Thanks, I incorporated all that into the proposed patch. A couple of things, though. First, when _spawnvp returns -1 I assume ctags should call perror and exit with status 127 rather than simply try to exit with status -1. Second and more important, my earlier proposal violated the GNU Coding Standards because its behavior depended on its name.[1] Fixing the second problem simplified the C and shell code a bit. Revised patch attached. [1]: https://www.gnu.org/prep/standards/html_node/User-Interfaces.html#index-program-name-and-its-behavior --------------9gmm2n9oWGUy1pHeOdxqY2Vp Content-Type: text/x-patch; charset=UTF-8; name="0001-Make-ctags-a-thin-wrapper-around-etags.patch" Content-Disposition: attachment; filename="0001-Make-ctags-a-thin-wrapper-around-etags.patch" Content-Transfer-Encoding: base64 RnJvbSA0YTI5MmFmODRiZmU4MThjMGY4MmQ1NWMwNDNlZGZjMjJkNDI3NjcxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDggTWFyIDIwMjUgMjM6MzY6NTIgLTA4MDAKU3ViamVjdDogW1BBVENI XSBNYWtlIGN0YWdzIGEgdGhpbiB3cmFwcGVyIGFyb3VuZCBldGFncwoKVGhpcyBmaXhlcyBh IEZJWE1FIGluIGxpYi1zcmMvTWFrZWZpbGUuaW4gYW5kIHNwZWVkcyB1cCBjb21waWxhdGlv bgpxdWl0ZSBhIGJpdCBvbiBteSBvbGRlciBDUFUgd2hlbiBJIGNvbXBpbGUgd2l0aAktLWVu YWJsZS1nY2Mtd2FybmluZ3MuCkl0IGFsc28gbGVzc2VucyBpbnN0YWxsYXRpb24gYW5kIHJ1 bnRpbWUgZm9vdHByaW50LgoqIGphdmEvTWFrZWZpbGUuaW4gKGluc3RhbGxfdGVtcCk6IFRy ZWF0IGN0YWdzIGxpa2UgcmNzMmxvZy4KKiBsaWItc3JjL01ha2VmaWxlLmluIChJTlNUQUxM QUJMRV9FWEVTLCBJTlNUQUxMQUJMRV9TQ1JJUFRTKToKTmV3IG1hY3JvcywgcmVwbGFjaW5n IElOU1RBTExBQkxFUy4gIEFsbCB1c2VzIGNoYW5nZWQuCihVVElMSVRZX0VYRVMpOiBSZW5h bWUgZnJvbSBVVElMSVRJRVMsIGZvciBjb25zaXN0ZW5jeS4gIEFsbCB1c2VzIGNoYW5nZWQu CihVVElMSVRZX1NDUklQVFMpOiBSZW5hbWUgZnJvbSBTQ1JJUFRTLCBmb3IgY29uc2lzdGVu Y3kuICBBbGwgdXNlcyBjaGFuZ2VkLgoobW9zdGx5Y2xlYW4pOiBDbGVhbiAqLXQuCihTRVRf ZXRhZ3MpOiBOZXcgbWFjcm8uCihjdGFncyk6IE5ldyBydWxlIGlmIG5vdCBFWEVFWFQuCihj dGFncyR7RVhFRVhUfSk6IFJlbW92ZSBydWxlIHVubGVzcyBFWEVFWFQuICBEZWZpbmUgRVRB R1NfUFJPR1JBTS4KVXNlIG9ubHkgTlRMSUIgYW5kIExPQURMSUJFUy4KKiBsaWItc3JjL2N0 YWdzLmM6IFJld3JpdGUgZnJvbSBzY3JhdGNoOyBpdCdzIG5vdyB1c2VkIG9ubHkgaWYgRVhF RVhULgoqIGxpYi1zcmMvY3RhZ3Muc2g6IE5ldyBmaWxlLgoqIGxpYi1zcmMvZXRhZ3MuYyAo Q1RBR1MpOiBSZW1vdmUuICBBbGwgdXNlcyByZXBsYWNlZCBieSAuLi4KKGN0YWdzKTogLi4u IHRoaXMgbmV3IHN0YXRpYyB2YXIuCihTVERJTik6IFJlbW92ZSBtYWNyby4gIEFsbCB1c2Vz IHJlcGxhY2VkIGJ5IG5ldyBTVERJTl9PUFRJT04gY29uc3RhbnQuCihDVEFHU19PUFRJT04s IFNURElOX09QVElPTik6IE5ldyBjb250YW50cy4KKGxvbmdvcHRzKTogTmV3IC0tY3RhZ3Mg b3B0aW9uLgooY3RhZ3NfZGVmYXVsdF9DX2hlbHApOiBOZXcgY29uc3RhbnQsCnRvIG92ZXJy aWRlIGRlZmF1bHRfQ19oZWxwIGF0IHJ1bnRpbWUuCihkZWZhdWx0X0NfaGVscCk6IE5vdyBh bHdheXMgdGhlIGV0YWdzIHZlcnNpb24uCihDX0xBTkdfTkFNRVNfSU5ERVgpOiBOZXcgbWFj cm8uCihwcmludF9sYW5ndWFnZV9uYW1lcyk6IERvIG5vdCBhc3N1bWUgZXRhZ3MuCihQUk9H UkFNX05BTUUpOiBSZW1vdmUuICBBbGwgdXNlcyByZW1vdmVkLgoocHJpbnRfaGVscCk6IERv Y3VtZW50IC0tY3RhZ3MgaWYgUFJJTlRfVU5ET0NVTUVOVEVEX09QVElPTlNfSEVMUC4KKG1h aW4pOiBTdXBwb3J0IG5ldyAtLWN0YWdzIG9wdGlvbiwgYW5kIHN1cHBvcnQgYWxsIFtjZV10 YWdzIG9wdGlvbnMuCi0tLQogZXRjL05FV1MgICAgICAgICAgICB8ICAgNCArKwogZXRjL1BS T0JMRU1TICAgICAgICB8ICAgNCArLQogamF2YS9NYWtlZmlsZS5pbiAgICB8ICAgNyArKy0K IGxpYi1zcmMvTWFrZWZpbGUuaW4gfCAgNjAgKysrKysrKysrKysrKy0tLS0tLS0KIGxpYi1z cmMvY3RhZ3MuYyAgICAgfCAxMjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0KIGxpYi1zcmMvY3RhZ3Muc2ggICAgfCAgIDIgKwogbGliLXNyYy9ldGFncy5j ICAgICB8IDEzMSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogNyBmaWxlcyBjaGFuZ2VkLCAyNDEgaW5zZXJ0aW9ucygrKSwgOTAgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA3NTUgbGliLXNyYy9jdGFncy5zaAoKZGlmZiAtLWdpdCBhL2V0 Yy9ORVdTIGIvZXRjL05FV1MKaW5kZXggMjU4ZjBkY2M0YmEuLjAyNDNiY2RjMGVlIDEwMDY0 NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMvTkVXUwpAQCAtMjksNiArMjksMTAgQEAgYXBw bGllcywgYW5kIHBsZWFzZSBhbHNvIHVwZGF0ZSBkb2NzdHJpbmdzIGFzIG5lZWRlZC4KIFRo ZSB0cmFkaXRpb25hbCB1bmV4ZWMgZHVtcGVyLCBkZXByZWNhdGVkIHNpbmNlIEVtYWNzIDI3 LCBoYXMgYmVlbgogcmVtb3ZlZC4KIAorLS0tCisqKiBjdGFncyBpcyBub3cgbWVyZWx5IGEg dGhpbiB3cmFwcGVyIGFyb3VuZCBldGFncy4KK1RoaXMgc3BlZWRzIHVwIGNvbXBpbGF0aW9u IGFuZCBsZXNzZW5zIGluc3RhbGxhdGlvbiBmb290cHJpbnQuCisKIC0tLQogKiogQ2hhbmdl ZCBHQ0MgZGVmYXVsdCBvcHRpb25zIG9uIDMyLWJpdCB4ODYgc3lzdGVtcy4KIFdoZW4gdXNp bmcgR0NDIDQgb3IgbGF0ZXIgdG8gYnVpbGQgRW1hY3Mgb24gMzItYml0IHg4NiBzeXN0ZW1z LApkaWZmIC0tZ2l0IGEvZXRjL1BST0JMRU1TIGIvZXRjL1BST0JMRU1TCmluZGV4IDBkNjFh M2JjNzZlLi45NTI4MTNmMGM1YiAxMDA2NDQKLS0tIGEvZXRjL1BST0JMRU1TCisrKyBiL2V0 Yy9QUk9CTEVNUwpAQCAtMzk3Myw3ICszOTczLDcgQEAgVGhlcmUgYXJlIHNldmVyYWwga25v d24gd29ya2Fyb3VuZHM6CiAKIFRoZSBsaW5rZXIgZXJyb3IgbWVzc2FnZXMgbG9vayBsaWtl IHRoaXM6CiAKLSBvby1zcGQvaTM4Ni9jdGFncy5vOmN0YWdzLmM6KC50ZXh0KzB4MTU2ZSk6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX3JlX3NldF9zeW50YXgnCisgb28tc3Bk L2kzODYvZXRhZ3MubzpldGFncy5jOigudGV4dCsweDE1NmUpOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBfaW1wX19yZV9zZXRfc3ludGF4JwogIGNvbGxlY3QyOiBsZCByZXR1cm5lZCAx IGV4aXQgc3RhdHVzCiAKIFRoaXMgaGFwcGVucyBiZWNhdXNlIEdDQyBmaW5kcyBhbiBpbmNv bXBhdGlibGUgcmVnZXguaCBoZWFkZXIKQEAgLTQwMDQsNyArNDAwNCw3IEBAIFNvbWUgdmVy c2lvbnMgb2YgbWluZ3czMiBtYWtlIG9uIHNvbWUgdmVyc2lvbnMgb2YgV2luZG93cyBkbyBu b3Qgc2VlbQogdG8gZGV0ZWN0IHRoZSBzaGVsbCBjb3JyZWN0bHkuICBUcnkgIm1ha2UgU0hF TEw9Y21kLmV4ZSIsIG9yIGlmIHRoYXQKIGZhaWxzLCB0cnkgcnVubmluZyBtYWtlIGZyb20g Q3lnd2luIGJhc2ggaW5zdGVhZC4KIAotKioqIEJ1aWxkaW5nICdjdGFncycgZm9yIE1TLVdp bmRvd3Mgd2l0aCB0aGUgTWluR1cgcG9ydCBvZiBHQ0MgZmFpbHMuCisqKiogQnVpbGRpbmcg J2V0YWdzJyBmb3IgTVMtV2luZG93cyB3aXRoIHRoZSBNaW5HVyBwb3J0IG9mIEdDQyBmYWls cy4KIAogVGhpcyBtaWdodCBoYXBwZW4gZHVlIHRvIGEgYnVnIGluIHRoZSBNaW5HVyBoZWFk ZXIgYXNzZXJ0LmgsIHdoaWNoCiBkZWZpbmVzIHRoZSAnYXNzZXJ0JyBtYWNybyB3aXRoIGEg dHJhaWxpbmcgc2VtaS1jb2xvbi4gIFRoZSBmb2xsb3dpbmcKZGlmZiAtLWdpdCBhL2phdmEv TWFrZWZpbGUuaW4gYi9qYXZhL01ha2VmaWxlLmluCmluZGV4IDM5ZDZlODVjN2E3Li4yMWFj NGU0MjUwZCAxMDA2NDQKLS0tIGEvamF2YS9NYWtlZmlsZS5pbgorKysgYi9qYXZhL01ha2Vm aWxlLmluCkBAIC0zMDUsOCArMzA1LDEzIEBAIGluc3RhbGxfdGVtcDoKIAkgICAgY3AgLWYg JCRmaWxlIGluc3RhbGxfdGVtcC9saWIvJChBTkRST0lEX0FCSSk7CVwKIAkgIGZpIAkJCQkJ CQlcCiAJZG9uZQotIyBOZXh0LCBwcm9kdWNlIGEgdmVyc2lvbiBvZiByY3MybG9nIGJlZml0 dGluZyBBbmRyb2lkJ3MgbmFtaW5nCisjIE5leHQsIHByb2R1Y2UgdmVyc2lvbnMgb2YgY3Rh Z3MgYW5kIHJjczJsb2cgYmVmaXR0aW5nIEFuZHJvaWQncyBuYW1pbmcKICMgY29udmVudGlv bnMgYW5kIHNoZWxsIGludGVycHJldGVyIGxvY2F0aW9uLgorCSQoQU1fVl9hdCkgXAorCXNl ZCAnc3wvYmluL3NofC9zeXN0ZW0vYmluL3NofCcJCQkJCVwKKwkgJCh0b3Bfc3JjZGlyKS9s aWItc3JjL2N0YWdzID4JCQkJCVwKKwkgaW5zdGFsbF90ZW1wL2xpYi8kKEFORFJPSURfQUJJ KS9saWJjdGFncy5zbworCSQoQU1fVl9hdCkgY2htb2QgK3ggaW5zdGFsbF90ZW1wL2xpYi8k KEFORFJPSURfQUJJKS9saWJjdGFncy5zbwogCSQoQU1fVl9hdCkgXAogCXNlZCAnc3wvYmlu L3NofC9zeXN0ZW0vYmluL3NofCcJCQkJCVwKIAkgJCh0b3Bfc3JjZGlyKS9saWItc3JjL3Jj czJsb2cgPgkJCQlcCmRpZmYgLS1naXQgYS9saWItc3JjL01ha2VmaWxlLmluIGIvbGliLXNy Yy9NYWtlZmlsZS5pbgppbmRleCA0MzlkOWExYTUyZC4uMjhjNTYwMjM0MzMgMTAwNjQ0Ci0t LSBhL2xpYi1zcmMvTWFrZWZpbGUuaW4KKysrIGIvbGliLXNyYy9NYWtlZmlsZS5pbgpAQCAt MTU1LDEyICsxNTUsMTMgQEAgQU5EUk9JRD0KIENMSUVOVFcgPSBAQ0xJRU5UV0AKIAogIyBU aGluZ3MgdGhhdCBhIHVzZXIgbWlnaHQgYWN0dWFsbHkgcnVuLCB3aGljaCBzaG91bGQgYmUg aW5zdGFsbGVkIGluIGJpbmRpci4KLUlOU1RBTExBQkxFUyA9IGV0YWdzJHtFWEVFWFR9IGN0 YWdzJHtFWEVFWFR9IGVtYWNzY2xpZW50JHtFWEVFWFR9ICQoQ0xJRU5UVykgXAotICAgICAg ICAgICAgICAgZWJyb3dzZSR7RVhFRVhUfQorSU5TVEFMTEFCTEVfRVhFUyA9IGV0YWdzJHtF WEVFWFR9ICQoaWYgJChFWEVFWFQpLCBjdGFncyQoRVhFRVhUKSkgXAorICBlbWFjc2NsaWVu dCR7RVhFRVhUfSAkKENMSUVOVFcpIGVicm93c2Uke0VYRUVYVH0KK0lOU1RBTExBQkxFX1ND UklQVFMgPSAkKGlmICQoRVhFRVhUKSwgLCBjdGFncykKIAogIyBUaGluZ3MgdGhhdCBFbWFj cyBydW5zIGludGVybmFsbHksIG9yIGR1cmluZyB0aGUgYnVpbGQgcHJvY2VzcywKICMgIHdo aWNoIHNob3VsZCBub3QgYmUgaW5zdGFsbGVkIGluIGJpbmRpci4KLVVUSUxJVElFUyA9IGhl eGwke0VYRUVYVH0gCQkJIAkgXAorVVRJTElUWV9FWEVTID0gaGV4bCR7RVhFRVhUfSBcCiAJ ICAgICQoaWYgJCh3aXRoX21haWx1dGlscyksICwgbW92ZW1haWwke0VYRUVYVH0pIFwKICAg ICAgICAgICAgICQoYW5kICQodXNlX2dhbWVkaXIpLCB1cGRhdGUtZ2FtZS1zY29yZSR7RVhF RVhUfSkKIApAQCAtMTc1LDEyICsxNzYsMTIgQEAgRE9OVF9JTlNUQUxMPQogZW5kaWYKIGVu ZGlmCiAKLSMgTGlrZSBVVElMSVRJRVMsIGJ1dCB0aGV5J3JlIG5vdCBzeXN0ZW0tZGVwZW5k ZW50LCBhbmQgc2hvdWxkIG5vdCBiZQorIyBMaWtlIFVUSUxJVFlfRVhFUywgYnV0IHRoZXkn cmUgbm90IHN5c3RlbS1kZXBlbmRlbnQsIGFuZCBzaG91bGQgbm90IGJlCiAjICBkZWxldGVk IGJ5IHRoZSBkaXN0Y2xlYW4gdGFyZ2V0LgotU0NSSVBUUz0gcmNzMmxvZworVVRJTElUWV9T Q1JJUFRTID0gcmNzMmxvZwogCiAjIEFsbCBmaWxlcyB0aGF0IGFyZSBjcmVhdGVkIGJ5IHRo ZSBsaW5rZXIsIGkuZS4sIHdob3NlIG5hbWVzIGVuZCBpbiAke0VYRUVYVH0uCi1FWEVfRklM RVMgPSAke0lOU1RBTExBQkxFU30gJHtVVElMSVRJRVN9ICR7RE9OVF9JTlNUQUxMfQorRVhF X0ZJTEVTID0gJHtJTlNUQUxMQUJMRV9FWEVTfSAke1VUSUxJVFlfRVhFU30gJHtET05UX0lO U1RBTEx9CiAKICMgU3BlY2lmeSBhZGRpdGlvbmFsIC1EIGZsYWdzIGZvciBtb3ZlbWFpbC4g T3B0aW9uczoKICMgLURNQUlMX1VTRV9GTE9DSyBvciAtRE1BSUxfVVNFX0xPQ0tGICh1c2Ug ZmxvY2sgb3IgbG9ja2YgZm9yIGZpbGUgbG9ja2luZykuCkBAIC0yODMsNyArMjg0LDcgQEAg QUxMX0NYWEZMQUdTID0KICMgQ29uZmlndXJhdGlvbiBmaWxlcyBmb3IgLm8gZmlsZXMgdG8g ZGVwZW5kIG9uLgogY29uZmlnX2ggPSAuLi9zcmMvY29uZmlnLmggJChzcmNkaXIpLy4uL3Ny Yy9jb25mX3Bvc3QuaAogCi1hbGw6ICR7RVhFX0ZJTEVTfSAke1NDUklQVFN9CithbGw6ICR7 RVhFX0ZJTEVTfSAke0lOU1RBTExBQkxFX1NDUklQVFN9ICR7VVRJTElUWV9TQ1JJUFRTfQog CiBpZmVxICgkKFNFQ0NPTVBfRklMVEVSKSwxKQogYWxsOiBzZWNjb21wLWZpbHRlci5icGYg c2VjY29tcC1maWx0ZXItZXhlYy5icGYKQEAgLTMyNCw3ICszMjUsNyBAQCAkKERFU1RESVIp JHthcmNobGliZGlyfToKIAl1bWFzayAwMjIgJiYgJHtNS0RJUl9QfSAiJChERVNURElSKSR7 YXJjaGxpYmRpcn0iCiAJZXhwX2FyY2hsaWJkaXI9YGNkICIkKERFU1RESVIpJHthcmNobGli ZGlyfSIgJiYgcHdkIC1QYCAmJiBcCiAJaWYgWyAiJCRleHBfYXJjaGxpYmRpciIgIT0gImBw d2QgLVBgIiBdOyB0aGVuIFwKLQkgIGZvciBmaWxlIGluICR7VVRJTElUSUVTfTsgZG8gXAor CSAgZm9yIGZpbGUgaW4gJHtVVElMSVRZX0VYRVN9OyBkbyBcCiAJICAgICQoSU5TVEFMTF9Q Uk9HUkFNKSAkKElOU1RBTExfU1RSSVApICQkZmlsZSBcCiAJICAgICAgIiQoREVTVERJUikk e2FyY2hsaWJkaXJ9LyQkZmlsZSIgfHwgZXhpdDsgXAogCSAgZG9uZSA7IFwKQEAgLTM1MSw3 ICszNTIsNyBAQCAkKERFU1RESVIpJHthcmNobGliZGlyfToKICAgZW5kaWYKIAlleHBfYXJj aGxpYmRpcj1gY2QgIiQoREVTVERJUikke2FyY2hsaWJkaXJ9IiAmJiBwd2QgLVBgICYmIFwK IAlpZiBbICIkJGV4cF9hcmNobGliZGlyIiAhPSAiYGNkICR7c3JjZGlyfSAmJiBwd2QgLVBg IiBdOyB0aGVuIFwKLQkgIGZvciBmaWxlIGluICR7U0NSSVBUU307IGRvIFwKKwkgIGZvciBm aWxlIGluICR7VVRJTElUWV9TQ1JJUFRTfTsgZG8gXAogCSAgICAkKElOU1RBTExfU0NSSVBU KSAke3NyY2Rpcn0vJCRmaWxlIFwKIAkgICAgICAiJChERVNURElSKSR7YXJjaGxpYmRpcn0v JCRmaWxlIiB8fCBleGl0OyBcCiAJICBkb25lIDsgXApAQCAtMzY0LDI2ICszNjUsMzkgQEAg aW5zdGFsbDoKIAkkKGluZm8gJC4pCiAJJChpbmZvIEluc3RhbGxpbmcgdXRpbGl0aWVzIGZv ciB1c2VycyB0byBydW4uKQogCXVtYXNrIDAyMiAmJiAke01LRElSX1B9ICIkKERFU1RESVIp JHtiaW5kaXJ9IgotCWZvciBmaWxlIGluICR7SU5TVEFMTEFCTEVTfSA7IGRvIFwKKwlmb3Ig ZmlsZSBpbiAke0lOU1RBTExBQkxFX0VYRVN9IDsgZG8gXAogCSAgJChJTlNUQUxMX1BST0dS QU0pICQoSU5TVEFMTF9TVFJJUCkgJCR7ZmlsZX0gXAogCSAgICAiJChERVNURElSKSR7Ymlu ZGlyfSIvYCBcCiAJICAgICAgZWNobyAkJHtmaWxlfSB8IHNlZCAtZSAncy8ke0VYRUVYVH0k JC8vJyAtZSAnJChUUkFOU0ZPUk0pJyBcCiAJICAgIGAke0VYRUVYVH0gfHwgZXhpdDsgXAog CWRvbmUKKwlmb3IgZmlsZSBpbiAnJyAke0lOU1RBTExBQkxFX1NDUklQVFN9OyBkbyBcCisJ ICBbICIkJGZpbGUiIF0gfHwgY29udGludWU7IFwKKwkgICQoSU5TVEFMTF9QUk9HUkFNKSAk JHtmaWxlfSBcCisJICAgICIkKERFU1RESVIpJHtiaW5kaXJ9Ii9gIFwKKwkgICAgICBlY2hv ICQke2ZpbGV9IHwgc2VkIC1lICckKFRSQU5TRk9STSknIFwKKwkgICAgYCB8fCBleGl0OyBc CisJZG9uZQogCiB1bmluc3RhbGw6Ci0JZm9yIGZpbGUgaW4gJHtJTlNUQUxMQUJMRVN9OyBk byBcCisJZm9yIGZpbGUgaW4gJHtJTlNUQUxMQUJMRV9FWEVTfTsgZG8gXAogCSAgcm0gLWYg IiQoREVTVERJUikke2JpbmRpcn0iL2AgXAogCSAgICBlY2hvICQke2ZpbGV9IHwgc2VkIC1l ICdzLyR7RVhFRVhUfSQkLy8nIC1lICckKFRSQU5TRk9STSknIFwKIAkgIGAke0VYRUVYVH07 IFwKIAlkb25lCisJZm9yIGZpbGUgaW4gJycgJHtJTlNUQUxMQUJMRV9TQ1JJUFRTfTsgZG8g XAorCSAgWyAiJCRmaWxlIiBdIHx8IGNvbnRpbnVlOyBcCisJICBybSAtZiAiJChERVNURElS KSR7YmluZGlyfSIvYCBcCisJICAgIGVjaG8gJCR7ZmlsZX0gfCBzZWQgLWUgJyQoVFJBTlNG T1JNKScgXAorCSAgYDsgXAorCWRvbmUKIAlpZiBbIC1kICIkKERFU1RESVIpJHthcmNobGli ZGlyfSIgXTsgdGhlbiBcCiAJICBjZCAiJChERVNURElSKSR7YXJjaGxpYmRpcn0iICYmIFwK LQkgIHJtIC1mICR7VVRJTElUSUVTfSAke1NDUklQVFN9OyBcCisJICBybSAtZiAke1VUSUxJ VFlfRVhFU30gJHtVVElMSVRZX1NDUklQVFN9OyBcCiAJZmkKIAogbW9zdGx5Y2xlYW46Ci0J cm0gLWYgY29yZSAuLyoubyAuLyoucmVzCisJcm0gLWYgY29yZSAuLyoubyAuLyoucmVzIC4v Ki10CiAKIGNsZWFuOiBtb3N0bHljbGVhbgogCS1ybSAtZiBzZWNjb21wLWZpbHRlci5icGYg c2VjY29tcC1maWx0ZXIucGZjIHNlY2NvbXAtZmlsdGVyLWV4ZWMuYnBmIHNlY2NvbXAtZmls dGVyLWV4ZWMucGZjCkBAIC00MTUsMTIgKzQyOSwyMCBAQCBldGFnc19saWJzID0KIGV0YWdz JHtFWEVFWFR9OiAke2V0YWdzX2RlcHN9CiAJJChBTV9WX0NDTEQpJChDQykgJHtBTExfQ0ZM QUdTfSAtbyAkQCAkPCAkKGV0YWdzX2xpYnMpCiAKLSMjIGN0YWdzLmMgaXMgZGlzdGluY3Qg ZnJvbSBldGFncy5jIHNvIHRoYXQgcGFyYWxsZWwgbWFrZXMgZG8gbm90IHdyaXRlIHR3bwot IyMgZXRhZ3MubyBmaWxlcyBvbiB0b3Agb2YgZWFjaCBvdGhlci4KLSMjIEZJWE1FPwotIyMg Q2FuJ3Qgd2UgdXNlIGEgd3JhcHBlciB0aGF0IGNhbGxzICdldGFncyAtLWN0YWdzJz8KLWN0 YWdzJHtFWEVFWFR9OiAke3NyY2Rpcn0vY3RhZ3MuYyAke2V0YWdzX2RlcHN9Ci0JJChBTV9W X0NDTEQpJChDQykgJHtBTExfQ0ZMQUdTfSAtbyAkQCAkPCAkKGV0YWdzX2xpYnMpCitTRVRf ZXRhZ3MgPSBldGFncz0iJHtiaW5kaXJ9LyJgZWNobyBldGFncyB8IHNlZCAtZSAnJChUUkFO U0ZPUk0pJ2AKKworaWZlcSAoJChFWEVFWFQpLCkKKyAgY3RhZ3M6ICR7c3JjZGlyfS9jdGFn cy5zaAorCSQoQU1fVl9HRU4pJChTRVRfZXRhZ3MpICYmIFwKKwlzZWQgInNcIkBFVEFHU19Q Uk9HUkFNQFwiJCRldGFnc1wiZyIgJD8gPiRALXQKKwkkKEFNX1ZfYXQpY2htb2QgYSt4ICRA LXQKKwkkKEFNX1ZfYXQpbXYgJEAtdCAkQAorZWxzZQorICBjdGFncyR7RVhFRVhUfTogJHtz cmNkaXJ9L2N0YWdzLmMgJChOVExJQikgJChjb25maWdfaCkKKwkkKEFNX1ZfR0VOKSQoU0VU X2V0YWdzKSAmJiBcCisJJChDQykgJHtBTExfQ0ZMQUdTfSAtREVUQUdTX1BST0dSQU09Ilwi JCRldGFnc1wiIiAtbyAkQCBcCisJICAkPCAkKE5UTElCKSAkKExPQURMSUJFUykKK2VuZGlm CiAKIGFzc2V0LWRpcmVjdG9yeS10b29sJHtFWEVFWFR9OiAke3NyY2Rpcn0vYXNzZXQtZGly ZWN0b3J5LXRvb2wuYyAkKGNvbmZpZ19oKQogCSQoQU1fVl9DQ0xEKSQoQ0MpICR7QUxMX0NG TEFHU30gJDwgJChMT0FETElCRVMpIC1vICRACmRpZmYgLS1naXQgYS9saWItc3JjL2N0YWdz LmMgYi9saWItc3JjL2N0YWdzLmMKaW5kZXggMGE2ODM4YTlkYmIuLmY0MjEzM2M0NGUzIDEw MDY0NAotLS0gYS9saWItc3JjL2N0YWdzLmMKKysrIGIvbGliLXNyYy9jdGFncy5jCkBAIC0x LDIgKzEsMTIxIEBACi0jZGVmaW5lIENUQUdTIDEKLSNpbmNsdWRlICJldGFncy5jIgorLyog TGlrZSBjdGFncy5zaCBidXQgZm9yIE1TLVdpbmRvd3MsIHdoaWNoIGxhY2tzIHRoZSBzaGVs bC4KKworQ29weXJpZ2h0IDIwMjUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisK K1RoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KKworR05VIEVtYWNzIGlzIGZyZWUg c29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKK2l0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv biAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KKworR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCitidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKK2Fsb25nIHdpdGgg R05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4gICovCisKKyNkZWZpbmUgREVGRVJfTVNfVzMyX0gKKyNpbmNsdWRlIDxjb25maWcuaD4K KworI2luY2x1ZGUgPGZpbGVuYW1lLmg+CisKKyNpbmNsdWRlIDxtYWxsb2MuaD4KKyNpbmNs dWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5o PgorCisvKiBEZWNsYXJlIF9leGVjdiBieSBoYW5kLCBzaW5jZSBNUy1XaW5kb3dzIDxwcm9j ZXNzLmg+IGNvbGxpZGVzIHdpdGgKKyAgIC4uL3NyYy9wcm9jZXNzLmguICAqLworI2luY2x1 ZGUgPHN0ZGludC5oPiAvKiBmb3IgaW50cHRyX3QgKi8KK2V4dGVybiBpbnRwdHJfdCBfc3Bh d252IChpbnQsIGNoYXIgY29uc3QgKiwgY2hhciBjb25zdCAqY29uc3QgKik7CisKKyNpZmRl ZiBXSU5ET1dTTlQKKy8qIFN0b3JlIGludG8gRFtJXSB0aHJvdWdoIERbSSArIE4gLSAxXSB0 aGUgYnl0ZSBDLCBhbmQgcmV0dXJuIEkgKyBOLgorICAgQnV0IGlmIEQgaXMgbnVsbCwganVz dCByZXR1cm4gdGhlIGluY3JlbWVudGVkIGNvdW50LiAgKi8KK3N0YXRpYyBzaXplX3QKK3N0 b3JlIChjaGFyICpkLCBzaXplX3QgaSwgc2l6ZV90IG4sIGNoYXIgYykKK3sKKyAgaWYgKGQp CisgICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBuOyBqKyspCisgICAgICBkW2kgKyBqXSA9 IGM7CisgIHJldHVybiBpICsgbjsKK30KKyNlbmRpZgorCisvKiBSZXR1cm4gdGhlIG51bWJl ciBvZiBieXRlcyB1c2VkIHRvIHJlcHJlc2VudCB0aGUgc3RyaW5nIFMgYXMgYW4KKyAgIGV4 ZWN2IGFyZ3VtZW50LCBpbmNsdWRpbmcgdGhlIHRyYWlsaW5nIG51bGwgYnl0ZS4KKyAgIElm IEQgaXMgbm9ubnVsbCwgYWxzbyBzdG9yZSB0aGUgcmVwcmVzZW50YXRpb24gaW50byBELgor ICAgT24gTVMtV2luZG93cyBzb21lIGVzY2FwaW5nIGlzIHJlcXVpcmVkOgorICAgZHVlIHRv IE1pY3Jvc29mdCBDIHJ1bnRpbWUgY29uc3RyYWludHMsIFMgY2Fubm90IGNvbnRhaW4gJ1xu JywKKyAgIGFuZCBpZiBTIGNvbnRhaW5zICciJyB0aGUgcmVwcmVzZW50YXRpb24gY2Fubm90 IGJlIHVzZWQgZm9yIGFyZ3VtZW50IDAuICAqLworc3RhdGljIHNpemVfdAordzMyX2V4ZWNf YXJnX3JlcHIgKGNoYXIgY29uc3QgKnJlc3RyaWN0IHMsIGNoYXIgKnJlc3RyaWN0IGQpCit7 CisgIHNpemVfdCBpOworI2lmZGVmIFdJTkRPV1NOVAorICAvKiBTZWUgPGh0dHBzOi8vbGVh cm4ubWljcm9zb2Z0LmNvbS9lbi11cy9jcHAvYy1sYW5ndWFnZS9wYXJzaW5nLWMtY29tbWFu ZC1saW5lLWFyZ3VtZW50cz4uCisgICAgIEFsdGhvdWdoIHF1b3RpbmcgaXMgbmVlZGVkIG9u bHkgaWYgUyBpcyBlbXB0eSBvciBjb250YWlucyBzcGFjZSBvciB0YWIsCisgICAgIGl0IGlz IHNpbXBsZXIgYW5kIHBlcmhhcHMgY2hlYXBlciB0byBhbHdheXMgcXVvdGUuICAqLworICBp ID0gc3RvcmUgKGQsIDAsIDEsICciJyk7CisKKyAgc2l6ZV90IGJzY291bnQgPSAwOyAvKiBD b3VudCBvZiBwcmVjZWRpbmcgYmFja3NsYXNoZXMuICAqLworICBmb3IgKDsgKnM7IHMrKykK KyAgICB7CisgICAgICBpZiAoKnMgPT0gJyInKQorCXN0b3JlIChkLCBpLCBic2NvdW50ICsg MSwgJ1xcJyk7CisgICAgICBpID0gc3RvcmUgKGQsIGksIDEsICpzKTsKKyAgICAgIGJzY291 bnQgPSAqcyA9PSAnXFwnID8gYnNjb3VudCArIDEgOiAwOworICAgIH0KKworICBpID0gc3Rv cmUgKGQsIGksIGJzY291bnQsICdcXCcpOworICBpID0gc3RvcmUgKGQsIGksIDEsICciJyk7 CisgIGkgPSBzdG9yZSAoZCwgaSwgMSwgJ1wwJyk7CisjZWxzZQorICBpID0gc3RybGVuIChz KSArIDE7CisgIGlmIChkKQorICAgIG1lbWNweSAoZCwgcywgaSk7CisjZW5kaWYKKyAgcmV0 dXJuIGk7Cit9CisKK2ludAorbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICBz dGF0aWMgY2hhciBjb25zdCBldGFnc19wcm9ncmFtW10gPSBFVEFHU19QUk9HUkFNOworICBz dGF0aWMgY2hhciBjb25zdCBvcHRpb25fcHJlZml4W10gPSAiLS1jdGFncz0iOworCisgIGNo YXIgY29uc3QgKnByb2duYW1lID0gYXJndlswXTsKKworICAvKiBOdW1iZXIgb2YgYnl0ZXMg bmVlZGVkIHRvIHJlcHJlc2VudCBhbGwgZXRhZ3MgYXJncy4gICovCisgIHNpemVfdCBuYXJn Ynl0ZXMgPSBzaXplb2YgZXRhZ3NfcHJvZ3JhbSArIHNpemVvZiBvcHRpb25fcHJlZml4IC0g MTsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBhcmdjOyBpKyspCisgICAgbmFyZ2J5dGVzICs9 IHczMl9leGVjX2FyZ19yZXByIChhcmd2W2ldLCBOVUxMKTsKKworICBjaGFyIGNvbnN0ICoq ZXRhZ3NfYXJndiA9IG1hbGxvYyAoKGFyZ2MgKyAyKSAqIHNpemVvZiAqYXJndiArIG5hcmdi eXRlcyk7CisgIGlmIChldGFnc19hcmd2KQorICAgIHsKKyAgICAgIGNoYXIgKmQgPSAoY2hh ciAqKSAoZXRhZ3NfYXJndiArIGFyZ2MgKyAyKTsKKyAgICAgIGV0YWdzX2FyZ3ZbMF0gPSBl dGFnc19wcm9ncmFtOworICAgICAgZXRhZ3NfYXJndlsxXSA9IG1lbWNweSAoZCwgb3B0aW9u X3ByZWZpeCwgc2l6ZW9mIG9wdGlvbl9wcmVmaXggLSAxKTsKKyAgICAgIGQgKz0gc2l6ZW9m IG9wdGlvbl9wcmVmaXggLSAxOworICAgICAgZCArPSB3MzJfZXhlY19hcmdfcmVwciAocHJv Z25hbWUsIGQpOworCisgICAgICBmb3IgKGludCBpID0gMTsgaSA8IGFyZ2M7IGkrKykKKwl7 CisJICBldGFnc19hcmd2W2kgKyAxXSA9IGQ7CisJICBkICs9IHczMl9leGVjX2FyZ19yZXBy IChhcmd2W2ldLCBkKTsKKwl9CisKKyAgICAgIGV0YWdzX2FyZ3ZbYXJnYyArIDFdID0gTlVM TDsKKyAgICAgIGludCByID0gX3NwYXdudiAoMCwgZXRhZ3NfcHJvZ3JhbSwgZXRhZ3NfYXJn dik7CisgICAgICBpZiAoMCA8PSByKQorCXJldHVybiByOworICAgICAgcHJvZ25hbWUgPSBl dGFnc19wcm9ncmFtOworICAgIH0KKworICBwZXJyb3IgKHByb2duYW1lKTsKKyAgcmV0dXJu IDEyNzsKK30KZGlmZiAtLWdpdCBhL2xpYi1zcmMvY3RhZ3Muc2ggYi9saWItc3JjL2N0YWdz LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwLi4xM2E0MzIwZDll OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi1zcmMvY3RhZ3Muc2gKQEAgLTAsMCArMSwyIEBA CisjIS9iaW4vc2gKK2V4ZWMgJ0BFVEFHU19QUk9HUkFNQCcgLS1jdGFncz0iJDAiICIkQCIK ZGlmZiAtLWdpdCBhL2xpYi1zcmMvZXRhZ3MuYyBiL2xpYi1zcmMvZXRhZ3MuYwppbmRleCBi NTliNzBjOWVjNy4uZGFhNTFjMTI1ZDQgMTAwNjQ0Ci0tLSBhL2xpYi1zcmMvZXRhZ3MuYwor KysgYi9saWItc3JjL2V0YWdzLmMKQEAgLTEyNiwxNiArMTI2LDYgQEAgQ29weXJpZ2h0IChD KSAxOTg0LCAxOTg3LTE5ODksIDE5OTMtMTk5NSwgMTk5OC0yMDI1IEZyZWUgU29mdHdhcmUK ICNpbmNsdWRlIDxnZXRvcHQuaD4KICNpbmNsdWRlIDxyZWdleC5oPgogCi0vKiBEZWZpbmUg Q1RBR1MgdG8gbWFrZSB0aGUgcHJvZ3JhbSAiY3RhZ3MiIGNvbXBhdGlibGUgd2l0aCB0aGUg dXN1YWwgb25lLgotIExlYXZlIGl0IHVuZGVmaW5lZCB0byBtYWtlIHRoZSBwcm9ncmFtICJl dGFncyIsIHdoaWNoIG1ha2VzIGVtYWNzLXN0eWxlCi0gdGFnIHRhYmxlcyBhbmQgdGFncyB0 eXBlZGVmcywgI2RlZmluZXMgYW5kIHN0cnVjdC91bmlvbi9lbnVtIGJ5IGRlZmF1bHQuICov Ci0jaWZkZWYgQ1RBR1MKLSMgdW5kZWYgIENUQUdTCi0jIGRlZmluZSBDVEFHUyB0cnVlCi0j ZWxzZQotIyBkZWZpbmUgQ1RBR1MgZmFsc2UKLSNlbmRpZgotCiAvKiBEZWZpbmUgTUVSQ1VS WV9IRVVSSVNUSUNTX1JBVElPIGFzIGl0IHdhcyBuZWNlc3NhcnkgdG8gZGlzYW1iaWd1YXRl CiAgICBNZXJjdXJ5IGZyb20gT2JqZWN0aXZlIEMsIHdoaWNoIGhhdmUgc2FtZSBmaWxlIGV4 dGVuc2lvbnMgLm0KICAgIFNlZSBjb21tZW50cyBiZWZvcmUgZnVuY3Rpb24gdGVzdF9vYmpj X2lzX21lcmN1cnkgZm9yIGRldGFpbHMuICAqLwpAQCAtNDc5LDE4ICs0NjksMjAgQEAgI2Rl ZmluZSB4cm5ldyhvcCwgbiwgbSkgKChvcCkgPSB4bnJlYWxsb2MgKG9wLCBuLCAobSkgKiBz aXplb2YgKihvcCkpKQogc3RhdGljIGJvb2wgaWdub3JlaW5kZW50OwkvKiAtSTogaWdub3Jl IGluZGVudGF0aW9uIGluIEMgKi8KIHN0YXRpYyBpbnQgcGFja2FnZXNfb25seTsJLyogLS1w YWNrYWdlcy1vbmx5OiBpbiBBZGEsIG9ubHkgdGFnIHBhY2thZ2VzKi8KIHN0YXRpYyBpbnQg Y2xhc3NfcXVhbGlmeTsJLyogLVE6IHByb2R1Y2UgY2xhc3MtcXVhbGlmaWVkIHRhZ3MgaW4g QysrL0phdmEgKi8KK3N0YXRpYyBib29sIGN0YWdzOwkJLyogLS1jdGFncyAqLwogc3RhdGlj IGludCBkZWJ1ZzsJCS8qIC0tZGVidWcgKi8KIHN0YXRpYyBpbnQgZmFsbGJhY2tfbGFuZzsJ LyogLS0obm8tKWZhbGxiYWNrLWxhbmc6IEZvcnRyYW4vQyBmYWxsYmFja3MgKi8KIHN0YXRp YyBpbnQgZW1wdHlfZmlsZXM7CQkvKiAtLShuby0pZW1wdHktZmlsZS1lbnRyaWVzICovCi0K LS8qIFNURElOIGlzIGRlZmluZWQgaW4gTHlueE9TIHN5c3RlbSBoZWFkZXJzICovCi0jaWZk ZWYgU1RESU4KLSMgdW5kZWYgU1RESU4KLSNlbmRpZgotCi0jZGVmaW5lIFNURElOIDB4MTAw MQkJLyogcmV0dXJuZWQgYnkgZ2V0b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAqLwogc3Rh dGljIGJvb2wgcGFyc2luZ19zdGRpbjsJLyogLS1wYXJzZS1zdGRpbiB1c2VkICovCiAKKy8q IEZvciBsb25nIG9wdGlvbnMgdGhhdCBoYXZlIG5vIGVxdWl2YWxlbnQgc2hvcnQgb3B0aW9u LCB1c2UgYQorICAgbm9uLWNoYXJhY3RlciBhcyBhIHBzZXVkbyBzaG9ydCBvcHRpb24sIHN0 YXJ0aW5nIHdpdGggQ0hBUl9NQVggKyAxLiAgKi8KK2VudW0KKyAgeworICAgIENUQUdTX09Q VElPTiA9IENIQVJfTUFYICsgMSwKKyAgICBTVERJTl9PUFRJT04KKyAgfTsKKwogc3RhdGlj IHJlZ2V4cCAqcF9oZWFkOwkJLyogbGlzdCBvZiBhbGwgcmVnZXhwcyAqLwogc3RhdGljIGJv b2wgbmVlZF9maWxlYnVmOwkvKiBzb21lIHJlZ2V4ZXMgYXJlIG11bHRpLWxpbmUgKi8KIApA QCAtNDk5LDYgKzQ5MSw3IEBAICNkZWZpbmUgU1RESU4gMHgxMDAxCQkvKiByZXR1cm5lZCBi eSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICovCiAgIHsgImFwcGVuZCIsICAgICAg ICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAgICAgICdhJyAgIH0s CiAgIHsgInBhY2thZ2VzLW9ubHkiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAmcGFja2Fn ZXNfb25seSwgICAgIDEgICAgIH0sCiAgIHsgImMrKyIsICAgICAgICAgICAgICAgIG5vX2Fy Z3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAgICAgICdDJyAgIH0sCisgIHsgImN0YWdz IiwgICAgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAgICAgICAgQ1RBR1Nf T1BUSU9OIH0sCiAgIHsgImRlYnVnIiwgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAg ICAmZGVidWcsICAgICAgICAgICAgIDEgICAgIH0sCiAgIHsgImRlY2xhcmF0aW9ucyIsICAg ICAgIG5vX2FyZ3VtZW50LCAgICAgICAmZGVjbGFyYXRpb25zLCAgICAgIDEgICAgIH0sCiAg IHsgIm5vLWxpbmUtZGlyZWN0aXZlIiwgIG5vX2FyZ3VtZW50LCAgICAgICAmbm9fbGluZV9k aXJlY3RpdmUsIDEgICAgIH0sCkBAIC01MTQsMTAgKzUwNywxMCBAQCAjZGVmaW5lIFNURElO IDB4MTAwMQkJLyogcmV0dXJuZWQgYnkgZ2V0b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAq LwogICB7ICJyZWdleCIsICAgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwg ICAgICAgICAgICAgICAncicgICB9LAogICB7ICJuby1yZWdleCIsICAgICAgICAgICBub19h cmd1bWVudCwgICAgICAgTlVMTCwgICAgICAgICAgICAgICAnUicgICB9LAogICB7ICJpZ25v cmUtY2FzZS1yZWdleCIsICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgICAgICAgICAgICAg ICAnYycgICB9LAotICB7ICJwYXJzZS1zdGRpbiIsICAgICAgICByZXF1aXJlZF9hcmd1bWVu dCwgTlVMTCwgICAgICAgICAgICAgICBTVERJTiB9LAorICB7ICJwYXJzZS1zdGRpbiIsICAg ICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgICAgICAgIFNURElOX09QVElPTiB9LAog ICB7ICJ2ZXJzaW9uIiwgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgICAg ICAgICAgICAgICAnVicgICB9LAogCi0jaWYgQ1RBR1MgLyogQ3RhZ3Mgb3B0aW9ucyAqLwor ICAvKiBjdGFncyBvcHRpb25zICovCiAgIHsgImJhY2t3YXJkLXNlYXJjaCIsICAgIG5vX2Fy Z3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAgICAgICdCJyAgIH0sCiAgIHsgImN4cmVm IiwgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAgICAg ICd4JyAgIH0sCiAgIHsgImRlZmluZXMiLCAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAg ICBOVUxMLCAgICAgICAgICAgICAgICdkJyAgIH0sCkBAIC01MjgsNyArNTIxLDcgQEAgI2Rl ZmluZSBTVERJTiAweDEwMDEJCS8qIHJldHVybmVkIGJ5IGdldG9wdF9sb25nIG9uIC0tcGFy c2Utc3RkaW4gKi8KICAgeyAidmdyaW5kIiwgICAgICAgICAgICAgbm9fYXJndW1lbnQsICAg ICAgIE5VTEwsICAgICAgICAgICAgICAgJ3YnICAgfSwKICAgeyAibm8td2FybiIsICAgICAg ICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICAgICAgICAgICAgICAgJ3cnICAgfSwK IAotI2Vsc2UgLyogRXRhZ3Mgb3B0aW9ucyAqLworICAvKiBldGFncyBvcHRpb25zICovCiAg IHsgIm5vLWRlZmluZXMiLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAgICAg ICAgICAgICAgICdEJyAgIH0sCiAgIHsgIm5vLWdsb2JhbHMiLCAgICAgICAgIG5vX2FyZ3Vt ZW50LCAgICAgICAmZ2xvYmFscywgICAgICAgICAgIDAgICAgIH0sCiAgIHsgImluY2x1ZGUi LCAgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAgICAgICAgICAgICAgICdp JyAgIH0sCkBAIC01MzYsNyArNTI5LDcgQEAgI2RlZmluZSBTVERJTiAweDEwMDEJCS8qIHJl dHVybmVkIGJ5IGdldG9wdF9sb25nIG9uIC0tcGFyc2Utc3RkaW4gKi8KICAgeyAiZmFsbGJh Y2stbGFuZyIsICAgICAgbm9fYXJndW1lbnQsICAgICAgICZmYWxsYmFja19sYW5nLCAgICAg MSAgICAgfSwKICAgeyAibm8tZW1wdHktZmlsZS1lbnRyaWVzIiwgbm9fYXJndW1lbnQsICAg ICZlbXB0eV9maWxlcywgICAgICAgMCAgICAgfSwKICAgeyAiZW1wdHktZmlsZS1lbnRyaWVz Iiwgbm9fYXJndW1lbnQsICAgICAgICZlbXB0eV9maWxlcywgICAgICAgMSAgICAgfSwKLSNl bmRpZgorCiAgIHsgTlVMTCB9CiB9OwogCkBAIC01OTgsMTUgKzU5MSwxNyBAQCAjZGVmaW5l IFNURElOIDB4MTAwMQkJLyogcmV0dXJuZWQgYnkgZ2V0b3B0X2xvbmcgb24gLS1wYXJzZS1z dGRpbiAqLwogICAgVGhhdCBpcyB3aHkgZGVmYXVsdF9DX2VudHJpZXMgaXMgY2FsbGVkIGZv ciB0aGVzZS4gKi8KIHN0YXRpYyBjb25zdCBjaGFyICpkZWZhdWx0X0Nfc3VmZml4ZXMgW10g PQogICB7ICJjIiwgImgiLCBOVUxMIH07Ci0jaWYgQ1RBR1MJCQkJLyogQyBoZWxwIGZvciBD dGFncyAqLwotc3RhdGljIGNvbnN0IGNoYXIgZGVmYXVsdF9DX2hlbHAgW10gPQorCisvKiBD IGhlbHAgZm9yIGN0YWdzICovCitzdGF0aWMgY29uc3QgY2hhciBjdGFnc19kZWZhdWx0X0Nf aGVscFtdID0KICJJbiBDIGNvZGUsIGFueSBDIGZ1bmN0aW9uIGlzIGEgdGFnLiAgVXNlIC10 IHRvIHRhZyB0eXBlZGVmcy5cblwKIFVzZSAtVCB0byB0YWcgZGVmaW5pdGlvbnMgb2YgJ3N0 cnVjdCcsICd1bmlvbicgYW5kICdlbnVtJy5cblwKIFVzZSAtZCB0byB0YWcgJyNkZWZpbmUn IG1hY3JvIGRlZmluaXRpb25zIGFuZCAnZW51bScgY29uc3RhbnRzLlxuXAogVXNlIC0tZ2xv YmFscyB0byB0YWcgZ2xvYmFsIHZhcmlhYmxlcy5cblwKIFlvdSBjYW4gdGFnIGZ1bmN0aW9u IGRlY2xhcmF0aW9ucyBhbmQgZXh0ZXJuYWwgdmFyaWFibGVzIGJ5XG5cCiB1c2luZyAnLS1k ZWNsYXJhdGlvbnMnLCBhbmQgc3RydWN0IG1lbWJlcnMgYnkgdXNpbmcgJy0tbWVtYmVycycu IjsKLSNlbHNlCQkJCQkvKiBDIGhlbHAgZm9yIEV0YWdzICovCisKKy8qIEMgaGVscCBmb3Ig ZXRhZ3MgKi8KIHN0YXRpYyBjb25zdCBjaGFyIGRlZmF1bHRfQ19oZWxwIFtdID0KICJJbiBD IGNvZGUsIGFueSBDIGZ1bmN0aW9uIG9yIHR5cGVkZWYgaXMgYSB0YWcsIGFuZCBzbyBhcmVc blwKIGRlZmluaXRpb25zIG9mICdzdHJ1Y3QnLCAndW5pb24nIGFuZCAnZW51bScuICAnI2Rl ZmluZScgbWFjcm9cblwKQEAgLTYxNyw3ICs2MTIsNiBAQCAjZGVmaW5lIFNURElOIDB4MTAw MQkJLyogcmV0dXJuZWQgYnkgZ2V0b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAqLwogJy0t bm8tbWVtYmVycycgY2FuIG1ha2UgdGhlIHRhZ3MgdGFibGUgZmlsZSBtdWNoIHNtYWxsZXIu XG5cCiBZb3UgY2FuIHRhZyBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgYW5kIGV4dGVybmFsIHZh cmlhYmxlcyBieVxuXAogdXNpbmcgJy0tZGVjbGFyYXRpb25zJy4iOwotI2VuZGlmCS8qIEMg aGVscCBmb3IgQ3RhZ3MgYW5kIEV0YWdzICovCiAKIHN0YXRpYyBjb25zdCBjaGFyICpDcGx1 c3BsdXNfc3VmZml4ZXMgW10gPQogICB7ICJDIiwgImMrKyIsICJjYyIsICJjcHAiLCAiY3h4 IiwgIkgiLCAiaCsrIiwgImhoIiwgImhwcCIsICJoeHgiLApAQCAtODYyLDYgKzg1Niw3IEBA ICNkZWZpbmUgU1RESU4gMHgxMDAxCQkvKiByZXR1cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAt LXBhcnNlLXN0ZGluICovCiB7CiAgIHsgImFkYSIsICAgICAgIEFkYV9oZWxwLCAgICAgICBB ZGFfZnVuY3MsICAgICAgICAgQWRhX3N1ZmZpeGVzICAgICAgIH0sCiAgIHsgImFzbSIsICAg ICAgIEFzbV9oZWxwLCAgICAgICBBc21fbGFiZWxzLCAgICAgICAgQXNtX3N1ZmZpeGVzICAg ICAgIH0sCisjZGVmaW5lIENfTEFOR19OQU1FU19JTkRFWCAyCiAgIHsgImMiLCAgICAgICAg IGRlZmF1bHRfQ19oZWxwLCBkZWZhdWx0X0NfZW50cmllcywgZGVmYXVsdF9DX3N1ZmZpeGVz IH0sCiAgIHsgImMrKyIsICAgICAgIENwbHVzcGx1c19oZWxwLCBDcGx1c3BsdXNfZW50cmll cywgQ3BsdXNwbHVzX3N1ZmZpeGVzIH0sCiAgIHsgImMqIiwgICAgICAgIG5vX2xhbmdfaGVs cCwgICBDc3Rhcl9lbnRyaWVzLCAgICAgQ3N0YXJfc3VmZml4ZXMgICAgIH0sCkBAIC05Mjgs MjQgKzkyMywyMCBAQCBwcmludF9sYW5ndWFnZV9uYW1lcyAodm9pZCkKIEZvcnRyYW4gaXMg dHJpZWQgZmlyc3Q7IGlmIG5vIHRhZ3MgYXJlIGZvdW5kLCBDIGlzIHRyaWVkIG5leHQuXG5c CiBXaGVuIHBhcnNpbmcgYW55IEMgZmlsZSwgYSBcImNsYXNzXCIgb3IgXCJ0ZW1wbGF0ZVwi IGtleXdvcmRcblwKIHN3aXRjaGVzIHRvIEMrKy4iKTsKLSAgcHV0cyAoIkNvbXByZXNzZWQg ZmlsZXMgYXJlIHN1cHBvcnRlZCB1c2luZyBnemlwLCBiemlwMiwgeHosIGFuZCB6c3RkLlxu XAorICBwcmludGYgKCJDb21wcmVzc2VkIGZpbGVzIGFyZSBzdXBwb3J0ZWQgdXNpbmcgZ3pp cCwgYnppcDIsIHh6LCBhbmQgenN0ZC5cblwKIFxuXAogRm9yIGRldGFpbGVkIGhlbHAgb24g YSBnaXZlbiBsYW5ndWFnZSB1c2UsIGZvciBleGFtcGxlLFxuXAotZXRhZ3MgLS1oZWxwIC0t bGFuZz1hZGEuIik7CislcyAtLWhlbHAgLS1sYW5nPWFkYS5cbiIsCisJICBwcm9nbmFtZSk7 CiB9CiAKLSNpZiBDVEFHUwotIyBkZWZpbmUgUFJPR1JBTV9OQU1FICJjdGFncyIKLSNlbHNl Ci0jIGRlZmluZSBQUk9HUkFNX05BTUUgImV0YWdzIgotI2VuZGlmCiBzdGF0aWMgX05vcmV0 dXJuIHZvaWQKIHByaW50X3ZlcnNpb24gKHZvaWQpCiB7Ci0gIGZwdXRzICgoUFJPR1JBTV9O QU1FICIgKCIgUEFDS0FHRV9OQU1FICIgIiBQQUNLQUdFX1ZFUlNJT04gIilcbiIKLQkgIENP UFlSSUdIVCAiXG4iCi0JICAiVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRo ZSB0ZXJtcyBpbiBFVEFHUy5SRUFETUVcbiIpLAotCSBzdGRvdXQpOworICBwcmludGYgKCgi JXMgKCVzICVzKVxuIgorCSAgICIlc1xuIgorCSAgICJUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgdW5kZXIgdGhlIHRlcm1zIGluIEVUQUdTLlJFQURNRVxuIiksCisJICBjdGFncyA/ ICJjdGFncyIgOiAiZXRhZ3MiLCBQQUNLQUdFX05BTUUsIFBBQ0tBR0VfVkVSU0lPTiwgQ09Q WVJJR0hUKTsKICAgZXhpdCAoRVhJVF9TVUNDRVNTKTsKIH0KIApAQCAtOTg0LDcgKzk3NSw3 IEBAIHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIpCiAgIHB1dHMgKCItLXBhY2th Z2VzLW9ubHlcblwKICAgICAgICAgRm9yIEFkYSBmaWxlcywgb25seSBnZW5lcmF0ZSB0YWdz IGZvciBwYWNrYWdlcy4iKTsKIAotICBpZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICBw dXRzICgiLUIsIC0tYmFja3dhcmQtc2VhcmNoXG5cCiAgICAgICAgIFdyaXRlIHRoZSBzZWFy Y2ggY29tbWFuZHMgZm9yIHRoZSB0YWcgZW50cmllcyB1c2luZyAnPycsIHRoZVxuXAogICAg ICAgICBiYWNrd2FyZC1zZWFyY2ggY29tbWFuZCBpbnN0ZWFkIG9mICcvJywgdGhlIGZvcndh cmQtc2VhcmNoIGNvbW1hbmQuIik7CkBAIC05OTcsOSArOTg4LDEzIEBAIHByaW50X2hlbHAg KGFyZ3VtZW50ICphcmdidWZmZXIpCiAgICAgICAgIFRyZWF0IGZpbGVzIHdob3NlIG5hbWUg c3VmZml4IGRlZmF1bHRzIHRvIEMgbGFuZ3VhZ2UgYXMgQysrIGZpbGVzLiIpOwogICAqLwog CisgIGlmIChQUklOVF9VTkRPQ1VNRU5URURfT1BUSU9OU19IRUxQICYmICFjdGFncykKKyAg ICBwdXRzICgiLS1jdGFncz1QUk9HUkFNX05BTUVcblwKKwlJbXBsZW1lbnQgY3RhZ3MgYmVo YXZpb3IgdW5kZXIgdGhlIG5hbWUgUFJPR1JBTV9OQU1FLiIpOworCiAgIHB1dHMgKCItLWRl Y2xhcmF0aW9uc1xuXAogCUluIEMgYW5kIGRlcml2ZWQgbGFuZ3VhZ2VzLCBjcmVhdGUgdGFn cyBmb3IgZnVuY3Rpb24gZGVjbGFyYXRpb25zLCIpOwotICBpZiAoQ1RBR1MpCisgIGlmIChj dGFncykKICAgICBwdXRzICgiXHRhbmQgY3JlYXRlIHRhZ3MgZm9yIGV4dGVybiB2YXJpYWJs ZXMgaWYgLS1nbG9iYWxzIGlzIHVzZWQuIik7CiAgIGVsc2UKICAgICBwdXRzCkBAIC0xMDA4 LDcgKzEwMDMsNyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVmZmVyKQogICBwdXRz ICgiXHRJbiBNZXJjdXJ5LCB0YWcgYm90aCBkZWNsYXJhdGlvbnMgc3RhcnRpbmcgYSBsaW5l IHdpdGggJzotJyBhbmRcblwKICAgICAgICAgZmlyc3QgcHJlZGljYXRlcyBvciBmdW5jdGlv bnMgaW4gY2xhdXNlcy4iKTsKIAotICBpZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICBw dXRzICgiLWQsIC0tZGVmaW5lc1xuXAogICAgICAgICBDcmVhdGUgdGFnIGVudHJpZXMgZm9y IEMgI2RlZmluZSBjb25zdGFudHMgYW5kIGVudW0gY29uc3RhbnRzLCB0b28uIik7CiAgIGVs c2UKQEAgLTEwMTYsNyArMTAxMSw3IEBAIHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZm ZXIpCiAgICAgICAgIERvbid0IGNyZWF0ZSB0YWcgZW50cmllcyBmb3IgQyAjZGVmaW5lIGNv bnN0YW50cyBhbmQgZW51bSBjb25zdGFudHMuXG5cCiAJVGhpcyBtYWtlcyB0aGUgdGFncyBm aWxlIHNtYWxsZXIuIik7CiAKLSAgaWYgKCFDVEFHUykKKyAgaWYgKCFjdGFncykKICAgICBw dXRzICgiLWkgRklMRSwgLS1pbmNsdWRlPUZJTEVcblwKICAgICAgICAgSW5jbHVkZSBhIG5v dGUgaW4gdGFnIGZpbGUgaW5kaWNhdGluZyB0aGF0LCB3aGVuIHNlYXJjaGluZyBmb3JcblwK ICAgICAgICAgYSB0YWcsIG9uZSBzaG91bGQgYWxzbyBjb25zdWx0IHRoZSB0YWdzIGZpbGUg RklMRSBhZnRlclxuXApAQCAtMTAyNiw3ICsxMDIxLDcgQEAgcHJpbnRfaGVscCAoYXJndW1l bnQgKmFyZ2J1ZmZlcikKICAgICAgICAgRm9yY2UgdGhlIGZvbGxvd2luZyBmaWxlcyB0byBi ZSBjb25zaWRlcmVkIGFzIHdyaXR0ZW4gaW4gdGhlXG5cCiAJbmFtZWQgbGFuZ3VhZ2UgdXAg dG8gdGhlIG5leHQgLS1sYW5ndWFnZT1MQU5HIG9wdGlvbi4iKTsKIAotICBpZiAoQ1RBR1Mp CisgIGlmIChjdGFncykKICAgICBwdXRzICgiLS1nbG9iYWxzXG5cCiAJQ3JlYXRlIHRhZyBl bnRyaWVzIGZvciBnbG9iYWwgdmFyaWFibGVzIGluIHNvbWUgbGFuZ3VhZ2VzLiIpOwogICBl bHNlCkBAIC0xMDM3LDcgKzEwMzIsNyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVm ZmVyKQogICBwdXRzICgiLS1uby1saW5lLWRpcmVjdGl2ZVxuXAogICAgICAgICBJZ25vcmUg I2xpbmUgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMgaW4gQyBhbmQgZGVyaXZlZCBsYW5ndWFn ZXMuIik7CiAKLSAgaWYgKENUQUdTKQorICBpZiAoY3RhZ3MpCiAgICAgcHV0cyAoIi0tbWVt YmVyc1xuXAogCUNyZWF0ZSB0YWcgZW50cmllcyBmb3IgbWVtYmVycyBvZiBzdHJ1Y3R1cmVz IGluIHNvbWUgbGFuZ3VhZ2VzLiIpOwogICBlbHNlCkBAIC0xMDQ1LDcgKzEwNDAsNyBAQCBw cmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVmZmVyKQogCURvIG5vdCBjcmVhdGUgdGFnIGVu dHJpZXMgZm9yIG1lbWJlcnMgb2Ygc3RydWN0dXJlc1xuXAogCWluIHNvbWUgbGFuZ3VhZ2Vz LiIpOwogCi0gIGlmICghQ1RBR1MpCisgIGlmICghY3RhZ3MpCiAgICAgewogICAgICAgcHV0 cyAoIi0tZmFsbGJhY2stbGFuZ1xuXAogCUlmIGEgZmlsZSdzIGxhbmd1YWdlIGNvdWxkIG5v dCBiZSBkZXRlcm1pbmVkLCB0cnkgdG8gcGFyc2VcblwKQEAgLTEwOTIsNyArMTA4Nyw3IEBA IHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIpCiAgIHB1dHMgKCItLXBhcnNlLXN0 ZGluPU5BTUVcblwKICAgICAgICAgUmVhZCBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCByZWNv cmQgdGFncyBhcyBiZWxvbmdpbmcgdG8gZmlsZSBOQU1FLiIpOwogCi0gIGlmIChDVEFHUykK KyAgaWYgKGN0YWdzKQogICAgIHsKICAgICAgIHB1dHMgKCItdCwgLS10eXBlZGVmc1xuXAog ICAgICAgICBHZW5lcmF0ZSB0YWcgZW50cmllcyBmb3IgQyBhbmQgQWRhIHR5cGVkZWZzLiIp OwpAQCAtMTEwMSw3ICsxMDk2LDcgQEAgcHJpbnRfaGVscCAoYXJndW1lbnQgKmFyZ2J1ZmZl cikKICAgICAgICAgYW5kIEMrKyBtZW1iZXIgZnVuY3Rpb25zLiIpOwogICAgIH0KIAotICBp ZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICBwdXRzICgiLXUsIC0tdXBkYXRlXG5cCiAg ICAgICAgIFVwZGF0ZSB0aGUgdGFnIGVudHJpZXMgZm9yIHRoZSBnaXZlbiBmaWxlcywgbGVh dmluZyB0YWdcblwKICAgICAgICAgZW50cmllcyBmb3Igb3RoZXIgZmlsZXMgaW4gcGxhY2Uu ICBDdXJyZW50bHksIHRoaXMgaXNcblwKQEAgLTExMTAsNyArMTEwNSw3IEBAIHByaW50X2hl bHAgKGFyZ3VtZW50ICphcmdidWZmZXIpCiAgICAgICAgIHRhZ3MgZmlsZS4gIEl0IGlzIG9m dGVuIGZhc3RlciB0byBzaW1wbHkgcmVidWlsZCB0aGUgZW50aXJlXG5cCiAgICAgICAgIHRh ZyBmaWxlIHRoYW4gdG8gdXNlIHRoaXMuIik7CiAKLSAgaWYgKENUQUdTKQorICBpZiAoY3Rh Z3MpCiAgICAgewogICAgICAgcHV0cyAoIi12LCAtLXZncmluZFxuXAogICAgICAgICBQcmlu dCBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0IGFuIGluZGV4IG9mIGl0ZW1zIGludGVuZGVkIGZv clxuXApAQCAtMTE2MCw3ICsxMTU1LDYgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQogICBsaW5lYnVmZmVyIGZpbGVuYW1lX2xiOwogICBib29sIGhlbHBfYXNrZWQgPSBmYWxz ZTsKICAgcHRyZGlmZl90IGxlbjsKLSAgY2hhciAqb3B0c3RyaW5nOwogICBpbnQgb3B0Owog CiAgIHByb2duYW1lID0gYXJndlswXTsKQEAgLTExOTIsOSArMTE4Niw3IEBAIG1haW4gKGlu dCBhcmdjLCBjaGFyICoqYXJndikKIAogICAvKiBXaGVuIHRoZSBvcHRzdHJpbmcgYmVnaW5z IHdpdGggYSAnLScgZ2V0b3B0X2xvbmcgZG9lcyBub3QgcmVhcnJhbmdlIHRoZQogICAgICBu b24tb3B0aW9ucyBhcmd1bWVudHMgdG8gYmUgYXQgdGhlIGVuZCwgYnV0IGxlYXZlcyB0aGVt IGFsb25lLiAqLwotICBvcHRzdHJpbmcgPSBjb25jYXQgKCItYWM6Q2Y6SWw6bzpRcjpSU1Zo SCIsCi0JCSAgICAgIChDVEFHUykgPyAiQnhkdFR1dnciIDogIkRpOiIsCi0JCSAgICAgICIi KTsKKyAgc3RhdGljIGNoYXIgY29uc3Qgb3B0c3RyaW5nW10gPSAiLWFCYzpDZERmOmhIaTpJ bDpvOlFyOlJTdFR1dlZ3eCI7CiAKICAgd2hpbGUgKChvcHQgPSBnZXRvcHRfbG9uZyAoYXJn YywgYXJndiwgb3B0c3RyaW5nLCBsb25nb3B0cywgTlVMTCkpICE9IEVPRikKICAgICBzd2l0 Y2ggKG9wdCkKQEAgLTEyMTUsNyArMTIwNywxNCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAq KmFyZ3YpCiAJKytmaWxlX2NvdW50OwogCWJyZWFrOwogCi0gICAgICBjYXNlIFNURElOOgor ICAgICAgY2FzZSBDVEFHU19PUFRJT046CisJLyogT3BlcmF0ZSBhcyBjdGFncywgbm90IGV0 YWdzLiAgKi8KKwljdGFncyA9IHRydWU7CisJcHJvZ25hbWUgPSBvcHRhcmc7CisJbGFuZ19u YW1lc1tDX0xBTkdfTkFNRVNfSU5ERVhdLmhlbHAgPSBjdGFnc19kZWZhdWx0X0NfaGVscDsK KwlicmVhazsKKworICAgICAgY2FzZSBTVERJTl9PUFRJT046CiAJLyogUGFyc2Ugc3RhbmRh cmQgaW5wdXQuICBJZGVhIGJ5IFZpdmVrIDx2aXZla0BldGxhLm9yZz4uICovCiAJYXJnYnVm ZmVyW2N1cnJlbnRfYXJnXS5hcmdfdHlwZSA9IGF0X3N0ZGluOwogCWFyZ2J1ZmZlcltjdXJy ZW50X2FyZ10ud2hhdCAgICAgPSBvcHRhcmc7CkBAIC0xMzI1LDcgKzEzMjQsNyBAQCBtYWlu IChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgfQogCiAgIGlmICh0YWdmaWxlID09IE5V TEwpCi0gICAgdGFnZmlsZSA9IHNhdmVzdHIgKENUQUdTID8gInRhZ3MiIDogIlRBR1MiKTsK KyAgICB0YWdmaWxlID0gc2F2ZXN0ciAoY3RhZ3MgPyAidGFncyIgOiAiVEFHUyIpOwogICBj d2QgPSBldGFnc19nZXRjd2QgKCk7CS8qIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5 ICovCiAgIGlmIChjd2Rbc3RybGVuIChjd2QpIC0gMV0gIT0gJy8nKQogICAgIHsKQEAgLTEz NDksNyArMTM0OCw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgbGluZWJ1 ZmZlcl9pbml0ICgmZmlsZWJ1Zik7CiAgIGxpbmVidWZmZXJfaW5pdCAoJnRva2VuX25hbWUp OwogCi0gIGlmICghQ1RBR1MpCisgIGlmICghY3RhZ3MpCiAgICAgewogICAgICAgaWYgKHN0 cmVxICh0YWdmaWxlLCAiLSIpKQogCXsKQEAgLTE0MDcsMTMgKzE0MDYsMTMgQEAgbWFpbiAo aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBmcmVlIChmaWxlYnVmLmJ1ZmZlcik7CiAgIGZy ZWUgKHRva2VuX25hbWUuYnVmZmVyKTsKIAotICBpZiAoIUNUQUdTIHx8IGN4cmVmX3N0eWxl KQorICBpZiAoIWN0YWdzIHx8IGN4cmVmX3N0eWxlKQogICAgIHsKICAgICAgIC8qIFdyaXRl IHRoZSByZW1haW5pbmcgdGFncyB0byB0YWdmIChFVEFHUykgb3Igc3Rkb3V0IChDWFJFRiku ICovCiAgICAgICBwdXRfZW50cmllcyAobm9kZWhlYWQpOwogICAgICAgZnJlZV90cmVlIChu b2RlaGVhZCk7CiAgICAgICBub2RlaGVhZCA9IE5VTEw7Ci0gICAgICBpZiAoIUNUQUdTKQor ICAgICAgaWYgKCFjdGFncykKIAl7CiAJICBmZGVzYyAqZmRwOwogCkBAIC0xNDYyLDcgKzE0 NjEsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgIGlmIChmY2xvc2UgKHRh Z2YpID09IEVPRikKICAgICBwZmF0YWwgKHRhZ2ZpbGUpOwogCi0gIGlmIChDVEFHUykKKyAg aWYgKGN0YWdzKQogICAgIGlmIChhcHBlbmRfdG9fdGFnZmlsZSB8fCB1cGRhdGUpCiAgICAg ICB7CiAJLyogTWF5YmUgdGhlc2Ugc2hvdWxkIGJlIHVzZWQ6CkBAIC0xODYwLDcgKzE4NTks NyBAQCBwcm9jZXNzX2ZpbGUgKEZJTEUgKmZoLCBjaGFyICpmbiwgbGFuZ3VhZ2UgKmxhbmcp CiAgIC8qIElmIG5vdCBDdGFncywgYW5kIGlmIHRoaXMgaXMgbm90IG1ldGFzb3VyY2UgYW5k IGlmIGl0IGNvbnRhaW5lZCBubyAjbGluZQogICAgICBkaXJlY3RpdmVzLCB3ZSBjYW4gd3Jp dGUgdGhlIHRhZ3MgYW5kIGZyZWUgYWxsIG5vZGVzIHBvaW50aW5nIHRvCiAgICAgIGN1cmZk cC4gKi8KLSAgaWYgKCFDVEFHUworICBpZiAoIWN0YWdzCiAgICAgICAmJiBjdXJmZHAtPnVz ZWNoYXJubwkvKiBubyAjbGluZSBkaXJlY3RpdmVzIGluIHRoaXMgZmlsZSAqLwogICAgICAg JiYgIWN1cmZkcC0+bGFuZy0+bWV0YXNvdXJjZSkKICAgICB7CkBAIC0yMDkyLDcgKzIwOTEs NyBAQCBtYWtlX3RhZyAoY29uc3QgY2hhciAqbmFtZSwgCS8qIHRhZyBuYW1lLCBvciBOVUxM IGlmIHVubmFtZWQgKi8KICAgICBmcHJpbnRmIChzdGRlcnIsICIlcyBvbiAlczolIlBSSWRN QVgiOiAlc1xuIiwKIAkgICAgIG5hbWVkID8gbmFtZSA6ICIodW5uYW1lZCkiLCBjdXJmZHAt PnRhZ2dlZGZuYW1lLCBsbm8sIGxpbmVzdGFydCk7CiAKLSAgaWYgKCFDVEFHUyAmJiBuYW1l ZCkJCS8qIG1heWJlIHNldCBuYW1lZCB0byBmYWxzZSAqLworICBpZiAoIWN0YWdzICYmIG5h bWVkKQkJLyogbWF5YmUgc2V0IG5hbWVkIHRvIGZhbHNlICovCiAgICAgLyogTGV0J3MgdHJ5 IHRvIG1ha2UgYW4gaW1wbGljaXQgdGFnIG5hbWUsIHRoYXQgaXMsIGNyZWF0ZSBhbiB1bm5h bWVkIHRhZwogICAgICAgIHN1Y2ggdGhhdCBldGFncy5lbCBjYW4gZ3Vlc3MgYSBuYW1lIGZy b20gaXQuICovCiAgICAgewpAQCAtMjEzMywxNyArMjEzMiwxNyBAQCBwZm5vdGUgKGNoYXIg Km5hbWUsCQkvKiB0YWcgbmFtZSwgb3IgTlVMTCBpZiB1bm5hbWVkICovCiB7CiAgIHJlZ2lz dGVyIG5vZGUgKm5wOwogCi0gIGlmICgoQ1RBR1MgJiYgbmFtZSA9PSBOVUxMKQorICBpZiAo KGN0YWdzICYmIG5hbWUgPT0gTlVMTCkKICAgICAgIC8qIFdlIHVzZWQgdG8gaGF2ZSBhbiBh c3NlcnRpb24gaGVyZSBmb3IgdGhlIGNhc2UgYmVsb3csIGJ1dCBpZiB3ZSBoaXQKIAkgdGhh dCBjYXNlLCBpdCBqdXN0IG1lYW5zIG91ciBwYXJzZXIgZ290IGNvbmZ1c2VkLCBhbmQgdGhl cmUncyBub3RoaW5nCiAJIHRvIGRvIGFib3V0IHN1Y2ggZW1wdHkgInRhZ3MiLiAgKi8KLSAg ICAgIHx8ICghQ1RBR1MgJiYgbmFtZSAmJiBuYW1lWzBdID09ICdcMCcpKQorICAgICAgfHwg KCFjdGFncyAmJiBuYW1lICYmIG5hbWVbMF0gPT0gJ1wwJykpCiAgICAgcmV0dXJuOwogCiAg IG5wID0geG1hbGxvYyAoc2l6ZW9mICpucCk7CiAKICAgLyogSWYgY3RhZ3MgbW9kZSwgY2hh bmdlIG5hbWUgIm1haW4iIHRvIE08dGhpc2ZpbGVuYW1lPi4gKi8KLSAgaWYgKENUQUdTICYm ICFjeHJlZl9zdHlsZSAmJiBzdHJlcSAobmFtZSwgIm1haW4iKSkKKyAgaWYgKGN0YWdzICYm ICFjeHJlZl9zdHlsZSAmJiBzdHJlcSAobmFtZSwgIm1haW4iKSkKICAgICB7CiAgICAgICBj aGFyICpmcCA9IHN0cnJjaHIgKGN1cmZkcC0+dGFnZ2VkZm5hbWUsICcvJyk7CiAgICAgICBu cC0+bmFtZSA9IGNvbmNhdCAoIk0iLCBmcCA9PSBOVUxMID8gY3VyZmRwLT50YWdnZWRmbmFt ZSA6IGZwICsgMSwgIiIpOwpAQCAtMjE2OCw3ICsyMTY3LDcgQEAgcGZub3RlIChjaGFyICpu YW1lLAkJLyogdGFnIG5hbWUsIG9yIE5VTEwgaWYgdW5uYW1lZCAqLwogICBlbHNlCiAgICAg bnAtPmNubyA9IGludmFsaWRjaGFybm87CiAgIG5wLT5sZWZ0ID0gbnAtPnJpZ2h0ID0gTlVM TDsKLSAgaWYgKENUQUdTICYmICFjeHJlZl9zdHlsZSkKKyAgaWYgKGN0YWdzICYmICFjeHJl Zl9zdHlsZSkKICAgICB7CiAgICAgICBpZiAoc3RybmxlbiAobGluZXN0YXJ0LCA1MCkgPCA1 MCkKIAlucC0+cmVnZXggPSBjb25jYXQgKGxpbmVzdGFydCwgIiQiLCAiIik7CkBAIC0yMjk1 LDcgKzIyOTQsNyBAQCBhZGRfbm9kZSAobm9kZSAqbnAsIG5vZGUgKipjdXJfbm9kZV9wKQog ICAgICAgcmV0dXJuOwogICAgIH0KIAotICBpZiAoIUNUQUdTKQorICBpZiAoIWN0YWdzKQog ICAgIC8qIEV0YWdzIE1vZGUgKi8KICAgICB7CiAgICAgICAvKiBGb3IgZWFjaCBmaWxlIG5h bWUsIHRhZ3MgYXJlIGluIGEgbGlua2VkIHN1Ymxpc3Qgb24gdGhlIHJpZ2h0CkBAIC0yMzk0 LDcgKzIzOTMsNyBAQCBpbnZhbGlkYXRlX25vZGVzIChmZGVzYyAqYmFkZmRwLCBub2RlICoq bnBwKQogICBub2RlICpucCA9ICpucHA7CiAgIHN0a2VudHJ5ICpzdGFjayA9IE5VTEw7CiAK LSAgaWYgKENUQUdTKQorICBpZiAoY3RhZ3MpCiAgICAgewogICAgICAgd2hpbGUgKG5wKQog CXsKQEAgLTI1MDQsNyArMjUwMyw3IEBAIHB1dF9lbnRyeSAobm9kZSAqbnApCiAgIC8qIE91 dHB1dCB0aGlzIGVudHJ5ICovCiAgIGlmIChucC0+dmFsaWQpCiAgICAgewotICAgICAgaWYg KCFDVEFHUykKKyAgICAgIGlmICghY3RhZ3MpCiAJewogCSAgLyogRXRhZ3MgbW9kZSAqLwog CSAgaWYgKGZkcCAhPSBucC0+ZmRwKQpAQCAtMjU3Niw3ICsyNTc1LDcgQEAgcHV0X2VudHJp ZXMgKG5vZGUgKm5wKQogICBpZiAobnAgPT0gTlVMTCkKICAgICByZXR1cm47CiAKLSAgaWYg KENUQUdTKQorICBpZiAoY3RhZ3MpCiAgICAgewogICAgICAgd2hpbGUgKG5wKQogCXsKLS0g CjIuNDUuMgoK --------------9gmm2n9oWGUy1pHeOdxqY2Vp--
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 6 Mar 2025 13:31:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 06 08:31:24 2025 Received: from localhost ([127.0.0.1]:41947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tqBJr-000354-KY for submit <at> debbugs.gnu.org; Thu, 06 Mar 2025 08:31:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34084) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tqBJp-00034k-0n for 76322 <at> debbugs.gnu.org; Thu, 06 Mar 2025 08:31:22 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1tqBJj-0004Je-Hq; Thu, 06 Mar 2025 08:31:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=BzPtbp8B5MF4z4/chpWcURsmfcdPJa0UuS7vanPvfF0=; b=W7u/EU8gGXZR sazEZ622IxqcS0ASNwimuuf3byJdXdQ7mv3uNCQHfvNibkvQurlFW+Dvbc05+IBQAefrVbbRzdcHQ P+srWuxsTXI+eMQQzAYIp2RxO6xdJkS/EiUoofsyWsEg7AOudv6DnLJXHWUdDl2ru5ujOo7ORdoAG eTsP75BNGAyCQ4IUfL5dXQFvNqg/YdOPxGVE42x4CDkrDiOrjOJfqD/Jyzgn8y5Q6e72cR7GLqX1k CwDQ43eqGMdkdLnCGRNmqlVQP54S7BF2CZbTjlgurk42EfGPtT0OliGGvrVdeyVwCB8U5ynmLQLGc zuW1+kw9lo4yA+Nj7a8iIw==; Date: Thu, 06 Mar 2025 15:31:11 +0200 Message-Id: <86senqmgkg.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Paul Eggert <eggert@HIDDEN> In-Reply-To: <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> (message from Paul Eggert on Tue, 4 Mar 2025 10:37:05 -0800) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Tue, 4 Mar 2025 10:37:05 -0800 > Cc: 76322 <at> debbugs.gnu.org > From: Paul Eggert <eggert@HIDDEN> > > Thanks for the review. Revised patch attached, which I think addresses > all the comments. Thanks. This mostly worked, but I needed a few minor changes (below). We should use _spawnvp, not _execvp, since the latter doesn't return, so we cannot return the exit status of etags to the caller. More importantly, the counting of bytes to allocate missed the PROGRAM part of --ctags=PROGRAM, so ctags would crash in weird ways. Finally, I need to include stdio.h to get the declaration of perror. Here's the patch: diff --git a/lib-src/ctags.c b/lib-src/ctags.c index 82324f5..2a2a7d2 100644 --- a/lib-src/ctags.c +++ b/lib-src/ctags.c @@ -23,13 +23,14 @@ #define DEFER_MS_W32_H #include <filename.h> #include <malloc.h> +#include <stdio.h> #include <stdlib.h> #include <string.h> /* Declare _execvp by hand, since MS-Windows <process.h> collides with ../src/process.h. */ #include <stdint.h> /* for intptr_t */ -extern intptr_t _execvp (char const *, char const *const *); +extern intptr_t _spawnvp (int, char const *, char const *const *); #ifdef WINDOWSNT /* Store into D[I] through D[I + N - 1] the byte C, and return I + N. @@ -100,7 +101,10 @@ main (int argc, char **argv) for (int i = 0; i < argc; i++) nargbytes += w32_execvp_arg_repr (argv[i], NULL); nargbytes -= progname_baselen; - nargbytes += sizeof etags_basename - 1 + sizeof option_prefix - 1; + nargbytes += sizeof etags_basename - 1; + nargbytes += w32_execvp_arg_repr (option_prefix, NULL); + nargbytes += w32_execvp_arg_repr (argv[0], NULL) + - progname_baselen + sizeof etags_basename - 1; char const **etags_argv = malloc ((argc + 2) * sizeof *argv + nargbytes); if (etags_argv) @@ -122,7 +126,7 @@ main (int argc, char **argv) etags_argv[argc + 1] = NULL; progname = etags_argv[0]; - _execvp (progname, etags_argv); + return _spawnvp (0, progname, etags_argv); } perror (progname);
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 4 Mar 2025 18:37:22 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 04 13:37:21 2025 Received: from localhost ([127.0.0.1]:60873 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tpX8q-0006E5-4e for submit <at> debbugs.gnu.org; Tue, 04 Mar 2025 13:37:21 -0500 Received: from mail.cs.ucla.edu ([131.179.128.66]:38140) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1tpX8j-0006Df-9M for 76322 <at> debbugs.gnu.org; Tue, 04 Mar 2025 13:37:16 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 6B4DA3C00E420; Tue, 4 Mar 2025 10:37:07 -0800 (PST) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id DZ9SqtoEXwN3; Tue, 4 Mar 2025 10:37:06 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 2D5003C0275C1; Tue, 4 Mar 2025 10:37:06 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 2D5003C0275C1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1741113426; bh=R67dm+e1joH95BZ/Z5tDXCw5u186J98vn6F2nOGVOKM=; h=Message-ID:Date:MIME-Version:To:From; b=Hhx8nOpPMJcGHVpsTjz1KXm/I6fg8k7yr/r3NW3j2v21AwvwjEDZHo7erWSyoLiiS ++XZgjft5CFe8uP8KYlFhnvxGszE4i7ng/m+aFzXLwgALcLuGE0ekI87uEqxPxxl9a sKMOFQVBPcNa+UbmnlJfd7uOIaWkOyEo5TcWkNmAsalHrAbIH2ZLCXA8lJ9OEJCvff fAQnhfMKQp2VRfAbXO21q/2lnS75ILsZnnLTv9pzUjcnGUeoESV4yg9wA3qIvvVUkg I8e6oPB82zPhC4GAIVN+4XWg93+7Z6AmOCyicVrsNZweG2Cc/Msob+ckucI4131Ukc jeG9OFK9GfEfg== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id ZBG3OGaBzZxo; Tue, 4 Mar 2025 10:37:06 -0800 (PST) Received: from [192.168.254.12] (unknown [47.147.225.25]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 0A61B3C00E420; Tue, 4 Mar 2025 10:37:06 -0800 (PST) Content-Type: multipart/mixed; boundary="------------wA10kCTfJC3MAqAN9RoB0bQW" Message-ID: <341c6d80-607c-41eb-990a-97154fc031be@HIDDEN> Date: Tue, 4 Mar 2025 10:37:05 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: Eli Zaretskii <eliz@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> <86ldu13r7j.fsf@HIDDEN> Content-Language: en-US From: Paul Eggert <eggert@HIDDEN> Organization: UCLA Computer Science Department In-Reply-To: <86ldu13r7j.fsf@HIDDEN> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------wA10kCTfJC3MAqAN9RoB0bQW Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Thanks for the review. Revised patch attached, which I think addresses all the comments. --------------wA10kCTfJC3MAqAN9RoB0bQW Content-Type: text/x-patch; charset=UTF-8; name="0001-Make-ctags-a-thin-wrapper-around-etags.patch" Content-Disposition: attachment; filename="0001-Make-ctags-a-thin-wrapper-around-etags.patch" Content-Transfer-Encoding: base64 RnJvbSA5NGMzNWQ3OWI1MjE1MzQwY2VjODkxNzk5MTk2NzgyNDU0NGFjMjAxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDQgTWFyIDIwMjUgMTA6Mjg6MzkgLTA4MDAKU3ViamVjdDogW1BBVENI XSBNYWtlIGN0YWdzIGEgdGhpbiB3cmFwcGVyIGFyb3VuZCBldGFncwoKVGhpcyBmaXhlcyBh IEZJWE1FIGluIGxpYi1zcmMvTWFrZWZpbGUuaW4gYW5kIHNwZWVkcyB1cCBjb21waWxhdGlv bgpxdWl0ZSBhIGJpdCBvbiBteSBvbGRlciBDUFUgd2hlbiBJIGNvbXBpbGUgd2l0aAktLWVu YWJsZS1nY2Mtd2FybmluZ3MuCkl0IGFsc28gbGVzc2VucyBpbnN0YWxsYXRpb24gYW5kIHJ1 bnRpbWUgZm9vdHByaW50LgoqIGphdmEvTWFrZWZpbGUuaW4gKGluc3RhbGxfdGVtcCk6IFRy ZWF0IGN0YWdzIGxpa2UgcmNzMmxvZy4KKiBsaWItc3JjL01ha2VmaWxlLmluIChJTlNUQUxM QUJMRV9FWEVTLCBJTlNUQUxMQUJMRV9TQ1JJUFRTKToKTmV3IG1hY3JvcywgcmVwbGFjaW5n IElOU1RBTExBQkxFUy4gIEFsbCB1c2VzIGNoYW5nZWQuCihVVElMSVRZX0VYRVMpOiBSZW5h bWUgZnJvbSBVVElMSVRJRVMsIGZvciBjb25zaXN0ZW5jeS4gIEFsbCB1c2VzIGNoYW5nZWQu CihVVElMSVRZX1NDUklQVFMpOiBSZW5hbWUgZnJvbSBTQ1JJUFRTLCBmb3IgY29uc2lzdGVu Y3kuICBBbGwgdXNlcyBjaGFuZ2VkLgooY3RhZ3MpOiBOZXcgcnVsZSBpZiBub3QgRVhFRVhU LgooY3RhZ3Mke0VYRUVYVH0pOiBSZW1vdmUgcnVsZSB1bmxlc3MgRVhFRVhULiAgVXNlIG9u bHkgTlRMSUIgYW5kIExPQURMSUJFUy4KKiBsaWItc3JjL2N0YWdzLmM6IFJld3JpdGUgZnJv bSBzY3JhdGNoOyBpdCdzIG5vdyB1c2VkIG9ubHkgaWYgRVhFRVhULgoqIGxpYi1zcmMvY3Rh Z3Muc2g6IE5ldyBmaWxlLgoqIGxpYi1zcmMvZXRhZ3MuYyAoQ1RBR1MpOiBSZW1vdmUuICBB bGwgdXNlcyByZXBsYWNlZCBieSAuLi4KKGN0YWdzKTogLi4uIHRoaXMgbmV3IHN0YXRpYyB2 YXIuCihTVERJTik6IFJlbW92ZSBtYWNyby4gIEFsbCB1c2VzIHJlcGxhY2VkIGJ5IG5ldyBT VERJTl9PUFRJT04gY29uc3RhbnQuCihDVEFHU19PUFRJT04sIFNURElOX09QVElPTik6IE5l dyBjb250YW50cy4KKGxvbmdvcHRzKTogTmV3IC0tY3RhZ3Mgb3B0aW9uLgooY3RhZ3NfZGVm YXVsdF9DX2hlbHApOiBOZXcgY29uc3RhbnQsCnRvIG92ZXJyaWRlIGRlZmF1bHRfQ19oZWxw IGF0IHJ1bnRpbWUuCihkZWZhdWx0X0NfaGVscCk6IE5vdyBhbHdheXMgdGhlIGV0YWdzIHZl cnNpb24uCihDX0xBTkdfTkFNRVNfSU5ERVgpOiBOZXcgbWFjcm8uCihwcmludF9sYW5ndWFn ZV9uYW1lcyk6IERvIG5vdCBhc3N1bWUgZXRhZ3MuCihQUk9HUkFNX05BTUUpOiBSZW1vdmUu ICBBbGwgdXNlcyByZW1vdmVkLgoocHJpbnRfaGVscCk6IERvY3VtZW50IC0tY3RhZ3MgaWYg UFJJTlRfVU5ET0NVTUVOVEVEX09QVElPTlNfSEVMUC4KKG1haW4pOiBTdXBwb3J0IG5ldyAt LWN0YWdzIG9wdGlvbiwgYW5kIHN1cHBvcnQgYWxsIFtjZV10YWdzIG9wdGlvbnMuCi0tLQog ZXRjL05FV1MgICAgICAgICAgICB8ICAgNCArKwogZXRjL1BST0JMRU1TICAgICAgICB8ICAg NCArLQogamF2YS9NYWtlZmlsZS5pbiAgICB8ICAgNyArKy0KIGxpYi1zcmMvTWFrZWZpbGUu aW4gfCAgNTEgKysrKysrKysrKystLS0tLS0KIGxpYi1zcmMvY3RhZ3MuYyAgICAgfCAxMzIg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGxpYi1zcmMv Y3RhZ3Muc2ggICAgfCAgIDYgKysKIGxpYi1zcmMvZXRhZ3MuYyAgICAgfCAxMzEgKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogNyBmaWxlcyBjaGFuZ2Vk LCAyNDYgaW5zZXJ0aW9ucygrKSwgODkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA3 NTUgbGliLXNyYy9jdGFncy5zaAoKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MK aW5kZXggMzljNjI3NTYwODUuLmFlM2I5OTM1M2Q5IDEwMDY0NAotLS0gYS9ldGMvTkVXUwor KysgYi9ldGMvTkVXUwpAQCAtMjksNiArMjksMTAgQEAgYXBwbGllcywgYW5kIHBsZWFzZSBh bHNvIHVwZGF0ZSBkb2NzdHJpbmdzIGFzIG5lZWRlZC4KIFRoZSB0cmFkaXRpb25hbCB1bmV4 ZWMgZHVtcGVyLCBkZXByZWNhdGVkIHNpbmNlIEVtYWNzIDI3LCBoYXMgYmVlbgogcmVtb3Zl ZC4KIAorLS0tCisqKiBjdGFncyBpcyBub3cgbWVyZWx5IGEgdGhpbiB3cmFwcGVyIGFyb3Vu ZCBldGFncy4KK1RoaXMgc3BlZWRzIHVwIGNvbXBpbGF0aW9uIGFuZCBsZXNzZW5zIGluc3Rh bGxhdGlvbiBmb290cHJpbnQuCisKIAogKiBNYWNPUy9OUyBDaGFuZ2VzIGluIEVtYWNzIDMx LjEKIApkaWZmIC0tZ2l0IGEvZXRjL1BST0JMRU1TIGIvZXRjL1BST0JMRU1TCmluZGV4IDBk NjFhM2JjNzZlLi45NTI4MTNmMGM1YiAxMDA2NDQKLS0tIGEvZXRjL1BST0JMRU1TCisrKyBi L2V0Yy9QUk9CTEVNUwpAQCAtMzk3Myw3ICszOTczLDcgQEAgVGhlcmUgYXJlIHNldmVyYWwg a25vd24gd29ya2Fyb3VuZHM6CiAKIFRoZSBsaW5rZXIgZXJyb3IgbWVzc2FnZXMgbG9vayBs aWtlIHRoaXM6CiAKLSBvby1zcGQvaTM4Ni9jdGFncy5vOmN0YWdzLmM6KC50ZXh0KzB4MTU2 ZSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX3JlX3NldF9zeW50YXgnCisgb28t c3BkL2kzODYvZXRhZ3MubzpldGFncy5jOigudGV4dCsweDE1NmUpOiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvIGBfaW1wX19yZV9zZXRfc3ludGF4JwogIGNvbGxlY3QyOiBsZCByZXR1cm5l ZCAxIGV4aXQgc3RhdHVzCiAKIFRoaXMgaGFwcGVucyBiZWNhdXNlIEdDQyBmaW5kcyBhbiBp bmNvbXBhdGlibGUgcmVnZXguaCBoZWFkZXIKQEAgLTQwMDQsNyArNDAwNCw3IEBAIFNvbWUg dmVyc2lvbnMgb2YgbWluZ3czMiBtYWtlIG9uIHNvbWUgdmVyc2lvbnMgb2YgV2luZG93cyBk byBub3Qgc2VlbQogdG8gZGV0ZWN0IHRoZSBzaGVsbCBjb3JyZWN0bHkuICBUcnkgIm1ha2Ug U0hFTEw9Y21kLmV4ZSIsIG9yIGlmIHRoYXQKIGZhaWxzLCB0cnkgcnVubmluZyBtYWtlIGZy b20gQ3lnd2luIGJhc2ggaW5zdGVhZC4KIAotKioqIEJ1aWxkaW5nICdjdGFncycgZm9yIE1T LVdpbmRvd3Mgd2l0aCB0aGUgTWluR1cgcG9ydCBvZiBHQ0MgZmFpbHMuCisqKiogQnVpbGRp bmcgJ2V0YWdzJyBmb3IgTVMtV2luZG93cyB3aXRoIHRoZSBNaW5HVyBwb3J0IG9mIEdDQyBm YWlscy4KIAogVGhpcyBtaWdodCBoYXBwZW4gZHVlIHRvIGEgYnVnIGluIHRoZSBNaW5HVyBo ZWFkZXIgYXNzZXJ0LmgsIHdoaWNoCiBkZWZpbmVzIHRoZSAnYXNzZXJ0JyBtYWNybyB3aXRo IGEgdHJhaWxpbmcgc2VtaS1jb2xvbi4gIFRoZSBmb2xsb3dpbmcKZGlmZiAtLWdpdCBhL2ph dmEvTWFrZWZpbGUuaW4gYi9qYXZhL01ha2VmaWxlLmluCmluZGV4IDM5ZDZlODVjN2E3Li4y MWFjNGU0MjUwZCAxMDA2NDQKLS0tIGEvamF2YS9NYWtlZmlsZS5pbgorKysgYi9qYXZhL01h a2VmaWxlLmluCkBAIC0zMDUsOCArMzA1LDEzIEBAIGluc3RhbGxfdGVtcDoKIAkgICAgY3Ag LWYgJCRmaWxlIGluc3RhbGxfdGVtcC9saWIvJChBTkRST0lEX0FCSSk7CVwKIAkgIGZpIAkJ CQkJCQlcCiAJZG9uZQotIyBOZXh0LCBwcm9kdWNlIGEgdmVyc2lvbiBvZiByY3MybG9nIGJl Zml0dGluZyBBbmRyb2lkJ3MgbmFtaW5nCisjIE5leHQsIHByb2R1Y2UgdmVyc2lvbnMgb2Yg Y3RhZ3MgYW5kIHJjczJsb2cgYmVmaXR0aW5nIEFuZHJvaWQncyBuYW1pbmcKICMgY29udmVu dGlvbnMgYW5kIHNoZWxsIGludGVycHJldGVyIGxvY2F0aW9uLgorCSQoQU1fVl9hdCkgXAor CXNlZCAnc3wvYmluL3NofC9zeXN0ZW0vYmluL3NofCcJCQkJCVwKKwkgJCh0b3Bfc3JjZGly KS9saWItc3JjL2N0YWdzID4JCQkJCVwKKwkgaW5zdGFsbF90ZW1wL2xpYi8kKEFORFJPSURf QUJJKS9saWJjdGFncy5zbworCSQoQU1fVl9hdCkgY2htb2QgK3ggaW5zdGFsbF90ZW1wL2xp Yi8kKEFORFJPSURfQUJJKS9saWJjdGFncy5zbwogCSQoQU1fVl9hdCkgXAogCXNlZCAnc3wv YmluL3NofC9zeXN0ZW0vYmluL3NofCcJCQkJCVwKIAkgJCh0b3Bfc3JjZGlyKS9saWItc3Jj L3JjczJsb2cgPgkJCQlcCmRpZmYgLS1naXQgYS9saWItc3JjL01ha2VmaWxlLmluIGIvbGli LXNyYy9NYWtlZmlsZS5pbgppbmRleCA0MzlkOWExYTUyZC4uMzAwYWJlNjA5ZDEgMTAwNjQ0 Ci0tLSBhL2xpYi1zcmMvTWFrZWZpbGUuaW4KKysrIGIvbGliLXNyYy9NYWtlZmlsZS5pbgpA QCAtMTU1LDEyICsxNTUsMTMgQEAgQU5EUk9JRD0KIENMSUVOVFcgPSBAQ0xJRU5UV0AKIAog IyBUaGluZ3MgdGhhdCBhIHVzZXIgbWlnaHQgYWN0dWFsbHkgcnVuLCB3aGljaCBzaG91bGQg YmUgaW5zdGFsbGVkIGluIGJpbmRpci4KLUlOU1RBTExBQkxFUyA9IGV0YWdzJHtFWEVFWFR9 IGN0YWdzJHtFWEVFWFR9IGVtYWNzY2xpZW50JHtFWEVFWFR9ICQoQ0xJRU5UVykgXAotICAg ICAgICAgICAgICAgZWJyb3dzZSR7RVhFRVhUfQorSU5TVEFMTEFCTEVfRVhFUyA9IGV0YWdz JHtFWEVFWFR9ICQoaWYgJChFWEVFWFQpLCBjdGFncyQoRVhFRVhUKSkgXAorICBlbWFjc2Ns aWVudCR7RVhFRVhUfSAkKENMSUVOVFcpIGVicm93c2Uke0VYRUVYVH0KK0lOU1RBTExBQkxF X1NDUklQVFMgPSAkKGlmICQoRVhFRVhUKSwgLCBjdGFncykKIAogIyBUaGluZ3MgdGhhdCBF bWFjcyBydW5zIGludGVybmFsbHksIG9yIGR1cmluZyB0aGUgYnVpbGQgcHJvY2VzcywKICMg IHdoaWNoIHNob3VsZCBub3QgYmUgaW5zdGFsbGVkIGluIGJpbmRpci4KLVVUSUxJVElFUyA9 IGhleGwke0VYRUVYVH0gCQkJIAkgXAorVVRJTElUWV9FWEVTID0gaGV4bCR7RVhFRVhUfSBc CiAJICAgICQoaWYgJCh3aXRoX21haWx1dGlscyksICwgbW92ZW1haWwke0VYRUVYVH0pIFwK ICAgICAgICAgICAgICQoYW5kICQodXNlX2dhbWVkaXIpLCB1cGRhdGUtZ2FtZS1zY29yZSR7 RVhFRVhUfSkKIApAQCAtMTc1LDEyICsxNzYsMTIgQEAgRE9OVF9JTlNUQUxMPQogZW5kaWYK IGVuZGlmCiAKLSMgTGlrZSBVVElMSVRJRVMsIGJ1dCB0aGV5J3JlIG5vdCBzeXN0ZW0tZGVw ZW5kZW50LCBhbmQgc2hvdWxkIG5vdCBiZQorIyBMaWtlIFVUSUxJVFlfRVhFUywgYnV0IHRo ZXkncmUgbm90IHN5c3RlbS1kZXBlbmRlbnQsIGFuZCBzaG91bGQgbm90IGJlCiAjICBkZWxl dGVkIGJ5IHRoZSBkaXN0Y2xlYW4gdGFyZ2V0LgotU0NSSVBUUz0gcmNzMmxvZworVVRJTElU WV9TQ1JJUFRTID0gcmNzMmxvZwogCiAjIEFsbCBmaWxlcyB0aGF0IGFyZSBjcmVhdGVkIGJ5 IHRoZSBsaW5rZXIsIGkuZS4sIHdob3NlIG5hbWVzIGVuZCBpbiAke0VYRUVYVH0uCi1FWEVf RklMRVMgPSAke0lOU1RBTExBQkxFU30gJHtVVElMSVRJRVN9ICR7RE9OVF9JTlNUQUxMfQor RVhFX0ZJTEVTID0gJHtJTlNUQUxMQUJMRV9FWEVTfSAke1VUSUxJVFlfRVhFU30gJHtET05U X0lOU1RBTEx9CiAKICMgU3BlY2lmeSBhZGRpdGlvbmFsIC1EIGZsYWdzIGZvciBtb3ZlbWFp bC4gT3B0aW9uczoKICMgLURNQUlMX1VTRV9GTE9DSyBvciAtRE1BSUxfVVNFX0xPQ0tGICh1 c2UgZmxvY2sgb3IgbG9ja2YgZm9yIGZpbGUgbG9ja2luZykuCkBAIC0yODMsNyArMjg0LDcg QEAgQUxMX0NYWEZMQUdTID0KICMgQ29uZmlndXJhdGlvbiBmaWxlcyBmb3IgLm8gZmlsZXMg dG8gZGVwZW5kIG9uLgogY29uZmlnX2ggPSAuLi9zcmMvY29uZmlnLmggJChzcmNkaXIpLy4u L3NyYy9jb25mX3Bvc3QuaAogCi1hbGw6ICR7RVhFX0ZJTEVTfSAke1NDUklQVFN9CithbGw6 ICR7RVhFX0ZJTEVTfSAke0lOU1RBTExBQkxFX1NDUklQVFN9ICR7VVRJTElUWV9TQ1JJUFRT fQogCiBpZmVxICgkKFNFQ0NPTVBfRklMVEVSKSwxKQogYWxsOiBzZWNjb21wLWZpbHRlci5i cGYgc2VjY29tcC1maWx0ZXItZXhlYy5icGYKQEAgLTMyNCw3ICszMjUsNyBAQCAkKERFU1RE SVIpJHthcmNobGliZGlyfToKIAl1bWFzayAwMjIgJiYgJHtNS0RJUl9QfSAiJChERVNURElS KSR7YXJjaGxpYmRpcn0iCiAJZXhwX2FyY2hsaWJkaXI9YGNkICIkKERFU1RESVIpJHthcmNo bGliZGlyfSIgJiYgcHdkIC1QYCAmJiBcCiAJaWYgWyAiJCRleHBfYXJjaGxpYmRpciIgIT0g ImBwd2QgLVBgIiBdOyB0aGVuIFwKLQkgIGZvciBmaWxlIGluICR7VVRJTElUSUVTfTsgZG8g XAorCSAgZm9yIGZpbGUgaW4gJHtVVElMSVRZX0VYRVN9OyBkbyBcCiAJICAgICQoSU5TVEFM TF9QUk9HUkFNKSAkKElOU1RBTExfU1RSSVApICQkZmlsZSBcCiAJICAgICAgIiQoREVTVERJ Uikke2FyY2hsaWJkaXJ9LyQkZmlsZSIgfHwgZXhpdDsgXAogCSAgZG9uZSA7IFwKQEAgLTM1 MSw3ICszNTIsNyBAQCAkKERFU1RESVIpJHthcmNobGliZGlyfToKICAgZW5kaWYKIAlleHBf YXJjaGxpYmRpcj1gY2QgIiQoREVTVERJUikke2FyY2hsaWJkaXJ9IiAmJiBwd2QgLVBgICYm IFwKIAlpZiBbICIkJGV4cF9hcmNobGliZGlyIiAhPSAiYGNkICR7c3JjZGlyfSAmJiBwd2Qg LVBgIiBdOyB0aGVuIFwKLQkgIGZvciBmaWxlIGluICR7U0NSSVBUU307IGRvIFwKKwkgIGZv ciBmaWxlIGluICR7VVRJTElUWV9TQ1JJUFRTfTsgZG8gXAogCSAgICAkKElOU1RBTExfU0NS SVBUKSAke3NyY2Rpcn0vJCRmaWxlIFwKIAkgICAgICAiJChERVNURElSKSR7YXJjaGxpYmRp cn0vJCRmaWxlIiB8fCBleGl0OyBcCiAJICBkb25lIDsgXApAQCAtMzY0LDIyICszNjUsMzUg QEAgaW5zdGFsbDoKIAkkKGluZm8gJC4pCiAJJChpbmZvIEluc3RhbGxpbmcgdXRpbGl0aWVz IGZvciB1c2VycyB0byBydW4uKQogCXVtYXNrIDAyMiAmJiAke01LRElSX1B9ICIkKERFU1RE SVIpJHtiaW5kaXJ9IgotCWZvciBmaWxlIGluICR7SU5TVEFMTEFCTEVTfSA7IGRvIFwKKwlm b3IgZmlsZSBpbiAke0lOU1RBTExBQkxFX0VYRVN9IDsgZG8gXAogCSAgJChJTlNUQUxMX1BS T0dSQU0pICQoSU5TVEFMTF9TVFJJUCkgJCR7ZmlsZX0gXAogCSAgICAiJChERVNURElSKSR7 YmluZGlyfSIvYCBcCiAJICAgICAgZWNobyAkJHtmaWxlfSB8IHNlZCAtZSAncy8ke0VYRUVY VH0kJC8vJyAtZSAnJChUUkFOU0ZPUk0pJyBcCiAJICAgIGAke0VYRUVYVH0gfHwgZXhpdDsg XAogCWRvbmUKKwlmb3IgZmlsZSBpbiAnJyAke0lOU1RBTExBQkxFX1NDUklQVFN9OyBkbyBc CisJICBbICIkJGZpbGUiIF0gfHwgY29udGludWU7IFwKKwkgICQoSU5TVEFMTF9QUk9HUkFN KSAkJHtmaWxlfSBcCisJICAgICIkKERFU1RESVIpJHtiaW5kaXJ9Ii9gIFwKKwkgICAgICBl Y2hvICQke2ZpbGV9IHwgc2VkIC1lICckKFRSQU5TRk9STSknIFwKKwkgICAgYCB8fCBleGl0 OyBcCisJZG9uZQogCiB1bmluc3RhbGw6Ci0JZm9yIGZpbGUgaW4gJHtJTlNUQUxMQUJMRVN9 OyBkbyBcCisJZm9yIGZpbGUgaW4gJHtJTlNUQUxMQUJMRV9FWEVTfTsgZG8gXAogCSAgcm0g LWYgIiQoREVTVERJUikke2JpbmRpcn0iL2AgXAogCSAgICBlY2hvICQke2ZpbGV9IHwgc2Vk IC1lICdzLyR7RVhFRVhUfSQkLy8nIC1lICckKFRSQU5TRk9STSknIFwKIAkgIGAke0VYRUVY VH07IFwKIAlkb25lCisJZm9yIGZpbGUgaW4gJycgJHtJTlNUQUxMQUJMRV9TQ1JJUFRTfTsg ZG8gXAorCSAgWyAiJCRmaWxlIiBdIHx8IGNvbnRpbnVlOyBcCisJICBybSAtZiAiJChERVNU RElSKSR7YmluZGlyfSIvYCBcCisJICAgIGVjaG8gJCR7ZmlsZX0gfCBzZWQgLWUgJyQoVFJB TlNGT1JNKScgXAorCSAgYDsgXAorCWRvbmUKIAlpZiBbIC1kICIkKERFU1RESVIpJHthcmNo bGliZGlyfSIgXTsgdGhlbiBcCiAJICBjZCAiJChERVNURElSKSR7YXJjaGxpYmRpcn0iICYm IFwKLQkgIHJtIC1mICR7VVRJTElUSUVTfSAke1NDUklQVFN9OyBcCisJICBybSAtZiAke1VU SUxJVFlfRVhFU30gJHtVVElMSVRZX1NDUklQVFN9OyBcCiAJZmkKIAogbW9zdGx5Y2xlYW46 CkBAIC00MTUsMTIgKzQyOSwxMyBAQCBldGFnc19saWJzID0KIGV0YWdzJHtFWEVFWFR9OiAk e2V0YWdzX2RlcHN9CiAJJChBTV9WX0NDTEQpJChDQykgJHtBTExfQ0ZMQUdTfSAtbyAkQCAk PCAkKGV0YWdzX2xpYnMpCiAKLSMjIGN0YWdzLmMgaXMgZGlzdGluY3QgZnJvbSBldGFncy5j IHNvIHRoYXQgcGFyYWxsZWwgbWFrZXMgZG8gbm90IHdyaXRlIHR3bwotIyMgZXRhZ3MubyBm aWxlcyBvbiB0b3Agb2YgZWFjaCBvdGhlci4KLSMjIEZJWE1FPwotIyMgQ2FuJ3Qgd2UgdXNl IGEgd3JhcHBlciB0aGF0IGNhbGxzICdldGFncyAtLWN0YWdzJz8KLWN0YWdzJHtFWEVFWFR9 OiAke3NyY2Rpcn0vY3RhZ3MuYyAke2V0YWdzX2RlcHN9Ci0JJChBTV9WX0NDTEQpJChDQykg JHtBTExfQ0ZMQUdTfSAtbyAkQCAkPCAkKGV0YWdzX2xpYnMpCitpZmVxICgkKEVYRUVYVCks KQorICBjdGFnczogJHtzcmNkaXJ9L2N0YWdzLnNoCisJY3AgJD8gJEAKK2Vsc2UKKyAgY3Rh Z3Mke0VYRUVYVH06ICR7c3JjZGlyfS9jdGFncy5jICQoTlRMSUIpICQoY29uZmlnX2gpCisJ JChBTV9WX0NDTEQpJChDQykgJHtBTExfQ0ZMQUdTfSAtbyAkQCAkPCAkKE5UTElCKSAkKExP QURMSUJFUykKK2VuZGlmCiAKIGFzc2V0LWRpcmVjdG9yeS10b29sJHtFWEVFWFR9OiAke3Ny Y2Rpcn0vYXNzZXQtZGlyZWN0b3J5LXRvb2wuYyAkKGNvbmZpZ19oKQogCSQoQU1fVl9DQ0xE KSQoQ0MpICR7QUxMX0NGTEFHU30gJDwgJChMT0FETElCRVMpIC1vICRACmRpZmYgLS1naXQg YS9saWItc3JjL2N0YWdzLmMgYi9saWItc3JjL2N0YWdzLmMKaW5kZXggMGE2ODM4YTlkYmIu LjgyMzI0ZjUzNzM4IDEwMDY0NAotLS0gYS9saWItc3JjL2N0YWdzLmMKKysrIGIvbGliLXNy Yy9jdGFncy5jCkBAIC0xLDIgKzEsMTMwIEBACi0jZGVmaW5lIENUQUdTIDEKLSNpbmNsdWRl ICJldGFncy5jIgorLyogTGlrZSBjdGFncy5zaCBidXQgZm9yIE1TLVdpbmRvd3MsIHdoaWNo IGxhY2tzIHRoZSBzaGVsbC4KKworQ29weXJpZ2h0IDIwMjUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCisKK1RoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KKworR05V IEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKK2l0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCitidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKK2Fsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNkZWZpbmUgREVGRVJfTVNfVzMyX0gKKyNpbmNs dWRlIDxjb25maWcuaD4KKworI2luY2x1ZGUgPGZpbGVuYW1lLmg+CisKKyNpbmNsdWRlIDxt YWxsb2MuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKwor LyogRGVjbGFyZSBfZXhlY3ZwIGJ5IGhhbmQsIHNpbmNlIE1TLVdpbmRvd3MgPHByb2Nlc3Mu aD4gY29sbGlkZXMgd2l0aAorICAgLi4vc3JjL3Byb2Nlc3MuaC4gICovCisjaW5jbHVkZSA8 c3RkaW50Lmg+IC8qIGZvciBpbnRwdHJfdCAqLworZXh0ZXJuIGludHB0cl90IF9leGVjdnAg KGNoYXIgY29uc3QgKiwgY2hhciBjb25zdCAqY29uc3QgKik7CisKKyNpZmRlZiBXSU5ET1dT TlQKKy8qIFN0b3JlIGludG8gRFtJXSB0aHJvdWdoIERbSSArIE4gLSAxXSB0aGUgYnl0ZSBD LCBhbmQgcmV0dXJuIEkgKyBOLgorICAgQnV0IGlmIEQgaXMgbnVsbCwganVzdCByZXR1cm4g dGhlIGluY3JlbWVudGVkIGNvdW50LiAgKi8KK3N0YXRpYyBzaXplX3QKK3N0b3JlIChjaGFy ICpkLCBzaXplX3QgaSwgc2l6ZV90IG4sIGNoYXIgYykKK3sKKyAgaWYgKGQpCisgICAgZm9y IChzaXplX3QgaiA9IDA7IGogPCBuOyBqKyspCisgICAgICBkW2kgKyBqXSA9IGM7CisgIHJl dHVybiBpICsgbjsKK30KKyNlbmRpZgorCisvKiBSZXR1cm4gdGhlIG51bWJlciBvZiBieXRl cyB1c2VkIHRvIHJlcHJlc2VudCB0aGUgc3RyaW5nIFMgYXMgYW4KKyAgIGV4ZWN2cCBhcmd1 bWVudCwgaW5jbHVkaW5nIHRoZSB0cmFpbGluZyBudWxsIGJ5dGUuCisgICBJZiBEIGlzIG5v bm51bGwsIGFsc28gc3RvcmUgdGhlIHJlcHJlc2VudGF0aW9uIGludG8gRC4KKyAgIE9uIE1T LVdpbmRvd3Mgc29tZSBlc2NhcGluZyBpcyByZXF1aXJlZDoKKyAgIGR1ZSB0byBNaWNyb3Nv ZnQgQyBydW50aW1lIGNvbnN0cmFpbnRzLCBTIGNhbm5vdCBjb250YWluICdcbicsCisgICBh bmQgaWYgUyBjb250YWlucyAnIicgdGhlIHJlcHJlc2VudGF0aW9uIGNhbm5vdCBiZSB1c2Vk IGZvciBhcmd1bWVudCAwLiAgKi8KK3N0YXRpYyBzaXplX3QKK3czMl9leGVjdnBfYXJnX3Jl cHIgKGNoYXIgY29uc3QgKnJlc3RyaWN0IHMsIGNoYXIgKnJlc3RyaWN0IGQpCit7CisgIHNp emVfdCBpOworI2lmZGVmIFdJTkRPV1NOVAorICAvKiBTZWUgPGh0dHBzOi8vbGVhcm4ubWlj cm9zb2Z0LmNvbS9lbi11cy9jcHAvYy1sYW5ndWFnZS9wYXJzaW5nLWMtY29tbWFuZC1saW5l LWFyZ3VtZW50cz4uCisgICAgIEFsdGhvdWdoIHF1b3RpbmcgaXMgbmVlZGVkIG9ubHkgaWYg UyBpcyBlbXB0eSBvciBjb250YWlucyBzcGFjZSBvciB0YWIsCisgICAgIGl0IGlzIHNpbXBs ZXIgYW5kIHBlcmhhcHMgY2hlYXBlciB0byBhbHdheXMgcXVvdGUuICAqLworICBpID0gc3Rv cmUgKGQsIDAsIDEsICciJyk7CisKKyAgc2l6ZV90IGJzY291bnQgPSAwOyAvKiBDb3VudCBv ZiBwcmVjZWRpbmcgYmFja3NsYXNoZXMuICAqLworICBmb3IgKDsgKnM7IHMrKykKKyAgICB7 CisgICAgICBpZiAoKnMgPT0gJyInKQorCXN0b3JlIChkLCBpLCBic2NvdW50ICsgMSwgJ1xc Jyk7CisgICAgICBpID0gc3RvcmUgKGQsIGksIDEsICpzKTsKKyAgICAgIGJzY291bnQgPSAq cyA9PSAnXFwnID8gYnNjb3VudCArIDEgOiAwOworICAgIH0KKworICBpID0gc3RvcmUgKGQs IGksIGJzY291bnQsICdcXCcpOworICBpID0gc3RvcmUgKGQsIGksIDEsICciJyk7CisgIGkg PSBzdG9yZSAoZCwgaSwgMSwgJ1wwJyk7CisjZWxzZQorICBpID0gc3RybGVuIChzKSArIDE7 CisgIGlmIChkKQorICAgIG1lbWNweSAoZCwgcywgaSk7CisjZW5kaWYKKyAgcmV0dXJuIGk7 Cit9CisKK2ludAorbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICBzdGF0aWMg Y2hhciBjb25zdCBldGFnc19iYXNlbmFtZVtdID0gImV0YWdzIjsKKyAgc3RhdGljIGNoYXIg Y29uc3Qgb3B0aW9uX3ByZWZpeFtdID0gIi0tY3RhZ3M9IjsKKworICBjaGFyIGNvbnN0ICpw cm9nbmFtZSA9IGFyZ3ZbMF07CisgIGNoYXIgY29uc3QgKnByb2duYW1lX2Jhc2UgPSBwcm9n bmFtZSArIEZJTEVfU1lTVEVNX1BSRUZJWF9MRU4gKHByb2duYW1lKTsKKyAgY2hhciBjb25z dCAqcDsKKyAgZm9yIChwID0gcHJvZ25hbWVfYmFzZTsgKnA7IHArKykKKyAgICBpZiAoSVNT TEFTSCAoKnApKQorICAgICAgcHJvZ25hbWVfYmFzZSA9IHAgKyAxOworICBzaXplX3QgcHJv Z25hbWVfZGlybGVuID0gcHJvZ25hbWVfYmFzZSAtIHByb2duYW1lOworICBzaXplX3QgcHJv Z25hbWVfYmFzZWxlbiA9IHAgLSBwcm9nbmFtZV9iYXNlOworCisgIC8qIE51bWJlciBvZiBi eXRlcyBuZWVkZWQgdG8gcmVwcmVzZW50IGFsbCBldGFncyBhcmdzLiAgKi8KKyAgc2l6ZV90 IG5hcmdieXRlcyA9IDA7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgaSsrKQorICAg IG5hcmdieXRlcyArPSB3MzJfZXhlY3ZwX2FyZ19yZXByIChhcmd2W2ldLCBOVUxMKTsKKyAg bmFyZ2J5dGVzIC09IHByb2duYW1lX2Jhc2VsZW47CisgIG5hcmdieXRlcyArPSBzaXplb2Yg ZXRhZ3NfYmFzZW5hbWUgLSAxICsgc2l6ZW9mIG9wdGlvbl9wcmVmaXggLSAxOworCisgIGNo YXIgY29uc3QgKipldGFnc19hcmd2ID0gbWFsbG9jICgoYXJnYyArIDIpICogc2l6ZW9mICph cmd2ICsgbmFyZ2J5dGVzKTsKKyAgaWYgKGV0YWdzX2FyZ3YpCisgICAgeworICAgICAgY2hh ciAqZCA9IChjaGFyICopIChldGFnc19hcmd2ICsgYXJnYyArIDIpOworICAgICAgZXRhZ3Nf YXJndlswXSA9IG1lbWNweSAoZCwgcHJvZ25hbWUsIHByb2duYW1lX2Rpcmxlbik7CisgICAg ICBkICs9IHByb2duYW1lX2RpcmxlbjsKKyAgICAgIG1lbWNweSAoZCwgZXRhZ3NfYmFzZW5h bWUsIHNpemVvZiBldGFnc19iYXNlbmFtZSk7CisgICAgICBkICs9IHNpemVvZiBldGFnc19i YXNlbmFtZTsKKyAgICAgIGV0YWdzX2FyZ3ZbMV0gPSBtZW1jcHkgKGQsIG9wdGlvbl9wcmVm aXgsIHNpemVvZiBvcHRpb25fcHJlZml4IC0gMSk7CisgICAgICBkICs9IHNpemVvZiBvcHRp b25fcHJlZml4IC0gMTsKKyAgICAgIGQgKz0gdzMyX2V4ZWN2cF9hcmdfcmVwciAocHJvZ25h bWUsIGQpOworCisgICAgICBmb3IgKGludCBpID0gMTsgaSA8IGFyZ2M7IGkrKykKKwl7CisJ ICBldGFnc19hcmd2W2kgKyAxXSA9IGQ7CisJICBkICs9IHczMl9leGVjdnBfYXJnX3JlcHIg KGFyZ3ZbaV0sIGQpOworCX0KKworICAgICAgZXRhZ3NfYXJndlthcmdjICsgMV0gPSBOVUxM OworICAgICAgcHJvZ25hbWUgPSBldGFnc19hcmd2WzBdOworICAgICAgX2V4ZWN2cCAocHJv Z25hbWUsIGV0YWdzX2FyZ3YpOworICAgIH0KKworICBwZXJyb3IgKHByb2duYW1lKTsKKyAg cmV0dXJuIDEyNzsKK30KZGlmZiAtLWdpdCBhL2xpYi1zcmMvY3RhZ3Muc2ggYi9saWItc3Jj L2N0YWdzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwLi43ZTFh MTBiN2FiNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYi1zcmMvY3RhZ3Muc2gKQEAgLTAsMCAr MSw2IEBACisjIS9iaW4vc2gKK2Nhc2UgJDAgaW4KKyAgKi8qKSBldGFncz0kezAlLyp9L2V0 YWdzOzsKKyAgKikgICBldGFncz1ldGFnczs7Citlc2FjCitleGVjICIkZXRhZ3MiIC0tY3Rh Z3M9IiQwIiAiJEAiCmRpZmYgLS1naXQgYS9saWItc3JjL2V0YWdzLmMgYi9saWItc3JjL2V0 YWdzLmMKaW5kZXggYjU5YjcwYzllYzcuLmRhYTUxYzEyNWQ0IDEwMDY0NAotLS0gYS9saWIt c3JjL2V0YWdzLmMKKysrIGIvbGliLXNyYy9ldGFncy5jCkBAIC0xMjYsMTYgKzEyNiw2IEBA IENvcHlyaWdodCAoQykgMTk4NCwgMTk4Ny0xOTg5LCAxOTkzLTE5OTUsIDE5OTgtMjAyNSBG cmVlIFNvZnR3YXJlCiAjaW5jbHVkZSA8Z2V0b3B0Lmg+CiAjaW5jbHVkZSA8cmVnZXguaD4K IAotLyogRGVmaW5lIENUQUdTIHRvIG1ha2UgdGhlIHByb2dyYW0gImN0YWdzIiBjb21wYXRp YmxlIHdpdGggdGhlIHVzdWFsIG9uZS4KLSBMZWF2ZSBpdCB1bmRlZmluZWQgdG8gbWFrZSB0 aGUgcHJvZ3JhbSAiZXRhZ3MiLCB3aGljaCBtYWtlcyBlbWFjcy1zdHlsZQotIHRhZyB0YWJs ZXMgYW5kIHRhZ3MgdHlwZWRlZnMsICNkZWZpbmVzIGFuZCBzdHJ1Y3QvdW5pb24vZW51bSBi eSBkZWZhdWx0LiAqLwotI2lmZGVmIENUQUdTCi0jIHVuZGVmICBDVEFHUwotIyBkZWZpbmUg Q1RBR1MgdHJ1ZQotI2Vsc2UKLSMgZGVmaW5lIENUQUdTIGZhbHNlCi0jZW5kaWYKLQogLyog RGVmaW5lIE1FUkNVUllfSEVVUklTVElDU19SQVRJTyBhcyBpdCB3YXMgbmVjZXNzYXJ5IHRv IGRpc2FtYmlndWF0ZQogICAgTWVyY3VyeSBmcm9tIE9iamVjdGl2ZSBDLCB3aGljaCBoYXZl IHNhbWUgZmlsZSBleHRlbnNpb25zIC5tCiAgICBTZWUgY29tbWVudHMgYmVmb3JlIGZ1bmN0 aW9uIHRlc3Rfb2JqY19pc19tZXJjdXJ5IGZvciBkZXRhaWxzLiAgKi8KQEAgLTQ3OSwxOCAr NDY5LDIwIEBAICNkZWZpbmUgeHJuZXcob3AsIG4sIG0pICgob3ApID0geG5yZWFsbG9jIChv cCwgbiwgKG0pICogc2l6ZW9mICoob3ApKSkKIHN0YXRpYyBib29sIGlnbm9yZWluZGVudDsJ LyogLUk6IGlnbm9yZSBpbmRlbnRhdGlvbiBpbiBDICovCiBzdGF0aWMgaW50IHBhY2thZ2Vz X29ubHk7CS8qIC0tcGFja2FnZXMtb25seTogaW4gQWRhLCBvbmx5IHRhZyBwYWNrYWdlcyov CiBzdGF0aWMgaW50IGNsYXNzX3F1YWxpZnk7CS8qIC1ROiBwcm9kdWNlIGNsYXNzLXF1YWxp ZmllZCB0YWdzIGluIEMrKy9KYXZhICovCitzdGF0aWMgYm9vbCBjdGFnczsJCS8qIC0tY3Rh Z3MgKi8KIHN0YXRpYyBpbnQgZGVidWc7CQkvKiAtLWRlYnVnICovCiBzdGF0aWMgaW50IGZh bGxiYWNrX2xhbmc7CS8qIC0tKG5vLSlmYWxsYmFjay1sYW5nOiBGb3J0cmFuL0MgZmFsbGJh Y2tzICovCiBzdGF0aWMgaW50IGVtcHR5X2ZpbGVzOwkJLyogLS0obm8tKWVtcHR5LWZpbGUt ZW50cmllcyAqLwotCi0vKiBTVERJTiBpcyBkZWZpbmVkIGluIEx5bnhPUyBzeXN0ZW0gaGVh ZGVycyAqLwotI2lmZGVmIFNURElOCi0jIHVuZGVmIFNURElOCi0jZW5kaWYKLQotI2RlZmlu ZSBTVERJTiAweDEwMDEJCS8qIHJldHVybmVkIGJ5IGdldG9wdF9sb25nIG9uIC0tcGFyc2Ut c3RkaW4gKi8KIHN0YXRpYyBib29sIHBhcnNpbmdfc3RkaW47CS8qIC0tcGFyc2Utc3RkaW4g dXNlZCAqLwogCisvKiBGb3IgbG9uZyBvcHRpb25zIHRoYXQgaGF2ZSBubyBlcXVpdmFsZW50 IHNob3J0IG9wdGlvbiwgdXNlIGEKKyAgIG5vbi1jaGFyYWN0ZXIgYXMgYSBwc2V1ZG8gc2hv cnQgb3B0aW9uLCBzdGFydGluZyB3aXRoIENIQVJfTUFYICsgMS4gICovCitlbnVtCisgIHsK KyAgICBDVEFHU19PUFRJT04gPSBDSEFSX01BWCArIDEsCisgICAgU1RESU5fT1BUSU9OCisg IH07CisKIHN0YXRpYyByZWdleHAgKnBfaGVhZDsJCS8qIGxpc3Qgb2YgYWxsIHJlZ2V4cHMg Ki8KIHN0YXRpYyBib29sIG5lZWRfZmlsZWJ1ZjsJLyogc29tZSByZWdleGVzIGFyZSBtdWx0 aS1saW5lICovCiAKQEAgLTQ5OSw2ICs0OTEsNyBAQCAjZGVmaW5lIFNURElOIDB4MTAwMQkJ LyogcmV0dXJuZWQgYnkgZ2V0b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAqLwogICB7ICJh cHBlbmQiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgICAgICAgICAg ICAgICAnYScgICB9LAogICB7ICJwYWNrYWdlcy1vbmx5IiwgICAgICBub19hcmd1bWVudCwg ICAgICAgJnBhY2thZ2VzX29ubHksICAgICAxICAgICB9LAogICB7ICJjKysiLCAgICAgICAg ICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgICAgICAgICAgICAgICAnQycgICB9 LAorICB7ICJjdGFncyIsICAgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwg ICAgICAgIENUQUdTX09QVElPTiB9LAogICB7ICJkZWJ1ZyIsICAgICAgICAgICAgICBub19h cmd1bWVudCwgICAgICAgJmRlYnVnLCAgICAgICAgICAgICAxICAgICB9LAogICB7ICJkZWNs YXJhdGlvbnMiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgJmRlY2xhcmF0aW9ucywgICAg ICAxICAgICB9LAogICB7ICJuby1saW5lLWRpcmVjdGl2ZSIsICBub19hcmd1bWVudCwgICAg ICAgJm5vX2xpbmVfZGlyZWN0aXZlLCAxICAgICB9LApAQCAtNTE0LDEwICs1MDcsMTAgQEAg I2RlZmluZSBTVERJTiAweDEwMDEJCS8qIHJldHVybmVkIGJ5IGdldG9wdF9sb25nIG9uIC0t cGFyc2Utc3RkaW4gKi8KICAgeyAicmVnZXgiLCAgICAgICAgICAgICAgcmVxdWlyZWRfYXJn dW1lbnQsIE5VTEwsICAgICAgICAgICAgICAgJ3InICAgfSwKICAgeyAibm8tcmVnZXgiLCAg ICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICAgICAgICAgICAgICAgJ1InICAg fSwKICAgeyAiaWdub3JlLWNhc2UtcmVnZXgiLCAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEws ICAgICAgICAgICAgICAgJ2MnICAgfSwKLSAgeyAicGFyc2Utc3RkaW4iLCAgICAgICAgcmVx dWlyZWRfYXJndW1lbnQsIE5VTEwsICAgICAgICAgICAgICAgU1RESU4gfSwKKyAgeyAicGFy c2Utc3RkaW4iLCAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICAgICAgICBTVERJ Tl9PUFRJT04gfSwKICAgeyAidmVyc2lvbiIsICAgICAgICAgICAgbm9fYXJndW1lbnQsICAg ICAgIE5VTEwsICAgICAgICAgICAgICAgJ1YnICAgfSwKIAotI2lmIENUQUdTIC8qIEN0YWdz IG9wdGlvbnMgKi8KKyAgLyogY3RhZ3Mgb3B0aW9ucyAqLwogICB7ICJiYWNrd2FyZC1zZWFy Y2giLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgICAgICAgICAgICAgICAnQicgICB9 LAogICB7ICJjeHJlZiIsICAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwg ICAgICAgICAgICAgICAneCcgICB9LAogICB7ICJkZWZpbmVzIiwgICAgICAgICAgICBub19h cmd1bWVudCwgICAgICAgTlVMTCwgICAgICAgICAgICAgICAnZCcgICB9LApAQCAtNTI4LDcg KzUyMSw3IEBAICNkZWZpbmUgU1RESU4gMHgxMDAxCQkvKiByZXR1cm5lZCBieSBnZXRvcHRf bG9uZyBvbiAtLXBhcnNlLXN0ZGluICovCiAgIHsgInZncmluZCIsICAgICAgICAgICAgIG5v X2FyZ3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAgICAgICd2JyAgIH0sCiAgIHsgIm5v LXdhcm4iLCAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAg ICAgICd3JyAgIH0sCiAKLSNlbHNlIC8qIEV0YWdzIG9wdGlvbnMgKi8KKyAgLyogZXRhZ3Mg b3B0aW9ucyAqLwogICB7ICJuby1kZWZpbmVzIiwgICAgICAgICBub19hcmd1bWVudCwgICAg ICAgTlVMTCwgICAgICAgICAgICAgICAnRCcgICB9LAogICB7ICJuby1nbG9iYWxzIiwgICAg ICAgICBub19hcmd1bWVudCwgICAgICAgJmdsb2JhbHMsICAgICAgICAgICAwICAgICB9LAog ICB7ICJpbmNsdWRlIiwgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgICAg ICAgICAgICAgICAnaScgICB9LApAQCAtNTM2LDcgKzUyOSw3IEBAICNkZWZpbmUgU1RESU4g MHgxMDAxCQkvKiByZXR1cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICov CiAgIHsgImZhbGxiYWNrLWxhbmciLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAmZmFsbGJh Y2tfbGFuZywgICAgIDEgICAgIH0sCiAgIHsgIm5vLWVtcHR5LWZpbGUtZW50cmllcyIsIG5v X2FyZ3VtZW50LCAgICAmZW1wdHlfZmlsZXMsICAgICAgIDAgICAgIH0sCiAgIHsgImVtcHR5 LWZpbGUtZW50cmllcyIsIG5vX2FyZ3VtZW50LCAgICAgICAmZW1wdHlfZmlsZXMsICAgICAg IDEgICAgIH0sCi0jZW5kaWYKKwogICB7IE5VTEwgfQogfTsKIApAQCAtNTk4LDE1ICs1OTEs MTcgQEAgI2RlZmluZSBTVERJTiAweDEwMDEJCS8qIHJldHVybmVkIGJ5IGdldG9wdF9sb25n IG9uIC0tcGFyc2Utc3RkaW4gKi8KICAgIFRoYXQgaXMgd2h5IGRlZmF1bHRfQ19lbnRyaWVz IGlzIGNhbGxlZCBmb3IgdGhlc2UuICovCiBzdGF0aWMgY29uc3QgY2hhciAqZGVmYXVsdF9D X3N1ZmZpeGVzIFtdID0KICAgeyAiYyIsICJoIiwgTlVMTCB9OwotI2lmIENUQUdTCQkJCS8q IEMgaGVscCBmb3IgQ3RhZ3MgKi8KLXN0YXRpYyBjb25zdCBjaGFyIGRlZmF1bHRfQ19oZWxw IFtdID0KKworLyogQyBoZWxwIGZvciBjdGFncyAqLworc3RhdGljIGNvbnN0IGNoYXIgY3Rh Z3NfZGVmYXVsdF9DX2hlbHBbXSA9CiAiSW4gQyBjb2RlLCBhbnkgQyBmdW5jdGlvbiBpcyBh IHRhZy4gIFVzZSAtdCB0byB0YWcgdHlwZWRlZnMuXG5cCiBVc2UgLVQgdG8gdGFnIGRlZmlu aXRpb25zIG9mICdzdHJ1Y3QnLCAndW5pb24nIGFuZCAnZW51bScuXG5cCiBVc2UgLWQgdG8g dGFnICcjZGVmaW5lJyBtYWNybyBkZWZpbml0aW9ucyBhbmQgJ2VudW0nIGNvbnN0YW50cy5c blwKIFVzZSAtLWdsb2JhbHMgdG8gdGFnIGdsb2JhbCB2YXJpYWJsZXMuXG5cCiBZb3UgY2Fu IHRhZyBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgYW5kIGV4dGVybmFsIHZhcmlhYmxlcyBieVxu XAogdXNpbmcgJy0tZGVjbGFyYXRpb25zJywgYW5kIHN0cnVjdCBtZW1iZXJzIGJ5IHVzaW5n ICctLW1lbWJlcnMnLiI7Ci0jZWxzZQkJCQkJLyogQyBoZWxwIGZvciBFdGFncyAqLworCisv KiBDIGhlbHAgZm9yIGV0YWdzICovCiBzdGF0aWMgY29uc3QgY2hhciBkZWZhdWx0X0NfaGVs cCBbXSA9CiAiSW4gQyBjb2RlLCBhbnkgQyBmdW5jdGlvbiBvciB0eXBlZGVmIGlzIGEgdGFn LCBhbmQgc28gYXJlXG5cCiBkZWZpbml0aW9ucyBvZiAnc3RydWN0JywgJ3VuaW9uJyBhbmQg J2VudW0nLiAgJyNkZWZpbmUnIG1hY3JvXG5cCkBAIC02MTcsNyArNjEyLDYgQEAgI2RlZmlu ZSBTVERJTiAweDEwMDEJCS8qIHJldHVybmVkIGJ5IGdldG9wdF9sb25nIG9uIC0tcGFyc2Ut c3RkaW4gKi8KICctLW5vLW1lbWJlcnMnIGNhbiBtYWtlIHRoZSB0YWdzIHRhYmxlIGZpbGUg bXVjaCBzbWFsbGVyLlxuXAogWW91IGNhbiB0YWcgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGFu ZCBleHRlcm5hbCB2YXJpYWJsZXMgYnlcblwKIHVzaW5nICctLWRlY2xhcmF0aW9ucycuIjsK LSNlbmRpZgkvKiBDIGhlbHAgZm9yIEN0YWdzIGFuZCBFdGFncyAqLwogCiBzdGF0aWMgY29u c3QgY2hhciAqQ3BsdXNwbHVzX3N1ZmZpeGVzIFtdID0KICAgeyAiQyIsICJjKysiLCAiY2Mi LCAiY3BwIiwgImN4eCIsICJIIiwgImgrKyIsICJoaCIsICJocHAiLCAiaHh4IiwKQEAgLTg2 Miw2ICs4NTYsNyBAQCAjZGVmaW5lIFNURElOIDB4MTAwMQkJLyogcmV0dXJuZWQgYnkgZ2V0 b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAqLwogewogICB7ICJhZGEiLCAgICAgICBBZGFf aGVscCwgICAgICAgQWRhX2Z1bmNzLCAgICAgICAgIEFkYV9zdWZmaXhlcyAgICAgICB9LAog ICB7ICJhc20iLCAgICAgICBBc21faGVscCwgICAgICAgQXNtX2xhYmVscywgICAgICAgIEFz bV9zdWZmaXhlcyAgICAgICB9LAorI2RlZmluZSBDX0xBTkdfTkFNRVNfSU5ERVggMgogICB7 ICJjIiwgICAgICAgICBkZWZhdWx0X0NfaGVscCwgZGVmYXVsdF9DX2VudHJpZXMsIGRlZmF1 bHRfQ19zdWZmaXhlcyB9LAogICB7ICJjKysiLCAgICAgICBDcGx1c3BsdXNfaGVscCwgQ3Bs dXNwbHVzX2VudHJpZXMsIENwbHVzcGx1c19zdWZmaXhlcyB9LAogICB7ICJjKiIsICAgICAg ICBub19sYW5nX2hlbHAsICAgQ3N0YXJfZW50cmllcywgICAgIENzdGFyX3N1ZmZpeGVzICAg ICB9LApAQCAtOTI4LDI0ICs5MjMsMjAgQEAgcHJpbnRfbGFuZ3VhZ2VfbmFtZXMgKHZvaWQp CiBGb3J0cmFuIGlzIHRyaWVkIGZpcnN0OyBpZiBubyB0YWdzIGFyZSBmb3VuZCwgQyBpcyB0 cmllZCBuZXh0LlxuXAogV2hlbiBwYXJzaW5nIGFueSBDIGZpbGUsIGEgXCJjbGFzc1wiIG9y IFwidGVtcGxhdGVcIiBrZXl3b3JkXG5cCiBzd2l0Y2hlcyB0byBDKysuIik7Ci0gIHB1dHMg KCJDb21wcmVzc2VkIGZpbGVzIGFyZSBzdXBwb3J0ZWQgdXNpbmcgZ3ppcCwgYnppcDIsIHh6 LCBhbmQgenN0ZC5cblwKKyAgcHJpbnRmICgiQ29tcHJlc3NlZCBmaWxlcyBhcmUgc3VwcG9y dGVkIHVzaW5nIGd6aXAsIGJ6aXAyLCB4eiwgYW5kIHpzdGQuXG5cCiBcblwKIEZvciBkZXRh aWxlZCBoZWxwIG9uIGEgZ2l2ZW4gbGFuZ3VhZ2UgdXNlLCBmb3IgZXhhbXBsZSxcblwKLWV0 YWdzIC0taGVscCAtLWxhbmc9YWRhLiIpOworJXMgLS1oZWxwIC0tbGFuZz1hZGEuXG4iLAor CSAgcHJvZ25hbWUpOwogfQogCi0jaWYgQ1RBR1MKLSMgZGVmaW5lIFBST0dSQU1fTkFNRSAi Y3RhZ3MiCi0jZWxzZQotIyBkZWZpbmUgUFJPR1JBTV9OQU1FICJldGFncyIKLSNlbmRpZgog c3RhdGljIF9Ob3JldHVybiB2b2lkCiBwcmludF92ZXJzaW9uICh2b2lkKQogewotICBmcHV0 cyAoKFBST0dSQU1fTkFNRSAiICgiIFBBQ0tBR0VfTkFNRSAiICIgUEFDS0FHRV9WRVJTSU9O ICIpXG4iCi0JICBDT1BZUklHSFQgIlxuIgotCSAgIlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCB1bmRlciB0aGUgdGVybXMgaW4gRVRBR1MuUkVBRE1FXG4iKSwKLQkgc3Rkb3V0KTsK KyAgcHJpbnRmICgoIiVzICglcyAlcylcbiIKKwkgICAiJXNcbiIKKwkgICAiVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBpbiBFVEFHUy5SRUFETUVcbiIp LAorCSAgY3RhZ3MgPyAiY3RhZ3MiIDogImV0YWdzIiwgUEFDS0FHRV9OQU1FLCBQQUNLQUdF X1ZFUlNJT04sIENPUFlSSUdIVCk7CiAgIGV4aXQgKEVYSVRfU1VDQ0VTUyk7CiB9CiAKQEAg LTk4NCw3ICs5NzUsNyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVmZmVyKQogICBw dXRzICgiLS1wYWNrYWdlcy1vbmx5XG5cCiAgICAgICAgIEZvciBBZGEgZmlsZXMsIG9ubHkg Z2VuZXJhdGUgdGFncyBmb3IgcGFja2FnZXMuIik7CiAKLSAgaWYgKENUQUdTKQorICBpZiAo Y3RhZ3MpCiAgICAgcHV0cyAoIi1CLCAtLWJhY2t3YXJkLXNlYXJjaFxuXAogICAgICAgICBX cml0ZSB0aGUgc2VhcmNoIGNvbW1hbmRzIGZvciB0aGUgdGFnIGVudHJpZXMgdXNpbmcgJz8n LCB0aGVcblwKICAgICAgICAgYmFja3dhcmQtc2VhcmNoIGNvbW1hbmQgaW5zdGVhZCBvZiAn LycsIHRoZSBmb3J3YXJkLXNlYXJjaCBjb21tYW5kLiIpOwpAQCAtOTk3LDkgKzk4OCwxMyBA QCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVmZmVyKQogICAgICAgICBUcmVhdCBmaWxl cyB3aG9zZSBuYW1lIHN1ZmZpeCBkZWZhdWx0cyB0byBDIGxhbmd1YWdlIGFzIEMrKyBmaWxl cy4iKTsKICAgKi8KIAorICBpZiAoUFJJTlRfVU5ET0NVTUVOVEVEX09QVElPTlNfSEVMUCAm JiAhY3RhZ3MpCisgICAgcHV0cyAoIi0tY3RhZ3M9UFJPR1JBTV9OQU1FXG5cCisJSW1wbGVt ZW50IGN0YWdzIGJlaGF2aW9yIHVuZGVyIHRoZSBuYW1lIFBST0dSQU1fTkFNRS4iKTsKKwog ICBwdXRzICgiLS1kZWNsYXJhdGlvbnNcblwKIAlJbiBDIGFuZCBkZXJpdmVkIGxhbmd1YWdl cywgY3JlYXRlIHRhZ3MgZm9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucywiKTsKLSAgaWYgKENU QUdTKQorICBpZiAoY3RhZ3MpCiAgICAgcHV0cyAoIlx0YW5kIGNyZWF0ZSB0YWdzIGZvciBl eHRlcm4gdmFyaWFibGVzIGlmIC0tZ2xvYmFscyBpcyB1c2VkLiIpOwogICBlbHNlCiAgICAg cHV0cwpAQCAtMTAwOCw3ICsxMDAzLDcgQEAgcHJpbnRfaGVscCAoYXJndW1lbnQgKmFyZ2J1 ZmZlcikKICAgcHV0cyAoIlx0SW4gTWVyY3VyeSwgdGFnIGJvdGggZGVjbGFyYXRpb25zIHN0 YXJ0aW5nIGEgbGluZSB3aXRoICc6LScgYW5kXG5cCiAgICAgICAgIGZpcnN0IHByZWRpY2F0 ZXMgb3IgZnVuY3Rpb25zIGluIGNsYXVzZXMuIik7CiAKLSAgaWYgKENUQUdTKQorICBpZiAo Y3RhZ3MpCiAgICAgcHV0cyAoIi1kLCAtLWRlZmluZXNcblwKICAgICAgICAgQ3JlYXRlIHRh ZyBlbnRyaWVzIGZvciBDICNkZWZpbmUgY29uc3RhbnRzIGFuZCBlbnVtIGNvbnN0YW50cywg dG9vLiIpOwogICBlbHNlCkBAIC0xMDE2LDcgKzEwMTEsNyBAQCBwcmludF9oZWxwIChhcmd1 bWVudCAqYXJnYnVmZmVyKQogICAgICAgICBEb24ndCBjcmVhdGUgdGFnIGVudHJpZXMgZm9y IEMgI2RlZmluZSBjb25zdGFudHMgYW5kIGVudW0gY29uc3RhbnRzLlxuXAogCVRoaXMgbWFr ZXMgdGhlIHRhZ3MgZmlsZSBzbWFsbGVyLiIpOwogCi0gIGlmICghQ1RBR1MpCisgIGlmICgh Y3RhZ3MpCiAgICAgcHV0cyAoIi1pIEZJTEUsIC0taW5jbHVkZT1GSUxFXG5cCiAgICAgICAg IEluY2x1ZGUgYSBub3RlIGluIHRhZyBmaWxlIGluZGljYXRpbmcgdGhhdCwgd2hlbiBzZWFy Y2hpbmcgZm9yXG5cCiAgICAgICAgIGEgdGFnLCBvbmUgc2hvdWxkIGFsc28gY29uc3VsdCB0 aGUgdGFncyBmaWxlIEZJTEUgYWZ0ZXJcblwKQEAgLTEwMjYsNyArMTAyMSw3IEBAIHByaW50 X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIpCiAgICAgICAgIEZvcmNlIHRoZSBmb2xsb3dp bmcgZmlsZXMgdG8gYmUgY29uc2lkZXJlZCBhcyB3cml0dGVuIGluIHRoZVxuXAogCW5hbWVk IGxhbmd1YWdlIHVwIHRvIHRoZSBuZXh0IC0tbGFuZ3VhZ2U9TEFORyBvcHRpb24uIik7CiAK LSAgaWYgKENUQUdTKQorICBpZiAoY3RhZ3MpCiAgICAgcHV0cyAoIi0tZ2xvYmFsc1xuXAog CUNyZWF0ZSB0YWcgZW50cmllcyBmb3IgZ2xvYmFsIHZhcmlhYmxlcyBpbiBzb21lIGxhbmd1 YWdlcy4iKTsKICAgZWxzZQpAQCAtMTAzNyw3ICsxMDMyLDcgQEAgcHJpbnRfaGVscCAoYXJn dW1lbnQgKmFyZ2J1ZmZlcikKICAgcHV0cyAoIi0tbm8tbGluZS1kaXJlY3RpdmVcblwKICAg ICAgICAgSWdub3JlICNsaW5lIHByZXByb2Nlc3NvciBkaXJlY3RpdmVzIGluIEMgYW5kIGRl cml2ZWQgbGFuZ3VhZ2VzLiIpOwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAg IHB1dHMgKCItLW1lbWJlcnNcblwKIAlDcmVhdGUgdGFnIGVudHJpZXMgZm9yIG1lbWJlcnMg b2Ygc3RydWN0dXJlcyBpbiBzb21lIGxhbmd1YWdlcy4iKTsKICAgZWxzZQpAQCAtMTA0NSw3 ICsxMDQwLDcgQEAgcHJpbnRfaGVscCAoYXJndW1lbnQgKmFyZ2J1ZmZlcikKIAlEbyBub3Qg Y3JlYXRlIHRhZyBlbnRyaWVzIGZvciBtZW1iZXJzIG9mIHN0cnVjdHVyZXNcblwKIAlpbiBz b21lIGxhbmd1YWdlcy4iKTsKIAotICBpZiAoIUNUQUdTKQorICBpZiAoIWN0YWdzKQogICAg IHsKICAgICAgIHB1dHMgKCItLWZhbGxiYWNrLWxhbmdcblwKIAlJZiBhIGZpbGUncyBsYW5n dWFnZSBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZCwgdHJ5IHRvIHBhcnNlXG5cCkBAIC0xMDky LDcgKzEwODcsNyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVmZmVyKQogICBwdXRz ICgiLS1wYXJzZS1zdGRpbj1OQU1FXG5cCiAgICAgICAgIFJlYWQgZnJvbSBzdGFuZGFyZCBp bnB1dCBhbmQgcmVjb3JkIHRhZ3MgYXMgYmVsb25naW5nIHRvIGZpbGUgTkFNRS4iKTsKIAot ICBpZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICB7CiAgICAgICBwdXRzICgiLXQsIC0t dHlwZWRlZnNcblwKICAgICAgICAgR2VuZXJhdGUgdGFnIGVudHJpZXMgZm9yIEMgYW5kIEFk YSB0eXBlZGVmcy4iKTsKQEAgLTExMDEsNyArMTA5Niw3IEBAIHByaW50X2hlbHAgKGFyZ3Vt ZW50ICphcmdidWZmZXIpCiAgICAgICAgIGFuZCBDKysgbWVtYmVyIGZ1bmN0aW9ucy4iKTsK ICAgICB9CiAKLSAgaWYgKENUQUdTKQorICBpZiAoY3RhZ3MpCiAgICAgcHV0cyAoIi11LCAt LXVwZGF0ZVxuXAogICAgICAgICBVcGRhdGUgdGhlIHRhZyBlbnRyaWVzIGZvciB0aGUgZ2l2 ZW4gZmlsZXMsIGxlYXZpbmcgdGFnXG5cCiAgICAgICAgIGVudHJpZXMgZm9yIG90aGVyIGZp bGVzIGluIHBsYWNlLiAgQ3VycmVudGx5LCB0aGlzIGlzXG5cCkBAIC0xMTEwLDcgKzExMDUs NyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVmZmVyKQogICAgICAgICB0YWdzIGZp bGUuICBJdCBpcyBvZnRlbiBmYXN0ZXIgdG8gc2ltcGx5IHJlYnVpbGQgdGhlIGVudGlyZVxu XAogICAgICAgICB0YWcgZmlsZSB0aGFuIHRvIHVzZSB0aGlzLiIpOwogCi0gIGlmIChDVEFH UykKKyAgaWYgKGN0YWdzKQogICAgIHsKICAgICAgIHB1dHMgKCItdiwgLS12Z3JpbmRcblwK ICAgICAgICAgUHJpbnQgb24gdGhlIHN0YW5kYXJkIG91dHB1dCBhbiBpbmRleCBvZiBpdGVt cyBpbnRlbmRlZCBmb3JcblwKQEAgLTExNjAsNyArMTE1NSw2IEBAIG1haW4gKGludCBhcmdj LCBjaGFyICoqYXJndikKICAgbGluZWJ1ZmZlciBmaWxlbmFtZV9sYjsKICAgYm9vbCBoZWxw X2Fza2VkID0gZmFsc2U7CiAgIHB0cmRpZmZfdCBsZW47Ci0gIGNoYXIgKm9wdHN0cmluZzsK ICAgaW50IG9wdDsKIAogICBwcm9nbmFtZSA9IGFyZ3ZbMF07CkBAIC0xMTkyLDkgKzExODYs NyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKICAgLyogV2hlbiB0aGUgb3B0 c3RyaW5nIGJlZ2lucyB3aXRoIGEgJy0nIGdldG9wdF9sb25nIGRvZXMgbm90IHJlYXJyYW5n ZSB0aGUKICAgICAgbm9uLW9wdGlvbnMgYXJndW1lbnRzIHRvIGJlIGF0IHRoZSBlbmQsIGJ1 dCBsZWF2ZXMgdGhlbSBhbG9uZS4gKi8KLSAgb3B0c3RyaW5nID0gY29uY2F0ICgiLWFjOkNm OklsOm86UXI6UlNWaEgiLAotCQkgICAgICAoQ1RBR1MpID8gIkJ4ZHRUdXZ3IiA6ICJEaToi LAotCQkgICAgICAiIik7CisgIHN0YXRpYyBjaGFyIGNvbnN0IG9wdHN0cmluZ1tdID0gIi1h QmM6Q2REZjpoSGk6SWw6bzpRcjpSU3RUdXZWd3giOwogCiAgIHdoaWxlICgob3B0ID0gZ2V0 b3B0X2xvbmcgKGFyZ2MsIGFyZ3YsIG9wdHN0cmluZywgbG9uZ29wdHMsIE5VTEwpKSAhPSBF T0YpCiAgICAgc3dpdGNoIChvcHQpCkBAIC0xMjE1LDcgKzEyMDcsMTQgQEAgbWFpbiAoaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQogCSsrZmlsZV9jb3VudDsKIAlicmVhazsKIAotICAgICAg Y2FzZSBTVERJTjoKKyAgICAgIGNhc2UgQ1RBR1NfT1BUSU9OOgorCS8qIE9wZXJhdGUgYXMg Y3RhZ3MsIG5vdCBldGFncy4gICovCisJY3RhZ3MgPSB0cnVlOworCXByb2duYW1lID0gb3B0 YXJnOworCWxhbmdfbmFtZXNbQ19MQU5HX05BTUVTX0lOREVYXS5oZWxwID0gY3RhZ3NfZGVm YXVsdF9DX2hlbHA7CisJYnJlYWs7CisKKyAgICAgIGNhc2UgU1RESU5fT1BUSU9OOgogCS8q IFBhcnNlIHN0YW5kYXJkIGlucHV0LiAgSWRlYSBieSBWaXZlayA8dml2ZWtAZXRsYS5vcmc+ LiAqLwogCWFyZ2J1ZmZlcltjdXJyZW50X2FyZ10uYXJnX3R5cGUgPSBhdF9zdGRpbjsKIAlh cmdidWZmZXJbY3VycmVudF9hcmddLndoYXQgICAgID0gb3B0YXJnOwpAQCAtMTMyNSw3ICsx MzI0LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIH0KIAogICBpZiAo dGFnZmlsZSA9PSBOVUxMKQotICAgIHRhZ2ZpbGUgPSBzYXZlc3RyIChDVEFHUyA/ICJ0YWdz IiA6ICJUQUdTIik7CisgICAgdGFnZmlsZSA9IHNhdmVzdHIgKGN0YWdzID8gInRhZ3MiIDog IlRBR1MiKTsKICAgY3dkID0gZXRhZ3NfZ2V0Y3dkICgpOwkvKiB0aGUgY3VycmVudCB3b3Jr aW5nIGRpcmVjdG9yeSAqLwogICBpZiAoY3dkW3N0cmxlbiAoY3dkKSAtIDFdICE9ICcvJykK ICAgICB7CkBAIC0xMzQ5LDcgKzEzNDgsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAgIGxpbmVidWZmZXJfaW5pdCAoJmZpbGVidWYpOwogICBsaW5lYnVmZmVyX2luaXQg KCZ0b2tlbl9uYW1lKTsKIAotICBpZiAoIUNUQUdTKQorICBpZiAoIWN0YWdzKQogICAgIHsK ICAgICAgIGlmIChzdHJlcSAodGFnZmlsZSwgIi0iKSkKIAl7CkBAIC0xNDA3LDEzICsxNDA2 LDEzIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgZnJlZSAoZmlsZWJ1Zi5i dWZmZXIpOwogICBmcmVlICh0b2tlbl9uYW1lLmJ1ZmZlcik7CiAKLSAgaWYgKCFDVEFHUyB8 fCBjeHJlZl9zdHlsZSkKKyAgaWYgKCFjdGFncyB8fCBjeHJlZl9zdHlsZSkKICAgICB7CiAg ICAgICAvKiBXcml0ZSB0aGUgcmVtYWluaW5nIHRhZ3MgdG8gdGFnZiAoRVRBR1MpIG9yIHN0 ZG91dCAoQ1hSRUYpLiAqLwogICAgICAgcHV0X2VudHJpZXMgKG5vZGVoZWFkKTsKICAgICAg IGZyZWVfdHJlZSAobm9kZWhlYWQpOwogICAgICAgbm9kZWhlYWQgPSBOVUxMOwotICAgICAg aWYgKCFDVEFHUykKKyAgICAgIGlmICghY3RhZ3MpCiAJewogCSAgZmRlc2MgKmZkcDsKIApA QCAtMTQ2Miw3ICsxNDYxLDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBp ZiAoZmNsb3NlICh0YWdmKSA9PSBFT0YpCiAgICAgcGZhdGFsICh0YWdmaWxlKTsKIAotICBp ZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICBpZiAoYXBwZW5kX3RvX3RhZ2ZpbGUgfHwg dXBkYXRlKQogICAgICAgewogCS8qIE1heWJlIHRoZXNlIHNob3VsZCBiZSB1c2VkOgpAQCAt MTg2MCw3ICsxODU5LDcgQEAgcHJvY2Vzc19maWxlIChGSUxFICpmaCwgY2hhciAqZm4sIGxh bmd1YWdlICpsYW5nKQogICAvKiBJZiBub3QgQ3RhZ3MsIGFuZCBpZiB0aGlzIGlzIG5vdCBt ZXRhc291cmNlIGFuZCBpZiBpdCBjb250YWluZWQgbm8gI2xpbmUKICAgICAgZGlyZWN0aXZl cywgd2UgY2FuIHdyaXRlIHRoZSB0YWdzIGFuZCBmcmVlIGFsbCBub2RlcyBwb2ludGluZyB0 bwogICAgICBjdXJmZHAuICovCi0gIGlmICghQ1RBR1MKKyAgaWYgKCFjdGFncwogICAgICAg JiYgY3VyZmRwLT51c2VjaGFybm8JLyogbm8gI2xpbmUgZGlyZWN0aXZlcyBpbiB0aGlzIGZp bGUgKi8KICAgICAgICYmICFjdXJmZHAtPmxhbmctPm1ldGFzb3VyY2UpCiAgICAgewpAQCAt MjA5Miw3ICsyMDkxLDcgQEAgbWFrZV90YWcgKGNvbnN0IGNoYXIgKm5hbWUsIAkvKiB0YWcg bmFtZSwgb3IgTlVMTCBpZiB1bm5hbWVkICovCiAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXMg b24gJXM6JSJQUklkTUFYIjogJXNcbiIsCiAJICAgICBuYW1lZCA/IG5hbWUgOiAiKHVubmFt ZWQpIiwgY3VyZmRwLT50YWdnZWRmbmFtZSwgbG5vLCBsaW5lc3RhcnQpOwogCi0gIGlmICgh Q1RBR1MgJiYgbmFtZWQpCQkvKiBtYXliZSBzZXQgbmFtZWQgdG8gZmFsc2UgKi8KKyAgaWYg KCFjdGFncyAmJiBuYW1lZCkJCS8qIG1heWJlIHNldCBuYW1lZCB0byBmYWxzZSAqLwogICAg IC8qIExldCdzIHRyeSB0byBtYWtlIGFuIGltcGxpY2l0IHRhZyBuYW1lLCB0aGF0IGlzLCBj cmVhdGUgYW4gdW5uYW1lZCB0YWcKICAgICAgICBzdWNoIHRoYXQgZXRhZ3MuZWwgY2FuIGd1 ZXNzIGEgbmFtZSBmcm9tIGl0LiAqLwogICAgIHsKQEAgLTIxMzMsMTcgKzIxMzIsMTcgQEAg cGZub3RlIChjaGFyICpuYW1lLAkJLyogdGFnIG5hbWUsIG9yIE5VTEwgaWYgdW5uYW1lZCAq LwogewogICByZWdpc3RlciBub2RlICpucDsKIAotICBpZiAoKENUQUdTICYmIG5hbWUgPT0g TlVMTCkKKyAgaWYgKChjdGFncyAmJiBuYW1lID09IE5VTEwpCiAgICAgICAvKiBXZSB1c2Vk IHRvIGhhdmUgYW4gYXNzZXJ0aW9uIGhlcmUgZm9yIHRoZSBjYXNlIGJlbG93LCBidXQgaWYg d2UgaGl0CiAJIHRoYXQgY2FzZSwgaXQganVzdCBtZWFucyBvdXIgcGFyc2VyIGdvdCBjb25m dXNlZCwgYW5kIHRoZXJlJ3Mgbm90aGluZwogCSB0byBkbyBhYm91dCBzdWNoIGVtcHR5ICJ0 YWdzIi4gICovCi0gICAgICB8fCAoIUNUQUdTICYmIG5hbWUgJiYgbmFtZVswXSA9PSAnXDAn KSkKKyAgICAgIHx8ICghY3RhZ3MgJiYgbmFtZSAmJiBuYW1lWzBdID09ICdcMCcpKQogICAg IHJldHVybjsKIAogICBucCA9IHhtYWxsb2MgKHNpemVvZiAqbnApOwogCiAgIC8qIElmIGN0 YWdzIG1vZGUsIGNoYW5nZSBuYW1lICJtYWluIiB0byBNPHRoaXNmaWxlbmFtZT4uICovCi0g IGlmIChDVEFHUyAmJiAhY3hyZWZfc3R5bGUgJiYgc3RyZXEgKG5hbWUsICJtYWluIikpCisg IGlmIChjdGFncyAmJiAhY3hyZWZfc3R5bGUgJiYgc3RyZXEgKG5hbWUsICJtYWluIikpCiAg ICAgewogICAgICAgY2hhciAqZnAgPSBzdHJyY2hyIChjdXJmZHAtPnRhZ2dlZGZuYW1lLCAn LycpOwogICAgICAgbnAtPm5hbWUgPSBjb25jYXQgKCJNIiwgZnAgPT0gTlVMTCA/IGN1cmZk cC0+dGFnZ2VkZm5hbWUgOiBmcCArIDEsICIiKTsKQEAgLTIxNjgsNyArMjE2Nyw3IEBAIHBm bm90ZSAoY2hhciAqbmFtZSwJCS8qIHRhZyBuYW1lLCBvciBOVUxMIGlmIHVubmFtZWQgKi8K ICAgZWxzZQogICAgIG5wLT5jbm8gPSBpbnZhbGlkY2hhcm5vOwogICBucC0+bGVmdCA9IG5w LT5yaWdodCA9IE5VTEw7Ci0gIGlmIChDVEFHUyAmJiAhY3hyZWZfc3R5bGUpCisgIGlmIChj dGFncyAmJiAhY3hyZWZfc3R5bGUpCiAgICAgewogICAgICAgaWYgKHN0cm5sZW4gKGxpbmVz dGFydCwgNTApIDwgNTApCiAJbnAtPnJlZ2V4ID0gY29uY2F0IChsaW5lc3RhcnQsICIkIiwg IiIpOwpAQCAtMjI5NSw3ICsyMjk0LDcgQEAgYWRkX25vZGUgKG5vZGUgKm5wLCBub2RlICoq Y3VyX25vZGVfcCkKICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgaWYgKCFDVEFHUykKKyAg aWYgKCFjdGFncykKICAgICAvKiBFdGFncyBNb2RlICovCiAgICAgewogICAgICAgLyogRm9y IGVhY2ggZmlsZSBuYW1lLCB0YWdzIGFyZSBpbiBhIGxpbmtlZCBzdWJsaXN0IG9uIHRoZSBy aWdodApAQCAtMjM5NCw3ICsyMzkzLDcgQEAgaW52YWxpZGF0ZV9ub2RlcyAoZmRlc2MgKmJh ZGZkcCwgbm9kZSAqKm5wcCkKICAgbm9kZSAqbnAgPSAqbnBwOwogICBzdGtlbnRyeSAqc3Rh Y2sgPSBOVUxMOwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAgIHsKICAgICAg IHdoaWxlIChucCkKIAl7CkBAIC0yNTA0LDcgKzI1MDMsNyBAQCBwdXRfZW50cnkgKG5vZGUg Km5wKQogICAvKiBPdXRwdXQgdGhpcyBlbnRyeSAqLwogICBpZiAobnAtPnZhbGlkKQogICAg IHsKLSAgICAgIGlmICghQ1RBR1MpCisgICAgICBpZiAoIWN0YWdzKQogCXsKIAkgIC8qIEV0 YWdzIG1vZGUgKi8KIAkgIGlmIChmZHAgIT0gbnAtPmZkcCkKQEAgLTI1NzYsNyArMjU3NSw3 IEBAIHB1dF9lbnRyaWVzIChub2RlICpucCkKICAgaWYgKG5wID09IE5VTEwpCiAgICAgcmV0 dXJuOwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAgIHsKICAgICAgIHdoaWxl IChucCkKIAl7Ci0tIAoyLjQ1LjIKCg== --------------wA10kCTfJC3MAqAN9RoB0bQW--
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 20 Feb 2025 09:23:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Feb 20 04:23:24 2025 Received: from localhost ([127.0.0.1]:60036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tl2mB-0002jN-Pt for submit <at> debbugs.gnu.org; Thu, 20 Feb 2025 04:23:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58136) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tl2m8-0002iU-Qe for 76322 <at> debbugs.gnu.org; Thu, 20 Feb 2025 04:23:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1tl2m2-0001z1-Ik; Thu, 20 Feb 2025 04:23:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=stf/DK1QrBs3qF1voGJwce5nP3uRvQg9ayO3ipL8dWQ=; b=ez2I7JYyKyT6 zstK5PXYeidMZOXnfWbUtTe5GiCtD+vD1ySebR9DfGJstAKQE0uxYvRya7MRrT+QM099sWztnCGQK TouPOXLOyYs4EWiO4EoAj0KKdAN7lUNC2FxLmSB4SQnRv0Kq212z3sHhNnEd1k5ArT/pi3EoHWYoK jjSwWVNUCU0AMa7NOANuJEEKNfPiJ9Tuz90T1D2FvlE6mhT8pXFFzfz+T2OZH6fA/hIhbvz6CqD9C n0fCUrkX7dxfMrBuXiEPHIVUMvGWYZ/2vpZYwGRiSeGrprpk5ZBVPLZkmvABRAy9inUNgb0EGmjpy xwDmXvz71uga3lvH3PjCNg==; Date: Thu, 20 Feb 2025 11:23:12 +0200 Message-Id: <86ldu13r7j.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Paul Eggert <eggert@HIDDEN> In-Reply-To: <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> (message from Paul Eggert on Mon, 17 Feb 2025 00:16:58 -0800) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Mon, 17 Feb 2025 00:16:58 -0800 > Cc: 76322 <at> debbugs.gnu.org > From: Paul Eggert <eggert@HIDDEN> > > On 2025-02-16 01:31, Eli Zaretskii wrote: > >> Date: Sun, 16 Feb 2025 00:26:02 -0800 > >> From: Paul Eggert <eggert@HIDDEN> > >> How about if we compile a little .exe file that merely execs etags with > >> the --ctags option? That would be the equivalent of the script. > > > > That'd be fine, thanks. But we will need to invoke etags via > > w32_execvp because of the problems explained in emacsclient.c where > > that function is defined (which will need to be moved to ntlib.c). > > I took at shot at doing something along those lines; see revised patch > (attached). > > Since I don't use MS-Windows or compile or test anything on that > platform, I quailed a bit at doing nontrivial surgery on ntlib.c. Also, > emacsclient.c's w32_execvp has some alternate-editor code specific to > emacsclient, and it uses alloca in a potentially-unsafe way, and it > mishandles strings longer than INT_MAX bytes, and it appears to > mishandle '\t', '\\' and '"' if Microsoft's documentation is to be > believed. So the attached patch defines its own w32_execvp_arg_repr > function that attempts to be standalone and free of these issues. If > needed later, someone with MS-Windows expertise could merge this into > ntlib.c and combine it with what's in emacsclient.c. Thanks, a few minor comments below. > +INSTALLABLE_EXES = etags${EXEEXT} $(if $(NTDIR), ctags$(EXEEXT)) \ > + emacsclient${EXEEXT} $(CLIENTW) ebrowse${EXEEXT} > +INSTALLABLE_SCRIPTS = $(if $(NTDIR), , ctags) The dependence on NTDIR is sub-optimal, IMO. For starters, it means that one cannot reliably invoke "make" in lib-src, because (AFAIU) NTDIR is defined in the top-level Makefile. It is better to depend on the value of NTLIB, which is defined in lib-src/Makefile. Or maybe we should just depend on the value of EXEEXT? I think that might be preferable, because it will also work for the MS-DOS build of Emacs, where we have the same problem with invoking Unix shell scripts. > +/* Return the number of bytes used to represent the string S as an > + MS-Windows _execvp argument, including the trailing null byte. > + If D is nonnull, also store the representation into D. > + Due to Microsoft C runtime constraints, S cannot contain '\n', > + and if S contains '"' the representation cannot be used for argument 0. */ > +static size_t > +w32_execvp_arg_repr (char const *restrict s, char *restrict d) > +{ > + /* See <https://learn.microsoft.com/en-us/cpp/c-language/parsing-c-command-line-arguments>. This part should be under #ifdef WINDOWSNT, since it's specific to Windows. The MS-DOS build doesn't have these problems with execvp. > +int > +main (int argc, char **argv) > +{ > + char const *progname = argv[0]; > + static char const option_prefix[] = "--ctags="; > + > + /* Number of bytes needed to represent all etags args. */ > + size_t nargbytes = sizeof option_prefix - 1; > + for (int i = 0; i < argc; i++) > + nargbytes += w32_execvp_arg_repr (argv[i], NULL); > + > + char const **etags_argv = malloc ((argc + 2) * sizeof *argv + nargbytes); > + if (etags_argv) > + { > + char *d = (char *) (etags_argv + argc + 2); > + etags_argv[0] = "etags"; > + etags_argv[1] = memcpy (d, option_prefix, sizeof option_prefix - 1); > + d += sizeof option_prefix - 1; > + d += w32_execvp_arg_repr (progname, d); > + > + for (int i = 1; i < argc; i++) > + { > + etags_argv[i + 1] = d; > + d += w32_execvp_arg_repr (argv[i], d); > + } Likewise here: the calls to w32_execvp_arg_repr should only be done on WINDOWSNT. Also, this: > + etags_argv[0] = "etags"; basically means the etags to be invoked is the one found on PATH, whereas I think we want to invoke etags from the same place from where ctags was invoked. So I would suggest keeping any leading directories in argv[0] intact, and just replacing "ctags" with "etags" to generate the new argv[0]. Caveat: I didn't try to actually build this stuff on Windows, let alone run the test suite; that will need to wait till later, maybe even till after you install this on master. Thanks again.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 17 Feb 2025 08:17:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 17 03:17:13 2025 Received: from localhost ([127.0.0.1]:42216 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tjwJT-0002mX-1q for submit <at> debbugs.gnu.org; Mon, 17 Feb 2025 03:17:13 -0500 Received: from mail.cs.ucla.edu ([131.179.128.66]:41838) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1tjwJO-0002lc-6K for 76322 <at> debbugs.gnu.org; Mon, 17 Feb 2025 03:17:08 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 6C9BF3C00D405; Mon, 17 Feb 2025 00:17:00 -0800 (PST) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id EpEJSIjAcJkP; Mon, 17 Feb 2025 00:16:59 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 2F0EE3C00D406; Mon, 17 Feb 2025 00:16:59 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 2F0EE3C00D406 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1739780219; bh=AwMnvv3Igb7H6RY9yOtrlXQUdf9Kps3pOxNpsPFVcPE=; h=Message-ID:Date:MIME-Version:To:From; b=gxSKOod4K/nkrrjk4dB/kr8iKGdcU6ocHwc6yK8uioGJtkIR7L2s6zZFwzH3dC3XD wiSfmI4DZ75IlseZ/qYJRMNdfBHWUEE2IhY8r517mKuq1bRWXt7UYLxO9T2VRBONfo gsYAAl/r0DDSljZj5nbx1/ferto46GFD8O/xBuiS5tnXovlILowuxe/eDw2rsiKNgH xV7wYOUPOYOzTH4iGBWyY62hKe1hwcIuUAFvAQhZP9TWu1CN2I2lOhEKWqs3fWV1yy 4t4L7tqmqMnQZZoed9UaRkngWvq51CcQzBLh56sYkntGc9JqOuWCatE/TYGTaslQ7h ZVuGMpFcRiD/A== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id iBIaw5_E2o3y; Mon, 17 Feb 2025 00:16:59 -0800 (PST) Received: from [192.168.254.12] (unknown [47.147.225.25]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 0B0833C00D405; Mon, 17 Feb 2025 00:16:59 -0800 (PST) Content-Type: multipart/mixed; boundary="------------lebYMyBJwUzUgOiVUY8mTPFp" Message-ID: <e09eb17a-04ff-4140-8cc6-408399c9f983@HIDDEN> Date: Mon, 17 Feb 2025 00:16:58 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: Eli Zaretskii <eliz@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> <864j0uck2g.fsf@HIDDEN> Content-Language: en-US From: Paul Eggert <eggert@HIDDEN> Organization: UCLA Computer Science Department In-Reply-To: <864j0uck2g.fsf@HIDDEN> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------lebYMyBJwUzUgOiVUY8mTPFp Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025-02-16 01:31, Eli Zaretskii wrote: >> Date: Sun, 16 Feb 2025 00:26:02 -0800 >> From: Paul Eggert <eggert@HIDDEN> >> How about if we compile a little .exe file that merely execs etags with >> the --ctags option? That would be the equivalent of the script. > > That'd be fine, thanks. But we will need to invoke etags via > w32_execvp because of the problems explained in emacsclient.c where > that function is defined (which will need to be moved to ntlib.c). I took at shot at doing something along those lines; see revised patch (attached). Since I don't use MS-Windows or compile or test anything on that platform, I quailed a bit at doing nontrivial surgery on ntlib.c. Also, emacsclient.c's w32_execvp has some alternate-editor code specific to emacsclient, and it uses alloca in a potentially-unsafe way, and it mishandles strings longer than INT_MAX bytes, and it appears to mishandle '\t', '\\' and '"' if Microsoft's documentation is to be believed. So the attached patch defines its own w32_execvp_arg_repr function that attempts to be standalone and free of these issues. If needed later, someone with MS-Windows expertise could merge this into ntlib.c and combine it with what's in emacsclient.c. --------------lebYMyBJwUzUgOiVUY8mTPFp Content-Type: text/x-patch; charset=UTF-8; name="0001-Make-ctags-a-thin-wrapper-around-etags.patch" Content-Disposition: attachment; filename="0001-Make-ctags-a-thin-wrapper-around-etags.patch" Content-Transfer-Encoding: base64 RnJvbSBiNDhkNmE1NDQ0NjczZWJmYTczZDJmZDY3NWI5NDMyNzQwMDE5ZTk3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE2IEZlYiAyMDI1IDIzOjU3OjUyIC0wODAwClN1YmplY3Q6IFtQQVRD SF0gTWFrZSBjdGFncyBhIHRoaW4gd3JhcHBlciBhcm91bmQgZXRhZ3MKClRoaXMgZml4ZXMg YSBGSVhNRSBpbiBsaWItc3JjL01ha2VmaWxlLmluIGFuZCBzcGVlZHMgdXAgY29tcGlsYXRp b24KcXVpdGUgYSBiaXQgb24gbXkgb2xkZXIgQ1BVIHdoZW4gSSBjb21waWxlIHdpdGgJLS1l bmFibGUtZ2NjLXdhcm5pbmdzLgpJdCBhbHNvIGxlc3NlbnMgaW5zdGFsbGF0aW9uIGFuZCBy dW50aW1lIGZvb3RwcmludC4KKiBqYXZhL01ha2VmaWxlLmluIChpbnN0YWxsX3RlbXApOiBU cmVhdCBjdGFncyBsaWtlIHJjczJsb2cuCiogbGliLXNyYy9NYWtlZmlsZS5pbiAoSU5TVEFM TEFCTEVfRVhFUywgSU5TVEFMTEFCTEVfU0NSSVBUUyk6Ck5ldyBtYWNyb3MsIHJlcGxhY2lu ZyBJTlNUQUxMQUJMRVMuICBBbGwgdXNlcyBjaGFuZ2VkLgooVVRJTElUWV9FWEVTKTogUmVu YW1lIGZyb20gVVRJTElUSUVTLCBmb3IgY29uc2lzdGVuY3kuICBBbGwgdXNlcyBjaGFuZ2Vk LgooVVRJTElUWV9TQ1JJUFRTKTogUmVuYW1lIGZyb20gU0NSSVBUUywgZm9yIGNvbnNpc3Rl bmN5LiAgQWxsIHVzZXMgY2hhbmdlZC4KKGN0YWdzKTogTmV3IHJ1bGUgaWYgbm90IE5URElS LgooY3RhZ3Mke0VYRUVYVH0pOiBSZW1vdmUgcnVsZSB1bmxlc3MgTlRESVIuICBVc2Ugb25s eSBOVExJQiBhbmQgTE9BRExJQkVTLgoqIGxpYi1zcmMvY3RhZ3MuYzogUmV3cml0ZSBmcm9t IHNjcmF0Y2g7IGl0J3Mgbm93IHVzZWQgb25seSBvbiBNUy1XaW5kb3dzLgoqIGxpYi1zcmMv Y3RhZ3Muc2g6IE5ldyBmaWxlLgoqIGxpYi1zcmMvZXRhZ3MuYyAoQ1RBR1MpOiBSZW1vdmUu ICBBbGwgdXNlcyByZXBsYWNlZCBieSAuLi4KKGN0YWdzKTogLi4uIHRoaXMgbmV3IHN0YXRp YyB2YXIuCihTVERJTik6IFJlbW92ZSBtYWNyby4gIEFsbCB1c2VzIHJlcGxhY2VkIGJ5IG5l dyBTVERJTl9PUFRJT04gY29uc3RhbnQuCihDVEFHU19PUFRJT04sIFNURElOX09QVElPTik6 IE5ldyBjb250YW50cy4KKGxvbmdvcHRzKTogTmV3IC0tY3RhZ3Mgb3B0aW9uLgooY3RhZ3Nf ZGVmYXVsdF9DX2hlbHApOiBOZXcgY29uc3RhbnQsCnRvIG92ZXJyaWRlIGRlZmF1bHRfQ19o ZWxwIGF0IHJ1bnRpbWUuCihkZWZhdWx0X0NfaGVscCk6IE5vdyBhbHdheXMgdGhlIGV0YWdz IHZlcnNpb24uCihDX0xBTkdfTkFNRVNfSU5ERVgpOiBOZXcgbWFjcm8uCihwcmludF9sYW5n dWFnZV9uYW1lcyk6IERvIG5vdCBhc3N1bWUgZXRhZ3MuCihQUk9HUkFNX05BTUUpOiBSZW1v dmUuICBBbGwgdXNlcyByZW1vdmVkLgoocHJpbnRfaGVscCk6IERvY3VtZW50IC0tY3RhZ3Mg aWYgUFJJTlRfVU5ET0NVTUVOVEVEX09QVElPTlNfSEVMUC4KKG1haW4pOiBTdXBwb3J0IG5l dyAtLWN0YWdzIG9wdGlvbiwgYW5kIHN1cHBvcnQgYWxsIFtjZV10YWdzIG9wdGlvbnMuCi0t LQogZXRjL05FV1MgICAgICAgICAgICB8ICAgMyArCiBldGMvUFJPQkxFTVMgICAgICAgIHwg ICA0ICstCiBqYXZhL01ha2VmaWxlLmluICAgIHwgICA3ICsrLQogbGliLXNyYy9NYWtlZmls ZS5pbiB8ICA1MSArKysrKysrKysrKy0tLS0tLQogbGliLXNyYy9jdGFncy5jICAgICB8IDEw NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGxpYi1zcmMvY3RhZ3Mu c2ggICAgfCAgIDIgKwogbGliLXNyYy9ldGFncy5jICAgICB8IDEzMSArKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogNyBmaWxlcyBjaGFuZ2VkLCAyMTYg aW5zZXJ0aW9ucygrKSwgODkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA3NTUgbGli LXNyYy9jdGFncy5zaAoKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MKaW5kZXgg MTJkN2JkNGY0MWYuLjYzZTY5Y2IxMjJlIDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9l dGMvTkVXUwpAQCAtMjksNiArMjksOSBAQCBhcHBsaWVzLCBhbmQgcGxlYXNlIGFsc28gdXBk YXRlIGRvY3N0cmluZ3MgYXMgbmVlZGVkLgogVGhlIHRyYWRpdGlvbmFsIHVuZXhlYyBkdW1w ZXIsIGRlcHJlY2F0ZWQgc2luY2UgRW1hY3MgMjcsIGhhcyBiZWVuCiByZW1vdmVkLgogCisq KiBjdGFncyBpcyBub3cgbWVyZWx5IGEgdGhpbiB3cmFwcGVyIGFyb3VuZCBldGFncy4KK1Ro aXMgc3BlZWRzIHVwIGNvbXBpbGF0aW9uIGFuZCBsZXNzZW5zIGluc3RhbGxhdGlvbiBmb290 cHJpbnQuCisKICoqIENoYW5nZWQgR0NDIGRlZmF1bHQgb3B0aW9ucyBvbiAzMi1iaXQgeDg2 IHN5c3RlbXMuCiBXaGVuIHVzaW5nIEdDQyA0IG9yIGxhdGVyIHRvIGJ1aWxkIEVtYWNzIG9u IDMyLWJpdCB4ODYgc3lzdGVtcywKICdjb25maWd1cmUnIG5vdyBkZWZhdWx0cyB0byB1c2lu ZyB0aGUgR0NDIG9wdGlvbnMgJy1tZnBtYXRoPXNzZScgKGlmIHRoZQpkaWZmIC0tZ2l0IGEv ZXRjL1BST0JMRU1TIGIvZXRjL1BST0JMRU1TCmluZGV4IDVmZGI0YmQ5NWRiLi40Yzg1ZGJi N2RhOCAxMDA2NDQKLS0tIGEvZXRjL1BST0JMRU1TCisrKyBiL2V0Yy9QUk9CTEVNUwpAQCAt Mzk0Nyw3ICszOTQ3LDcgQEAgVGhlcmUgYXJlIHNldmVyYWwga25vd24gd29ya2Fyb3VuZHM6 CiAKIFRoZSBsaW5rZXIgZXJyb3IgbWVzc2FnZXMgbG9vayBsaWtlIHRoaXM6CiAKLSBvby1z cGQvaTM4Ni9jdGFncy5vOmN0YWdzLmM6KC50ZXh0KzB4MTU2ZSk6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYF9pbXBfX3JlX3NldF9zeW50YXgnCisgb28tc3BkL2kzODYvZXRhZ3Mubzpl dGFncy5jOigudGV4dCsweDE1NmUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19y ZV9zZXRfc3ludGF4JwogIGNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCiAK IFRoaXMgaGFwcGVucyBiZWNhdXNlIEdDQyBmaW5kcyBhbiBpbmNvbXBhdGlibGUgcmVnZXgu aCBoZWFkZXIKQEAgLTM5NzgsNyArMzk3OCw3IEBAIFNvbWUgdmVyc2lvbnMgb2YgbWluZ3cz MiBtYWtlIG9uIHNvbWUgdmVyc2lvbnMgb2YgV2luZG93cyBkbyBub3Qgc2VlbQogdG8gZGV0 ZWN0IHRoZSBzaGVsbCBjb3JyZWN0bHkuICBUcnkgIm1ha2UgU0hFTEw9Y21kLmV4ZSIsIG9y IGlmIHRoYXQKIGZhaWxzLCB0cnkgcnVubmluZyBtYWtlIGZyb20gQ3lnd2luIGJhc2ggaW5z dGVhZC4KIAotKioqIEJ1aWxkaW5nICdjdGFncycgZm9yIE1TLVdpbmRvd3Mgd2l0aCB0aGUg TWluR1cgcG9ydCBvZiBHQ0MgZmFpbHMuCisqKiogQnVpbGRpbmcgJ2V0YWdzJyBmb3IgTVMt V2luZG93cyB3aXRoIHRoZSBNaW5HVyBwb3J0IG9mIEdDQyBmYWlscy4KIAogVGhpcyBtaWdo dCBoYXBwZW4gZHVlIHRvIGEgYnVnIGluIHRoZSBNaW5HVyBoZWFkZXIgYXNzZXJ0LmgsIHdo aWNoCiBkZWZpbmVzIHRoZSAnYXNzZXJ0JyBtYWNybyB3aXRoIGEgdHJhaWxpbmcgc2VtaS1j b2xvbi4gIFRoZSBmb2xsb3dpbmcKZGlmZiAtLWdpdCBhL2phdmEvTWFrZWZpbGUuaW4gYi9q YXZhL01ha2VmaWxlLmluCmluZGV4IDM5ZDZlODVjN2E3Li4yMWFjNGU0MjUwZCAxMDA2NDQK LS0tIGEvamF2YS9NYWtlZmlsZS5pbgorKysgYi9qYXZhL01ha2VmaWxlLmluCkBAIC0zMDUs OCArMzA1LDEzIEBAIGluc3RhbGxfdGVtcDoKIAkgICAgY3AgLWYgJCRmaWxlIGluc3RhbGxf dGVtcC9saWIvJChBTkRST0lEX0FCSSk7CVwKIAkgIGZpIAkJCQkJCQlcCiAJZG9uZQotIyBO ZXh0LCBwcm9kdWNlIGEgdmVyc2lvbiBvZiByY3MybG9nIGJlZml0dGluZyBBbmRyb2lkJ3Mg bmFtaW5nCisjIE5leHQsIHByb2R1Y2UgdmVyc2lvbnMgb2YgY3RhZ3MgYW5kIHJjczJsb2cg YmVmaXR0aW5nIEFuZHJvaWQncyBuYW1pbmcKICMgY29udmVudGlvbnMgYW5kIHNoZWxsIGlu dGVycHJldGVyIGxvY2F0aW9uLgorCSQoQU1fVl9hdCkgXAorCXNlZCAnc3wvYmluL3NofC9z eXN0ZW0vYmluL3NofCcJCQkJCVwKKwkgJCh0b3Bfc3JjZGlyKS9saWItc3JjL2N0YWdzID4J CQkJCVwKKwkgaW5zdGFsbF90ZW1wL2xpYi8kKEFORFJPSURfQUJJKS9saWJjdGFncy5zbwor CSQoQU1fVl9hdCkgY2htb2QgK3ggaW5zdGFsbF90ZW1wL2xpYi8kKEFORFJPSURfQUJJKS9s aWJjdGFncy5zbwogCSQoQU1fVl9hdCkgXAogCXNlZCAnc3wvYmluL3NofC9zeXN0ZW0vYmlu L3NofCcJCQkJCVwKIAkgJCh0b3Bfc3JjZGlyKS9saWItc3JjL3JjczJsb2cgPgkJCQlcCmRp ZmYgLS1naXQgYS9saWItc3JjL01ha2VmaWxlLmluIGIvbGliLXNyYy9NYWtlZmlsZS5pbgpp bmRleCA0MzlkOWExYTUyZC4uNzlkYjM0NjZiZTkgMTAwNjQ0Ci0tLSBhL2xpYi1zcmMvTWFr ZWZpbGUuaW4KKysrIGIvbGliLXNyYy9NYWtlZmlsZS5pbgpAQCAtMTU1LDEyICsxNTUsMTMg QEAgQU5EUk9JRD0KIENMSUVOVFcgPSBAQ0xJRU5UV0AKIAogIyBUaGluZ3MgdGhhdCBhIHVz ZXIgbWlnaHQgYWN0dWFsbHkgcnVuLCB3aGljaCBzaG91bGQgYmUgaW5zdGFsbGVkIGluIGJp bmRpci4KLUlOU1RBTExBQkxFUyA9IGV0YWdzJHtFWEVFWFR9IGN0YWdzJHtFWEVFWFR9IGVt YWNzY2xpZW50JHtFWEVFWFR9ICQoQ0xJRU5UVykgXAotICAgICAgICAgICAgICAgZWJyb3dz ZSR7RVhFRVhUfQorSU5TVEFMTEFCTEVfRVhFUyA9IGV0YWdzJHtFWEVFWFR9ICQoaWYgJChO VERJUiksIGN0YWdzJChFWEVFWFQpKSBcCisgIGVtYWNzY2xpZW50JHtFWEVFWFR9ICQoQ0xJ RU5UVykgZWJyb3dzZSR7RVhFRVhUfQorSU5TVEFMTEFCTEVfU0NSSVBUUyA9ICQoaWYgJChO VERJUiksICwgY3RhZ3MpCiAKICMgVGhpbmdzIHRoYXQgRW1hY3MgcnVucyBpbnRlcm5hbGx5 LCBvciBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MsCiAjICB3aGljaCBzaG91bGQgbm90IGJl IGluc3RhbGxlZCBpbiBiaW5kaXIuCi1VVElMSVRJRVMgPSBoZXhsJHtFWEVFWFR9IAkJCSAJ IFwKK1VUSUxJVFlfRVhFUyA9IGhleGwke0VYRUVYVH0gXAogCSAgICAkKGlmICQod2l0aF9t YWlsdXRpbHMpLCAsIG1vdmVtYWlsJHtFWEVFWFR9KSBcCiAgICAgICAgICAgICAkKGFuZCAk KHVzZV9nYW1lZGlyKSwgdXBkYXRlLWdhbWUtc2NvcmUke0VYRUVYVH0pCiAKQEAgLTE3NSwx MiArMTc2LDEyIEBAIERPTlRfSU5TVEFMTD0KIGVuZGlmCiBlbmRpZgogCi0jIExpa2UgVVRJ TElUSUVTLCBidXQgdGhleSdyZSBub3Qgc3lzdGVtLWRlcGVuZGVudCwgYW5kIHNob3VsZCBu b3QgYmUKKyMgTGlrZSBVVElMSVRZX0VYRVMsIGJ1dCB0aGV5J3JlIG5vdCBzeXN0ZW0tZGVw ZW5kZW50LCBhbmQgc2hvdWxkIG5vdCBiZQogIyAgZGVsZXRlZCBieSB0aGUgZGlzdGNsZWFu IHRhcmdldC4KLVNDUklQVFM9IHJjczJsb2cKK1VUSUxJVFlfU0NSSVBUUyA9IHJjczJsb2cK IAogIyBBbGwgZmlsZXMgdGhhdCBhcmUgY3JlYXRlZCBieSB0aGUgbGlua2VyLCBpLmUuLCB3 aG9zZSBuYW1lcyBlbmQgaW4gJHtFWEVFWFR9LgotRVhFX0ZJTEVTID0gJHtJTlNUQUxMQUJM RVN9ICR7VVRJTElUSUVTfSAke0RPTlRfSU5TVEFMTH0KK0VYRV9GSUxFUyA9ICR7SU5TVEFM TEFCTEVfRVhFU30gJHtVVElMSVRZX0VYRVN9ICR7RE9OVF9JTlNUQUxMfQogCiAjIFNwZWNp ZnkgYWRkaXRpb25hbCAtRCBmbGFncyBmb3IgbW92ZW1haWwuIE9wdGlvbnM6CiAjIC1ETUFJ TF9VU0VfRkxPQ0sgb3IgLURNQUlMX1VTRV9MT0NLRiAodXNlIGZsb2NrIG9yIGxvY2tmIGZv ciBmaWxlIGxvY2tpbmcpLgpAQCAtMjgzLDcgKzI4NCw3IEBAIEFMTF9DWFhGTEFHUyA9CiAj IENvbmZpZ3VyYXRpb24gZmlsZXMgZm9yIC5vIGZpbGVzIHRvIGRlcGVuZCBvbi4KIGNvbmZp Z19oID0gLi4vc3JjL2NvbmZpZy5oICQoc3JjZGlyKS8uLi9zcmMvY29uZl9wb3N0LmgKIAot YWxsOiAke0VYRV9GSUxFU30gJHtTQ1JJUFRTfQorYWxsOiAke0VYRV9GSUxFU30gJHtJTlNU QUxMQUJMRV9TQ1JJUFRTfSAke1VUSUxJVFlfU0NSSVBUU30KIAogaWZlcSAoJChTRUNDT01Q X0ZJTFRFUiksMSkKIGFsbDogc2VjY29tcC1maWx0ZXIuYnBmIHNlY2NvbXAtZmlsdGVyLWV4 ZWMuYnBmCkBAIC0zMjQsNyArMzI1LDcgQEAgJChERVNURElSKSR7YXJjaGxpYmRpcn06CiAJ dW1hc2sgMDIyICYmICR7TUtESVJfUH0gIiQoREVTVERJUikke2FyY2hsaWJkaXJ9IgogCWV4 cF9hcmNobGliZGlyPWBjZCAiJChERVNURElSKSR7YXJjaGxpYmRpcn0iICYmIHB3ZCAtUGAg JiYgXAogCWlmIFsgIiQkZXhwX2FyY2hsaWJkaXIiICE9ICJgcHdkIC1QYCIgXTsgdGhlbiBc Ci0JICBmb3IgZmlsZSBpbiAke1VUSUxJVElFU307IGRvIFwKKwkgIGZvciBmaWxlIGluICR7 VVRJTElUWV9FWEVTfTsgZG8gXAogCSAgICAkKElOU1RBTExfUFJPR1JBTSkgJChJTlNUQUxM X1NUUklQKSAkJGZpbGUgXAogCSAgICAgICIkKERFU1RESVIpJHthcmNobGliZGlyfS8kJGZp bGUiIHx8IGV4aXQ7IFwKIAkgIGRvbmUgOyBcCkBAIC0zNTEsNyArMzUyLDcgQEAgJChERVNU RElSKSR7YXJjaGxpYmRpcn06CiAgIGVuZGlmCiAJZXhwX2FyY2hsaWJkaXI9YGNkICIkKERF U1RESVIpJHthcmNobGliZGlyfSIgJiYgcHdkIC1QYCAmJiBcCiAJaWYgWyAiJCRleHBfYXJj aGxpYmRpciIgIT0gImBjZCAke3NyY2Rpcn0gJiYgcHdkIC1QYCIgXTsgdGhlbiBcCi0JICBm b3IgZmlsZSBpbiAke1NDUklQVFN9OyBkbyBcCisJICBmb3IgZmlsZSBpbiAke1VUSUxJVFlf U0NSSVBUU307IGRvIFwKIAkgICAgJChJTlNUQUxMX1NDUklQVCkgJHtzcmNkaXJ9LyQkZmls ZSBcCiAJICAgICAgIiQoREVTVERJUikke2FyY2hsaWJkaXJ9LyQkZmlsZSIgfHwgZXhpdDsg XAogCSAgZG9uZSA7IFwKQEAgLTM2NCwyMiArMzY1LDM1IEBAIGluc3RhbGw6CiAJJChpbmZv ICQuKQogCSQoaW5mbyBJbnN0YWxsaW5nIHV0aWxpdGllcyBmb3IgdXNlcnMgdG8gcnVuLikK IAl1bWFzayAwMjIgJiYgJHtNS0RJUl9QfSAiJChERVNURElSKSR7YmluZGlyfSIKLQlmb3Ig ZmlsZSBpbiAke0lOU1RBTExBQkxFU30gOyBkbyBcCisJZm9yIGZpbGUgaW4gJHtJTlNUQUxM QUJMRV9FWEVTfSA7IGRvIFwKIAkgICQoSU5TVEFMTF9QUk9HUkFNKSAkKElOU1RBTExfU1RS SVApICQke2ZpbGV9IFwKIAkgICAgIiQoREVTVERJUikke2JpbmRpcn0iL2AgXAogCSAgICAg IGVjaG8gJCR7ZmlsZX0gfCBzZWQgLWUgJ3MvJHtFWEVFWFR9JCQvLycgLWUgJyQoVFJBTlNG T1JNKScgXAogCSAgICBgJHtFWEVFWFR9IHx8IGV4aXQ7IFwKIAlkb25lCisJZm9yIGZpbGUg aW4gJycgJHtJTlNUQUxMQUJMRV9TQ1JJUFRTfTsgZG8gXAorCSAgWyAiJCRmaWxlIiBdIHx8 IGNvbnRpbnVlOyBcCisJICAkKElOU1RBTExfUFJPR1JBTSkgJCR7ZmlsZX0gXAorCSAgICAi JChERVNURElSKSR7YmluZGlyfSIvYCBcCisJICAgICAgZWNobyAkJHtmaWxlfSB8IHNlZCAt ZSAnJChUUkFOU0ZPUk0pJyBcCisJICAgIGAgfHwgZXhpdDsgXAorCWRvbmUKIAogdW5pbnN0 YWxsOgotCWZvciBmaWxlIGluICR7SU5TVEFMTEFCTEVTfTsgZG8gXAorCWZvciBmaWxlIGlu ICR7SU5TVEFMTEFCTEVfRVhFU307IGRvIFwKIAkgIHJtIC1mICIkKERFU1RESVIpJHtiaW5k aXJ9Ii9gIFwKIAkgICAgZWNobyAkJHtmaWxlfSB8IHNlZCAtZSAncy8ke0VYRUVYVH0kJC8v JyAtZSAnJChUUkFOU0ZPUk0pJyBcCiAJICBgJHtFWEVFWFR9OyBcCiAJZG9uZQorCWZvciBm aWxlIGluICcnICR7SU5TVEFMTEFCTEVfU0NSSVBUU307IGRvIFwKKwkgIFsgIiQkZmlsZSIg XSB8fCBjb250aW51ZTsgXAorCSAgcm0gLWYgIiQoREVTVERJUikke2JpbmRpcn0iL2AgXAor CSAgICBlY2hvICQke2ZpbGV9IHwgc2VkIC1lICckKFRSQU5TRk9STSknIFwKKwkgIGA7IFwK Kwlkb25lCiAJaWYgWyAtZCAiJChERVNURElSKSR7YXJjaGxpYmRpcn0iIF07IHRoZW4gXAog CSAgY2QgIiQoREVTVERJUikke2FyY2hsaWJkaXJ9IiAmJiBcCi0JICBybSAtZiAke1VUSUxJ VElFU30gJHtTQ1JJUFRTfTsgXAorCSAgcm0gLWYgJHtVVElMSVRZX0VYRVN9ICR7VVRJTElU WV9TQ1JJUFRTfTsgXAogCWZpCiAKIG1vc3RseWNsZWFuOgpAQCAtNDE1LDEyICs0MjksMTMg QEAgZXRhZ3NfbGlicyA9CiBldGFncyR7RVhFRVhUfTogJHtldGFnc19kZXBzfQogCSQoQU1f Vl9DQ0xEKSQoQ0MpICR7QUxMX0NGTEFHU30gLW8gJEAgJDwgJChldGFnc19saWJzKQogCi0j IyBjdGFncy5jIGlzIGRpc3RpbmN0IGZyb20gZXRhZ3MuYyBzbyB0aGF0IHBhcmFsbGVsIG1h a2VzIGRvIG5vdCB3cml0ZSB0d28KLSMjIGV0YWdzLm8gZmlsZXMgb24gdG9wIG9mIGVhY2gg b3RoZXIuCi0jIyBGSVhNRT8KLSMjIENhbid0IHdlIHVzZSBhIHdyYXBwZXIgdGhhdCBjYWxs cyAnZXRhZ3MgLS1jdGFncyc/Ci1jdGFncyR7RVhFRVhUfTogJHtzcmNkaXJ9L2N0YWdzLmMg JHtldGFnc19kZXBzfQotCSQoQU1fVl9DQ0xEKSQoQ0MpICR7QUxMX0NGTEFHU30gLW8gJEAg JDwgJChldGFnc19saWJzKQoraWZlcSAoJChOVERJUiksKQorICBjdGFnczogJHtzcmNkaXJ9 L2N0YWdzLnNoCisJY3AgJD8gJEAKK2Vsc2UKKyAgY3RhZ3Mke0VYRUVYVH06ICR7c3JjZGly fS9jdGFncy5jICQoTlRMSUIpICQoY29uZmlnX2gpCisJJChBTV9WX0NDTEQpJChDQykgJHtB TExfQ0ZMQUdTfSAtbyAkQCAkPCAkKE5UTElCKSAkKExPQURMSUJFUykKK2VuZGlmCiAKIGFz c2V0LWRpcmVjdG9yeS10b29sJHtFWEVFWFR9OiAke3NyY2Rpcn0vYXNzZXQtZGlyZWN0b3J5 LXRvb2wuYyAkKGNvbmZpZ19oKQogCSQoQU1fVl9DQ0xEKSQoQ0MpICR7QUxMX0NGTEFHU30g JDwgJChMT0FETElCRVMpIC1vICRACmRpZmYgLS1naXQgYS9saWItc3JjL2N0YWdzLmMgYi9s aWItc3JjL2N0YWdzLmMKaW5kZXggMGE2ODM4YTlkYmIuLmQxOTA0OTZkMzdlIDEwMDY0NAot LS0gYS9saWItc3JjL2N0YWdzLmMKKysrIGIvbGliLXNyYy9jdGFncy5jCkBAIC0xLDIgKzEs MTA1IEBACi0jZGVmaW5lIENUQUdTIDEKLSNpbmNsdWRlICJldGFncy5jIgorLyogTGlrZSBj dGFncy5zaCBidXQgZm9yIE1TLVdpbmRvd3MsIHdoaWNoIGxhY2tzIHRoZSBzaGVsbC4KKwor Q29weXJpZ2h0IDIwMjUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKK1RoaXMg ZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KKworR05VIEVtYWNzIGlzIGZyZWUgc29mdHdh cmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKK2l0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K KworR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCitidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgorTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKworWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKK2Fsb25nIHdpdGggR05VIEVt YWNzLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICov CisKKyNkZWZpbmUgREVGRVJfTVNfVzMyX0gKKyNpbmNsdWRlIDxjb25maWcuaD4KKworI2lu Y2x1ZGUgPG1hbGxvYy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmlu Zy5oPgorCisvKiBEZWNsYXJlIF9leGVjdnAgYnkgaGFuZCwgc2luY2UgTVMtV2luZG93cyA8 cHJvY2Vzcy5oPiBjb2xsaWRlcyB3aXRoCisgICAuLi9zcmMvcHJvY2Vzcy5oLiAgKi8KKyNp bmNsdWRlIDxzdGRpbnQuaD4gLyogZm9yIGludHB0cl90ICovCitleHRlcm4gaW50cHRyX3Qg X2V4ZWN2cCAoY2hhciBjb25zdCAqLCBjaGFyIGNvbnN0ICpjb25zdCAqKTsKKworLyogU3Rv cmUgaW50byBEW0ldIHRocm91Z2ggRFtJICsgTiAtIDFdIHRoZSBieXRlIEMsIGFuZCByZXR1 cm4gSSArIE4uCisgICBCdXQgaWYgRCBpcyBudWxsLCBqdXN0IHJldHVybiB0aGUgaW5jcmVt ZW50ZWQgY291bnQuICAqLworc3RhdGljIHNpemVfdAorc3RvcmUgKGNoYXIgKmQsIHNpemVf dCBpLCBzaXplX3QgbiwgY2hhciBjKQoreworICBpZiAoZCkKKyAgICBmb3IgKHNpemVfdCBq ID0gMDsgaiA8IG47IGorKykKKyAgICAgIGRbaSArIGpdID0gYzsKKyAgcmV0dXJuIGkgKyBu OworfQorCisvKiBSZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcyB1c2VkIHRvIHJlcHJlc2Vu dCB0aGUgc3RyaW5nIFMgYXMgYW4KKyAgIE1TLVdpbmRvd3MgX2V4ZWN2cCBhcmd1bWVudCwg aW5jbHVkaW5nIHRoZSB0cmFpbGluZyBudWxsIGJ5dGUuCisgICBJZiBEIGlzIG5vbm51bGws IGFsc28gc3RvcmUgdGhlIHJlcHJlc2VudGF0aW9uIGludG8gRC4KKyAgIER1ZSB0byBNaWNy b3NvZnQgQyBydW50aW1lIGNvbnN0cmFpbnRzLCBTIGNhbm5vdCBjb250YWluICdcbicsCisg ICBhbmQgaWYgUyBjb250YWlucyAnIicgdGhlIHJlcHJlc2VudGF0aW9uIGNhbm5vdCBiZSB1 c2VkIGZvciBhcmd1bWVudCAwLiAgKi8KK3N0YXRpYyBzaXplX3QKK3czMl9leGVjdnBfYXJn X3JlcHIgKGNoYXIgY29uc3QgKnJlc3RyaWN0IHMsIGNoYXIgKnJlc3RyaWN0IGQpCit7Cisg IC8qIFNlZSA8aHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2NwcC9jLWxhbmd1 YWdlL3BhcnNpbmctYy1jb21tYW5kLWxpbmUtYXJndW1lbnRzPi4KKyAgICAgQWx0aG91Z2gg cXVvdGluZyBpcyBuZWVkZWQgb25seSBpZiBTIGlzIGVtcHR5IG9yIGNvbnRhaW5zIHNwYWNl IG9yIHRhYiwKKyAgICAgaXQgaXMgc2ltcGxlciBhbmQgcGVyaGFwcyBjaGVhcGVyIHRvIGFs d2F5cyBxdW90ZS4gICovCisgIHNpemVfdCBpID0gMDsKKyAgaSA9IHN0b3JlIChkLCBpLCAx LCAnIicpOworCisgIHNpemVfdCBic2NvdW50ID0gMDsgLyogQ291bnQgb2YgcHJlY2VkaW5n IGJhY2tzbGFzaGVzLiAgKi8KKyAgZm9yICg7ICpzOyBzKyspCisgICAgeworICAgICAgaWYg KCpzID09ICciJykKKwlzdG9yZSAoZCwgaSwgYnNjb3VudCArIDEsICdcXCcpOworICAgICAg aSA9IHN0b3JlIChkLCBpLCAxLCAqcyk7CisgICAgICBic2NvdW50ID0gKnMgPT0gJ1xcJyA/ IGJzY291bnQgKyAxIDogMDsKKyAgICB9CisKKyAgaSA9IHN0b3JlIChkLCBpLCBic2NvdW50 LCAnXFwnKTsKKyAgaSA9IHN0b3JlIChkLCBpLCAxLCAnIicpOworICBpID0gc3RvcmUgKGQs IGksIDEsICdcMCcpOworICByZXR1cm4gaTsKK30KKworaW50CittYWluIChpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCit7CisgIGNoYXIgY29uc3QgKnByb2duYW1lID0gYXJndlswXTsKKyAg c3RhdGljIGNoYXIgY29uc3Qgb3B0aW9uX3ByZWZpeFtdID0gIi0tY3RhZ3M9IjsKKworICAv KiBOdW1iZXIgb2YgYnl0ZXMgbmVlZGVkIHRvIHJlcHJlc2VudCBhbGwgZXRhZ3MgYXJncy4g ICovCisgIHNpemVfdCBuYXJnYnl0ZXMgPSBzaXplb2Ygb3B0aW9uX3ByZWZpeCAtIDE7Cisg IGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgaSsrKQorICAgIG5hcmdieXRlcyArPSB3MzJf ZXhlY3ZwX2FyZ19yZXByIChhcmd2W2ldLCBOVUxMKTsKKworICBjaGFyIGNvbnN0ICoqZXRh Z3NfYXJndiA9IG1hbGxvYyAoKGFyZ2MgKyAyKSAqIHNpemVvZiAqYXJndiArIG5hcmdieXRl cyk7CisgIGlmIChldGFnc19hcmd2KQorICAgIHsKKyAgICAgIGNoYXIgKmQgPSAoY2hhciAq KSAoZXRhZ3NfYXJndiArIGFyZ2MgKyAyKTsKKyAgICAgIGV0YWdzX2FyZ3ZbMF0gPSAiZXRh Z3MiOworICAgICAgZXRhZ3NfYXJndlsxXSA9IG1lbWNweSAoZCwgb3B0aW9uX3ByZWZpeCwg c2l6ZW9mIG9wdGlvbl9wcmVmaXggLSAxKTsKKyAgICAgIGQgKz0gc2l6ZW9mIG9wdGlvbl9w cmVmaXggLSAxOworICAgICAgZCArPSB3MzJfZXhlY3ZwX2FyZ19yZXByIChwcm9nbmFtZSwg ZCk7CisKKyAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgYXJnYzsgaSsrKQorCXsKKwkgIGV0 YWdzX2FyZ3ZbaSArIDFdID0gZDsKKwkgIGQgKz0gdzMyX2V4ZWN2cF9hcmdfcmVwciAoYXJn dltpXSwgZCk7CisJfQorCisgICAgICBldGFnc19hcmd2W2FyZ2MgKyAxXSA9IE5VTEw7Cisg ICAgICBwcm9nbmFtZSA9IGV0YWdzX2FyZ3ZbMF07CisgICAgICBfZXhlY3ZwIChwcm9nbmFt ZSwgZXRhZ3NfYXJndik7CisgICAgfQorCisgIHBlcnJvciAocHJvZ25hbWUpOworICByZXR1 cm4gMTI3OworfQpkaWZmIC0tZ2l0IGEvbGliLXNyYy9jdGFncy5zaCBiL2xpYi1zcmMvY3Rh Z3Muc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAuLjljYzk1Zjc5 YjAxCi0tLSAvZGV2L251bGwKKysrIGIvbGliLXNyYy9jdGFncy5zaApAQCAtMCwwICsxLDIg QEAKKyMhL2Jpbi9zaAorZXhlYyBldGFncyAtLWN0YWdzPSIkMCIgIiRAIgpkaWZmIC0tZ2l0 IGEvbGliLXNyYy9ldGFncy5jIGIvbGliLXNyYy9ldGFncy5jCmluZGV4IGI1OWI3MGM5ZWM3 Li5kYWE1MWMxMjVkNCAxMDA2NDQKLS0tIGEvbGliLXNyYy9ldGFncy5jCisrKyBiL2xpYi1z cmMvZXRhZ3MuYwpAQCAtMTI2LDE2ICsxMjYsNiBAQCBDb3B5cmlnaHQgKEMpIDE5ODQsIDE5 ODctMTk4OSwgMTk5My0xOTk1LCAxOTk4LTIwMjUgRnJlZSBTb2Z0d2FyZQogI2luY2x1ZGUg PGdldG9wdC5oPgogI2luY2x1ZGUgPHJlZ2V4Lmg+CiAKLS8qIERlZmluZSBDVEFHUyB0byBt YWtlIHRoZSBwcm9ncmFtICJjdGFncyIgY29tcGF0aWJsZSB3aXRoIHRoZSB1c3VhbCBvbmUu Ci0gTGVhdmUgaXQgdW5kZWZpbmVkIHRvIG1ha2UgdGhlIHByb2dyYW0gImV0YWdzIiwgd2hp Y2ggbWFrZXMgZW1hY3Mtc3R5bGUKLSB0YWcgdGFibGVzIGFuZCB0YWdzIHR5cGVkZWZzLCAj ZGVmaW5lcyBhbmQgc3RydWN0L3VuaW9uL2VudW0gYnkgZGVmYXVsdC4gKi8KLSNpZmRlZiBD VEFHUwotIyB1bmRlZiAgQ1RBR1MKLSMgZGVmaW5lIENUQUdTIHRydWUKLSNlbHNlCi0jIGRl ZmluZSBDVEFHUyBmYWxzZQotI2VuZGlmCi0KIC8qIERlZmluZSBNRVJDVVJZX0hFVVJJU1RJ Q1NfUkFUSU8gYXMgaXQgd2FzIG5lY2Vzc2FyeSB0byBkaXNhbWJpZ3VhdGUKICAgIE1lcmN1 cnkgZnJvbSBPYmplY3RpdmUgQywgd2hpY2ggaGF2ZSBzYW1lIGZpbGUgZXh0ZW5zaW9ucyAu bQogICAgU2VlIGNvbW1lbnRzIGJlZm9yZSBmdW5jdGlvbiB0ZXN0X29iamNfaXNfbWVyY3Vy eSBmb3IgZGV0YWlscy4gICovCkBAIC00NzksMTggKzQ2OSwyMCBAQCAjZGVmaW5lIHhybmV3 KG9wLCBuLCBtKSAoKG9wKSA9IHhucmVhbGxvYyAob3AsIG4sIChtKSAqIHNpemVvZiAqKG9w KSkpCiBzdGF0aWMgYm9vbCBpZ25vcmVpbmRlbnQ7CS8qIC1JOiBpZ25vcmUgaW5kZW50YXRp b24gaW4gQyAqLwogc3RhdGljIGludCBwYWNrYWdlc19vbmx5OwkvKiAtLXBhY2thZ2VzLW9u bHk6IGluIEFkYSwgb25seSB0YWcgcGFja2FnZXMqLwogc3RhdGljIGludCBjbGFzc19xdWFs aWZ5OwkvKiAtUTogcHJvZHVjZSBjbGFzcy1xdWFsaWZpZWQgdGFncyBpbiBDKysvSmF2YSAq Lworc3RhdGljIGJvb2wgY3RhZ3M7CQkvKiAtLWN0YWdzICovCiBzdGF0aWMgaW50IGRlYnVn OwkJLyogLS1kZWJ1ZyAqLwogc3RhdGljIGludCBmYWxsYmFja19sYW5nOwkvKiAtLShuby0p ZmFsbGJhY2stbGFuZzogRm9ydHJhbi9DIGZhbGxiYWNrcyAqLwogc3RhdGljIGludCBlbXB0 eV9maWxlczsJCS8qIC0tKG5vLSllbXB0eS1maWxlLWVudHJpZXMgKi8KLQotLyogU1RESU4g aXMgZGVmaW5lZCBpbiBMeW54T1Mgc3lzdGVtIGhlYWRlcnMgKi8KLSNpZmRlZiBTVERJTgot IyB1bmRlZiBTVERJTgotI2VuZGlmCi0KLSNkZWZpbmUgU1RESU4gMHgxMDAxCQkvKiByZXR1 cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICovCiBzdGF0aWMgYm9vbCBw YXJzaW5nX3N0ZGluOwkvKiAtLXBhcnNlLXN0ZGluIHVzZWQgKi8KIAorLyogRm9yIGxvbmcg b3B0aW9ucyB0aGF0IGhhdmUgbm8gZXF1aXZhbGVudCBzaG9ydCBvcHRpb24sIHVzZSBhCisg ICBub24tY2hhcmFjdGVyIGFzIGEgcHNldWRvIHNob3J0IG9wdGlvbiwgc3RhcnRpbmcgd2l0 aCBDSEFSX01BWCArIDEuICAqLworZW51bQorICB7CisgICAgQ1RBR1NfT1BUSU9OID0gQ0hB Ul9NQVggKyAxLAorICAgIFNURElOX09QVElPTgorICB9OworCiBzdGF0aWMgcmVnZXhwICpw X2hlYWQ7CQkvKiBsaXN0IG9mIGFsbCByZWdleHBzICovCiBzdGF0aWMgYm9vbCBuZWVkX2Zp bGVidWY7CS8qIHNvbWUgcmVnZXhlcyBhcmUgbXVsdGktbGluZSAqLwogCkBAIC00OTksNiAr NDkxLDcgQEAgI2RlZmluZSBTVERJTiAweDEwMDEJCS8qIHJldHVybmVkIGJ5IGdldG9wdF9s b25nIG9uIC0tcGFyc2Utc3RkaW4gKi8KICAgeyAiYXBwZW5kIiwgICAgICAgICAgICAgbm9f YXJndW1lbnQsICAgICAgIE5VTEwsICAgICAgICAgICAgICAgJ2EnICAgfSwKICAgeyAicGFj a2FnZXMtb25seSIsICAgICAgbm9fYXJndW1lbnQsICAgICAgICZwYWNrYWdlc19vbmx5LCAg ICAgMSAgICAgfSwKICAgeyAiYysrIiwgICAgICAgICAgICAgICAgbm9fYXJndW1lbnQsICAg ICAgIE5VTEwsICAgICAgICAgICAgICAgJ0MnICAgfSwKKyAgeyAiY3RhZ3MiLCAgICAgICAg ICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICAgICAgICBDVEFHU19PUFRJT04gfSwK ICAgeyAiZGVidWciLCAgICAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgICZkZWJ1Zywg ICAgICAgICAgICAgMSAgICAgfSwKICAgeyAiZGVjbGFyYXRpb25zIiwgICAgICAgbm9fYXJn dW1lbnQsICAgICAgICZkZWNsYXJhdGlvbnMsICAgICAgMSAgICAgfSwKICAgeyAibm8tbGlu ZS1kaXJlY3RpdmUiLCAgbm9fYXJndW1lbnQsICAgICAgICZub19saW5lX2RpcmVjdGl2ZSwg MSAgICAgfSwKQEAgLTUxNCwxMCArNTA3LDEwIEBAICNkZWZpbmUgU1RESU4gMHgxMDAxCQkv KiByZXR1cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICovCiAgIHsgInJl Z2V4IiwgICAgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAgICAgICAgICAg ICAgICdyJyAgIH0sCiAgIHsgIm5vLXJlZ2V4IiwgICAgICAgICAgIG5vX2FyZ3VtZW50LCAg ICAgICBOVUxMLCAgICAgICAgICAgICAgICdSJyAgIH0sCiAgIHsgImlnbm9yZS1jYXNlLXJl Z2V4IiwgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAgICAgICAgICAgICAgICdjJyAgIH0s Ci0gIHsgInBhcnNlLXN0ZGluIiwgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAg ICAgICAgICAgICAgIFNURElOIH0sCisgIHsgInBhcnNlLXN0ZGluIiwgICAgICAgIHJlcXVp cmVkX2FyZ3VtZW50LCBOVUxMLCAgICAgICAgU1RESU5fT1BUSU9OIH0sCiAgIHsgInZlcnNp b24iLCAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAgICAg ICdWJyAgIH0sCiAKLSNpZiBDVEFHUyAvKiBDdGFncyBvcHRpb25zICovCisgIC8qIGN0YWdz IG9wdGlvbnMgKi8KICAgeyAiYmFja3dhcmQtc2VhcmNoIiwgICAgbm9fYXJndW1lbnQsICAg ICAgIE5VTEwsICAgICAgICAgICAgICAgJ0InICAgfSwKICAgeyAiY3hyZWYiLCAgICAgICAg ICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICAgICAgICAgICAgICAgJ3gnICAgfSwK ICAgeyAiZGVmaW5lcyIsICAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICAg ICAgICAgICAgICAgJ2QnICAgfSwKQEAgLTUyOCw3ICs1MjEsNyBAQCAjZGVmaW5lIFNURElO IDB4MTAwMQkJLyogcmV0dXJuZWQgYnkgZ2V0b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAq LwogICB7ICJ2Z3JpbmQiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwg ICAgICAgICAgICAgICAndicgICB9LAogICB7ICJuby13YXJuIiwgICAgICAgICAgICBub19h cmd1bWVudCwgICAgICAgTlVMTCwgICAgICAgICAgICAgICAndycgICB9LAogCi0jZWxzZSAv KiBFdGFncyBvcHRpb25zICovCisgIC8qIGV0YWdzIG9wdGlvbnMgKi8KICAgeyAibm8tZGVm aW5lcyIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICAgICAgICAgICAgICAg J0QnICAgfSwKICAgeyAibm8tZ2xvYmFscyIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAg ICZnbG9iYWxzLCAgICAgICAgICAgMCAgICAgfSwKICAgeyAiaW5jbHVkZSIsICAgICAgICAg ICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICAgICAgICAgICAgICAgJ2knICAgfSwKQEAg LTUzNiw3ICs1MjksNyBAQCAjZGVmaW5lIFNURElOIDB4MTAwMQkJLyogcmV0dXJuZWQgYnkg Z2V0b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAqLwogICB7ICJmYWxsYmFjay1sYW5nIiwg ICAgICBub19hcmd1bWVudCwgICAgICAgJmZhbGxiYWNrX2xhbmcsICAgICAxICAgICB9LAog ICB7ICJuby1lbXB0eS1maWxlLWVudHJpZXMiLCBub19hcmd1bWVudCwgICAgJmVtcHR5X2Zp bGVzLCAgICAgICAwICAgICB9LAogICB7ICJlbXB0eS1maWxlLWVudHJpZXMiLCBub19hcmd1 bWVudCwgICAgICAgJmVtcHR5X2ZpbGVzLCAgICAgICAxICAgICB9LAotI2VuZGlmCisKICAg eyBOVUxMIH0KIH07CiAKQEAgLTU5OCwxNSArNTkxLDE3IEBAICNkZWZpbmUgU1RESU4gMHgx MDAxCQkvKiByZXR1cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICovCiAg ICBUaGF0IGlzIHdoeSBkZWZhdWx0X0NfZW50cmllcyBpcyBjYWxsZWQgZm9yIHRoZXNlLiAq Lwogc3RhdGljIGNvbnN0IGNoYXIgKmRlZmF1bHRfQ19zdWZmaXhlcyBbXSA9CiAgIHsgImMi LCAiaCIsIE5VTEwgfTsKLSNpZiBDVEFHUwkJCQkvKiBDIGhlbHAgZm9yIEN0YWdzICovCi1z dGF0aWMgY29uc3QgY2hhciBkZWZhdWx0X0NfaGVscCBbXSA9CisKKy8qIEMgaGVscCBmb3Ig Y3RhZ3MgKi8KK3N0YXRpYyBjb25zdCBjaGFyIGN0YWdzX2RlZmF1bHRfQ19oZWxwW10gPQog IkluIEMgY29kZSwgYW55IEMgZnVuY3Rpb24gaXMgYSB0YWcuICBVc2UgLXQgdG8gdGFnIHR5 cGVkZWZzLlxuXAogVXNlIC1UIHRvIHRhZyBkZWZpbml0aW9ucyBvZiAnc3RydWN0JywgJ3Vu aW9uJyBhbmQgJ2VudW0nLlxuXAogVXNlIC1kIHRvIHRhZyAnI2RlZmluZScgbWFjcm8gZGVm aW5pdGlvbnMgYW5kICdlbnVtJyBjb25zdGFudHMuXG5cCiBVc2UgLS1nbG9iYWxzIHRvIHRh ZyBnbG9iYWwgdmFyaWFibGVzLlxuXAogWW91IGNhbiB0YWcgZnVuY3Rpb24gZGVjbGFyYXRp b25zIGFuZCBleHRlcm5hbCB2YXJpYWJsZXMgYnlcblwKIHVzaW5nICctLWRlY2xhcmF0aW9u cycsIGFuZCBzdHJ1Y3QgbWVtYmVycyBieSB1c2luZyAnLS1tZW1iZXJzJy4iOwotI2Vsc2UJ CQkJCS8qIEMgaGVscCBmb3IgRXRhZ3MgKi8KKworLyogQyBoZWxwIGZvciBldGFncyAqLwog c3RhdGljIGNvbnN0IGNoYXIgZGVmYXVsdF9DX2hlbHAgW10gPQogIkluIEMgY29kZSwgYW55 IEMgZnVuY3Rpb24gb3IgdHlwZWRlZiBpcyBhIHRhZywgYW5kIHNvIGFyZVxuXAogZGVmaW5p dGlvbnMgb2YgJ3N0cnVjdCcsICd1bmlvbicgYW5kICdlbnVtJy4gICcjZGVmaW5lJyBtYWNy b1xuXApAQCAtNjE3LDcgKzYxMiw2IEBAICNkZWZpbmUgU1RESU4gMHgxMDAxCQkvKiByZXR1 cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICovCiAnLS1uby1tZW1iZXJz JyBjYW4gbWFrZSB0aGUgdGFncyB0YWJsZSBmaWxlIG11Y2ggc21hbGxlci5cblwKIFlvdSBj YW4gdGFnIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgZXh0ZXJuYWwgdmFyaWFibGVzIGJ5 XG5cCiB1c2luZyAnLS1kZWNsYXJhdGlvbnMnLiI7Ci0jZW5kaWYJLyogQyBoZWxwIGZvciBD dGFncyBhbmQgRXRhZ3MgKi8KIAogc3RhdGljIGNvbnN0IGNoYXIgKkNwbHVzcGx1c19zdWZm aXhlcyBbXSA9CiAgIHsgIkMiLCAiYysrIiwgImNjIiwgImNwcCIsICJjeHgiLCAiSCIsICJo KysiLCAiaGgiLCAiaHBwIiwgImh4eCIsCkBAIC04NjIsNiArODU2LDcgQEAgI2RlZmluZSBT VERJTiAweDEwMDEJCS8qIHJldHVybmVkIGJ5IGdldG9wdF9sb25nIG9uIC0tcGFyc2Utc3Rk aW4gKi8KIHsKICAgeyAiYWRhIiwgICAgICAgQWRhX2hlbHAsICAgICAgIEFkYV9mdW5jcywg ICAgICAgICBBZGFfc3VmZml4ZXMgICAgICAgfSwKICAgeyAiYXNtIiwgICAgICAgQXNtX2hl bHAsICAgICAgIEFzbV9sYWJlbHMsICAgICAgICBBc21fc3VmZml4ZXMgICAgICAgfSwKKyNk ZWZpbmUgQ19MQU5HX05BTUVTX0lOREVYIDIKICAgeyAiYyIsICAgICAgICAgZGVmYXVsdF9D X2hlbHAsIGRlZmF1bHRfQ19lbnRyaWVzLCBkZWZhdWx0X0Nfc3VmZml4ZXMgfSwKICAgeyAi YysrIiwgICAgICAgQ3BsdXNwbHVzX2hlbHAsIENwbHVzcGx1c19lbnRyaWVzLCBDcGx1c3Bs dXNfc3VmZml4ZXMgfSwKICAgeyAiYyoiLCAgICAgICAgbm9fbGFuZ19oZWxwLCAgIENzdGFy X2VudHJpZXMsICAgICBDc3Rhcl9zdWZmaXhlcyAgICAgfSwKQEAgLTkyOCwyNCArOTIzLDIw IEBAIHByaW50X2xhbmd1YWdlX25hbWVzICh2b2lkKQogRm9ydHJhbiBpcyB0cmllZCBmaXJz dDsgaWYgbm8gdGFncyBhcmUgZm91bmQsIEMgaXMgdHJpZWQgbmV4dC5cblwKIFdoZW4gcGFy c2luZyBhbnkgQyBmaWxlLCBhIFwiY2xhc3NcIiBvciBcInRlbXBsYXRlXCIga2V5d29yZFxu XAogc3dpdGNoZXMgdG8gQysrLiIpOwotICBwdXRzICgiQ29tcHJlc3NlZCBmaWxlcyBhcmUg c3VwcG9ydGVkIHVzaW5nIGd6aXAsIGJ6aXAyLCB4eiwgYW5kIHpzdGQuXG5cCisgIHByaW50 ZiAoIkNvbXByZXNzZWQgZmlsZXMgYXJlIHN1cHBvcnRlZCB1c2luZyBnemlwLCBiemlwMiwg eHosIGFuZCB6c3RkLlxuXAogXG5cCiBGb3IgZGV0YWlsZWQgaGVscCBvbiBhIGdpdmVuIGxh bmd1YWdlIHVzZSwgZm9yIGV4YW1wbGUsXG5cCi1ldGFncyAtLWhlbHAgLS1sYW5nPWFkYS4i KTsKKyVzIC0taGVscCAtLWxhbmc9YWRhLlxuIiwKKwkgIHByb2duYW1lKTsKIH0KIAotI2lm IENUQUdTCi0jIGRlZmluZSBQUk9HUkFNX05BTUUgImN0YWdzIgotI2Vsc2UKLSMgZGVmaW5l IFBST0dSQU1fTkFNRSAiZXRhZ3MiCi0jZW5kaWYKIHN0YXRpYyBfTm9yZXR1cm4gdm9pZAog cHJpbnRfdmVyc2lvbiAodm9pZCkKIHsKLSAgZnB1dHMgKChQUk9HUkFNX05BTUUgIiAoIiBQ QUNLQUdFX05BTUUgIiAiIFBBQ0tBR0VfVkVSU0lPTiAiKVxuIgotCSAgQ09QWVJJR0hUICJc biIKLQkgICJUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIGlu IEVUQUdTLlJFQURNRVxuIiksCi0JIHN0ZG91dCk7CisgIHByaW50ZiAoKCIlcyAoJXMgJXMp XG4iCisJICAgIiVzXG4iCisJICAgIlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCB1bmRl ciB0aGUgdGVybXMgaW4gRVRBR1MuUkVBRE1FXG4iKSwKKwkgIGN0YWdzID8gImN0YWdzIiA6 ICJldGFncyIsIFBBQ0tBR0VfTkFNRSwgUEFDS0FHRV9WRVJTSU9OLCBDT1BZUklHSFQpOwog ICBleGl0IChFWElUX1NVQ0NFU1MpOwogfQogCkBAIC05ODQsNyArOTc1LDcgQEAgcHJpbnRf aGVscCAoYXJndW1lbnQgKmFyZ2J1ZmZlcikKICAgcHV0cyAoIi0tcGFja2FnZXMtb25seVxu XAogICAgICAgICBGb3IgQWRhIGZpbGVzLCBvbmx5IGdlbmVyYXRlIHRhZ3MgZm9yIHBhY2th Z2VzLiIpOwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAgIHB1dHMgKCItQiwg LS1iYWNrd2FyZC1zZWFyY2hcblwKICAgICAgICAgV3JpdGUgdGhlIHNlYXJjaCBjb21tYW5k cyBmb3IgdGhlIHRhZyBlbnRyaWVzIHVzaW5nICc/JywgdGhlXG5cCiAgICAgICAgIGJhY2t3 YXJkLXNlYXJjaCBjb21tYW5kIGluc3RlYWQgb2YgJy8nLCB0aGUgZm9yd2FyZC1zZWFyY2gg Y29tbWFuZC4iKTsKQEAgLTk5Nyw5ICs5ODgsMTMgQEAgcHJpbnRfaGVscCAoYXJndW1lbnQg KmFyZ2J1ZmZlcikKICAgICAgICAgVHJlYXQgZmlsZXMgd2hvc2UgbmFtZSBzdWZmaXggZGVm YXVsdHMgdG8gQyBsYW5ndWFnZSBhcyBDKysgZmlsZXMuIik7CiAgICovCiAKKyAgaWYgKFBS SU5UX1VORE9DVU1FTlRFRF9PUFRJT05TX0hFTFAgJiYgIWN0YWdzKQorICAgIHB1dHMgKCIt LWN0YWdzPVBST0dSQU1fTkFNRVxuXAorCUltcGxlbWVudCBjdGFncyBiZWhhdmlvciB1bmRl ciB0aGUgbmFtZSBQUk9HUkFNX05BTUUuIik7CisKICAgcHV0cyAoIi0tZGVjbGFyYXRpb25z XG5cCiAJSW4gQyBhbmQgZGVyaXZlZCBsYW5ndWFnZXMsIGNyZWF0ZSB0YWdzIGZvciBmdW5j dGlvbiBkZWNsYXJhdGlvbnMsIik7Ci0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAg IHB1dHMgKCJcdGFuZCBjcmVhdGUgdGFncyBmb3IgZXh0ZXJuIHZhcmlhYmxlcyBpZiAtLWds b2JhbHMgaXMgdXNlZC4iKTsKICAgZWxzZQogICAgIHB1dHMKQEAgLTEwMDgsNyArMTAwMyw3 IEBAIHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIpCiAgIHB1dHMgKCJcdEluIE1l cmN1cnksIHRhZyBib3RoIGRlY2xhcmF0aW9ucyBzdGFydGluZyBhIGxpbmUgd2l0aCAnOi0n IGFuZFxuXAogICAgICAgICBmaXJzdCBwcmVkaWNhdGVzIG9yIGZ1bmN0aW9ucyBpbiBjbGF1 c2VzLiIpOwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAgIHB1dHMgKCItZCwg LS1kZWZpbmVzXG5cCiAgICAgICAgIENyZWF0ZSB0YWcgZW50cmllcyBmb3IgQyAjZGVmaW5l IGNvbnN0YW50cyBhbmQgZW51bSBjb25zdGFudHMsIHRvby4iKTsKICAgZWxzZQpAQCAtMTAx Niw3ICsxMDExLDcgQEAgcHJpbnRfaGVscCAoYXJndW1lbnQgKmFyZ2J1ZmZlcikKICAgICAg ICAgRG9uJ3QgY3JlYXRlIHRhZyBlbnRyaWVzIGZvciBDICNkZWZpbmUgY29uc3RhbnRzIGFu ZCBlbnVtIGNvbnN0YW50cy5cblwKIAlUaGlzIG1ha2VzIHRoZSB0YWdzIGZpbGUgc21hbGxl ci4iKTsKIAotICBpZiAoIUNUQUdTKQorICBpZiAoIWN0YWdzKQogICAgIHB1dHMgKCItaSBG SUxFLCAtLWluY2x1ZGU9RklMRVxuXAogICAgICAgICBJbmNsdWRlIGEgbm90ZSBpbiB0YWcg ZmlsZSBpbmRpY2F0aW5nIHRoYXQsIHdoZW4gc2VhcmNoaW5nIGZvclxuXAogICAgICAgICBh IHRhZywgb25lIHNob3VsZCBhbHNvIGNvbnN1bHQgdGhlIHRhZ3MgZmlsZSBGSUxFIGFmdGVy XG5cCkBAIC0xMDI2LDcgKzEwMjEsNyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVm ZmVyKQogICAgICAgICBGb3JjZSB0aGUgZm9sbG93aW5nIGZpbGVzIHRvIGJlIGNvbnNpZGVy ZWQgYXMgd3JpdHRlbiBpbiB0aGVcblwKIAluYW1lZCBsYW5ndWFnZSB1cCB0byB0aGUgbmV4 dCAtLWxhbmd1YWdlPUxBTkcgb3B0aW9uLiIpOwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0 YWdzKQogICAgIHB1dHMgKCItLWdsb2JhbHNcblwKIAlDcmVhdGUgdGFnIGVudHJpZXMgZm9y IGdsb2JhbCB2YXJpYWJsZXMgaW4gc29tZSBsYW5ndWFnZXMuIik7CiAgIGVsc2UKQEAgLTEw MzcsNyArMTAzMiw3IEBAIHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIpCiAgIHB1 dHMgKCItLW5vLWxpbmUtZGlyZWN0aXZlXG5cCiAgICAgICAgIElnbm9yZSAjbGluZSBwcmVw cm9jZXNzb3IgZGlyZWN0aXZlcyBpbiBDIGFuZCBkZXJpdmVkIGxhbmd1YWdlcy4iKTsKIAot ICBpZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICBwdXRzICgiLS1tZW1iZXJzXG5cCiAJ Q3JlYXRlIHRhZyBlbnRyaWVzIGZvciBtZW1iZXJzIG9mIHN0cnVjdHVyZXMgaW4gc29tZSBs YW5ndWFnZXMuIik7CiAgIGVsc2UKQEAgLTEwNDUsNyArMTA0MCw3IEBAIHByaW50X2hlbHAg KGFyZ3VtZW50ICphcmdidWZmZXIpCiAJRG8gbm90IGNyZWF0ZSB0YWcgZW50cmllcyBmb3Ig bWVtYmVycyBvZiBzdHJ1Y3R1cmVzXG5cCiAJaW4gc29tZSBsYW5ndWFnZXMuIik7CiAKLSAg aWYgKCFDVEFHUykKKyAgaWYgKCFjdGFncykKICAgICB7CiAgICAgICBwdXRzICgiLS1mYWxs YmFjay1sYW5nXG5cCiAJSWYgYSBmaWxlJ3MgbGFuZ3VhZ2UgY291bGQgbm90IGJlIGRldGVy bWluZWQsIHRyeSB0byBwYXJzZVxuXApAQCAtMTA5Miw3ICsxMDg3LDcgQEAgcHJpbnRfaGVs cCAoYXJndW1lbnQgKmFyZ2J1ZmZlcikKICAgcHV0cyAoIi0tcGFyc2Utc3RkaW49TkFNRVxu XAogICAgICAgICBSZWFkIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHJlY29yZCB0YWdzIGFz IGJlbG9uZ2luZyB0byBmaWxlIE5BTUUuIik7CiAKLSAgaWYgKENUQUdTKQorICBpZiAoY3Rh Z3MpCiAgICAgewogICAgICAgcHV0cyAoIi10LCAtLXR5cGVkZWZzXG5cCiAgICAgICAgIEdl bmVyYXRlIHRhZyBlbnRyaWVzIGZvciBDIGFuZCBBZGEgdHlwZWRlZnMuIik7CkBAIC0xMTAx LDcgKzEwOTYsNyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVmZmVyKQogICAgICAg ICBhbmQgQysrIG1lbWJlciBmdW5jdGlvbnMuIik7CiAgICAgfQogCi0gIGlmIChDVEFHUykK KyAgaWYgKGN0YWdzKQogICAgIHB1dHMgKCItdSwgLS11cGRhdGVcblwKICAgICAgICAgVXBk YXRlIHRoZSB0YWcgZW50cmllcyBmb3IgdGhlIGdpdmVuIGZpbGVzLCBsZWF2aW5nIHRhZ1xu XAogICAgICAgICBlbnRyaWVzIGZvciBvdGhlciBmaWxlcyBpbiBwbGFjZS4gIEN1cnJlbnRs eSwgdGhpcyBpc1xuXApAQCAtMTExMCw3ICsxMTA1LDcgQEAgcHJpbnRfaGVscCAoYXJndW1l bnQgKmFyZ2J1ZmZlcikKICAgICAgICAgdGFncyBmaWxlLiAgSXQgaXMgb2Z0ZW4gZmFzdGVy IHRvIHNpbXBseSByZWJ1aWxkIHRoZSBlbnRpcmVcblwKICAgICAgICAgdGFnIGZpbGUgdGhh biB0byB1c2UgdGhpcy4iKTsKIAotICBpZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICB7 CiAgICAgICBwdXRzICgiLXYsIC0tdmdyaW5kXG5cCiAgICAgICAgIFByaW50IG9uIHRoZSBz dGFuZGFyZCBvdXRwdXQgYW4gaW5kZXggb2YgaXRlbXMgaW50ZW5kZWQgZm9yXG5cCkBAIC0x MTYwLDcgKzExNTUsNiBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgIGxpbmVi dWZmZXIgZmlsZW5hbWVfbGI7CiAgIGJvb2wgaGVscF9hc2tlZCA9IGZhbHNlOwogICBwdHJk aWZmX3QgbGVuOwotICBjaGFyICpvcHRzdHJpbmc7CiAgIGludCBvcHQ7CiAKICAgcHJvZ25h bWUgPSBhcmd2WzBdOwpAQCAtMTE5Miw5ICsxMTg2LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNo YXIgKiphcmd2KQogCiAgIC8qIFdoZW4gdGhlIG9wdHN0cmluZyBiZWdpbnMgd2l0aCBhICct JyBnZXRvcHRfbG9uZyBkb2VzIG5vdCByZWFycmFuZ2UgdGhlCiAgICAgIG5vbi1vcHRpb25z IGFyZ3VtZW50cyB0byBiZSBhdCB0aGUgZW5kLCBidXQgbGVhdmVzIHRoZW0gYWxvbmUuICov Ci0gIG9wdHN0cmluZyA9IGNvbmNhdCAoIi1hYzpDZjpJbDpvOlFyOlJTVmhIIiwKLQkJICAg ICAgKENUQUdTKSA/ICJCeGR0VHV2dyIgOiAiRGk6IiwKLQkJICAgICAgIiIpOworICBzdGF0 aWMgY2hhciBjb25zdCBvcHRzdHJpbmdbXSA9ICItYUJjOkNkRGY6aEhpOklsOm86UXI6UlN0 VHV2Vnd4IjsKIAogICB3aGlsZSAoKG9wdCA9IGdldG9wdF9sb25nIChhcmdjLCBhcmd2LCBv cHRzdHJpbmcsIGxvbmdvcHRzLCBOVUxMKSkgIT0gRU9GKQogICAgIHN3aXRjaCAob3B0KQpA QCAtMTIxNSw3ICsxMjA3LDE0IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkr K2ZpbGVfY291bnQ7CiAJYnJlYWs7CiAKLSAgICAgIGNhc2UgU1RESU46CisgICAgICBjYXNl IENUQUdTX09QVElPTjoKKwkvKiBPcGVyYXRlIGFzIGN0YWdzLCBub3QgZXRhZ3MuICAqLwor CWN0YWdzID0gdHJ1ZTsKKwlwcm9nbmFtZSA9IG9wdGFyZzsKKwlsYW5nX25hbWVzW0NfTEFO R19OQU1FU19JTkRFWF0uaGVscCA9IGN0YWdzX2RlZmF1bHRfQ19oZWxwOworCWJyZWFrOwor CisgICAgICBjYXNlIFNURElOX09QVElPTjoKIAkvKiBQYXJzZSBzdGFuZGFyZCBpbnB1dC4g IElkZWEgYnkgVml2ZWsgPHZpdmVrQGV0bGEub3JnPi4gKi8KIAlhcmdidWZmZXJbY3VycmVu dF9hcmddLmFyZ190eXBlID0gYXRfc3RkaW47CiAJYXJnYnVmZmVyW2N1cnJlbnRfYXJnXS53 aGF0ICAgICA9IG9wdGFyZzsKQEAgLTEzMjUsNyArMTMyNCw3IEBAIG1haW4gKGludCBhcmdj LCBjaGFyICoqYXJndikKICAgICB9CiAKICAgaWYgKHRhZ2ZpbGUgPT0gTlVMTCkKLSAgICB0 YWdmaWxlID0gc2F2ZXN0ciAoQ1RBR1MgPyAidGFncyIgOiAiVEFHUyIpOworICAgIHRhZ2Zp bGUgPSBzYXZlc3RyIChjdGFncyA/ICJ0YWdzIiA6ICJUQUdTIik7CiAgIGN3ZCA9IGV0YWdz X2dldGN3ZCAoKTsJLyogdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgKi8KICAgaWYg KGN3ZFtzdHJsZW4gKGN3ZCkgLSAxXSAhPSAnLycpCiAgICAgewpAQCAtMTM0OSw3ICsxMzQ4 LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBsaW5lYnVmZmVyX2luaXQg KCZmaWxlYnVmKTsKICAgbGluZWJ1ZmZlcl9pbml0ICgmdG9rZW5fbmFtZSk7CiAKLSAgaWYg KCFDVEFHUykKKyAgaWYgKCFjdGFncykKICAgICB7CiAgICAgICBpZiAoc3RyZXEgKHRhZ2Zp bGUsICItIikpCiAJewpAQCAtMTQwNywxMyArMTQwNiwxMyBAQCBtYWluIChpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCiAgIGZyZWUgKGZpbGVidWYuYnVmZmVyKTsKICAgZnJlZSAodG9rZW5f bmFtZS5idWZmZXIpOwogCi0gIGlmICghQ1RBR1MgfHwgY3hyZWZfc3R5bGUpCisgIGlmICgh Y3RhZ3MgfHwgY3hyZWZfc3R5bGUpCiAgICAgewogICAgICAgLyogV3JpdGUgdGhlIHJlbWFp bmluZyB0YWdzIHRvIHRhZ2YgKEVUQUdTKSBvciBzdGRvdXQgKENYUkVGKS4gKi8KICAgICAg IHB1dF9lbnRyaWVzIChub2RlaGVhZCk7CiAgICAgICBmcmVlX3RyZWUgKG5vZGVoZWFkKTsK ICAgICAgIG5vZGVoZWFkID0gTlVMTDsKLSAgICAgIGlmICghQ1RBR1MpCisgICAgICBpZiAo IWN0YWdzKQogCXsKIAkgIGZkZXNjICpmZHA7CiAKQEAgLTE0NjIsNyArMTQ2MSw3IEBAIG1h aW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgaWYgKGZjbG9zZSAodGFnZikgPT0gRU9G KQogICAgIHBmYXRhbCAodGFnZmlsZSk7CiAKLSAgaWYgKENUQUdTKQorICBpZiAoY3RhZ3Mp CiAgICAgaWYgKGFwcGVuZF90b190YWdmaWxlIHx8IHVwZGF0ZSkKICAgICAgIHsKIAkvKiBN YXliZSB0aGVzZSBzaG91bGQgYmUgdXNlZDoKQEAgLTE4NjAsNyArMTg1OSw3IEBAIHByb2Nl c3NfZmlsZSAoRklMRSAqZmgsIGNoYXIgKmZuLCBsYW5ndWFnZSAqbGFuZykKICAgLyogSWYg bm90IEN0YWdzLCBhbmQgaWYgdGhpcyBpcyBub3QgbWV0YXNvdXJjZSBhbmQgaWYgaXQgY29u dGFpbmVkIG5vICNsaW5lCiAgICAgIGRpcmVjdGl2ZXMsIHdlIGNhbiB3cml0ZSB0aGUgdGFn cyBhbmQgZnJlZSBhbGwgbm9kZXMgcG9pbnRpbmcgdG8KICAgICAgY3VyZmRwLiAqLwotICBp ZiAoIUNUQUdTCisgIGlmICghY3RhZ3MKICAgICAgICYmIGN1cmZkcC0+dXNlY2hhcm5vCS8q IG5vICNsaW5lIGRpcmVjdGl2ZXMgaW4gdGhpcyBmaWxlICovCiAgICAgICAmJiAhY3VyZmRw LT5sYW5nLT5tZXRhc291cmNlKQogICAgIHsKQEAgLTIwOTIsNyArMjA5MSw3IEBAIG1ha2Vf dGFnIChjb25zdCBjaGFyICpuYW1lLCAJLyogdGFnIG5hbWUsIG9yIE5VTEwgaWYgdW5uYW1l ZCAqLwogICAgIGZwcmludGYgKHN0ZGVyciwgIiVzIG9uICVzOiUiUFJJZE1BWCI6ICVzXG4i LAogCSAgICAgbmFtZWQgPyBuYW1lIDogIih1bm5hbWVkKSIsIGN1cmZkcC0+dGFnZ2VkZm5h bWUsIGxubywgbGluZXN0YXJ0KTsKIAotICBpZiAoIUNUQUdTICYmIG5hbWVkKQkJLyogbWF5 YmUgc2V0IG5hbWVkIHRvIGZhbHNlICovCisgIGlmICghY3RhZ3MgJiYgbmFtZWQpCQkvKiBt YXliZSBzZXQgbmFtZWQgdG8gZmFsc2UgKi8KICAgICAvKiBMZXQncyB0cnkgdG8gbWFrZSBh biBpbXBsaWNpdCB0YWcgbmFtZSwgdGhhdCBpcywgY3JlYXRlIGFuIHVubmFtZWQgdGFnCiAg ICAgICAgc3VjaCB0aGF0IGV0YWdzLmVsIGNhbiBndWVzcyBhIG5hbWUgZnJvbSBpdC4gKi8K ICAgICB7CkBAIC0yMTMzLDE3ICsyMTMyLDE3IEBAIHBmbm90ZSAoY2hhciAqbmFtZSwJCS8q IHRhZyBuYW1lLCBvciBOVUxMIGlmIHVubmFtZWQgKi8KIHsKICAgcmVnaXN0ZXIgbm9kZSAq bnA7CiAKLSAgaWYgKChDVEFHUyAmJiBuYW1lID09IE5VTEwpCisgIGlmICgoY3RhZ3MgJiYg bmFtZSA9PSBOVUxMKQogICAgICAgLyogV2UgdXNlZCB0byBoYXZlIGFuIGFzc2VydGlvbiBo ZXJlIGZvciB0aGUgY2FzZSBiZWxvdywgYnV0IGlmIHdlIGhpdAogCSB0aGF0IGNhc2UsIGl0 IGp1c3QgbWVhbnMgb3VyIHBhcnNlciBnb3QgY29uZnVzZWQsIGFuZCB0aGVyZSdzIG5vdGhp bmcKIAkgdG8gZG8gYWJvdXQgc3VjaCBlbXB0eSAidGFncyIuICAqLwotICAgICAgfHwgKCFD VEFHUyAmJiBuYW1lICYmIG5hbWVbMF0gPT0gJ1wwJykpCisgICAgICB8fCAoIWN0YWdzICYm IG5hbWUgJiYgbmFtZVswXSA9PSAnXDAnKSkKICAgICByZXR1cm47CiAKICAgbnAgPSB4bWFs bG9jIChzaXplb2YgKm5wKTsKIAogICAvKiBJZiBjdGFncyBtb2RlLCBjaGFuZ2UgbmFtZSAi bWFpbiIgdG8gTTx0aGlzZmlsZW5hbWU+LiAqLwotICBpZiAoQ1RBR1MgJiYgIWN4cmVmX3N0 eWxlICYmIHN0cmVxIChuYW1lLCAibWFpbiIpKQorICBpZiAoY3RhZ3MgJiYgIWN4cmVmX3N0 eWxlICYmIHN0cmVxIChuYW1lLCAibWFpbiIpKQogICAgIHsKICAgICAgIGNoYXIgKmZwID0g c3RycmNociAoY3VyZmRwLT50YWdnZWRmbmFtZSwgJy8nKTsKICAgICAgIG5wLT5uYW1lID0g Y29uY2F0ICgiTSIsIGZwID09IE5VTEwgPyBjdXJmZHAtPnRhZ2dlZGZuYW1lIDogZnAgKyAx LCAiIik7CkBAIC0yMTY4LDcgKzIxNjcsNyBAQCBwZm5vdGUgKGNoYXIgKm5hbWUsCQkvKiB0 YWcgbmFtZSwgb3IgTlVMTCBpZiB1bm5hbWVkICovCiAgIGVsc2UKICAgICBucC0+Y25vID0g aW52YWxpZGNoYXJubzsKICAgbnAtPmxlZnQgPSBucC0+cmlnaHQgPSBOVUxMOwotICBpZiAo Q1RBR1MgJiYgIWN4cmVmX3N0eWxlKQorICBpZiAoY3RhZ3MgJiYgIWN4cmVmX3N0eWxlKQog ICAgIHsKICAgICAgIGlmIChzdHJubGVuIChsaW5lc3RhcnQsIDUwKSA8IDUwKQogCW5wLT5y ZWdleCA9IGNvbmNhdCAobGluZXN0YXJ0LCAiJCIsICIiKTsKQEAgLTIyOTUsNyArMjI5NCw3 IEBAIGFkZF9ub2RlIChub2RlICpucCwgbm9kZSAqKmN1cl9ub2RlX3ApCiAgICAgICByZXR1 cm47CiAgICAgfQogCi0gIGlmICghQ1RBR1MpCisgIGlmICghY3RhZ3MpCiAgICAgLyogRXRh Z3MgTW9kZSAqLwogICAgIHsKICAgICAgIC8qIEZvciBlYWNoIGZpbGUgbmFtZSwgdGFncyBh cmUgaW4gYSBsaW5rZWQgc3VibGlzdCBvbiB0aGUgcmlnaHQKQEAgLTIzOTQsNyArMjM5Myw3 IEBAIGludmFsaWRhdGVfbm9kZXMgKGZkZXNjICpiYWRmZHAsIG5vZGUgKipucHApCiAgIG5v ZGUgKm5wID0gKm5wcDsKICAgc3RrZW50cnkgKnN0YWNrID0gTlVMTDsKIAotICBpZiAoQ1RB R1MpCisgIGlmIChjdGFncykKICAgICB7CiAgICAgICB3aGlsZSAobnApCiAJewpAQCAtMjUw NCw3ICsyNTAzLDcgQEAgcHV0X2VudHJ5IChub2RlICpucCkKICAgLyogT3V0cHV0IHRoaXMg ZW50cnkgKi8KICAgaWYgKG5wLT52YWxpZCkKICAgICB7Ci0gICAgICBpZiAoIUNUQUdTKQor ICAgICAgaWYgKCFjdGFncykKIAl7CiAJICAvKiBFdGFncyBtb2RlICovCiAJICBpZiAoZmRw ICE9IG5wLT5mZHApCkBAIC0yNTc2LDcgKzI1NzUsNyBAQCBwdXRfZW50cmllcyAobm9kZSAq bnApCiAgIGlmIChucCA9PSBOVUxMKQogICAgIHJldHVybjsKIAotICBpZiAoQ1RBR1MpCisg IGlmIChjdGFncykKICAgICB7CiAgICAgICB3aGlsZSAobnApCiAJewotLSAKMi40NS4yCgo= --------------lebYMyBJwUzUgOiVUY8mTPFp--
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 16 Feb 2025 09:31:33 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 04:31:33 2025 Received: from localhost ([127.0.0.1]:60168 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tjazt-0003MO-Ca for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 04:31:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45150) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tjazq-0003M4-0Q for 76322 <at> debbugs.gnu.org; Sun, 16 Feb 2025 04:31:31 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1tjazj-0001Fh-KA; Sun, 16 Feb 2025 04:31:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=jqgY+phBAyQZCn2iQvChxrZZB+OjUFERejskfAgdcKI=; b=RVu/FD+z/OtZ n9H+TmUqG+iO+Tir+dP/1hDqnjcfZM55XSWawlrie0ttwsV00xViuYVkjMpa6UuV1JqQ4HdIOVEqg SvxE/b5BhG5sarMU9FKboQsgaC4UnNz2uZAHLqPxxZkQld/5T3pesFOyMFmzvHBEIbuGqFPCVKdAA G4zI0pp5EcDqfKgeCOdlZwcGA5IbsgiCPUT23kmajvyruR1U8pUU/YOBdM+xndTu9VVFc8TXiZUFX kThOKmFS0+vhRzaYX6mVbXBt+JQ8nj1yb5p3RpKm3xqYCLeiRADnbDwDVn1tDNa0VtKFdiTVuv7S5 UGMUqxRqktUdq5+Lr6btbA==; Date: Sun, 16 Feb 2025 11:31:19 +0200 Message-Id: <864j0uck2g.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Paul Eggert <eggert@HIDDEN> In-Reply-To: <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> (message from Paul Eggert on Sun, 16 Feb 2025 00:26:02 -0800) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Sun, 16 Feb 2025 00:26:02 -0800 > Cc: 76322 <at> debbugs.gnu.org > From: Paul Eggert <eggert@HIDDEN> > > On 2025-02-15 23:12, Eli Zaretskii wrote: > > So building Emacs on Windows and DOS will still need > > to compile the same source twice, > > How about if we compile a little .exe file that merely execs etags with > the --ctags option? That would be the equivalent of the script. That'd be fine, thanks. But we will need to invoke etags via w32_execvp because of the problems explained in emacsclient.c where that function is defined (which will need to be moved to ntlib.c).
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 16 Feb 2025 08:26:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 03:26:13 2025 Received: from localhost ([127.0.0.1]:59929 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tjZye-0002ec-Rs for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 03:26:13 -0500 Received: from mail.cs.ucla.edu ([131.179.128.66]:48008) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1tjZyb-0002eK-Gz for 76322 <at> debbugs.gnu.org; Sun, 16 Feb 2025 03:26:10 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id A17D63C00E415; Sun, 16 Feb 2025 00:26:03 -0800 (PST) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id DQnqIPtwdTbV; Sun, 16 Feb 2025 00:26:03 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 2EE713C00E41C; Sun, 16 Feb 2025 00:26:03 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 2EE713C00E41C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1739694363; bh=exR13w4xuEq13Q5e3dd9Z8V1FULHTC1PbckjHBIsSSU=; h=Message-ID:Date:MIME-Version:To:From; b=HxtSgqCedLPFW2SUdhKD+x1K7oaBzto6AlTxhV4POATZ4uOz+PVhzvr8BM9Thxvqt V0hJ3M+/VgIIXabRK73PIY7QlNyTb7TBFkVfmDyx5NKInLvg4xIpNtMZf1i6QYC7Vb WGemvwjfBp3oDsJoyw2w6wvP8UF3JoS610QWmqZRyicVXSLuuxDrs206ZN0/gPgVPr vABfHfPiWIyJRK3Xgui5YNhYOzGqmffJhZHVrZYGLKnOOv9Kqm0PgN/oiGtzgwo/mH V0+mUHqigSj97ThhPDj10j2NWErjOgnMjvy5Rdzl/c+ccdUXhO7rs5mCzK66j/SskD vTv48XJ5ztG0w== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id JApXippK9OHR; Sun, 16 Feb 2025 00:26:03 -0800 (PST) Received: from [192.168.254.12] (unknown [47.147.225.25]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 0D6973C00E415; Sun, 16 Feb 2025 00:26:03 -0800 (PST) Message-ID: <c004c070-fcce-4f8f-802b-4763d02a4d77@HIDDEN> Date: Sun, 16 Feb 2025 00:26:02 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76322: Make ctags a thin wrapper around etags To: Eli Zaretskii <eliz@HIDDEN> References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> <86bjv2cqhx.fsf@HIDDEN> Content-Language: en-US From: Paul Eggert <eggert@HIDDEN> Organization: UCLA Computer Science Department In-Reply-To: <86bjv2cqhx.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 2025-02-15 23:12, Eli Zaretskii wrote: > So building Emacs on Windows and DOS will still need > to compile the same source twice, How about if we compile a little .exe file that merely execs etags with the --ctags option? That would be the equivalent of the script.
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Received: (at 76322) by debbugs.gnu.org; 16 Feb 2025 07:12:37 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 02:12:37 2025 Received: from localhost ([127.0.0.1]:59752 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tjYpQ-0004Ig-OC for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 02:12:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50406) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tjYpO-0004IS-DG for 76322 <at> debbugs.gnu.org; Sun, 16 Feb 2025 02:12:35 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1tjYpJ-0000VB-2K; Sun, 16 Feb 2025 02:12:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=rarc650hKpAOAMvrnIwLHc/bWU6aR4xVQT30nrtSmpA=; b=moaa9Ykt3wzP QNdncTFop7ViZMyxJYJCEodTP3NTIiJOa8ByVoJsyfdHWLQm4KfpRmHfM/v2Dx98SeM1fAUHvlPdy eSEb9bCZjFKH1CZ4sqJZPqVfH8b0k7vYoj03M42SEWREyUGPo072jcIEnA3mjZvxxT4az7LEzm3w1 6NLSuMLwIwIgbWhcdB2itCKaLHR/wZxkCILjyaVFXY98zR3TyZMLUTEB/VPHl+JrVdqX8E7TsZwT7 tPhSQEFZg2T1HJzN5DlnDzuEux+/im33EWsgwlYQE/FHiU7juAimjcpDVmFw7rcE7qreJ3uuPYeYx yi+rSINPsjlGeQWOzaXfPA==; Date: Sun, 16 Feb 2025 09:12:26 +0200 Message-Id: <86bjv2cqhx.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Paul Eggert <eggert@HIDDEN> In-Reply-To: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> (message from Paul Eggert on Sat, 15 Feb 2025 21:21:00 -0800) Subject: Re: bug#76322: Make ctags a thin wrapper around etags References: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76322 Cc: 76322 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Sat, 15 Feb 2025 21:21:00 -0800 > From: Paul Eggert <eggert@HIDDEN> > > ctags and etags are both built from the same source file, with a > different compile-time flag. This takes quite a while on my old desktop > when I configure with --enable-gcc-warnings as is my usual practice. > Also, it means two very similar executables are floating around where > one would do. This has long been a FIXME and I finally got annoyed by > the long compiles enough to do something about it. Patch attached. Sorry, that won't fly as suggested because Unix shell scripts don't work on Windows. So building Emacs on Windows and DOS will still need to compile the same source twice, and the patch needs to be changed to do what you suggest only on Posix platforms, leaving ctags a .exe program on DOS/Windows. (And I'd like to avoid making ctags a batch file on Windows, for various obscure reasons.)
bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.Paul Eggert <eggert@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at submit) by debbugs.gnu.org; 16 Feb 2025 05:21:21 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 16 00:21:21 2025 Received: from localhost ([127.0.0.1]:59450 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tjX5k-0000nv-9g for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 00:21:21 -0500 Received: from lists.gnu.org ([2001:470:142::17]:49754) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1tjX5g-0000nd-5Z for submit <at> debbugs.gnu.org; Sun, 16 Feb 2025 00:21:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eggert@HIDDEN>) id 1tjX5a-0002bs-1F for bug-gnu-emacs@HIDDEN; Sun, 16 Feb 2025 00:21:10 -0500 Received: from mail.cs.ucla.edu ([131.179.128.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eggert@HIDDEN>) id 1tjX5V-0004pO-0S for bug-gnu-emacs@HIDDEN; Sun, 16 Feb 2025 00:21:09 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 160453C00E415 for <bug-gnu-emacs@HIDDEN>; Sat, 15 Feb 2025 21:21:02 -0800 (PST) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id OqUD1LHZitC2 for <bug-gnu-emacs@HIDDEN>; Sat, 15 Feb 2025 21:21:00 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id DB9873C00E41C for <bug-gnu-emacs@HIDDEN>; Sat, 15 Feb 2025 21:21:00 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu DB9873C00E41C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1739683260; bh=dkKuwfa3rj9ME911XA87sh+i9mey2DKCFi56EGeDCVw=; h=Message-ID:Date:MIME-Version:To:From; b=EDNM58DPp2J7B2YhgbOntmlQoktcMtDbmZ+I84tXUZxgoCu5jqS5YgGQZYr6BqVqQ zKjzBVCBSVk4o77yU6f3GnXDcFpeuueG1l0Yc5a251GMOG3I9BFhNy1RXoai15AM5u 5mC16mY8X33lzOlUlffm1mzwAYNDDgP6WWLq8uYVciFXl1NZ261GJJjTNtqBQuGROH B9Xsee33KtQ0+P40Zv9pZFc3uaHlCAN1o/4z5wwPuO65xu//2fXOt2lTodxp/YuvJP qLuKxf2DysYTaUrJvO5Y9Ic81n4yR/Zk7gAZmU/xAWaJiKBpGPJ9+4D0Hw7rpH07L7 sHw80+Hu5hjcw== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id ws0peilm0PTM for <bug-gnu-emacs@HIDDEN>; Sat, 15 Feb 2025 21:21:00 -0800 (PST) Received: from [192.168.254.12] (unknown [47.147.225.25]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id BB4163C00E415 for <bug-gnu-emacs@HIDDEN>; Sat, 15 Feb 2025 21:21:00 -0800 (PST) Content-Type: multipart/mixed; boundary="------------dnnF13bq50zKGWyjX7a2gd5u" Message-ID: <06f7198c-4191-476e-a0c0-c781b119330b@HIDDEN> Date: Sat, 15 Feb 2025 21:21:00 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Emacs bug reports and feature requests <bug-gnu-emacs@HIDDEN> From: Paul Eggert <eggert@HIDDEN> Subject: Make ctags a thin wrapper around etags Organization: UCLA Computer Science Department Received-SPF: pass client-ip=131.179.128.66; envelope-from=eggert@HIDDEN; helo=mail.cs.ucla.edu X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --------------dnnF13bq50zKGWyjX7a2gd5u Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit ctags and etags are both built from the same source file, with a different compile-time flag. This takes quite a while on my old desktop when I configure with --enable-gcc-warnings as is my usual practice. Also, it means two very similar executables are floating around where one would do. This has long been a FIXME and I finally got annoyed by the long compiles enough to do something about it. Patch attached. --------------dnnF13bq50zKGWyjX7a2gd5u Content-Type: text/x-patch; charset=UTF-8; name="0001-Make-ctags-a-thin-wrapper-around-etags.patch" Content-Disposition: attachment; filename="0001-Make-ctags-a-thin-wrapper-around-etags.patch" Content-Transfer-Encoding: base64 RnJvbSA4YzMyMzRkMjU0NjE3ZWFhY2VkMjFhMzQzMWJhYWE4ODFmOGJiNDgyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDE1IEZlYiAyMDI1IDE0OjU4OjU0IC0wODAwClN1YmplY3Q6IFtQQVRD SF0gTWFrZSBjdGFncyBhIHRoaW4gd3JhcHBlciBhcm91bmQgZXRhZ3MKClRoaXMgZml4ZXMg YSBGSVhNRSBpbiBsaWItc3JjL01ha2VmaWxlLmluIGFuZCBzcGVlZHMgdXAgY29tcGlsYXRp b24KcXVpdGUgYSBiaXQgb24gbXkgb2xkZXIgQ1BVIHdoZW4gSSBjb21waWxlIHdpdGgJLS1l bmFibGUtZ2NjLXdhcm5pbmdzLgpJdCBhbHNvIGxlc3NlbnMgaW5zdGFsbGF0aW9uIGFuZCBy dW50aW1lIGZvb3RwcmludC4KKiAuZ2l0aWdub3JlOiBEbyBub3QgaWdub3JlIGxpYi1zcmMv Y3RhZ3MuCiogamF2YS9NYWtlZmlsZS5pbiAoaW5zdGFsbF90ZW1wKTogVHJlYXQgY3RhZ3Mg bGlrZSByY3MybG9nLgoqIGxpYi1zcmMvTWFrZWZpbGUuaW4gKElOU1RBTExBQkxFX0VYRVMs IElOU1RBTExBQkxFX1NDUklQVFMpOgpOZXcgbWFjcm9zLCByZXBsYWNpbmcgSU5TVEFMTEFC TEVTLiAgQWxsIHVzZXMgY2hhbmdlZC4KKFVUSUxJVFlfRVhFUywgVVRJTElUWV9TQ1JJUFRT KTogTGlrZXdpc2UsIHJlcGxhY2luZyBVVElMSVRJRVMuCihjdGFncyR7RVhFRVhUfSk6IFJl bW92ZSBydWxlLCBhcyBpdCBpcyBub3cgYSBkaXN0cmlidXRlZCBzY3JpcHQuCiogbGliLXNy Yy9jdGFnczogTmV3IHNoZWxsIGZpbGUuCiogbGliLXNyYy9jdGFncy5jOiBSZW1vdmUuCiog bGliLXNyYy9ldGFncy5jIChDVEFHUyk6IFJlbW92ZS4gIEFsbCB1c2VzIHJlcGxhY2VkIGJ5 IC4uLgooY3RhZ3MpOiAuLi4gdGhpcyBuZXcgc3RhdGljIHZhci4KKFNURElOKTogUmVtb3Zl IG1hY3JvLiAgQWxsIHVzZXMgcmVwbGFjZWQgYnkgbmV3IFNURElOX09QVElPTiBjb25zdGFu dC4KKENUQUdTX09QVElPTiwgU1RESU5fT1BUSU9OKTogTmV3IGNvbnRhbnRzLgoobG9uZ29w dHMpOiBOZXcgLS1jdGFncyBvcHRpb24uCihjdGFnc19kZWZhdWx0X0NfaGVscCk6IE5ldyBj b25zdGFudCwKdG8gb3ZlcnJpZGUgZGVmYXVsdF9DX2hlbHAgYXQgcnVudGltZS4KKGRlZmF1 bHRfQ19oZWxwKTogTm93IGFsd2F5cyB0aGUgZXRhZ3MgdmVyc2lvbi4KKENfTEFOR19OQU1F U19JTkRFWCk6IE5ldyBtYWNyby4KKHByaW50X2xhbmd1YWdlX25hbWVzKTogRG8gbm90IGFz c3VtZSBldGFncy4KKFBST0dSQU1fTkFNRSk6IFJlbW92ZS4gIEFsbCB1c2VzIHJlbW92ZWQu CihwcmludF9oZWxwKTogRG9jdW1lbnQgLS1jdGFncyBpZiBQUklOVF9VTkRPQ1VNRU5URURf T1BUSU9OU19IRUxQLgoobWFpbik6IFN1cHBvcnQgbmV3IC0tY3RhZ3Mgb3B0aW9uLCBhbmQg c3VwcG9ydCBhbGwgW2NlXXRhZ3Mgb3B0aW9ucy4KLS0tCiAuZ2l0aWdub3JlICAgICAgICAg IHwgICAxIC0KIGV0Yy9ORVdTICAgICAgICAgICAgfCAgIDMgKwogZXRjL1BST0JMRU1TICAg ICAgICB8ICAgNCArLQogamF2YS9NYWtlZmlsZS5pbiAgICB8ICAgNyArKy0KIGxpYi1zcmMv TWFrZWZpbGUuaW4gfCAgNDEgKysrKysrKystLS0tLS0KIGxpYi1zcmMvY3RhZ3MgICAgICAg fCAgIDIgKwogbGliLXNyYy9jdGFncy5jICAgICB8ICAgMiAtCiBsaWItc3JjL2V0YWdzLmMg ICAgIHwgMTMxICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiA4IGZpbGVzIGNoYW5nZWQsIDEwMSBpbnNlcnRpb25zKCspLCA5MCBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDc1NSBsaWItc3JjL2N0YWdzCiBkZWxldGUgbW9kZSAxMDA2NDQg bGliLXNyYy9jdGFncy5jCgpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUK aW5kZXggZTYzMDllZDBiMWYuLmE1NmRlZjA1ZTRhIDEwMDY0NAotLS0gYS8uZ2l0aWdub3Jl CisrKyBiLy5naXRpZ25vcmUKQEAgLTIyOSw3ICsyMjksNiBAQCBhLm91dAogbGliLXNyYy9h c3NldC1kaXJlY3RvcnktdG9vbAogbGliLXNyYy9iZS1yZXNvdXJjZXMKIGxpYi1zcmMvYmxl c3NtYWlsCi1saWItc3JjL2N0YWdzCiBsaWItc3JjL2Vicm93c2UKIGxpYi1zcmMvZW1hY3Nj bGllbnQKIGxpYi1zcmMvZXRhZ3MKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MK aW5kZXggNmQ5MzRiMjAyOWMuLjIyMzE2YTFmMmE2IDEwMDY0NAotLS0gYS9ldGMvTkVXUwor KysgYi9ldGMvTkVXUwpAQCAtMjksNiArMjksOSBAQCBhcHBsaWVzLCBhbmQgcGxlYXNlIGFs c28gdXBkYXRlIGRvY3N0cmluZ3MgYXMgbmVlZGVkLgogVGhlIHRyYWRpdGlvbmFsIHVuZXhl YyBkdW1wZXIsIGRlcHJlY2F0ZWQgc2luY2UgRW1hY3MgMjcsIGhhcyBiZWVuCiByZW1vdmVk LgogCisqKiBjdGFncyBpcyBub3cgbWVyZWx5IGEgdGhpbiBzaGVsbCBzY3JpcHQgd3JhcHBl ciBhcm91bmQgZXRhZ3MuCitUaGlzIHNwZWVkcyB1cCBjb21waWxhdGlvbiBhbmQgbGVzc2Vu cyBpbnN0YWxsYXRpb24gZm9vdHByaW50LgorCiAqKiBDaGFuZ2VkIEdDQyBkZWZhdWx0IG9w dGlvbnMgb24gMzItYml0IHg4NiBzeXN0ZW1zLgogV2hlbiB1c2luZyBHQ0MgNCBvciBsYXRl ciB0byBidWlsZCBFbWFjcyBvbiAzMi1iaXQgeDg2IHN5c3RlbXMsCiAnY29uZmlndXJlJyBu b3cgZGVmYXVsdHMgdG8gdXNpbmcgdGhlIEdDQyBvcHRpb25zICctbWZwbWF0aD1zc2UnIChp ZiB0aGUKZGlmZiAtLWdpdCBhL2V0Yy9QUk9CTEVNUyBiL2V0Yy9QUk9CTEVNUwppbmRleCA1 ZmRiNGJkOTVkYi4uNGM4NWRiYjdkYTggMTAwNjQ0Ci0tLSBhL2V0Yy9QUk9CTEVNUworKysg Yi9ldGMvUFJPQkxFTVMKQEAgLTM5NDcsNyArMzk0Nyw3IEBAIFRoZXJlIGFyZSBzZXZlcmFs IGtub3duIHdvcmthcm91bmRzOgogCiBUaGUgbGlua2VyIGVycm9yIG1lc3NhZ2VzIGxvb2sg bGlrZSB0aGlzOgogCi0gb28tc3BkL2kzODYvY3RhZ3MubzpjdGFncy5jOigudGV4dCsweDE1 NmUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19yZV9zZXRfc3ludGF4JworIG9v LXNwZC9pMzg2L2V0YWdzLm86ZXRhZ3MuYzooLnRleHQrMHgxNTZlKTogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgX2ltcF9fcmVfc2V0X3N5bnRheCcKICBjb2xsZWN0MjogbGQgcmV0dXJu ZWQgMSBleGl0IHN0YXR1cwogCiBUaGlzIGhhcHBlbnMgYmVjYXVzZSBHQ0MgZmluZHMgYW4g aW5jb21wYXRpYmxlIHJlZ2V4LmggaGVhZGVyCkBAIC0zOTc4LDcgKzM5NzgsNyBAQCBTb21l IHZlcnNpb25zIG9mIG1pbmd3MzIgbWFrZSBvbiBzb21lIHZlcnNpb25zIG9mIFdpbmRvd3Mg ZG8gbm90IHNlZW0KIHRvIGRldGVjdCB0aGUgc2hlbGwgY29ycmVjdGx5LiAgVHJ5ICJtYWtl IFNIRUxMPWNtZC5leGUiLCBvciBpZiB0aGF0CiBmYWlscywgdHJ5IHJ1bm5pbmcgbWFrZSBm cm9tIEN5Z3dpbiBiYXNoIGluc3RlYWQuCiAKLSoqKiBCdWlsZGluZyAnY3RhZ3MnIGZvciBN Uy1XaW5kb3dzIHdpdGggdGhlIE1pbkdXIHBvcnQgb2YgR0NDIGZhaWxzLgorKioqIEJ1aWxk aW5nICdldGFncycgZm9yIE1TLVdpbmRvd3Mgd2l0aCB0aGUgTWluR1cgcG9ydCBvZiBHQ0Mg ZmFpbHMuCiAKIFRoaXMgbWlnaHQgaGFwcGVuIGR1ZSB0byBhIGJ1ZyBpbiB0aGUgTWluR1cg aGVhZGVyIGFzc2VydC5oLCB3aGljaAogZGVmaW5lcyB0aGUgJ2Fzc2VydCcgbWFjcm8gd2l0 aCBhIHRyYWlsaW5nIHNlbWktY29sb24uICBUaGUgZm9sbG93aW5nCmRpZmYgLS1naXQgYS9q YXZhL01ha2VmaWxlLmluIGIvamF2YS9NYWtlZmlsZS5pbgppbmRleCAzOWQ2ZTg1YzdhNy4u MjFhYzRlNDI1MGQgMTAwNjQ0Ci0tLSBhL2phdmEvTWFrZWZpbGUuaW4KKysrIGIvamF2YS9N YWtlZmlsZS5pbgpAQCAtMzA1LDggKzMwNSwxMyBAQCBpbnN0YWxsX3RlbXA6CiAJICAgIGNw IC1mICQkZmlsZSBpbnN0YWxsX3RlbXAvbGliLyQoQU5EUk9JRF9BQkkpOwlcCiAJICBmaSAJ CQkJCQkJXAogCWRvbmUKLSMgTmV4dCwgcHJvZHVjZSBhIHZlcnNpb24gb2YgcmNzMmxvZyBi ZWZpdHRpbmcgQW5kcm9pZCdzIG5hbWluZworIyBOZXh0LCBwcm9kdWNlIHZlcnNpb25zIG9m IGN0YWdzIGFuZCByY3MybG9nIGJlZml0dGluZyBBbmRyb2lkJ3MgbmFtaW5nCiAjIGNvbnZl bnRpb25zIGFuZCBzaGVsbCBpbnRlcnByZXRlciBsb2NhdGlvbi4KKwkkKEFNX1ZfYXQpIFwK KwlzZWQgJ3N8L2Jpbi9zaHwvc3lzdGVtL2Jpbi9zaHwnCQkJCQlcCisJICQodG9wX3NyY2Rp cikvbGliLXNyYy9jdGFncyA+CQkJCQlcCisJIGluc3RhbGxfdGVtcC9saWIvJChBTkRST0lE X0FCSSkvbGliY3RhZ3Muc28KKwkkKEFNX1ZfYXQpIGNobW9kICt4IGluc3RhbGxfdGVtcC9s aWIvJChBTkRST0lEX0FCSSkvbGliY3RhZ3Muc28KIAkkKEFNX1ZfYXQpIFwKIAlzZWQgJ3N8 L2Jpbi9zaHwvc3lzdGVtL2Jpbi9zaHwnCQkJCQlcCiAJICQodG9wX3NyY2RpcikvbGliLXNy Yy9yY3MybG9nID4JCQkJXApkaWZmIC0tZ2l0IGEvbGliLXNyYy9NYWtlZmlsZS5pbiBiL2xp Yi1zcmMvTWFrZWZpbGUuaW4KaW5kZXggNDM5ZDlhMWE1MmQuLjY0MzA3YTU5MThjIDEwMDY0 NAotLS0gYS9saWItc3JjL01ha2VmaWxlLmluCisrKyBiL2xpYi1zcmMvTWFrZWZpbGUuaW4K QEAgLTE1NSwxMiArMTU1LDEzIEBAIEFORFJPSUQ9CiBDTElFTlRXID0gQENMSUVOVFdACiAK ICMgVGhpbmdzIHRoYXQgYSB1c2VyIG1pZ2h0IGFjdHVhbGx5IHJ1biwgd2hpY2ggc2hvdWxk IGJlIGluc3RhbGxlZCBpbiBiaW5kaXIuCi1JTlNUQUxMQUJMRVMgPSBldGFncyR7RVhFRVhU fSBjdGFncyR7RVhFRVhUfSBlbWFjc2NsaWVudCR7RVhFRVhUfSAkKENMSUVOVFcpIFwKK0lO U1RBTExBQkxFX0VYRVMgPSBldGFncyR7RVhFRVhUfSBlbWFjc2NsaWVudCR7RVhFRVhUfSAk KENMSUVOVFcpIFwKICAgICAgICAgICAgICAgIGVicm93c2Uke0VYRUVYVH0KK0lOU1RBTExB QkxFX1NDUklQVFMgPSBjdGFncwogCiAjIFRoaW5ncyB0aGF0IEVtYWNzIHJ1bnMgaW50ZXJu YWxseSwgb3IgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLAogIyAgd2hpY2ggc2hvdWxkIG5v dCBiZSBpbnN0YWxsZWQgaW4gYmluZGlyLgotVVRJTElUSUVTID0gaGV4bCR7RVhFRVhUfSAJ CQkgCSBcCitVVElMSVRZX0VYRVMgPSBoZXhsJHtFWEVFWFR9IFwKIAkgICAgJChpZiAkKHdp dGhfbWFpbHV0aWxzKSwgLCBtb3ZlbWFpbCR7RVhFRVhUfSkgXAogICAgICAgICAgICAgJChh bmQgJCh1c2VfZ2FtZWRpciksIHVwZGF0ZS1nYW1lLXNjb3JlJHtFWEVFWFR9KQogCkBAIC0x NzUsMTIgKzE3NiwxMiBAQCBET05UX0lOU1RBTEw9CiBlbmRpZgogZW5kaWYKIAotIyBMaWtl IFVUSUxJVElFUywgYnV0IHRoZXkncmUgbm90IHN5c3RlbS1kZXBlbmRlbnQsIGFuZCBzaG91 bGQgbm90IGJlCisjIExpa2UgVVRJTElUWV9FWEVTLCBidXQgdGhleSdyZSBub3Qgc3lzdGVt LWRlcGVuZGVudCwgYW5kIHNob3VsZCBub3QgYmUKICMgIGRlbGV0ZWQgYnkgdGhlIGRpc3Rj bGVhbiB0YXJnZXQuCi1TQ1JJUFRTPSByY3MybG9nCitVVElMSVRZX1NDUklQVFM9IHJjczJs b2cKIAogIyBBbGwgZmlsZXMgdGhhdCBhcmUgY3JlYXRlZCBieSB0aGUgbGlua2VyLCBpLmUu LCB3aG9zZSBuYW1lcyBlbmQgaW4gJHtFWEVFWFR9LgotRVhFX0ZJTEVTID0gJHtJTlNUQUxM QUJMRVN9ICR7VVRJTElUSUVTfSAke0RPTlRfSU5TVEFMTH0KK0VYRV9GSUxFUyA9ICR7SU5T VEFMTEFCTEVfRVhFU30gJHtVVElMSVRZX0VYRVN9ICR7RE9OVF9JTlNUQUxMfQogCiAjIFNw ZWNpZnkgYWRkaXRpb25hbCAtRCBmbGFncyBmb3IgbW92ZW1haWwuIE9wdGlvbnM6CiAjIC1E TUFJTF9VU0VfRkxPQ0sgb3IgLURNQUlMX1VTRV9MT0NLRiAodXNlIGZsb2NrIG9yIGxvY2tm IGZvciBmaWxlIGxvY2tpbmcpLgpAQCAtMjgzLDcgKzI4NCw3IEBAIEFMTF9DWFhGTEFHUyA9 CiAjIENvbmZpZ3VyYXRpb24gZmlsZXMgZm9yIC5vIGZpbGVzIHRvIGRlcGVuZCBvbi4KIGNv bmZpZ19oID0gLi4vc3JjL2NvbmZpZy5oICQoc3JjZGlyKS8uLi9zcmMvY29uZl9wb3N0LmgK IAotYWxsOiAke0VYRV9GSUxFU30gJHtTQ1JJUFRTfQorYWxsOiAke0VYRV9GSUxFU30gJHtJ TlNUQUxMQUJMRV9TQ1JJUFRTfSAke1VUSUxJVFlfU0NSSVBUU30KIAogaWZlcSAoJChTRUND T01QX0ZJTFRFUiksMSkKIGFsbDogc2VjY29tcC1maWx0ZXIuYnBmIHNlY2NvbXAtZmlsdGVy LWV4ZWMuYnBmCkBAIC0zMjQsNyArMzI1LDcgQEAgJChERVNURElSKSR7YXJjaGxpYmRpcn06 CiAJdW1hc2sgMDIyICYmICR7TUtESVJfUH0gIiQoREVTVERJUikke2FyY2hsaWJkaXJ9Igog CWV4cF9hcmNobGliZGlyPWBjZCAiJChERVNURElSKSR7YXJjaGxpYmRpcn0iICYmIHB3ZCAt UGAgJiYgXAogCWlmIFsgIiQkZXhwX2FyY2hsaWJkaXIiICE9ICJgcHdkIC1QYCIgXTsgdGhl biBcCi0JICBmb3IgZmlsZSBpbiAke1VUSUxJVElFU307IGRvIFwKKwkgIGZvciBmaWxlIGlu ICR7VVRJTElUWV9FWEVTfTsgZG8gXAogCSAgICAkKElOU1RBTExfUFJPR1JBTSkgJChJTlNU QUxMX1NUUklQKSAkJGZpbGUgXAogCSAgICAgICIkKERFU1RESVIpJHthcmNobGliZGlyfS8k JGZpbGUiIHx8IGV4aXQ7IFwKIAkgIGRvbmUgOyBcCkBAIC0zNTEsNyArMzUyLDcgQEAgJChE RVNURElSKSR7YXJjaGxpYmRpcn06CiAgIGVuZGlmCiAJZXhwX2FyY2hsaWJkaXI9YGNkICIk KERFU1RESVIpJHthcmNobGliZGlyfSIgJiYgcHdkIC1QYCAmJiBcCiAJaWYgWyAiJCRleHBf YXJjaGxpYmRpciIgIT0gImBjZCAke3NyY2Rpcn0gJiYgcHdkIC1QYCIgXTsgdGhlbiBcCi0J ICBmb3IgZmlsZSBpbiAke1NDUklQVFN9OyBkbyBcCisJICBmb3IgZmlsZSBpbiAke1VUSUxJ VFlfU0NSSVBUU307IGRvIFwKIAkgICAgJChJTlNUQUxMX1NDUklQVCkgJHtzcmNkaXJ9LyQk ZmlsZSBcCiAJICAgICAgIiQoREVTVERJUikke2FyY2hsaWJkaXJ9LyQkZmlsZSIgfHwgZXhp dDsgXAogCSAgZG9uZSA7IFwKQEAgLTM2NCwyMiArMzY1LDMzIEBAIGluc3RhbGw6CiAJJChp bmZvICQuKQogCSQoaW5mbyBJbnN0YWxsaW5nIHV0aWxpdGllcyBmb3IgdXNlcnMgdG8gcnVu LikKIAl1bWFzayAwMjIgJiYgJHtNS0RJUl9QfSAiJChERVNURElSKSR7YmluZGlyfSIKLQlm b3IgZmlsZSBpbiAke0lOU1RBTExBQkxFU30gOyBkbyBcCisJZm9yIGZpbGUgaW4gJHtJTlNU QUxMQUJMRV9FWEVTfSA7IGRvIFwKIAkgICQoSU5TVEFMTF9QUk9HUkFNKSAkKElOU1RBTExf U1RSSVApICQke2ZpbGV9IFwKIAkgICAgIiQoREVTVERJUikke2JpbmRpcn0iL2AgXAogCSAg ICAgIGVjaG8gJCR7ZmlsZX0gfCBzZWQgLWUgJ3MvJHtFWEVFWFR9JCQvLycgLWUgJyQoVFJB TlNGT1JNKScgXAogCSAgICBgJHtFWEVFWFR9IHx8IGV4aXQ7IFwKIAlkb25lCisJZm9yIGZp bGUgaW4gJHtJTlNUQUxMQUJMRV9TQ1JJUFRTfSA7IGRvIFwKKwkgICQoSU5TVEFMTF9QUk9H UkFNKSAkJHtmaWxlfSBcCisJICAgICIkKERFU1RESVIpJHtiaW5kaXJ9Ii9gIFwKKwkgICAg ICBlY2hvICQke2ZpbGV9IHwgc2VkIC1lICckKFRSQU5TRk9STSknIFwKKwkgICAgYCB8fCBl eGl0OyBcCisJZG9uZQogCiB1bmluc3RhbGw6Ci0JZm9yIGZpbGUgaW4gJHtJTlNUQUxMQUJM RVN9OyBkbyBcCisJZm9yIGZpbGUgaW4gJHtJTlNUQUxMQUJMRV9FWEVTfTsgZG8gXAogCSAg cm0gLWYgIiQoREVTVERJUikke2JpbmRpcn0iL2AgXAogCSAgICBlY2hvICQke2ZpbGV9IHwg c2VkIC1lICdzLyR7RVhFRVhUfSQkLy8nIC1lICckKFRSQU5TRk9STSknIFwKIAkgIGAke0VY RUVYVH07IFwKIAlkb25lCisJZm9yIGZpbGUgaW4gJHtJTlNUQUxMQUJMRV9TQ1JJUFRTfTsg ZG8gXAorCSAgcm0gLWYgIiQoREVTVERJUikke2JpbmRpcn0iL2AgXAorCSAgICBlY2hvICQk e2ZpbGV9IHwgc2VkIC1lICckKFRSQU5TRk9STSknIFwKKwkgIGA7IFwKKwlkb25lCiAJaWYg WyAtZCAiJChERVNURElSKSR7YXJjaGxpYmRpcn0iIF07IHRoZW4gXAogCSAgY2QgIiQoREVT VERJUikke2FyY2hsaWJkaXJ9IiAmJiBcCi0JICBybSAtZiAke1VUSUxJVElFU30gJHtTQ1JJ UFRTfTsgXAorCSAgcm0gLWYgJHtVVElMSVRZX0VYRVN9ICR7VVRJTElUWV9TQ1JJUFRTfTsg XAogCWZpCiAKIG1vc3RseWNsZWFuOgpAQCAtNDE1LDEzICs0MjcsNiBAQCBldGFnc19saWJz ID0KIGV0YWdzJHtFWEVFWFR9OiAke2V0YWdzX2RlcHN9CiAJJChBTV9WX0NDTEQpJChDQykg JHtBTExfQ0ZMQUdTfSAtbyAkQCAkPCAkKGV0YWdzX2xpYnMpCiAKLSMjIGN0YWdzLmMgaXMg ZGlzdGluY3QgZnJvbSBldGFncy5jIHNvIHRoYXQgcGFyYWxsZWwgbWFrZXMgZG8gbm90IHdy aXRlIHR3bwotIyMgZXRhZ3MubyBmaWxlcyBvbiB0b3Agb2YgZWFjaCBvdGhlci4KLSMjIEZJ WE1FPwotIyMgQ2FuJ3Qgd2UgdXNlIGEgd3JhcHBlciB0aGF0IGNhbGxzICdldGFncyAtLWN0 YWdzJz8KLWN0YWdzJHtFWEVFWFR9OiAke3NyY2Rpcn0vY3RhZ3MuYyAke2V0YWdzX2RlcHN9 Ci0JJChBTV9WX0NDTEQpJChDQykgJHtBTExfQ0ZMQUdTfSAtbyAkQCAkPCAkKGV0YWdzX2xp YnMpCi0KIGFzc2V0LWRpcmVjdG9yeS10b29sJHtFWEVFWFR9OiAke3NyY2Rpcn0vYXNzZXQt ZGlyZWN0b3J5LXRvb2wuYyAkKGNvbmZpZ19oKQogCSQoQU1fVl9DQ0xEKSQoQ0MpICR7QUxM X0NGTEFHU30gJDwgJChMT0FETElCRVMpIC1vICRACiAKZGlmZiAtLWdpdCBhL2xpYi1zcmMv Y3RhZ3MgYi9saWItc3JjL2N0YWdzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAw MDAwMDAwLi45Y2M5NWY3OWIwMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi1zcmMvY3RhZ3MK QEAgLTAsMCArMSwyIEBACisjIS9iaW4vc2gKK2V4ZWMgZXRhZ3MgLS1jdGFncz0iJDAiICIk QCIKZGlmZiAtLWdpdCBhL2xpYi1zcmMvY3RhZ3MuYyBiL2xpYi1zcmMvY3RhZ3MuYwpkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGE2ODM4YTlkYmIuLjAwMDAwMDAwMDAwCi0t LSBhL2xpYi1zcmMvY3RhZ3MuYworKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotI2Rl ZmluZSBDVEFHUyAxCi0jaW5jbHVkZSAiZXRhZ3MuYyIKZGlmZiAtLWdpdCBhL2xpYi1zcmMv ZXRhZ3MuYyBiL2xpYi1zcmMvZXRhZ3MuYwppbmRleCBiNTliNzBjOWVjNy4uZGFhNTFjMTI1 ZDQgMTAwNjQ0Ci0tLSBhL2xpYi1zcmMvZXRhZ3MuYworKysgYi9saWItc3JjL2V0YWdzLmMK QEAgLTEyNiwxNiArMTI2LDYgQEAgQ29weXJpZ2h0IChDKSAxOTg0LCAxOTg3LTE5ODksIDE5 OTMtMTk5NSwgMTk5OC0yMDI1IEZyZWUgU29mdHdhcmUKICNpbmNsdWRlIDxnZXRvcHQuaD4K ICNpbmNsdWRlIDxyZWdleC5oPgogCi0vKiBEZWZpbmUgQ1RBR1MgdG8gbWFrZSB0aGUgcHJv Z3JhbSAiY3RhZ3MiIGNvbXBhdGlibGUgd2l0aCB0aGUgdXN1YWwgb25lLgotIExlYXZlIGl0 IHVuZGVmaW5lZCB0byBtYWtlIHRoZSBwcm9ncmFtICJldGFncyIsIHdoaWNoIG1ha2VzIGVt YWNzLXN0eWxlCi0gdGFnIHRhYmxlcyBhbmQgdGFncyB0eXBlZGVmcywgI2RlZmluZXMgYW5k IHN0cnVjdC91bmlvbi9lbnVtIGJ5IGRlZmF1bHQuICovCi0jaWZkZWYgQ1RBR1MKLSMgdW5k ZWYgIENUQUdTCi0jIGRlZmluZSBDVEFHUyB0cnVlCi0jZWxzZQotIyBkZWZpbmUgQ1RBR1Mg ZmFsc2UKLSNlbmRpZgotCiAvKiBEZWZpbmUgTUVSQ1VSWV9IRVVSSVNUSUNTX1JBVElPIGFz IGl0IHdhcyBuZWNlc3NhcnkgdG8gZGlzYW1iaWd1YXRlCiAgICBNZXJjdXJ5IGZyb20gT2Jq ZWN0aXZlIEMsIHdoaWNoIGhhdmUgc2FtZSBmaWxlIGV4dGVuc2lvbnMgLm0KICAgIFNlZSBj b21tZW50cyBiZWZvcmUgZnVuY3Rpb24gdGVzdF9vYmpjX2lzX21lcmN1cnkgZm9yIGRldGFp bHMuICAqLwpAQCAtNDc5LDE4ICs0NjksMjAgQEAgI2RlZmluZSB4cm5ldyhvcCwgbiwgbSkg KChvcCkgPSB4bnJlYWxsb2MgKG9wLCBuLCAobSkgKiBzaXplb2YgKihvcCkpKQogc3RhdGlj IGJvb2wgaWdub3JlaW5kZW50OwkvKiAtSTogaWdub3JlIGluZGVudGF0aW9uIGluIEMgKi8K IHN0YXRpYyBpbnQgcGFja2FnZXNfb25seTsJLyogLS1wYWNrYWdlcy1vbmx5OiBpbiBBZGEs IG9ubHkgdGFnIHBhY2thZ2VzKi8KIHN0YXRpYyBpbnQgY2xhc3NfcXVhbGlmeTsJLyogLVE6 IHByb2R1Y2UgY2xhc3MtcXVhbGlmaWVkIHRhZ3MgaW4gQysrL0phdmEgKi8KK3N0YXRpYyBi b29sIGN0YWdzOwkJLyogLS1jdGFncyAqLwogc3RhdGljIGludCBkZWJ1ZzsJCS8qIC0tZGVi dWcgKi8KIHN0YXRpYyBpbnQgZmFsbGJhY2tfbGFuZzsJLyogLS0obm8tKWZhbGxiYWNrLWxh bmc6IEZvcnRyYW4vQyBmYWxsYmFja3MgKi8KIHN0YXRpYyBpbnQgZW1wdHlfZmlsZXM7CQkv KiAtLShuby0pZW1wdHktZmlsZS1lbnRyaWVzICovCi0KLS8qIFNURElOIGlzIGRlZmluZWQg aW4gTHlueE9TIHN5c3RlbSBoZWFkZXJzICovCi0jaWZkZWYgU1RESU4KLSMgdW5kZWYgU1RE SU4KLSNlbmRpZgotCi0jZGVmaW5lIFNURElOIDB4MTAwMQkJLyogcmV0dXJuZWQgYnkgZ2V0 b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAqLwogc3RhdGljIGJvb2wgcGFyc2luZ19zdGRp bjsJLyogLS1wYXJzZS1zdGRpbiB1c2VkICovCiAKKy8qIEZvciBsb25nIG9wdGlvbnMgdGhh dCBoYXZlIG5vIGVxdWl2YWxlbnQgc2hvcnQgb3B0aW9uLCB1c2UgYQorICAgbm9uLWNoYXJh Y3RlciBhcyBhIHBzZXVkbyBzaG9ydCBvcHRpb24sIHN0YXJ0aW5nIHdpdGggQ0hBUl9NQVgg KyAxLiAgKi8KK2VudW0KKyAgeworICAgIENUQUdTX09QVElPTiA9IENIQVJfTUFYICsgMSwK KyAgICBTVERJTl9PUFRJT04KKyAgfTsKKwogc3RhdGljIHJlZ2V4cCAqcF9oZWFkOwkJLyog bGlzdCBvZiBhbGwgcmVnZXhwcyAqLwogc3RhdGljIGJvb2wgbmVlZF9maWxlYnVmOwkvKiBz b21lIHJlZ2V4ZXMgYXJlIG11bHRpLWxpbmUgKi8KIApAQCAtNDk5LDYgKzQ5MSw3IEBAICNk ZWZpbmUgU1RESU4gMHgxMDAxCQkvKiByZXR1cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBh cnNlLXN0ZGluICovCiAgIHsgImFwcGVuZCIsICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAg ICAgICBOVUxMLCAgICAgICAgICAgICAgICdhJyAgIH0sCiAgIHsgInBhY2thZ2VzLW9ubHki LCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAmcGFja2FnZXNfb25seSwgICAgIDEgICAgIH0s CiAgIHsgImMrKyIsICAgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAg ICAgICAgICAgICAgICdDJyAgIH0sCisgIHsgImN0YWdzIiwgICAgICAgICAgICAgIHJlcXVp cmVkX2FyZ3VtZW50LCBOVUxMLCAgICAgICAgQ1RBR1NfT1BUSU9OIH0sCiAgIHsgImRlYnVn IiwgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAmZGVidWcsICAgICAgICAgICAg IDEgICAgIH0sCiAgIHsgImRlY2xhcmF0aW9ucyIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAg ICAmZGVjbGFyYXRpb25zLCAgICAgIDEgICAgIH0sCiAgIHsgIm5vLWxpbmUtZGlyZWN0aXZl IiwgIG5vX2FyZ3VtZW50LCAgICAgICAmbm9fbGluZV9kaXJlY3RpdmUsIDEgICAgIH0sCkBA IC01MTQsMTAgKzUwNywxMCBAQCAjZGVmaW5lIFNURElOIDB4MTAwMQkJLyogcmV0dXJuZWQg YnkgZ2V0b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAqLwogICB7ICJyZWdleCIsICAgICAg ICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgICAgICAgICAgICAgICAncicgICB9 LAogICB7ICJuby1yZWdleCIsICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwg ICAgICAgICAgICAgICAnUicgICB9LAogICB7ICJpZ25vcmUtY2FzZS1yZWdleCIsICByZXF1 aXJlZF9hcmd1bWVudCwgTlVMTCwgICAgICAgICAgICAgICAnYycgICB9LAotICB7ICJwYXJz ZS1zdGRpbiIsICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgICAgICAgICAgICAg ICBTVERJTiB9LAorICB7ICJwYXJzZS1zdGRpbiIsICAgICAgICByZXF1aXJlZF9hcmd1bWVu dCwgTlVMTCwgICAgICAgIFNURElOX09QVElPTiB9LAogICB7ICJ2ZXJzaW9uIiwgICAgICAg ICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgICAgICAgICAgICAgICAnVicgICB9LAog Ci0jaWYgQ1RBR1MgLyogQ3RhZ3Mgb3B0aW9ucyAqLworICAvKiBjdGFncyBvcHRpb25zICov CiAgIHsgImJhY2t3YXJkLXNlYXJjaCIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAg ICAgICAgICAgICAgICdCJyAgIH0sCiAgIHsgImN4cmVmIiwgICAgICAgICAgICAgIG5vX2Fy Z3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAgICAgICd4JyAgIH0sCiAgIHsgImRlZmlu ZXMiLCAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAgICAg ICdkJyAgIH0sCkBAIC01MjgsNyArNTIxLDcgQEAgI2RlZmluZSBTVERJTiAweDEwMDEJCS8q IHJldHVybmVkIGJ5IGdldG9wdF9sb25nIG9uIC0tcGFyc2Utc3RkaW4gKi8KICAgeyAidmdy aW5kIiwgICAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICAgICAgICAgICAg ICAgJ3YnICAgfSwKICAgeyAibm8td2FybiIsICAgICAgICAgICAgbm9fYXJndW1lbnQsICAg ICAgIE5VTEwsICAgICAgICAgICAgICAgJ3cnICAgfSwKIAotI2Vsc2UgLyogRXRhZ3Mgb3B0 aW9ucyAqLworICAvKiBldGFncyBvcHRpb25zICovCiAgIHsgIm5vLWRlZmluZXMiLCAgICAg ICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAgICAgICAgICAgICAgICdEJyAgIH0sCiAg IHsgIm5vLWdsb2JhbHMiLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAmZ2xvYmFscywg ICAgICAgICAgIDAgICAgIH0sCiAgIHsgImluY2x1ZGUiLCAgICAgICAgICAgIHJlcXVpcmVk X2FyZ3VtZW50LCBOVUxMLCAgICAgICAgICAgICAgICdpJyAgIH0sCkBAIC01MzYsNyArNTI5 LDcgQEAgI2RlZmluZSBTVERJTiAweDEwMDEJCS8qIHJldHVybmVkIGJ5IGdldG9wdF9sb25n IG9uIC0tcGFyc2Utc3RkaW4gKi8KICAgeyAiZmFsbGJhY2stbGFuZyIsICAgICAgbm9fYXJn dW1lbnQsICAgICAgICZmYWxsYmFja19sYW5nLCAgICAgMSAgICAgfSwKICAgeyAibm8tZW1w dHktZmlsZS1lbnRyaWVzIiwgbm9fYXJndW1lbnQsICAgICZlbXB0eV9maWxlcywgICAgICAg MCAgICAgfSwKICAgeyAiZW1wdHktZmlsZS1lbnRyaWVzIiwgbm9fYXJndW1lbnQsICAgICAg ICZlbXB0eV9maWxlcywgICAgICAgMSAgICAgfSwKLSNlbmRpZgorCiAgIHsgTlVMTCB9CiB9 OwogCkBAIC01OTgsMTUgKzU5MSwxNyBAQCAjZGVmaW5lIFNURElOIDB4MTAwMQkJLyogcmV0 dXJuZWQgYnkgZ2V0b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAqLwogICAgVGhhdCBpcyB3 aHkgZGVmYXVsdF9DX2VudHJpZXMgaXMgY2FsbGVkIGZvciB0aGVzZS4gKi8KIHN0YXRpYyBj b25zdCBjaGFyICpkZWZhdWx0X0Nfc3VmZml4ZXMgW10gPQogICB7ICJjIiwgImgiLCBOVUxM IH07Ci0jaWYgQ1RBR1MJCQkJLyogQyBoZWxwIGZvciBDdGFncyAqLwotc3RhdGljIGNvbnN0 IGNoYXIgZGVmYXVsdF9DX2hlbHAgW10gPQorCisvKiBDIGhlbHAgZm9yIGN0YWdzICovCitz dGF0aWMgY29uc3QgY2hhciBjdGFnc19kZWZhdWx0X0NfaGVscFtdID0KICJJbiBDIGNvZGUs IGFueSBDIGZ1bmN0aW9uIGlzIGEgdGFnLiAgVXNlIC10IHRvIHRhZyB0eXBlZGVmcy5cblwK IFVzZSAtVCB0byB0YWcgZGVmaW5pdGlvbnMgb2YgJ3N0cnVjdCcsICd1bmlvbicgYW5kICdl bnVtJy5cblwKIFVzZSAtZCB0byB0YWcgJyNkZWZpbmUnIG1hY3JvIGRlZmluaXRpb25zIGFu ZCAnZW51bScgY29uc3RhbnRzLlxuXAogVXNlIC0tZ2xvYmFscyB0byB0YWcgZ2xvYmFsIHZh cmlhYmxlcy5cblwKIFlvdSBjYW4gdGFnIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgZXh0 ZXJuYWwgdmFyaWFibGVzIGJ5XG5cCiB1c2luZyAnLS1kZWNsYXJhdGlvbnMnLCBhbmQgc3Ry dWN0IG1lbWJlcnMgYnkgdXNpbmcgJy0tbWVtYmVycycuIjsKLSNlbHNlCQkJCQkvKiBDIGhl bHAgZm9yIEV0YWdzICovCisKKy8qIEMgaGVscCBmb3IgZXRhZ3MgKi8KIHN0YXRpYyBjb25z dCBjaGFyIGRlZmF1bHRfQ19oZWxwIFtdID0KICJJbiBDIGNvZGUsIGFueSBDIGZ1bmN0aW9u IG9yIHR5cGVkZWYgaXMgYSB0YWcsIGFuZCBzbyBhcmVcblwKIGRlZmluaXRpb25zIG9mICdz dHJ1Y3QnLCAndW5pb24nIGFuZCAnZW51bScuICAnI2RlZmluZScgbWFjcm9cblwKQEAgLTYx Nyw3ICs2MTIsNiBAQCAjZGVmaW5lIFNURElOIDB4MTAwMQkJLyogcmV0dXJuZWQgYnkgZ2V0 b3B0X2xvbmcgb24gLS1wYXJzZS1zdGRpbiAqLwogJy0tbm8tbWVtYmVycycgY2FuIG1ha2Ug dGhlIHRhZ3MgdGFibGUgZmlsZSBtdWNoIHNtYWxsZXIuXG5cCiBZb3UgY2FuIHRhZyBmdW5j dGlvbiBkZWNsYXJhdGlvbnMgYW5kIGV4dGVybmFsIHZhcmlhYmxlcyBieVxuXAogdXNpbmcg Jy0tZGVjbGFyYXRpb25zJy4iOwotI2VuZGlmCS8qIEMgaGVscCBmb3IgQ3RhZ3MgYW5kIEV0 YWdzICovCiAKIHN0YXRpYyBjb25zdCBjaGFyICpDcGx1c3BsdXNfc3VmZml4ZXMgW10gPQog ICB7ICJDIiwgImMrKyIsICJjYyIsICJjcHAiLCAiY3h4IiwgIkgiLCAiaCsrIiwgImhoIiwg ImhwcCIsICJoeHgiLApAQCAtODYyLDYgKzg1Niw3IEBAICNkZWZpbmUgU1RESU4gMHgxMDAx CQkvKiByZXR1cm5lZCBieSBnZXRvcHRfbG9uZyBvbiAtLXBhcnNlLXN0ZGluICovCiB7CiAg IHsgImFkYSIsICAgICAgIEFkYV9oZWxwLCAgICAgICBBZGFfZnVuY3MsICAgICAgICAgQWRh X3N1ZmZpeGVzICAgICAgIH0sCiAgIHsgImFzbSIsICAgICAgIEFzbV9oZWxwLCAgICAgICBB c21fbGFiZWxzLCAgICAgICAgQXNtX3N1ZmZpeGVzICAgICAgIH0sCisjZGVmaW5lIENfTEFO R19OQU1FU19JTkRFWCAyCiAgIHsgImMiLCAgICAgICAgIGRlZmF1bHRfQ19oZWxwLCBkZWZh dWx0X0NfZW50cmllcywgZGVmYXVsdF9DX3N1ZmZpeGVzIH0sCiAgIHsgImMrKyIsICAgICAg IENwbHVzcGx1c19oZWxwLCBDcGx1c3BsdXNfZW50cmllcywgQ3BsdXNwbHVzX3N1ZmZpeGVz IH0sCiAgIHsgImMqIiwgICAgICAgIG5vX2xhbmdfaGVscCwgICBDc3Rhcl9lbnRyaWVzLCAg ICAgQ3N0YXJfc3VmZml4ZXMgICAgIH0sCkBAIC05MjgsMjQgKzkyMywyMCBAQCBwcmludF9s YW5ndWFnZV9uYW1lcyAodm9pZCkKIEZvcnRyYW4gaXMgdHJpZWQgZmlyc3Q7IGlmIG5vIHRh Z3MgYXJlIGZvdW5kLCBDIGlzIHRyaWVkIG5leHQuXG5cCiBXaGVuIHBhcnNpbmcgYW55IEMg ZmlsZSwgYSBcImNsYXNzXCIgb3IgXCJ0ZW1wbGF0ZVwiIGtleXdvcmRcblwKIHN3aXRjaGVz IHRvIEMrKy4iKTsKLSAgcHV0cyAoIkNvbXByZXNzZWQgZmlsZXMgYXJlIHN1cHBvcnRlZCB1 c2luZyBnemlwLCBiemlwMiwgeHosIGFuZCB6c3RkLlxuXAorICBwcmludGYgKCJDb21wcmVz c2VkIGZpbGVzIGFyZSBzdXBwb3J0ZWQgdXNpbmcgZ3ppcCwgYnppcDIsIHh6LCBhbmQgenN0 ZC5cblwKIFxuXAogRm9yIGRldGFpbGVkIGhlbHAgb24gYSBnaXZlbiBsYW5ndWFnZSB1c2Us IGZvciBleGFtcGxlLFxuXAotZXRhZ3MgLS1oZWxwIC0tbGFuZz1hZGEuIik7CislcyAtLWhl bHAgLS1sYW5nPWFkYS5cbiIsCisJICBwcm9nbmFtZSk7CiB9CiAKLSNpZiBDVEFHUwotIyBk ZWZpbmUgUFJPR1JBTV9OQU1FICJjdGFncyIKLSNlbHNlCi0jIGRlZmluZSBQUk9HUkFNX05B TUUgImV0YWdzIgotI2VuZGlmCiBzdGF0aWMgX05vcmV0dXJuIHZvaWQKIHByaW50X3ZlcnNp b24gKHZvaWQpCiB7Ci0gIGZwdXRzICgoUFJPR1JBTV9OQU1FICIgKCIgUEFDS0FHRV9OQU1F ICIgIiBQQUNLQUdFX1ZFUlNJT04gIilcbiIKLQkgIENPUFlSSUdIVCAiXG4iCi0JICAiVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBpbiBFVEFHUy5SRUFE TUVcbiIpLAotCSBzdGRvdXQpOworICBwcmludGYgKCgiJXMgKCVzICVzKVxuIgorCSAgICIl c1xuIgorCSAgICJUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1z IGluIEVUQUdTLlJFQURNRVxuIiksCisJICBjdGFncyA/ICJjdGFncyIgOiAiZXRhZ3MiLCBQ QUNLQUdFX05BTUUsIFBBQ0tBR0VfVkVSU0lPTiwgQ09QWVJJR0hUKTsKICAgZXhpdCAoRVhJ VF9TVUNDRVNTKTsKIH0KIApAQCAtOTg0LDcgKzk3NSw3IEBAIHByaW50X2hlbHAgKGFyZ3Vt ZW50ICphcmdidWZmZXIpCiAgIHB1dHMgKCItLXBhY2thZ2VzLW9ubHlcblwKICAgICAgICAg Rm9yIEFkYSBmaWxlcywgb25seSBnZW5lcmF0ZSB0YWdzIGZvciBwYWNrYWdlcy4iKTsKIAot ICBpZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICBwdXRzICgiLUIsIC0tYmFja3dhcmQt c2VhcmNoXG5cCiAgICAgICAgIFdyaXRlIHRoZSBzZWFyY2ggY29tbWFuZHMgZm9yIHRoZSB0 YWcgZW50cmllcyB1c2luZyAnPycsIHRoZVxuXAogICAgICAgICBiYWNrd2FyZC1zZWFyY2gg Y29tbWFuZCBpbnN0ZWFkIG9mICcvJywgdGhlIGZvcndhcmQtc2VhcmNoIGNvbW1hbmQuIik7 CkBAIC05OTcsOSArOTg4LDEzIEBAIHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIp CiAgICAgICAgIFRyZWF0IGZpbGVzIHdob3NlIG5hbWUgc3VmZml4IGRlZmF1bHRzIHRvIEMg bGFuZ3VhZ2UgYXMgQysrIGZpbGVzLiIpOwogICAqLwogCisgIGlmIChQUklOVF9VTkRPQ1VN RU5URURfT1BUSU9OU19IRUxQICYmICFjdGFncykKKyAgICBwdXRzICgiLS1jdGFncz1QUk9H UkFNX05BTUVcblwKKwlJbXBsZW1lbnQgY3RhZ3MgYmVoYXZpb3IgdW5kZXIgdGhlIG5hbWUg UFJPR1JBTV9OQU1FLiIpOworCiAgIHB1dHMgKCItLWRlY2xhcmF0aW9uc1xuXAogCUluIEMg YW5kIGRlcml2ZWQgbGFuZ3VhZ2VzLCBjcmVhdGUgdGFncyBmb3IgZnVuY3Rpb24gZGVjbGFy YXRpb25zLCIpOwotICBpZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICBwdXRzICgiXHRh bmQgY3JlYXRlIHRhZ3MgZm9yIGV4dGVybiB2YXJpYWJsZXMgaWYgLS1nbG9iYWxzIGlzIHVz ZWQuIik7CiAgIGVsc2UKICAgICBwdXRzCkBAIC0xMDA4LDcgKzEwMDMsNyBAQCBwcmludF9o ZWxwIChhcmd1bWVudCAqYXJnYnVmZmVyKQogICBwdXRzICgiXHRJbiBNZXJjdXJ5LCB0YWcg Ym90aCBkZWNsYXJhdGlvbnMgc3RhcnRpbmcgYSBsaW5lIHdpdGggJzotJyBhbmRcblwKICAg ICAgICAgZmlyc3QgcHJlZGljYXRlcyBvciBmdW5jdGlvbnMgaW4gY2xhdXNlcy4iKTsKIAot ICBpZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICBwdXRzICgiLWQsIC0tZGVmaW5lc1xu XAogICAgICAgICBDcmVhdGUgdGFnIGVudHJpZXMgZm9yIEMgI2RlZmluZSBjb25zdGFudHMg YW5kIGVudW0gY29uc3RhbnRzLCB0b28uIik7CiAgIGVsc2UKQEAgLTEwMTYsNyArMTAxMSw3 IEBAIHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZmZXIpCiAgICAgICAgIERvbid0IGNy ZWF0ZSB0YWcgZW50cmllcyBmb3IgQyAjZGVmaW5lIGNvbnN0YW50cyBhbmQgZW51bSBjb25z dGFudHMuXG5cCiAJVGhpcyBtYWtlcyB0aGUgdGFncyBmaWxlIHNtYWxsZXIuIik7CiAKLSAg aWYgKCFDVEFHUykKKyAgaWYgKCFjdGFncykKICAgICBwdXRzICgiLWkgRklMRSwgLS1pbmNs dWRlPUZJTEVcblwKICAgICAgICAgSW5jbHVkZSBhIG5vdGUgaW4gdGFnIGZpbGUgaW5kaWNh dGluZyB0aGF0LCB3aGVuIHNlYXJjaGluZyBmb3JcblwKICAgICAgICAgYSB0YWcsIG9uZSBz aG91bGQgYWxzbyBjb25zdWx0IHRoZSB0YWdzIGZpbGUgRklMRSBhZnRlclxuXApAQCAtMTAy Niw3ICsxMDIxLDcgQEAgcHJpbnRfaGVscCAoYXJndW1lbnQgKmFyZ2J1ZmZlcikKICAgICAg ICAgRm9yY2UgdGhlIGZvbGxvd2luZyBmaWxlcyB0byBiZSBjb25zaWRlcmVkIGFzIHdyaXR0 ZW4gaW4gdGhlXG5cCiAJbmFtZWQgbGFuZ3VhZ2UgdXAgdG8gdGhlIG5leHQgLS1sYW5ndWFn ZT1MQU5HIG9wdGlvbi4iKTsKIAotICBpZiAoQ1RBR1MpCisgIGlmIChjdGFncykKICAgICBw dXRzICgiLS1nbG9iYWxzXG5cCiAJQ3JlYXRlIHRhZyBlbnRyaWVzIGZvciBnbG9iYWwgdmFy aWFibGVzIGluIHNvbWUgbGFuZ3VhZ2VzLiIpOwogICBlbHNlCkBAIC0xMDM3LDcgKzEwMzIs NyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAqYXJnYnVmZmVyKQogICBwdXRzICgiLS1uby1s aW5lLWRpcmVjdGl2ZVxuXAogICAgICAgICBJZ25vcmUgI2xpbmUgcHJlcHJvY2Vzc29yIGRp cmVjdGl2ZXMgaW4gQyBhbmQgZGVyaXZlZCBsYW5ndWFnZXMuIik7CiAKLSAgaWYgKENUQUdT KQorICBpZiAoY3RhZ3MpCiAgICAgcHV0cyAoIi0tbWVtYmVyc1xuXAogCUNyZWF0ZSB0YWcg ZW50cmllcyBmb3IgbWVtYmVycyBvZiBzdHJ1Y3R1cmVzIGluIHNvbWUgbGFuZ3VhZ2VzLiIp OwogICBlbHNlCkBAIC0xMDQ1LDcgKzEwNDAsNyBAQCBwcmludF9oZWxwIChhcmd1bWVudCAq YXJnYnVmZmVyKQogCURvIG5vdCBjcmVhdGUgdGFnIGVudHJpZXMgZm9yIG1lbWJlcnMgb2Yg c3RydWN0dXJlc1xuXAogCWluIHNvbWUgbGFuZ3VhZ2VzLiIpOwogCi0gIGlmICghQ1RBR1Mp CisgIGlmICghY3RhZ3MpCiAgICAgewogICAgICAgcHV0cyAoIi0tZmFsbGJhY2stbGFuZ1xu XAogCUlmIGEgZmlsZSdzIGxhbmd1YWdlIGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkLCB0cnkg dG8gcGFyc2VcblwKQEAgLTEwOTIsNyArMTA4Nyw3IEBAIHByaW50X2hlbHAgKGFyZ3VtZW50 ICphcmdidWZmZXIpCiAgIHB1dHMgKCItLXBhcnNlLXN0ZGluPU5BTUVcblwKICAgICAgICAg UmVhZCBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCByZWNvcmQgdGFncyBhcyBiZWxvbmdpbmcg dG8gZmlsZSBOQU1FLiIpOwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAgIHsK ICAgICAgIHB1dHMgKCItdCwgLS10eXBlZGVmc1xuXAogICAgICAgICBHZW5lcmF0ZSB0YWcg ZW50cmllcyBmb3IgQyBhbmQgQWRhIHR5cGVkZWZzLiIpOwpAQCAtMTEwMSw3ICsxMDk2LDcg QEAgcHJpbnRfaGVscCAoYXJndW1lbnQgKmFyZ2J1ZmZlcikKICAgICAgICAgYW5kIEMrKyBt ZW1iZXIgZnVuY3Rpb25zLiIpOwogICAgIH0KIAotICBpZiAoQ1RBR1MpCisgIGlmIChjdGFn cykKICAgICBwdXRzICgiLXUsIC0tdXBkYXRlXG5cCiAgICAgICAgIFVwZGF0ZSB0aGUgdGFn IGVudHJpZXMgZm9yIHRoZSBnaXZlbiBmaWxlcywgbGVhdmluZyB0YWdcblwKICAgICAgICAg ZW50cmllcyBmb3Igb3RoZXIgZmlsZXMgaW4gcGxhY2UuICBDdXJyZW50bHksIHRoaXMgaXNc blwKQEAgLTExMTAsNyArMTEwNSw3IEBAIHByaW50X2hlbHAgKGFyZ3VtZW50ICphcmdidWZm ZXIpCiAgICAgICAgIHRhZ3MgZmlsZS4gIEl0IGlzIG9mdGVuIGZhc3RlciB0byBzaW1wbHkg cmVidWlsZCB0aGUgZW50aXJlXG5cCiAgICAgICAgIHRhZyBmaWxlIHRoYW4gdG8gdXNlIHRo aXMuIik7CiAKLSAgaWYgKENUQUdTKQorICBpZiAoY3RhZ3MpCiAgICAgewogICAgICAgcHV0 cyAoIi12LCAtLXZncmluZFxuXAogICAgICAgICBQcmludCBvbiB0aGUgc3RhbmRhcmQgb3V0 cHV0IGFuIGluZGV4IG9mIGl0ZW1zIGludGVuZGVkIGZvclxuXApAQCAtMTE2MCw3ICsxMTU1 LDYgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBsaW5lYnVmZmVyIGZpbGVu YW1lX2xiOwogICBib29sIGhlbHBfYXNrZWQgPSBmYWxzZTsKICAgcHRyZGlmZl90IGxlbjsK LSAgY2hhciAqb3B0c3RyaW5nOwogICBpbnQgb3B0OwogCiAgIHByb2duYW1lID0gYXJndlsw XTsKQEAgLTExOTIsOSArMTE4Niw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikK IAogICAvKiBXaGVuIHRoZSBvcHRzdHJpbmcgYmVnaW5zIHdpdGggYSAnLScgZ2V0b3B0X2xv bmcgZG9lcyBub3QgcmVhcnJhbmdlIHRoZQogICAgICBub24tb3B0aW9ucyBhcmd1bWVudHMg dG8gYmUgYXQgdGhlIGVuZCwgYnV0IGxlYXZlcyB0aGVtIGFsb25lLiAqLwotICBvcHRzdHJp bmcgPSBjb25jYXQgKCItYWM6Q2Y6SWw6bzpRcjpSU1ZoSCIsCi0JCSAgICAgIChDVEFHUykg PyAiQnhkdFR1dnciIDogIkRpOiIsCi0JCSAgICAgICIiKTsKKyAgc3RhdGljIGNoYXIgY29u c3Qgb3B0c3RyaW5nW10gPSAiLWFCYzpDZERmOmhIaTpJbDpvOlFyOlJTdFR1dlZ3eCI7CiAK ICAgd2hpbGUgKChvcHQgPSBnZXRvcHRfbG9uZyAoYXJnYywgYXJndiwgb3B0c3RyaW5nLCBs b25nb3B0cywgTlVMTCkpICE9IEVPRikKICAgICBzd2l0Y2ggKG9wdCkKQEAgLTEyMTUsNyAr MTIwNywxNCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJKytmaWxlX2NvdW50 OwogCWJyZWFrOwogCi0gICAgICBjYXNlIFNURElOOgorICAgICAgY2FzZSBDVEFHU19PUFRJ T046CisJLyogT3BlcmF0ZSBhcyBjdGFncywgbm90IGV0YWdzLiAgKi8KKwljdGFncyA9IHRy dWU7CisJcHJvZ25hbWUgPSBvcHRhcmc7CisJbGFuZ19uYW1lc1tDX0xBTkdfTkFNRVNfSU5E RVhdLmhlbHAgPSBjdGFnc19kZWZhdWx0X0NfaGVscDsKKwlicmVhazsKKworICAgICAgY2Fz ZSBTVERJTl9PUFRJT046CiAJLyogUGFyc2Ugc3RhbmRhcmQgaW5wdXQuICBJZGVhIGJ5IFZp dmVrIDx2aXZla0BldGxhLm9yZz4uICovCiAJYXJnYnVmZmVyW2N1cnJlbnRfYXJnXS5hcmdf dHlwZSA9IGF0X3N0ZGluOwogCWFyZ2J1ZmZlcltjdXJyZW50X2FyZ10ud2hhdCAgICAgPSBv cHRhcmc7CkBAIC0xMzI1LDcgKzEzMjQsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAgICAgfQogCiAgIGlmICh0YWdmaWxlID09IE5VTEwpCi0gICAgdGFnZmlsZSA9IHNh dmVzdHIgKENUQUdTID8gInRhZ3MiIDogIlRBR1MiKTsKKyAgICB0YWdmaWxlID0gc2F2ZXN0 ciAoY3RhZ3MgPyAidGFncyIgOiAiVEFHUyIpOwogICBjd2QgPSBldGFnc19nZXRjd2QgKCk7 CS8qIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5ICovCiAgIGlmIChjd2Rbc3RybGVu IChjd2QpIC0gMV0gIT0gJy8nKQogICAgIHsKQEAgLTEzNDksNyArMTM0OCw3IEBAIG1haW4g KGludCBhcmdjLCBjaGFyICoqYXJndikKICAgbGluZWJ1ZmZlcl9pbml0ICgmZmlsZWJ1Zik7 CiAgIGxpbmVidWZmZXJfaW5pdCAoJnRva2VuX25hbWUpOwogCi0gIGlmICghQ1RBR1MpCisg IGlmICghY3RhZ3MpCiAgICAgewogICAgICAgaWYgKHN0cmVxICh0YWdmaWxlLCAiLSIpKQog CXsKQEAgLTE0MDcsMTMgKzE0MDYsMTMgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQogICBmcmVlIChmaWxlYnVmLmJ1ZmZlcik7CiAgIGZyZWUgKHRva2VuX25hbWUuYnVmZmVy KTsKIAotICBpZiAoIUNUQUdTIHx8IGN4cmVmX3N0eWxlKQorICBpZiAoIWN0YWdzIHx8IGN4 cmVmX3N0eWxlKQogICAgIHsKICAgICAgIC8qIFdyaXRlIHRoZSByZW1haW5pbmcgdGFncyB0 byB0YWdmIChFVEFHUykgb3Igc3Rkb3V0IChDWFJFRikuICovCiAgICAgICBwdXRfZW50cmll cyAobm9kZWhlYWQpOwogICAgICAgZnJlZV90cmVlIChub2RlaGVhZCk7CiAgICAgICBub2Rl aGVhZCA9IE5VTEw7Ci0gICAgICBpZiAoIUNUQUdTKQorICAgICAgaWYgKCFjdGFncykKIAl7 CiAJICBmZGVzYyAqZmRwOwogCkBAIC0xNDYyLDcgKzE0NjEsNyBAQCBtYWluIChpbnQgYXJn YywgY2hhciAqKmFyZ3YpCiAgIGlmIChmY2xvc2UgKHRhZ2YpID09IEVPRikKICAgICBwZmF0 YWwgKHRhZ2ZpbGUpOwogCi0gIGlmIChDVEFHUykKKyAgaWYgKGN0YWdzKQogICAgIGlmIChh cHBlbmRfdG9fdGFnZmlsZSB8fCB1cGRhdGUpCiAgICAgICB7CiAJLyogTWF5YmUgdGhlc2Ug c2hvdWxkIGJlIHVzZWQ6CkBAIC0xODYwLDcgKzE4NTksNyBAQCBwcm9jZXNzX2ZpbGUgKEZJ TEUgKmZoLCBjaGFyICpmbiwgbGFuZ3VhZ2UgKmxhbmcpCiAgIC8qIElmIG5vdCBDdGFncywg YW5kIGlmIHRoaXMgaXMgbm90IG1ldGFzb3VyY2UgYW5kIGlmIGl0IGNvbnRhaW5lZCBubyAj bGluZQogICAgICBkaXJlY3RpdmVzLCB3ZSBjYW4gd3JpdGUgdGhlIHRhZ3MgYW5kIGZyZWUg YWxsIG5vZGVzIHBvaW50aW5nIHRvCiAgICAgIGN1cmZkcC4gKi8KLSAgaWYgKCFDVEFHUwor ICBpZiAoIWN0YWdzCiAgICAgICAmJiBjdXJmZHAtPnVzZWNoYXJubwkvKiBubyAjbGluZSBk aXJlY3RpdmVzIGluIHRoaXMgZmlsZSAqLwogICAgICAgJiYgIWN1cmZkcC0+bGFuZy0+bWV0 YXNvdXJjZSkKICAgICB7CkBAIC0yMDkyLDcgKzIwOTEsNyBAQCBtYWtlX3RhZyAoY29uc3Qg Y2hhciAqbmFtZSwgCS8qIHRhZyBuYW1lLCBvciBOVUxMIGlmIHVubmFtZWQgKi8KICAgICBm cHJpbnRmIChzdGRlcnIsICIlcyBvbiAlczolIlBSSWRNQVgiOiAlc1xuIiwKIAkgICAgIG5h bWVkID8gbmFtZSA6ICIodW5uYW1lZCkiLCBjdXJmZHAtPnRhZ2dlZGZuYW1lLCBsbm8sIGxp bmVzdGFydCk7CiAKLSAgaWYgKCFDVEFHUyAmJiBuYW1lZCkJCS8qIG1heWJlIHNldCBuYW1l ZCB0byBmYWxzZSAqLworICBpZiAoIWN0YWdzICYmIG5hbWVkKQkJLyogbWF5YmUgc2V0IG5h bWVkIHRvIGZhbHNlICovCiAgICAgLyogTGV0J3MgdHJ5IHRvIG1ha2UgYW4gaW1wbGljaXQg dGFnIG5hbWUsIHRoYXQgaXMsIGNyZWF0ZSBhbiB1bm5hbWVkIHRhZwogICAgICAgIHN1Y2gg dGhhdCBldGFncy5lbCBjYW4gZ3Vlc3MgYSBuYW1lIGZyb20gaXQuICovCiAgICAgewpAQCAt MjEzMywxNyArMjEzMiwxNyBAQCBwZm5vdGUgKGNoYXIgKm5hbWUsCQkvKiB0YWcgbmFtZSwg b3IgTlVMTCBpZiB1bm5hbWVkICovCiB7CiAgIHJlZ2lzdGVyIG5vZGUgKm5wOwogCi0gIGlm ICgoQ1RBR1MgJiYgbmFtZSA9PSBOVUxMKQorICBpZiAoKGN0YWdzICYmIG5hbWUgPT0gTlVM TCkKICAgICAgIC8qIFdlIHVzZWQgdG8gaGF2ZSBhbiBhc3NlcnRpb24gaGVyZSBmb3IgdGhl IGNhc2UgYmVsb3csIGJ1dCBpZiB3ZSBoaXQKIAkgdGhhdCBjYXNlLCBpdCBqdXN0IG1lYW5z IG91ciBwYXJzZXIgZ290IGNvbmZ1c2VkLCBhbmQgdGhlcmUncyBub3RoaW5nCiAJIHRvIGRv IGFib3V0IHN1Y2ggZW1wdHkgInRhZ3MiLiAgKi8KLSAgICAgIHx8ICghQ1RBR1MgJiYgbmFt ZSAmJiBuYW1lWzBdID09ICdcMCcpKQorICAgICAgfHwgKCFjdGFncyAmJiBuYW1lICYmIG5h bWVbMF0gPT0gJ1wwJykpCiAgICAgcmV0dXJuOwogCiAgIG5wID0geG1hbGxvYyAoc2l6ZW9m ICpucCk7CiAKICAgLyogSWYgY3RhZ3MgbW9kZSwgY2hhbmdlIG5hbWUgIm1haW4iIHRvIE08 dGhpc2ZpbGVuYW1lPi4gKi8KLSAgaWYgKENUQUdTICYmICFjeHJlZl9zdHlsZSAmJiBzdHJl cSAobmFtZSwgIm1haW4iKSkKKyAgaWYgKGN0YWdzICYmICFjeHJlZl9zdHlsZSAmJiBzdHJl cSAobmFtZSwgIm1haW4iKSkKICAgICB7CiAgICAgICBjaGFyICpmcCA9IHN0cnJjaHIgKGN1 cmZkcC0+dGFnZ2VkZm5hbWUsICcvJyk7CiAgICAgICBucC0+bmFtZSA9IGNvbmNhdCAoIk0i LCBmcCA9PSBOVUxMID8gY3VyZmRwLT50YWdnZWRmbmFtZSA6IGZwICsgMSwgIiIpOwpAQCAt MjE2OCw3ICsyMTY3LDcgQEAgcGZub3RlIChjaGFyICpuYW1lLAkJLyogdGFnIG5hbWUsIG9y IE5VTEwgaWYgdW5uYW1lZCAqLwogICBlbHNlCiAgICAgbnAtPmNubyA9IGludmFsaWRjaGFy bm87CiAgIG5wLT5sZWZ0ID0gbnAtPnJpZ2h0ID0gTlVMTDsKLSAgaWYgKENUQUdTICYmICFj eHJlZl9zdHlsZSkKKyAgaWYgKGN0YWdzICYmICFjeHJlZl9zdHlsZSkKICAgICB7CiAgICAg ICBpZiAoc3RybmxlbiAobGluZXN0YXJ0LCA1MCkgPCA1MCkKIAlucC0+cmVnZXggPSBjb25j YXQgKGxpbmVzdGFydCwgIiQiLCAiIik7CkBAIC0yMjk1LDcgKzIyOTQsNyBAQCBhZGRfbm9k ZSAobm9kZSAqbnAsIG5vZGUgKipjdXJfbm9kZV9wKQogICAgICAgcmV0dXJuOwogICAgIH0K IAotICBpZiAoIUNUQUdTKQorICBpZiAoIWN0YWdzKQogICAgIC8qIEV0YWdzIE1vZGUgKi8K ICAgICB7CiAgICAgICAvKiBGb3IgZWFjaCBmaWxlIG5hbWUsIHRhZ3MgYXJlIGluIGEgbGlu a2VkIHN1Ymxpc3Qgb24gdGhlIHJpZ2h0CkBAIC0yMzk0LDcgKzIzOTMsNyBAQCBpbnZhbGlk YXRlX25vZGVzIChmZGVzYyAqYmFkZmRwLCBub2RlICoqbnBwKQogICBub2RlICpucCA9ICpu cHA7CiAgIHN0a2VudHJ5ICpzdGFjayA9IE5VTEw7CiAKLSAgaWYgKENUQUdTKQorICBpZiAo Y3RhZ3MpCiAgICAgewogICAgICAgd2hpbGUgKG5wKQogCXsKQEAgLTI1MDQsNyArMjUwMyw3 IEBAIHB1dF9lbnRyeSAobm9kZSAqbnApCiAgIC8qIE91dHB1dCB0aGlzIGVudHJ5ICovCiAg IGlmIChucC0+dmFsaWQpCiAgICAgewotICAgICAgaWYgKCFDVEFHUykKKyAgICAgIGlmICgh Y3RhZ3MpCiAJewogCSAgLyogRXRhZ3MgbW9kZSAqLwogCSAgaWYgKGZkcCAhPSBucC0+ZmRw KQpAQCAtMjU3Niw3ICsyNTc1LDcgQEAgcHV0X2VudHJpZXMgKG5vZGUgKm5wKQogICBpZiAo bnAgPT0gTlVMTCkKICAgICByZXR1cm47CiAKLSAgaWYgKENUQUdTKQorICBpZiAoY3RhZ3Mp CiAgICAgewogICAgICAgd2hpbGUgKG5wKQogCXsKLS0gCjIuNDUuMgoK --------------dnnF13bq50zKGWyjX7a2gd5u--
Paul Eggert <eggert@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#76322
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.