From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id oO1RFnHhMWTtcwEASxT56A (envelope-from ) for ; Sat, 08 Apr 2023 23:49:37 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id wJA1FXHhMWTCGwEAG6o9tA (envelope-from ) for ; Sat, 08 Apr 2023 23:49:37 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 8B96F353EC for ; Sat, 8 Apr 2023 23:49:36 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1plGQI-0000kJ-Ru; Sat, 08 Apr 2023 17:48:38 -0400 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 ) id 1plGQG-0000kB-Kf for emacs-orgmode@gnu.org; Sat, 08 Apr 2023 17:48:36 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1plGQD-0000mo-OV for emacs-orgmode@gnu.org; Sat, 08 Apr 2023 17:48:36 -0400 Received: by mail-wm1-x32f.google.com with SMTP id s8so1082636wmo.0 for ; Sat, 08 Apr 2023 14:48:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680990511; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=a2eGY5mnL2tulWfgjoUfI9JkoXsLEjGlfNGhwEbwteY=; b=KuibBQ/+79OMfoV5E2jnAoy13LjrttT+Tmt3hY2rxhN+uhX8Ivf2zn3+ZwzmCavx2F nDlBxdn9LjMDGJknlXn7Ho5zVqcd+GJXy9QNoTsEPgRdYBpmtkojZ4sSXVlRZqt+79gD zVPbZ9GDKV/owbMLbGqoRdGoIvEHM1QPdPoDGF9xVm32fpBxejISvEhI9ho0cw38vK/G 6/ksObxlDIJCwiv5+el7L+bRsIGBH47Yiuq28xAI8bbDVG252jMB5oKIj3ONmfI8cnei q1HsVVewUi6GGDah7EWeo5loeVeBQZKjstqrDDE8429hzfUEMCNRhQAiZUQHOlmJdEt2 cIiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680990511; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=a2eGY5mnL2tulWfgjoUfI9JkoXsLEjGlfNGhwEbwteY=; b=N9++kLb+E/CnjT+WTn3rnKFsbJw1gwOnHYunwSB3DS0yYC9ByqsyB6sdT+efI+o9dV oKTvJng5HWWAk3Z/OTvu0rJjYLvi7DNDnIRiGXUGf4B74WNk9KuzOrsVhaZUxR89QqDG dmPg09Lv8MFAaj8jPdhSVDP+3xjmMRgiZN8EZ5ttwDuhKo3tKWpyqZ45DRF8MrvPltSY APNJVnzLBR4InilcqMfA1wPlgDhJsF2f1ROhugOX61xse4zkVxvM5f9PZVAuLcFRIClk At1P24fMwxG5k0XCvC+i23AUdueCw6KOjP/nXbNJjQV1c/WREPlO8sAjjYFCNQonGRph 4sTw== X-Gm-Message-State: AAQBX9ch4h3C8JhU21XQXwz3QYRdmxBBRYJ0bOCLVAkKozgr2YG0Mooo 1NJli1JI40fFC3TUA+1zbrewpI7Lufo7vNfz9Wo6IA2D56aceQ== X-Google-Smtp-Source: AKy350ZjRfpKQN2Yg4E35gWz1LcfWDkbLcZPweLEXv/AQMQTP7T/4rI2bUECsfLoeGNL8E4f7JJ5qkA5lY+4ueX+Jpk= X-Received: by 2002:a05:600c:3b25:b0:3ef:6989:19d4 with SMTP id m37-20020a05600c3b2500b003ef698919d4mr1949268wms.0.1680990511026; Sat, 08 Apr 2023 14:48:31 -0700 (PDT) MIME-Version: 1.0 References: <87lej51frx.fsf@gmail.com> <87355ckl7d.fsf@localhost> In-Reply-To: <87355ckl7d.fsf@localhost> From: =?UTF-8?Q?S=C5=82awomir_Grochowski?= Date: Sat, 8 Apr 2023 23:48:19 +0200 Message-ID: Subject: Re: [RFC] [feat] org-colview/org-columns: 'column view' moving rows up/down To: emacs-orgmode@gnu.org Content-Type: multipart/mixed; boundary="00000000000047ec0a05f8da1a82" Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=slawomir.grochowski@gmail.com; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1680990576; a=rsa-sha256; cv=none; b=jFBzWjbjnAXS0vWHr3pWuhwLn7PxA1tAkNk+aihLC3CBcsLJvDliwzXXu3K1tY3ZUR8Fx5 Hyt5ie0KDouUFYTHBVJ7MncrjZwEuISPVUhzrijAkD4CWdoGoA++gHclymaI+tjflnjnSX waHcVje9DbnAxFv/9uh7ls72tLezxQxGCjaE94ovh1kuSiMKxRzIiCdbQXJ5zbR/vQ37Dd YJ0ouxvmsM3GTwn+KmPFRIUpZ32mTFDTB9pREaIoWyeYmKtJnDp0vOZOZum0b4aHlam1oI fJ22tHhlCf9rZ1tZz7hXBt9K1n9sjFg2IiVgi5twx1FYXbEp/vLqtsvYRE7KqQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20210112 header.b="KuibBQ/+"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1680990576; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=sVC1/18PgSGyszy5O43gZHan495PlRq0wM+TZ2Fxo9U=; b=FXD56hWqwybK2JU2xYgOOjGyEkz0RIbI+W/NxekGxoxhnkYAegw/CL7iHyDfaQpp1WYIrs btU62CcEUzfxXL4k8blf8Gj4Fb0kYnk1u3Zicv/owp+rcsOUMIQt5fuvSzLHF4S6egKSv6 Jo4op9VhP0kRpUJP/bSZxYb8jnag3VB9GKUx3QLmj4bYWf5bscFFPtvXp470zT6EVVSJOk knJehS9rXHTEhSLBNV6X5ffiOOAXMSRLjHoIvuxJLnco6DSukq/C7PZTELR0B1GNVuxGrg GWfAYZ8cBEwiKXaET8Xspxr8KZpV7ZtXZtaeExxoHD0JSCYXY9XOKej4Gnq0vg== Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20210112 header.b="KuibBQ/+"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -0.62 X-Spam-Score: -0.62 X-Migadu-Queue-Id: 8B96F353EC X-TUID: 0iWfByOX9Kr1 --00000000000047ec0a05f8da1a82 Content-Type: multipart/alternative; boundary="00000000000047ec0705f8da1a80" --00000000000047ec0705f8da1a80 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thank you Ihor for the code review. Now please help me find everything that can be improved in this patch. > The patch looks good in general, but you need to add proper commit > message. See https://orgmode.org/worg/ > > org-contribute.html#commit-messages > Fixed. Also, you need to add etc/ORG-NEWS entry about the new functionality and > also modify the manual. > I added description to the manual and missing description of two other commands: org-columns-move-left, org-columns-move-right that were missing. > Finally, I see no records about you copyright assignment status. > Please take a look at > https://orgmode.org/worg/org-contribute.html#copyright > Yes, it's my first time. I sent an email to assign@gnu.org, yesterday. Does this test have anything to do with the new feature? > Yes, you are right. This test has nothing in common with the feature. I have removed it. On Fri, Apr 7, 2023 at 1:01=E2=80=AFPM Ihor Radchenko = wrote: > S=C5=82awomir Grochowski writes: > > > Recently I often use 'column view' feature. > > To my suprise in 'column view' user can't move rows up & down. > > So I wrote a little code snippet to be able to do it, and I'm sharing i= t > with you. > > > > Questions: > > 1. Why user can't move rows up & down in 'column view'? > > 2. Is this was intentional design decision? > > I do not see any particular reason. > The current design dates back to 15 years ago - the initial commit in > our current git repo. > > > I think 'column view' is missing one the core feel & functionality of > org-mode - moving rows (headings) up & down. > > In my experiance with 'column view' & tables I shuffle a lot of columns > & rows order. > > Sounds reasonable. > > > From 1f0f2052b8dddf4982ab35267ed1564f2250784b Mon Sep 17 00:00:00 2001 > > From: S=C5=82awomir Grochowski > > Date: Mon, 3 Apr 2023 19:23:09 +0200 > > Subject: [PATCH] org-columns: add feat to move row up/down > > The patch looks good in general, but you need to add proper commit > message. See https://orgmode.org/worg/org-contribute.html#commit-messages > > Also, you need to add etc/ORG-NEWS entry about the new functionality and > also modify the manual. > > Finally, I see no records about you copyright assignment status. > Please take a look at > https://orgmode.org/worg/org-contribute.html#copyright > > > +(defun org-columns--move-row (&optional up) > > + "Move table row. Calls `org-move-subtree-down' or > `org-move-subtree-up'." > > *Move column view table row. > > We generally prefer single sentence as the first line of the docstring. > Also, please describe UP argument in the docstring. > > > +;; Each column is an overlay on top of a character. So there has > > +;; to be at least as many characters available on the line as > > +;; columns to display. > > +;; 'org-columns--display-here' > > +(ert-deftest test-org-colview/bug-add-whitespace () > > + "Insert space characters if number of characters on the line > > + is lower then number of columns." > > + :expected-result :failed > > Does this test have anything to do with the new feature? > > > +(ert-deftest test-org-colview/columns-move-row-down () > > + "Test `org-columns-move-row-down' specifications." > > + (should > > + (equal "* H > > +** B > > +** A > > +" > > + (org-test-with-temp-text "* H > > +** A > > +** B > > +" > > + (let ((org-columns-default-format "%ITEM")) (org-columns) > > + (next-line 1) > > + (org-columns-move-row-down) > > + (buffer-substring-no-properties (point-min) > (point-max))))))) > > One special case we may want to consider is when columns are from > different heading levels, like > > * H > ** A > *** A1 > ** B > > -- > Ihor Radchenko // yantar92, > Org mode contributor, > Learn more about Org mode at . > Support Org development at , > or support my work at > --00000000000047ec0705f8da1a80 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thank you Ihor for the code review. =
<= /span>
Now please help me find everything that can be improved = in this patch.
=C2=A0
The patch looks good in general, but you need= to add proper commit
message. See https://orgmode.org/worg/org-contribute.html#commit-messages

Also, you need to add etc/ORG-NEWS entry about the new functionality and also modify the manual.

I added descrip= tion to the manual and missing description of two
other comm= ands: org-columns-move-left, org-columns-move-right that were missing.
<= /div>
=C2=A0
Finally, I see no records about you copyright assignment status.
Please take a look at
https://orgmode.org/worg= /org-contribute.html#copyright
=
=C2=A0Yes, it's my first time. I sent an email to assign@gnu.org, yesterday.
<= br>
Does this test have anything to do with the new feature?

=C2=A0Yes, you are right. This test has nothing in com= mon with the feature. I have removed it.=C2=A0

On Fri, Apr 7, 202= 3 at 1:01=E2=80=AFPM Ihor Radchenko <yantar92@posteo.net> wrote:
S=C5=82awomir Grochowski <slawomir.groc= howski@gmail.com> writes:

> Recently I often use 'column view' feature.
> To my suprise in 'column view' user can't move rows up &am= p; down.
> So I wrote a little code snippet to be able to do it, and I'm shar= ing it with you.
>
> Questions:
> 1. Why user can't move rows up & down in 'column view'= ?
> 2. Is this was intentional design decision?

I do not see any particular reason.
The current design dates back to 15 years ago - the initial commit in
our current git repo.

> I think 'column view' is missing one the core feel & funct= ionality of org-mode - moving rows (headings) up & down.
> In my experiance with 'column view' & tables I shuffle a l= ot of columns & rows order.

Sounds reasonable.

> From 1f0f2052b8dddf4982ab35267ed1564f2250784b Mon Sep 17 00:00:00 2001=
> From: S=C5=82awomir Grochowski <slawomir.grochowski@gmail.com>
> Date: Mon, 3 Apr 2023 19:23:09 +0200
> Subject: [PATCH] org-columns: add feat to move row up/down

The patch looks good in general, but you need to add proper commit
message. See https://orgmode.org/worg/or= g-contribute.html#commit-messages

Also, you need to add etc/ORG-NEWS entry about the new functionality and also modify the manual.

Finally, I see no records about you copyright assignment status.
Please take a look at https://orgmode.org/worg= /org-contribute.html#copyright

> +(defun org-columns--move-row (&optional up)
> +=C2=A0 =C2=A0 "Move table row. Calls `org-move-subtree-down'= or `org-move-subtree-up'."

*Move column view table row.

We generally prefer single sentence as the first line of the docstring.
Also, please describe UP argument in the docstring.

> +;; Each column is an overlay on top of a character.=C2=A0 So there ha= s
> +;; to be at least as many characters available on the line as
> +;; columns to display.
> +;; 'org-columns--display-here'
> +(ert-deftest test-org-colview/bug-add-whitespace ()
> +=C2=A0 "Insert space characters if number of characters on the l= ine
> +=C2=A0 is lower then number of columns."
> +=C2=A0 :expected-result :failed

Does this test have anything to do with the new feature?

> +(ert-deftest test-org-colview/columns-move-row-down ()
> +=C2=A0 "Test `org-columns-move-row-down' specifications.&quo= t;
> +=C2=A0 (should
> +=C2=A0 =C2=A0(equal "* H
> +** B
> +** A
> +"
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (org-test-with-temp-text "* H=
> +** A
> +** B
> +"
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (let ((org-columns-default-= format "%ITEM")) (org-columns)
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(next-l= ine 1)
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(org-co= lumns-move-row-down)
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(buffer= -substring-no-properties (point-min) (point-max)))))))

One special case we may want to consider is when columns are from
different heading levels, like

* H
** A
*** A1
** B

--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,=
or support my work at <https://liberapay.com/yantar92>
--00000000000047ec0705f8da1a80-- --00000000000047ec0a05f8da1a82 Content-Type: text/x-patch; charset="UTF-8"; name="0001-lisp-org-colview.el-add-new-commands-to-move-column-.patch" Content-Disposition: attachment; filename="0001-lisp-org-colview.el-add-new-commands-to-move-column-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lg8ibgz60 RnJvbSBjNWNjMjQ2MDczMDYzOTlkMWIxY2E1ODNlNjNhMmZlN2I3MWRiZjg5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTxYJhd29taXIgR3JvY2hvd3NraSA8c2xhd29taXIuZ3JvY2hv d3NraUBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOToyMzowOSArMDIwMApTdWJq ZWN0OiBbUEFUQ0hdIGxpc3Avb3JnLWNvbHZpZXcuZWw6IGFkZCBuZXcgY29tbWFuZHMgdG8gbW92 ZSBjb2x1bW4gdmlldwogdGFibGUgcm93CgoqIGRvYy9vcmctbWFudWFsLm9yZyAob3JnLWNvbHVt bnMtbW92ZS1yb3ctdXAsCm9yZy1jb2x1bW5zLW1vdmUtcm93LWRvd24pIGFuZCBhbHNvIChvcmct Y29sdW1ucy1tb3ZlLWxlZnQsCm9yZy1jb2x1bW5zLW1vdmUtcmlnaHQpOiBEb2N1bWVudCB0d28g bmV3IGFuZCB0d28gb2xkIGNvbW1hbmRzLgoqIGV0Yy9PUkctTkVXUyBuZXcgY29tbWFuZHMgdG8g bW92ZSByb3dzIHVwICYgZG93bjogRG9jdW1lbnQgdGhlIG5ldyBmZWF0dXJlLgoqIGxpc3Avb3Jn LWNvbHZpZXcuZWwgKG9yZy1jb2x1bW5zLS1tb3ZlLXJvdywgb3JnLWNvbHVtbnMtbW92ZS1yb3ct dXAsCm9yZy1jb2x1bW5zLW1vdmUtcm93LWRvd24pOiBOZXcgZnVuY3Rpb25zLgoqIHRlc3Rpbmcv bGlzcC90ZXN0LW9yZy1jb2x2aWV3LmVsICh0ZXN0LW9yZy1jb2x2aWV3L2NvbHVtbnMtbW92ZS1y b3ctZG93biwKdGVzdC1vcmctY29sdmlldy9jb2x1bW5zLW1vdmUtcm93LXVwLAp0ZXN0LW9yZy1j b2x2aWV3L2NvbHVtbnMtLW1vdmUtcm93LXN0YXktYXQtdGhlLXNhbWUtY29sdW1uLAp0ZXN0LW9y Zy1jb2x2aWV3L2NvbHVtbnMtbW92ZS1yb3ctZG93bi13aXRoLXN1YmhlYWRpbmcpOiBOZXcgdGVz dHMuCi0tLQogZG9jL29yZy1tYW51YWwub3JnICAgICAgICAgICAgICAgfCAyNCArKysrKysrKysr KysKIGV0Yy9PUkctTkVXUyAgICAgICAgICAgICAgICAgICAgIHwgIDUgKysrCiBsaXNwL29yZy1j b2x2aWV3LmVsICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKwogdGVzdGluZy9saXNwL3Rl c3Qtb3JnLWNvbHZpZXcuZWwgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog NCBmaWxlcyBjaGFuZ2VkLCAxMTggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9vcmct bWFudWFsLm9yZyBiL2RvYy9vcmctbWFudWFsLm9yZwppbmRleCA1MDY2MjY2OWUuLmQ1Njk0ZGY0 MiAxMDA2NDQKLS0tIGEvZG9jL29yZy1tYW51YWwub3JnCisrKyBiL2RvYy9vcmctbWFudWFsLm9y ZwpAQCAtNTc2MSw2ICs1NzYxLDMwIEBAIGVpdGhlciBmb3IgYWxsIGNsb2NrcyBvciBqdXN0IGZv ciB0b2RheS4KICAgIytmaW5kZXg6IG9yZy1jb2x1bW5zLWRlbGV0ZQogICBEZWxldGUgdGhlIGN1 cnJlbnQgY29sdW1uLgogCistIHt7e2tiZChNLUxFRlQpfX19ICh+b3JnLWNvbHVtbnMtbW92ZS1s ZWZ0fikgOjoKKworICAjK2tpbmRleDogTS1MRUZUCisgICMrZmluZGV4OiBvcmctY29sdW1ucy1t b3ZlLWxlZnQKKyAgTW92ZSB0aGUgY3VycmVudCBjb2x1bW4gbGVmdC4KKworLSB7e3trYmQoTS1S SUdIVCl9fX0gKH5vcmctY29sdW1ucy1tb3ZlLXJpZ2h0fikgOjoKKworICAjK2tpbmRleDogTS1S SUdIVAorICAjK2ZpbmRleDogb3JnLWNvbHVtbnMtbW92ZS1yaWdodAorICBNb3ZlIHRoZSBjdXJy ZW50IGNvbHVtbiByaWdodC4KKworLSB7e3trYmQoTS1VUCl9fX0gKH5vcmctY29sdW1ucy1tb3Zl LXJvdy11cH4pIDo6CisKKyAgIytraW5kZXg6IE0tVVAKKyAgIytmaW5kZXg6IG9yZy1jb2x1bW5z LW1vdmUtcm93LXVwCisgIE1vdmUgdGhlIGN1cnJlbnQgcm93IHVwLgorCistIHt7e2tiZChNLURP V04pfX19ICh+b3JnLWNvbHVtbnMtbW92ZS1yb3ctZG93bn4pIDo6CisKKyAgIytraW5kZXg6IE0t RE9XTgorICAjK2ZpbmRleDogb3JnLWNvbHVtbnMtbW92ZS1yb3ctZG93bgorICBNb3ZlIHRoZSBj dXJyZW50IHJvdyBkb3duLgorCiAqKiogQ2FwdHVyaW5nIGNvbHVtbiB2aWV3CiA6UFJPUEVSVElF UzoKIDpERVNDUklQVElPTjogQSBkeW5hbWljIGJsb2NrIGZvciBjb2x1bW4gdmlldy4KZGlmZiAt LWdpdCBhL2V0Yy9PUkctTkVXUyBiL2V0Yy9PUkctTkVXUwppbmRleCBhYzIzM2E5ODYuLjQzOGIz ZTdhYSAxMDA2NDQKLS0tIGEvZXRjL09SRy1ORVdTCisrKyBiL2V0Yy9PUkctTkVXUwpAQCAtMzYy LDYgKzM2MiwxMSBAQCBBZnRlcjoKICMrZW5kX3NyYwogCiAqKiBOZXcgZmVhdHVyZXMKKyoqKiBD b2x1bW4gdmlldzogbmV3IGNvbW1hbmRzIHRvIG1vdmUgcm93cyB1cCAmIGRvd24KK1lvdSBjYW4g bW92ZSByb3dzIHVwICYgZG93biBpbiBjb2x1bW4gdmlldyB3aXRoCit+b3JnLWNvbHVtbnMtbW92 ZS1yb3ctdXB+IGFuZCB+b3JnLWNvbHVtbnMtbW92ZS1yb3ctZG93bn4uCitLZXliaW5kaW5ncyBh cmUgdGhlIHNhbWUgYXMgfm9yZy1tb3ZlLXN1YnRyZWUtdXB+IGFuZCB+b3JnLW1vdmUtc3VidHJl ZS1kb3dufgorPU0tPHVwPj0gYW5kID1NLTxkb3duPj0uCiAqKiogQ2xvY2sgdGFibGUgY2FuIG5v dyBwcm9kdWNlIHF1YXJ0ZXJseSByZXBvcnRzCiAKID06c3RlcD0gY2xvY2sgdGFibGUgcGFyYW1l dGVyIGNhbiBub3cgYmUgc2V0IHRvID1xdWFydGVyPS4KZGlmZiAtLWdpdCBhL2xpc3Avb3JnLWNv bHZpZXcuZWwgYi9saXNwL29yZy1jb2x2aWV3LmVsCmluZGV4IDkyYTNiNDczZC4uMWNlNGQwMDRi IDEwMDY0NAotLS0gYS9saXNwL29yZy1jb2x2aWV3LmVsCisrKyBiL2xpc3Avb3JnLWNvbHZpZXcu ZWwKQEAgLTIwOSw2ICsyMDksOCBAQCBTZWUgYG9yZy1jb2x1bW5zLXN1bW1hcnktdHlwZXMnIGZv ciBkZXRhaWxzLiIpCiAob3JnLWRlZmtleSBvcmctY29sdW1ucy1tYXAgIj4iICMnb3JnLWNvbHVt bnMtd2lkZW4pCiAob3JnLWRlZmtleSBvcmctY29sdW1ucy1tYXAgWyhtZXRhIHJpZ2h0KV0gIydv cmctY29sdW1ucy1tb3ZlLXJpZ2h0KQogKG9yZy1kZWZrZXkgb3JnLWNvbHVtbnMtbWFwIFsobWV0 YSBsZWZ0KV0gICMnb3JnLWNvbHVtbnMtbW92ZS1sZWZ0KQorKG9yZy1kZWZrZXkgb3JnLWNvbHVt bnMtbWFwIFsobWV0YSBkb3duKV0gICMnb3JnLWNvbHVtbnMtbW92ZS1yb3ctZG93bikKKyhvcmct ZGVma2V5IG9yZy1jb2x1bW5zLW1hcCBbKG1ldGEgdXApXSAgIydvcmctY29sdW1ucy1tb3ZlLXJv dy11cCkKIChvcmctZGVma2V5IG9yZy1jb2x1bW5zLW1hcCBbKHNoaWZ0IG1ldGEgcmlnaHQpXSAj J29yZy1jb2x1bW5zLW5ldykKIChvcmctZGVma2V5IG9yZy1jb2x1bW5zLW1hcCBbKHNoaWZ0IG1l dGEgbGVmdCldICAjJ29yZy1jb2x1bW5zLWRlbGV0ZSkKIChkb3RpbWVzIChpIDEwKQpAQCAtMjMw LDYgKzIzMiw4IEBAIFNlZSBgb3JnLWNvbHVtbnMtc3VtbWFyeS10eXBlcycgZm9yIGRldGFpbHMu IikKICAgICAiLS0iCiAgICAgWyJNb3ZlIGNvbHVtbiByaWdodCIgb3JnLWNvbHVtbnMtbW92ZS1y aWdodCB0XQogICAgIFsiTW92ZSBjb2x1bW4gbGVmdCIgb3JnLWNvbHVtbnMtbW92ZS1sZWZ0IHRd CisgICAgWyJNb3ZlIHJvdyB1cCIgb3JnLWNvbHVtbnMtbW92ZS1yb3ctdXAgdF0KKyAgICBbIk1v dmUgcm93IGRvd24iIG9yZy1jb2x1bW5zLW1vdmUtcm93LWRvd24gdF0KICAgICBbIkFkZCBjb2x1 bW4iIG9yZy1jb2x1bW5zLW5ldyB0XQogICAgIFsiRGVsZXRlIGNvbHVtbiIgb3JnLWNvbHVtbnMt ZGVsZXRlIHRdCiAgICAgIi0tIgpAQCAtMTAwMyw2ICsxMDA3LDI2IEBAIGRldGFpbHMuIgogICAg IChvcmctY29sdW1ucy1tb3ZlLXJpZ2h0KQogICAgIChiYWNrd2FyZC1jaGFyIDEpKSkKIAorKGRl ZnVuIG9yZy1jb2x1bW5zLS1tb3ZlLXJvdyAoJm9wdGlvbmFsIHVwKQorICAgICJNb3ZlIHRoZSBj dXJyZW50IHRhYmxlIHJvdyBkb3duLiAgV2l0aCBhcmcgVVAsIG1vdmUgaXQgdXAuIgorICAgIChs ZXQgKChpbmhpYml0LXJlYWQtb25seSB0KQorICAgICAgICAgIChjb2wgKGN1cnJlbnQtY29sdW1u KSkpCisgICAgICAoaWYgdXAgKG9yZy1tb3ZlLXN1YnRyZWUtdXApCisgICAgICAgIChvcmctbW92 ZS1zdWJ0cmVlLWRvd24pKQorICAgICAgKGxldCAoKG9yZy1jb2x1bW5zLWluaGliaXQtcmVjYWxj dWxhdGlvbiB0KSkKKyAgICAgICAgKG9yZy1jb2x1bW5zLXJlZG8pCisgICAgICAgIChtb3ZlLXRv LWNvbHVtbiBjb2wpKSkpCisKKyhkZWZ1biBvcmctY29sdW1ucy1tb3ZlLXJvdy1kb3duICgpCisg ICJNb3ZlIHRoZSBjdXJyZW50IHRhYmxlIHJvdyBkb3duLiIKKyAgKGludGVyYWN0aXZlKQorICAo b3JnLWNvbHVtbnMtLW1vdmUtcm93KSkKKworKGRlZnVuIG9yZy1jb2x1bW5zLW1vdmUtcm93LXVw ICgpCisgICJNb3ZlIHRoZSBjdXJyZW50IHRhYmxlIHJvdyB1cC4iCisgIChpbnRlcmFjdGl2ZSkK KyAgKG9yZy1jb2x1bW5zLS1tb3ZlLXJvdyAndXApKQorCiAoZGVmdW4gb3JnLWNvbHVtbnMtc3Rv cmUtZm9ybWF0ICgpCiAgICJTdG9yZSB0aGUgdGV4dCB2ZXJzaW9uIG9mIHRoZSBjdXJyZW50IGNv bHVtbnMgZm9ybWF0LgogVGhlIGZvcm1hdCBpcyBzdG9yZWQgZWl0aGVyIGluIHRoZSBDT0xVTU5T IHByb3BlcnR5IG9mIHRoZSBub2RlCmRpZmYgLS1naXQgYS90ZXN0aW5nL2xpc3AvdGVzdC1vcmct Y29sdmlldy5lbCBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy1jb2x2aWV3LmVsCmluZGV4IDlkYWVj MThlMi4uMzk4NWU4NjkzIDEwMDY0NAotLS0gYS90ZXN0aW5nL2xpc3AvdGVzdC1vcmctY29sdmll dy5lbAorKysgYi90ZXN0aW5nL2xpc3AvdGVzdC1vcmctY29sdmlldy5lbApAQCAtMTAxMCw2ICsx MDEwLDcxIEBACiAJICAgIChsaXN0IChnZXQtY2hhci1wcm9wZXJ0eSAxICdvcmctY29sdW1ucy12 YWx1ZS1tb2RpZmllZCkKIAkJICAoZ2V0LWNoYXItcHJvcGVydHkgMiAnb3JnLWNvbHVtbnMtdmFs dWUtbW9kaWZpZWQpKSkpKSkKIAorKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLWNvbHZpZXcvY29sdW1u cy1tb3ZlLXJvdy1kb3duICgpCisgICJUZXN0IGBvcmctY29sdW1ucy1tb3ZlLXJvdy1kb3duJyBz cGVjaWZpY2F0aW9ucy4iCisgIChzaG91bGQKKyAgIChlcXVhbCAiKiBICisqKiBCCisqKiBBCisi CisgICAgICAgICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIqIEgKKyoqIEEKKyoqIEIKKyIK KyAgICAgICAgICAgIChsZXQgKChvcmctY29sdW1ucy1kZWZhdWx0LWZvcm1hdCAiJUlURU0iKSkg KG9yZy1jb2x1bW5zKQorICAgICAgICAgICAgICAgICAobmV4dC1saW5lIDEpCisgICAgICAgICAg ICAgICAgIChvcmctY29sdW1ucy1tb3ZlLXJvdy1kb3duKQorICAgICAgICAgICAgICAgICAoYnVm ZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIChwb2ludC1taW4pIChwb2ludC1tYXgpKSkpKSkp CisKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy1jb2x2aWV3L2NvbHVtbnMtbW92ZS1yb3ctdXAgKCkK KyAgIlRlc3QgYG9yZy1jb2x1bW5zLW1vdmUtcm93LXVwJyBzcGVjaWZpY2F0aW9ucy4iCisgIChz aG91bGQKKyAgIChlcXVhbCAiKiBICisqKiBCCisqKiBBCisiCisgICAgICAgICAgKG9yZy10ZXN0 LXdpdGgtdGVtcC10ZXh0ICIqIEgKKyoqIEEKKyoqIEIKKyIKKyAgICAgICAgICAgIChsZXQgKChv cmctY29sdW1ucy1kZWZhdWx0LWZvcm1hdCAiJUlURU0iKSkgKG9yZy1jb2x1bW5zKQorICAgICAg ICAgICAgICAgICAobmV4dC1saW5lIDIpCisgICAgICAgICAgICAgICAgIChvcmctY29sdW1ucy1t b3ZlLXJvdy11cCkKKyAgICAgICAgICAgICAgICAgKGJ1ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVy dGllcyAocG9pbnQtbWluKSAocG9pbnQtbWF4KSkpKSkpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1v cmctY29sdmlldy9jb2x1bW5zLS1tb3ZlLXJvdy1zdGF5LWF0LXRoZS1zYW1lLWNvbHVtbiAoKQor ICAiQWZ0ZXIgZnVuY3Rpb24gY2FsbCAnb3JnLWNvbHVtbnMtLW1vdmUtcm93JyBwb2ludCBzaG91 bGQgc3RheSBhdCB0aGUgc2FtZSBjb2x1bW4uIgorICAoc2hvdWxkCisgICAoZXF1YWwgMzUKKyAg ICAgICAgICAgICAgICAgICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIqIEgKKyoqIEEKKyoq IEIKKyIKKyAgICAgICAgICAob3JnLWNvbHVtbnMpCisgICAgICAgICAgKG5leHQtbGluZSAxKQor ICAgICAgICAgIChmb3J3YXJkLWNoYXIgMikKKyAgICAgICAgICAob3JnLWNvbHVtbnMtLW1vdmUt cm93KQorICAgICAgICAgIChjdXJyZW50LWNvbHVtbikpKSkpCisKKyhlcnQtZGVmdGVzdCB0ZXN0 LW9yZy1jb2x2aWV3L2NvbHVtbnMtbW92ZS1yb3ctZG93bi13aXRoLXN1YmhlYWRpbmcgKCkKKyAg IlRlc3QgYG9yZy1jb2x1bW5zLW1vdmUtcm93LXVwJyBzcGVjaWZpY2F0aW9ucyB3aXRoIHN1Ymhl YWRpbmcuIgorICAoc2hvdWxkCisgICAoZXF1YWwgIiogSAorKiogQgorKiogQQorKioqIEExCisi CisKKyAgICAgICAgICAgICAgICAgICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIqIEgKKyoq IEEKKyoqKiBBMQorKiogQgorIgorICAgICAgICAgIChsZXQgKChvcmctY29sdW1ucy1kZWZhdWx0 LWZvcm1hdCAiJUlURU0iKSkgKG9yZy1jb2x1bW5zKQorICAgICAgICAgICAgICAgKG5leHQtbGlu ZSAxKQorICAgICAgICAgICAgICAgKG9yZy1jb2x1bW5zLW1vdmUtcm93LWRvd24pCisgICAgICAg ICAgICAgICAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIChwb2ludC1taW4pIChwb2lu dC1tYXgpKSkpKSkpCisKIChlcnQtZGVmdGVzdCB0ZXN0LW9yZy1jb2x2aWV3L2NvbHVtbnMtbW92 ZS1sZWZ0ICgpCiAgICJUZXN0IGBvcmctY29sdW1ucy1tb3ZlLWxlZnQnIHNwZWNpZmljYXRpb25z LiIKICAgOzsgRXJyb3Igd2hlbiB0cnlpbmcgdG8gbW92ZSB0aGUgbGVmdC1tb3N0IGNvbHVtbi4K LS0gCjIuMzAuMgoK --00000000000047ec0a05f8da1a82--