• yasnippet commits review

    From Nicholas D Steeves@21:1/5 to All on Wed Jan 4 19:20:02 2023
    Dear Aymeric,

    Following up from our conversation on IRC:

    ca55bc8: Nice find, and fix, thank you! (I haven't tested it yet, but
    assume you have, that it's good, and that it will pass when I test it)

    2ff39eb: Nitpick: If you patch fixes the incompatibility, please say so
    :) Also, it may be nice to say that it's related to #1020143 if that's
    the case.

    8aa6556: Thank you for noting "no changes required" because this item
    requires a human to check for compliance :)

    7c4ae4a: Oh wow, this looks like something that may may have been out of
    date for years. Thanks!

    b9ccd2b: What's the purpose of this digression from the way dh_elpa does things? It looks like it introduces potential indeterminacy. At a
    minimum, an explanation needs to be provided.

    0a76135: I will not sponsor due to this action, because it's not ok
    to disable all 91 tests, when only 7 are failing
    https://ci.debian.net/data/autopkgtest/unstable/amd64/y/yasnippet/28997908/log.gz

    Feel skip these seven tests using another method, but please say why
    this is the correct action.


    Regards,
    Nicholas

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQJEBAEBCgAuFiEE4qYmHjkArtfNxmcIWogwR199EGEFAmO1wbAQHHN0ZW5AZGVi aWFuLm9yZwAKCRBaiDBHX30QYYASD/95FJ+WUAMBfhJ2+GMfURN4k5F1jKFZysux MkIAqFAmX3a/fO094LWgU5o7t3Q7lSQWoCOwPY4b2PAv41No+c/L3eLH+ajXYhyK YQo7dpG+7HL0BRAQcbl02xGPcqVc98xvcXx2masjgadu15KUGPQFGYlQnvd85waB XuvrsTy3/kB4jyMC7Waj2c+s3Yb0Y6DmO+h/UR2Cq8b8NSZXxElAdUKv7ZvwaVqM aByJrMVJafijp6n1H3W9BvHNlwp8PB4/BT1o61DcskyEOfe2zHQmYbmnhV46uQaG D1v3hW/tuDs6+9jpuNi/evzAa04tGFXl8ACR0B2r1rgWY0NTdh3JUrGbCLnvMC/A iO9e9oNBIuTfw/KmLP8PMLpmOcB/dQ1wUIBKB5STKt66AmHGpecfK8yjbhbb9AhE vjrXcRDWaSHlJB+1aPIbuYwfcqf273m00mwIXYrqTfXn3ZmtFxyZvqjQ+u87NmUG tiAb0pAgmJ5u21tNQM89ozx0h8pqWy1T4P9zSS6SGKCA3qZbm5ppLfyWN9Y2BL3P 7FQS0A5t0gFeJsoKmInqPk7m6w3kpPc+dnrGJZ+kCNEKKauyMgzjQa8LQ29rGK7t R3s+jLlfLnVPkwV0I3eiXhYVuXKFlbocMeY9NjlSdtBCCJND5tlPHLx6TWyJRQE8 ocLbxkxrpw==gXJA
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Aymeric Agon-Rambosson@21:1/5 to All on Thu Jan 5 02:20:01 2023
    Hello Nicholas,

    Le mercredi 4 janvier 2023 à 13:13, Nicholas D Steeves
    <sten@debian.org> a écrit :

    ca55bc8: Nice find, and fix, thank you! (I haven't tested it
    yet, but
    assume you have, that it's good, and that it will pass when I
    test it)

    I have, and I have checked that the generated HTML documentation
    is the same as in currently installed versions of yasnippet (from
    what I can tell, only the order of the documented symbols in the
    documentation changes, which could be related to changes in the
    way org export works). If you think the patch is good, I'll
    forward it upstream and explain my thinking.

    2ff39eb: Nitpick: If you patch fixes the incompatibility, please
    say so
    :) Also, it may be nice to say that it's related to #1020143 if
    that's
    the case.

    I don't think my patch has anything to do with this problem, which
    must have stopped being applicable at some point in the past. I
    just could not reproduce it anymore.

    8aa6556: Thank you for noting "no changes required" because this
    item
    requires a human to check for compliance :)

    I checked against the policy checklist.

    7c4ae4a: Oh wow, this looks like something that may may have
    been out of
    date for years. Thanks!

    Cheers.

    b9ccd2b: What's the purpose of this digression from the way
    dh_elpa does
    things? It looks like it introduces potential indeterminacy.
    At a
    minimum, an explanation needs to be provided.

    I just modeled the override according to what I did in my other
    packages (see vertico or consult, for instance), for which I had
    no objection. But it turns out that dh_elpa does "emacs -Q -L /path/to/needed/elpa/src/" rather than "emacs -q". The second one
    seemed simpler, but they are not entirely equivalent, the debian
    site-files do a little bit more than just adding directories to
    the load-path. I will remove this commit.

    0a76135: I will not sponsor due to this action, because it's not
    ok
    to disable all 91 tests, when only 7 are failing
    https://ci.debian.net/data/autopkgtest/unstable/amd64/y/yasnippet/28997908/log.gz

    Feel skip these seven tests using another method, but please say
    why
    this is the correct action.

    The thinking was the following :

    The tests' failing has nothing to do with us, a simple "rake
    tests" on the upstream repo fails the same, and upstream seems
    unconcerned about this. In fact, there is a PR upstream (#1125)
    that solves some of the failing tests that hasn't been merged in
    more than a year.

    I would have liked the failing tests not to prevent the build from
    succeeding, but still be able to see that there are some
    failing. By disabling dh-elpa-test, we make the build succeed, but
    autopkgtest still runs after the build, and the failure can still
    be visible on ci.debian.net (which is good). If we skip the tests,
    we're making them disappear from the build and from autopkgtest.

    I have neither the time nor the inclination to investigate the
    failing tests. So I can either :
    - skip the tests
    - make something like :

    override_dh_elpa_test:
    -dh_elpa_test

    This would still run the tests, but the fact that they fail would
    not make the build fail.

    Tell me what you prefer, I'll rebase accordingly on the temp
    branch.

    Best, and thank you for the review,

    Aymeric

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicholas D Steeves@21:1/5 to Aymeric Agon-Rambosson on Mon Jan 9 00:20:02 2023
    Hi Aymeric,

    I've created the branch "temp-agon-reviewed_by_sten" which is
    fast-forwardable relative from "temp". This was necessary because the following are not doc-related...self tests for core functionality
    shouldn't break:

    3 unexpected results:
    FAILED basic-jit-loading
    FAILED basic-jit-loading-with-compiled-snippets
    FAILED visiting-compiled-snippets

    (ert-deftest basic-jit-loading ()
    "Test basic loading and expansion of snippets"
    …
    (ert-deftest basic-jit-loading-with-compiled-snippets ()
    "Test basic loading and expansion of compiled snippets"
    …
    (ert-deftest visiting-compiled-snippets ()
    "Test snippet visiting for compiled snippets."

    Aymeric Agon-Rambosson <aymeric.agon@yandex.com> writes:

    Le mercredi 4 janvier 2023 à 13:13, Nicholas D Steeves
    <sten@debian.org> a écrit :

    ca55bc8: Nice find, and fix, thank you! (I haven't tested it
    yet, but
    assume you have, that it's good, and that it will pass when I
    test it)

    I have, and I have checked that the generated HTML documentation
    is the same as in currently installed versions of yasnippet (from
    what I can tell, only the order of the documented symbols in the documentation changes, which could be related to changes in the
    way org export works). If you think the patch is good, I'll
    forward it upstream and explain my thinking.


    This patch has "Forwarded: yes" in the header, so you've already claimed
    that it's been forwarded ;) It would be nice to have the URL it was/will
    be forwarded to rather than "yes" here, so that the next person who
    works on this package can track upstream discussion and status of your
    patch. I think it's likely upstream will accept it, an in the interim I
    think other people will appreciate having it made public. Ie makes it
    easier for someone to fork and apply all the important PRs to get
    yasnippet working again.

    Also if for some reason the upstream project becomes inaccessible, it's worthwhile to have a line or two in your patch header that explains your thinking (for the future maintainer of the Debian package). Sometimes
    the Debian packages ends up being the only living project, and thus the
    defacto "upstream" (hopefully only until an upstream fork is made).

    b9ccd2b: What's the purpose of this digression from the way
    dh_elpa does
    things? It looks like it introduces potential indeterminacy.
    At a
    minimum, an explanation needs to be provided.

    I just modeled the override according to what I did in my other
    packages (see vertico or consult, for instance), for which I had
    no objection. But it turns out that dh_elpa does "emacs -Q -L /path/to/needed/elpa/src/" rather than "emacs -q". The second one
    seemed simpler, but they are not entirely equivalent, the debian
    site-files do a little bit more than just adding directories to
    the load-path. I will remove this commit.


    Thanks! [edit: I've reverted on my branch]

    0a76135: I will not sponsor due to this action, because it's not
    ok
    to disable all 91 tests, when only 7 are failing
    https://ci.debian.net/data/autopkgtest/unstable/amd64/y/yasnippet/28997908/log.gz

    Feel skip these seven tests using another method, but please say
    why
    this is the correct action.

    The thinking was the following :

    The tests' failing has nothing to do with us, a simple "rake
    tests" on the upstream repo fails the same, and upstream seems
    unconcerned about this. In fact, there is a PR upstream (#1125)
    that solves some of the failing tests that hasn't been merged in
    more than a year.


    It sounds like a new upstream [co]maintainer is be needed.

    I would have liked the failing tests not to prevent the build from succeeding, but still be able to see that there are some
    failing. By disabling dh-elpa-test, we make the build succeed, but autopkgtest still runs after the build, and the failure can still
    be visible on ci.debian.net (which is good). If we skip the tests,
    we're making them disappear from the build and from autopkgtest.


    Unfortunately this Debian package doesn't have an active human
    maintainer, so this becomes an "if someone happens to notice and care
    about the failure" rather than the existing early warning system. The
    hard failure alerts team members and interested parties, and correctly
    removes the package from testing.

    I have neither the time nor the inclination to investigate the
    failing tests.

    Fair point. Thanks for mentioning upstream PR. I've imported it.

    Cheers,
    Nicholas

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQJEBAEBCgAuFiEE4qYmHjkArtfNxmcIWogwR199EGEFAmO7TfgQHHN0ZW5AZGVi aWFuLm9yZwAKCRBaiDBHX30QYZryEACSheqsZVpNdhR6NV66+LlyOTaeKg/Xv8cg Pc5eqy6dv6gQUvSkYuuXyUgZNQRUzOphGlt2e2OrXq/IUJp4wQuhAwfohbyYiT7R O0uTg2yNxc39YR3vy6rR2wsLlV44mMqMlY+ZryjKEOXz60joUin+2z4uB1dS89kW 8lzri5i9b45/DGCzcX7VoxJZYGy4SONC2wG6IVegTjnO+HcfKfp/DAwoP2PzG+rK VekNT3M6FdQ6DvXZEOHCd+Z942pdRrp9WJmHS9m6bKkCFxRHBNpC1gDrPGqOR9TJ KjianJjnYy0pHofByPO7zdt1u9RdiWwyxSiTFpizf8EenO+Z2WVMC3eg8bJ0CFe+ CVpSbrSE9bIHebKu4Xo9f9sG7tcvPqHaC2OWaVsAo2QwibBcpdWbAfxQszywDwKh HmV+707XB8JCaakb0/c5W6CRCp6ulP0bGN90I/N8e8KmKVb4slwy8IcwHQWpt1Pb Yo1H7QqzBYbeYb24t0xUSs15/npxWOgMQRu7R+D9xiEFmb+d2y5RvwWh73UbGO1o ySiJkCH43tOCLG7P1hUrtA3DTkxwQJEYiKu/puL2QNLH6+8V3ig8YBUtjoZBqGna n0HcFjOnRzn4BBQW124WMEDoYBihprjw1+pAGn3Eq0uJUb8BEJxoxtasC6zxZMlf kI0NMtFCVw==AJIs
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Aymeric Agon-Rambosson@21:1/5 to All on Tue Jan 10 22:30:01 2023
    Hello Nicholas,

    Le dimanche 8 janvier 2023 à 18:12, Nicholas D Steeves
    <sten@debian.org> a écrit :

    I've created the branch "temp-agon-reviewed_by_sten" which is fast-forwardable relative from "temp". This was necessary
    because the
    following are not doc-related...self tests for core
    functionality
    shouldn't break:

    3 unexpected results:
    FAILED basic-jit-loading
    FAILED basic-jit-loading-with-compiled-snippets
    FAILED visiting-compiled-snippets

    (ert-deftest basic-jit-loading ()
    "Test basic loading and expansion of snippets"
    …
    (ert-deftest basic-jit-loading-with-compiled-snippets ()
    "Test basic loading and expansion of compiled snippets"
    …
    (ert-deftest visiting-compiled-snippets ()
    "Test snippet visiting for compiled snippets."

    Very well, I've seen the branch. Since we can rewrite history as
    long as we haven't merged into master, will you let me remove my
    commits from your branch rather than simply revert them ? I can do
    it whenever its convenient for you, just before you merge to
    master.

    This patch has "Forwarded: yes" in the header, so you've already
    claimed
    that it's been forwarded ;) It would be nice to have the URL it
    was/will
    be forwarded to rather than "yes" here, so that the next person
    who
    works on this package can track upstream discussion and status
    of your
    patch. I think it's likely upstream will accept it, an in the
    interim I
    think other people will appreciate having it made public. Ie
    makes it
    easier for someone to fork and apply all the important PRs to
    get
    yasnippet working again.

    Also if for some reason the upstream project becomes
    inaccessible, it's
    worthwhile to have a line or two in your patch header that
    explains your
    thinking (for the future maintainer of the Debian package).
    Sometimes
    the Debian packages ends up being the only living project, and
    thus the
    defacto "upstream" (hopefully only until an upstream fork is
    made).

    I haven't forwarded it yet, this is exactly what I wanted to do
    after you reviewed the patch. I'll open a PR on the upstream repo,
    reference the issue David opened, explain my thinking there and on
    the patch header as well.

    Unfortunately this Debian package doesn't have an active human
    maintainer, so this becomes an "if someone happens to notice and
    care
    about the failure" rather than the existing early warning
    system. The
    hard failure alerts team members and interested parties, and
    correctly
    removes the package from testing.

    Fair point. Thanks for mentioning upstream PR. I've imported
    it.

    Sorry for this. What I thought would be a (not so) simple unbreak
    of the documentation build turned out to be hiding other
    errors. I've seen that you and David discuss it on
    #debian-emacsen, I'll try and look into the remaining tests this
    weekend if I have the time.

    Best,

    Aymeric

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicholas D Steeves@21:1/5 to Aymeric Agon-Rambosson on Wed Jan 11 01:50:01 2023
    Hi Aymeric,

    Aymeric Agon-Rambosson <aymeric.agon@yandex.com> writes:

    Le dimanche 8 janvier 2023 à 18:12, Nicholas D Steeves
    <sten@debian.org> a écrit :

    I've created the branch "temp-agon-reviewed_by_sten" which is
    fast-forwardable relative from "temp".

    Very well, I've seen the branch. Since we can rewrite history as
    long as we haven't merged into master, will you let me remove my
    commits from your branch rather than simply revert them ? I can do
    it whenever its convenient for you, just before you merge to
    master.


    Right now, please fast-forward your branch (temp) to the reviewed state
    and rebase & squash that one (temp); I asked for help reviewing the
    failing tests on my reviewed branch, so it should not be rebased.

    This patch has "Forwarded: yes" in the header, so you've already
    claimed
    that it's been forwarded ;) It would be nice to have the URL it
    was/will
    be forwarded to rather than "yes" here, so that the next person
    who
    works on this package can track upstream discussion and status
    of your
    patch.

    I haven't forwarded it yet, this is exactly what I wanted to do
    after you reviewed the patch. I'll open a PR on the upstream repo,
    reference the issue David opened, explain my thinking there and on
    the patch header as well.


    It sounds like you'd like to write a draft of your thinking in the
    patch, have me review it, and forward the reviewed patch upstream, so
    please write your thinking in the patch header now.

    Unfortunately this Debian package doesn't have an active human
    maintainer, so this becomes an "if someone happens to notice and
    care
    about the failure" rather than the existing early warning
    system. The
    hard failure alerts team members and interested parties, and
    correctly
    removes the package from testing.

    Fair point. Thanks for mentioning upstream PR. I've imported
    it.

    Sorry for this. What I thought would be a (not so) simple unbreak
    of the documentation build turned out to be hiding other
    errors. I've seen that you and David discuss it on
    #debian-emacsen, I'll try and look into the remaining tests this
    weekend if I have the time.


    No worries, this is why the social side of Debian exists, and why gaining upload rights is an incremental process :) Thanks again for your contributions!

    Regards,
    Nicholas

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQJEBAEBCgAuFiEE4qYmHjkArtfNxmcIWogwR199EGEFAmO+BUkQHHN0ZW5AZGVi aWFuLm9yZwAKCRBaiDBHX30QYeDRD/9WuEvu+RZohUWUmr4d34WFxCi5dLmK+dWY KcOoS4PK/pZ07P23/nEUtqwYd0XHw3AJUkKWo9AdEnJvI97KLblhCcvLo9xQpU6v egeNYjjTRkUdsJqkl228wk8K2ASbLEGfLeNsIh1OnCMbRStekYEiR68vpZSIUV4V YweiS64C9u71cgjY645lNvLETY+pkAdxaXkZ8fJUy4jMkSaH3w0mjP3IMJKkzzJA QrmThhEssstgC03POq0kR+dTwp0do7/l3hB3nALKNAlsBmaemNervpHlXkKUI0NC 8TEZg7p83x8lWjuJUnaAvoIzPcsnDHFvUjqm/2c66QPuLwFjyvh6krYFJ+ve8kLT x24oc795/grAgIrQRN2kDZQGyUFAkygPRCzddh7lBECg+nOn5VNYuQz83EOUETpm +HjtQapY4xK/LJgMRGmA7MFRjROiOv8bCbsNhnlaf1BJK0UbwTY3bZYWo1rl3Y69 cawT90BO9/5NZVazu8S45ySCkzutD/cuESf4lnU9RpHAguA6qWtVyxE8EPxBxH/w XYnH3ZxyFE00mmMK3w/STlsUr/+SATi1t83/chQ0fE3JRFORyzEdply50QbUQ5Ao fdj2e3UHR20eqZevz83iZDjHlFvsrps2vPyTL7ovAXZrPkUEYlSRxdenkh1uRTdC
    V2VRxJzznA=ŠuL
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Aymeric Agon-Rambosson@21:1/5 to All on Sun Jan 15 09:40:01 2023
    Hello Nicholas,

    Le jeudi 12 janvier 2023 à 15:25, Nicholas D Steeves
    <sten@debian.org> a écrit :

    Wonderful, it looks good to me, so I've merged your work. I'll
    CC you
    when I ask the upstream community about the remaining three
    failures.

    I have a patch for the remaining three failures. It was the
    trampoline compilation of the primitive buffer-list that made the
    three tests fail. This is similar to what I got in projectile. I
    am not exactly sure *how* the trampoline compilation makes the
    test fail, but I am sure this is it.

    The patch I have implemented simply excludes said primitive from
    trampoline optimisation. The inquiry as to what exactly happens
    and leads to the error (which I had managed to do for projectile)
    is probably best left to upstream.

    I have added a commit on a temporary branch (temp_agon). I have
    not yet forwarded the patch, and have marked the header as such. I
    will forward it if you agree with it, and will modify the header
    accordingly. Please let me rebase then before merging to master.

    Best,

    Aymeric

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Bremner@21:1/5 to Aymeric Agon-Rambosson on Sun Jan 15 12:10:01 2023
    Aymeric Agon-Rambosson <aymeric.agon@yandex.com> writes:


    I have a patch for the remaining three failures. It was the
    trampoline compilation of the primitive buffer-list that made the
    three tests fail. This is similar to what I got in projectile. I
    am not exactly sure *how* the trampoline compilation makes the
    test fail, but I am sure this is it.


    Apologies, I haven't had time to follow this discussion very well, but I
    should note setting EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION=t in the environment may help suppress trampoline compilation.

    d

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Aymeric Agon-Rambosson@21:1/5 to All on Sun Jan 15 15:20:01 2023
    Hello David,

    Le dimanche 15 janvier 2023 à 07:05, David Bremner
    <david@tethera.net> a écrit :

    Apologies, I haven't had time to follow this discussion very
    well, but I
    should note setting EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION=t
    in the
    environment may help suppress trampoline compilation.

    According to the function `comp-trampoline-compile', the EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION environment variable
    does not prevent trampoline compilation, only the saving of the
    output of said trampoline compilation to the file system.

    I just checked, EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION is
    already set to t anyway. Sean exported it from dh_elpa_test just
    before Christmas (65a588ca).

    As of now, from what I understood of what I read in the upstream
    mailing list and the comp.el file, the only way to truly prevent
    trampoline compilation of a primitive is to add it to the variable `native-comp-never-optimize-functions'. I think it could also be
    possible to prevent the trampoline compilation of *any* primitive
    by setting `comp-enable-subr-trampolines' to nil.

    Best,

    Aymeric

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Bremner@21:1/5 to Aymeric Agon-Rambosson on Sun Jan 15 18:50:01 2023
    Aymeric Agon-Rambosson <aymeric.agon@yandex.com> writes:

    Hello David,

    Le dimanche 15 janvier 2023 à 07:05, David Bremner
    <david@tethera.net> a écrit :

    Apologies, I haven't had time to follow this discussion very
    well, but I
    should note setting EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION=t
    in the
    environment may help suppress trampoline compilation.

    According to the function `comp-trampoline-compile', the EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION environment variable
    does not prevent trampoline compilation, only the saving of the
    output of said trampoline compilation to the file system.

    Right, thanks for the correction. I knew that once...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicholas D Steeves@21:1/5 to Aymeric Agon-Rambosson on Sun Jan 22 23:40:01 2023
    Hi Aymeric,

    Aymeric Agon-Rambosson <aymeric.agon@yandex.com> writes:

    According to the function `comp-trampoline-compile', the EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION environment variable
    does not prevent trampoline compilation, only the saving of the
    output of said trampoline compilation to the file system.

    I just checked, EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION is
    already set to t anyway. Sean exported it from dh_elpa_test just
    before Christmas (65a588ca).


    It would be nice to see some of the above text in the patch header
    and/or Debian changelog (it's not relevant for the upstream PR as far as
    I can tell)

    As of now, from what I understood of what I read in the upstream
    mailing list and the comp.el file, the only way to truly prevent
    trampoline compilation of a primitive is to add it to the variable `native-comp-never-optimize-functions'. I think it could also be
    possible to prevent the trampoline compilation of *any* primitive
    by setting `comp-enable-subr-trampolines' to nil.


    Cool approach vs skipping the tests. It would be nice to see a couple
    of words that show you've thought about why/how this approach doesn't
    hide potential bugs in real-world yasnippet usage. I hope you believe
    it's more likely that there's something weird with these three tests
    than that the tests are triggering a difficult to reproduce bug in Emacs
    ;) Also, please forward that patch. Go ahead and finalise the changelog
    with a commit message that mentions the version
    (0.14.0+git20200603.5cbdbf0d-2) as well as the distribution/suite (unstable)--in other words, it's just about ready to sponsor.

    As an aside, I seem to remember that native-comp-never-optimize-functions
    is supposed to be renamed sooner or later, which is good, because at
    that time Someoneâ„¢ will need to refresh the patch and test that core functionality is still working.

    Regards,
    Nicholas

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQJEBAEBCgAuFiEE4qYmHjkArtfNxmcIWogwR199EGEFAmPNuU0QHHN0ZW5AZGVi aWFuLm9yZwAKCRBaiDBHX30QYZiwEADIJvbzekGsdB3I4w6c2s7dKlOCN8KacM3d aLBXWNOBxPCdoXhQLdE+kqzUz5yuRk/jPsWANT1JZuQ4rZtFUt7a/htx+GBmgHb2 mQvcNuddP2Gtn57H1PZ6Iw52jjrD5VRsOqpyrwfXRM1S9BCT236bYC/DzIpGlWWN InMwZZ+givt0b9trveyMr9tTesDbraMxBsgAn2Z1Q50VMlrNeLDFGecGy7wnHRLB nx2LVkgQCYvyFCjWMr8VzW+LfJo1PrtOXLR1LBI9bYrxL4GgiiJDtmni55DXB9re FaxYF+o/LkUTAoWOVqX7IsdMQqi9DAvlBkqL/81xLC1jCgNBfXPeBqzDXT0iqS4e i2NBbd+D9DWWb6F9RpoY3dd4SOtDDD6faWjIHLfns8IRIqhNTZAxoTtdyKm7IR9W uymYdNKE+ns/b6hquWeuobAQMfMk/0dBibXuO1vGY2355ZqcureykPWih9fD7U4J GHGW4YXbXr4+9el7rsLc3rOcjY3nNewa8txdxb8/SNr9FSyaWESOLye2I2twdKdc z3JQ0bP7adOSegCrlUxx3eeAS3ZCh1DmNXFu2KBNBDf53+tM5Ynr+CiKkzqpLpzS S3heweZ2rbpt2yof3LXoIy1unjgQCuwj+vvTyNTtnFH7zFZG7Q76TJv1i2zu+Cd8 jX2/J7/zjA==VCc2
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Aymeric Agon-Rambosson@21:1/5 to All on Tue Jan 24 07:00:01 2023
    Hi Nicholas,

    Le dimanche 22 janvier 2023 à 17:31, Nicholas D Steeves
    <sten@debian.org> a écrit :

    It would be nice to see some of the above text in the patch
    header
    and/or Debian changelog (it's not relevant for the upstream PR
    as far as
    I can tell)

    I don't think it is relevant to this specific patch either, and it
    could change in the future. I think this a generic piece of
    knowledge that we have to keep in mind for all our packages. I
    remember enquiring about it and later explaining it a couple of
    times on #debian-emacsen, for instance. Maybe the wiki would be
    the good place to store that kind of information ?

    Cool approach vs skipping the tests. It would be nice to see a
    couple
    of words that show you've thought about why/how this approach
    doesn't
    hide potential bugs in real-world yasnippet usage. I hope you
    believe
    it's more likely that there's something weird with these three
    tests
    than that the tests are triggering a difficult to reproduce bug
    in Emacs
    ;)

    The bug lies most definitely in the interaction of the native
    compiler and the override of the primitive `buffer-list'
    implemented by the macro `yas-with-overriden-buffer-list' used by
    the three failing tests. This macro is used only for testing, and
    is not shipped to our users.

    I sincerely hope that in a real-world yasnippet usage, our users
    do not override a primitive as important as `buffer-list' so
    recklessly.

    Advising primitives was frowned upon even before native
    compilation, but now it should be avoided at all costs. As far as
    I know, the main valid use case for doing it anyway are tests that
    aim to give themselves a reproducible environment, so mostly
    package maintainers are concerned by this.

    I do not think there is anything weird with those three tests. As
    far as I can tell, `yas-with-overriden-buffer-list' implements the
    override of `buffer-list' correctly, is careful enough to avoid
    infinite recursion, etc... According to me, these tests do in fact
    trigger a difficult to reproduce bug in emacs related to native
    compilation and primitive redefinition. Our users should be fine
    as long as they do not override this primitive, or if they do,
    they also include it to `native-comp-never-optimize-functions'.

    Go ahead and finalise the changelog
    with a commit message that mentions the version (0.14.0+git20200603.5cbdbf0d-2) as well as the
    distribution/suite
    (unstable)--in other words, it's just about ready to sponsor.

    If you still think this fix is valid, I can go ahead. However, I
    will not implement this fix with a patch, I'll use either d/rules
    (like I did with projectile) or more probably d/elpa-test (that
    allows arbitrary elisp evaluation before the running of the test).

    Also, please forward that patch.

    I'll open a PR and link the various issues and PRs you and David
    contributed to.

    As an aside, I seem to remember that
    native-comp-never-optimize-functions
    is supposed to be renamed sooner or later

    Do you remember where you read that ?

    I'll let you tell me whether you still think this fix is a good
    idea, and I'll act accordingly.

    Best,

    Aymeric

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicholas D Steeves@21:1/5 to Aymeric Agon-Rambosson on Sun Jan 29 20:00:02 2023
    Hi Aymeric,

    tldr: We only have about week to upload the fix, so I'd prefer to merge
    what I reviewed (where you used a patch) right now and upload ASAP.

    Aymeric Agon-Rambosson <aymeric.agon@yandex.com> writes:

    Le dimanche 22 janvier 2023 à 17:31, Nicholas D Steeves
    <sten@debian.org> a écrit :

    It would be nice to see some of the above text in the patch
    header
    and/or Debian changelog (it's not relevant for the upstream PR
    as far as
    I can tell)

    I don't think it is relevant to this specific patch either, and it
    could change in the future. I think this a generic piece of
    knowledge that we have to keep in mind for all our packages. I
    remember enquiring about it and later explaining it a couple of
    times on #debian-emacsen, for instance. Maybe the wiki would be
    the good place to store that kind of information ?


    I agree, the wiki is a good place to centralise information. Linking to
    that article can then be used to avoid needing to reexplaining things;
    it also prevents gating when you link to it from package that needs a workaround--this is especially important for a package that needs
    an active human maintainer!

    Another possibility might be to eventually provide additional
    documentation in dh-elpa.

    [snip]
    I sincerely hope that in a real-world yasnippet usage, our users
    do not override a primitive as important as `buffer-list' so
    recklessly.


    Fair point haha!

    The bug lies most definitely in the interaction of the native
    compiler and the override of the primitive `buffer-list'
    implemented by the macro `yas-with-overriden-buffer-list' used by
    the three failing tests. This macro is used only for testing, and
    is not shipped to our users.

    Advising primitives was frowned upon even before native
    compilation, but now it should be avoided at all costs. As far as
    I know, the main valid use case for doing it anyway are tests that
    aim to give themselves a reproducible environment, so mostly
    package maintainers are concerned by this.


    It sounds like you're proposing a policy such as this:

    If an upstream package has advised primitives, in the test file (or in
    test functions) *for the purposes of testing*, and the package FTBFS,
    then the Debian package should add these advised primitives to
    'native-comp-never-optimize-functions' to prevent FTBFS. Any other
    instanced of advised of primitives is an upstream bug.

    Of course it's also worth considering that if the test environment has
    been advised to such an extent that it no longer represents the package-as-used-by-a-user on a Debian system, then tests run in such an environment have poor functional (and qualitative) value.

    According to me, these tests do in fact trigger a difficult to
    reproduce bug in emacs related to native compilation and primitive redefinition. Our users should be fine as long as they do not override
    this primitive, or if they do, they also include it to `native-comp-never-optimize-functions'.


    A reliable way to reproduce a difficult to reproduce bug is valuable! :)

    Go ahead and finalise the changelog
    with a commit message that mentions the version
    (0.14.0+git20200603.5cbdbf0d-2) as well as the
    distribution/suite
    (unstable)--in other words, it's just about ready to sponsor.

    If you still think this fix is valid, I can go ahead. However, I
    will not implement this fix with a patch, I'll use either d/rules
    (like I did with projectile) or more probably d/elpa-test (that
    allows arbitrary elisp evaluation before the running of the test).


    The "not with a patch" alternative is valid but I worry it may be
    insufficient, so I would need to see what you're proposing...and we're
    short on time...for the record, here's my criteria:

    1. Don't make Debian-specific fixes (make them upstream, and make the
    same changes in the Debian package), except for Debian-specific issues
    2. Provide the URL where fix was forwarded
    3. It's better if no further action needs to be taken when rebasing
    the Debian package on a future (fixed) upstream version
    4. Optionally provide a link to upstream bug (in this case, it sounds
    like that would be an Emacs bug). In the absence of this, it would be
    nice to see it as a TODO item, because we're supposed to be helping
    upstream work towards a more robust future.
    5. Don't normalise the bug or take on technical debt--I feel like
    a simple use of d/elpa-test would probably do this, because this file
    is usually used for permanent Debian-specific CI integration type
    problems...also, if it's truly an Emacs then I think that dh-elpa
    is the place to implement the workaround.

    Also, please forward that patch.

    I'll open a PR and link the various issues and PRs you and David
    contributed to.


    Thanks! That will fulfil #1 of the above.

    As an aside, I seem to remember that
    native-comp-never-optimize-functions
    is supposed to be renamed sooner or later

    Do you remember where you read that ?


    Sorry, I can't remember, other than that someone had already done the
    work, and that person was writing about the rename as if it had already
    been merged. It might be floating around someone's feature branch
    somewhere, or on a 'for-next'-type staging branch.

    I'll let you tell me whether you still think this fix is a good
    idea, and I'll act accordingly.


    Yes to the patch, and I'm not sure about the nascent alternative.

    Regards,
    Nicholas

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQJEBAEBCgAuFiEE4qYmHjkArtfNxmcIWogwR199EGEFAmPWwCQQHHN0ZW5AZGVi aWFuLm9yZwAKCRBaiDBHX30QYRxVD/9ERZEOV5T3ZcxHhcf6xNDhpOb6OiF5T1rZ RGfoKIeL4htPWk+KratM222C6Ld23novJrhHTiSi1t2nRxaHajbuqILIVag0dJnh Ks45Nc7lN+61rCXrkml2r9DHcpkx+jHSYGs59N5X5FW3jiMdPfEQuv8lSHYXad6X lxxPUZ5Bgq/OdcOs9p5fCjdaTTExZVVBI160DgX8z2B41wevfkGwx4/qAT4ddXC/ oYHbQOUXa+wIoT15V3GEb8ITKrsUeZg3soTuLLflzDsBHyV87Th9yaVkhnfVuH0a o3QnsRaO3hTfh+SrMS3cuf6kAaVFwN7x9X6L+ovg8Cq+SgLSKMngB5LfnpGNYG1b hUeBl/UvZLXd2giB/y/m4H5P5C+2rxGGmukZg4c+O9yii02zFElNzXlcUJ9TJt0x BPTqwKrFOwceRLn24I5BxTMMWUeSvTM/lbl08AlTQ52GURLCb3tVshEZutGftEiL 3BmGTLe/enZRv4gQa2TP7roUagkEuDurJuI/CEi9fsAbgkgzIuzfdJq157lTqDcT /R4ecnkVVwveSZsCWniiPNe8ym8E7MRAdC/pM/SqfbjfOzPV/0/pmatDi1VJZipK GZhT+KUUm6u6pgCQqoLR4IcisvuyGfJm5afOOu1kzVDVwFPcULeOPhjOAjyfrPJ7
    yBKya5jH+A=.4y
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Aymeric Agon-Rambosson@21:1/5 to All on Sun Jan 29 22:40:02 2023
    Hi Nicholas,

    Le dimanche 29 janvier 2023 à 13:51, Nicholas D Steeves
    <sten@debian.org> a écrit :

    I agree, the wiki is a good place to centralise information.
    Linking to
    that article can then be used to avoid needing to reexplaining
    things;
    it also prevents gating when you link to it from package that
    needs a
    workaround--this is especially important for a package that
    needs
    an active human maintainer!

    Another possibility might be to eventually provide additional
    documentation in dh-elpa.

    Feel free to use any part of my previous mails verbatim if you
    edit the wiki (I don't have write access). If you want me to
    review it first, just tell me.

    Thanks! That will fulfil #1 of the above.

    This is done.

    The "not with a patch" alternative is valid but I worry it may
    be
    insufficient, so I would need to see what you're proposing...and
    we're
    short on time...for the record, here's my criteria:

    1. Don't make Debian-specific fixes (make them upstream, and
    make the
    same changes in the Debian package), except for
    Debian-specific issues
    2. Provide the URL where fix was forwarded
    3. It's better if no further action needs to be taken when
    rebasing
    the Debian package on a future (fixed) upstream version
    4. Optionally provide a link to upstream bug (in this case, it
    sounds
    like that would be an Emacs bug). In the absence of this, it
    would be
    nice to see it as a TODO item, because we're supposed to be
    helping
    upstream work towards a more robust future.
    5. Don't normalise the bug or take on technical debt--I feel
    like
    a simple use of d/elpa-test would probably do this, because
    this file
    is usually used for permanent Debian-specific CI integration
    type
    problems...also, if it's truly an Emacs then I think that
    dh-elpa
    is the place to implement the workaround.

    Fair enough, I went with the patch.

    Go ahead and finalise the changelog
    with a commit message that mentions the version
    (0.14.0+git20200603.5cbdbf0d-2) as well as the
    distribution/suite
    (unstable)--in other words, it's just about ready to sponsor.

    Done, the package should be ready to upload.

    Best,

    Aymeric

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicholas D Steeves@21:1/5 to Aymeric Agon-Rambosson on Mon Jan 30 03:20:01 2023
    Hi Aymeric,

    Aymeric Agon-Rambosson <aymeric.agon@yandex.com> writes:

    Hi Nicholas,

    Le dimanche 29 janvier 2023 à 13:51, Nicholas D Steeves
    <sten@debian.org> a écrit :

    I agree, the wiki is a good place to centralise information.
    Linking to
    that article can then be used to avoid needing to reexplaining
    things;
    it also prevents gating when you link to it from package that
    needs a
    workaround--this is especially important for a package that
    needs
    an active human maintainer!

    Another possibility might be to eventually provide additional
    documentation in dh-elpa.

    Feel free to use any part of my previous mails verbatim if you
    edit the wiki (I don't have write access). If you want me to
    review it first, just tell me.


    Have you already created an account, or are you waiting for approval?
    https://wiki.debian.org/FrontPage?action=newaccount

    Failing that, feel free to ping me around mid-April (or so) when I hope
    to have more free time.

    [snip]
    Go ahead and finalise the changelog
    with a commit message that mentions the version
    (0.14.0+git20200603.5cbdbf0d-2) as well as the
    distribution/suite
    (unstable)--in other words, it's just about ready to sponsor.

    Done, the package should be ready to upload.


    Uploaded! Thank you for your contributions and a good discussion :)

    Cheers,
    Nicholas

    P.S. Are you subscribed to this list, and in the future may I follow the
    usual Debian convention of not including individuals in CC?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Aymeric Agon-Rambosson@21:1/5 to All on Tue Jan 31 02:00:01 2023
    Hi Nicholas,

    Le dimanche 29 janvier 2023 à 21:19, Nicholas D Steeves
    <sten@debian.org> a écrit :

    Have you already created an account, or are you waiting for
    approval?
    https://wiki.debian.org/FrontPage?action=newaccount

    I am currently waiting for approval. I have cced you on my mail
    asking for account creation.

    Uploaded! Thank you for your contributions and a good
    discussion :)

    Thank you for your time !

    P.S. Are you subscribed to this list, and in the future may I
    follow the
    usual Debian convention of not including individuals in CC?

    I am.

    Best,

    Aymeric

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)