unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* How to "backport" a patch from master to emacs-28?
@ 2022-10-20 17:54 Harald Jörg
  2022-10-20 18:14 ` Stefan Monnier
  0 siblings, 1 reply; 3+ messages in thread
From: Harald Jörg @ 2022-10-20 17:54 UTC (permalink / raw)
  To: Emacs Developer List

Hello Emacs developers,

I made two mistakes: The first was a simple software bug in a commit to
Emacs master in September 2021.  The second mistake was to fix the bug
in master in November 2021: This fix is not in Emacs 28.2, and it is not
in the emacs-28 branch.  This was brought to my attention by an Emacs
user via the now-retired fork of CPerl mode in
https://github.com/jrockway/cperl-mode/issues/59.

I understand that the usual procedure is to merge _from_ the release
branches _to_ master, but that ship has sailed.  Is it ok to cherry-pick
the single commit and push it to emacs-28?  It is a trivial patch,
below is what "git show" has to say.

commit a25e91593d48a541b5940a2ed707ddfaef5c953f
Author: Harald Jörg <haj@posteo.de>
Date:   Wed Nov 3 15:04:10 2021 +0100

    ; cperl-mode.el: Fix one match-count in my commit 2021-09-14
    
    * lisp/progmodes/cperl-mode.el (cperl-init-faces): Matching group needs
    to be adjusted according to the regexp change in my previous commit

diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index 1afeb60ac5..a23505a9d3 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -5951,7 +5951,7 @@ cperl-init-faces
                                         (eval cperl--basic-identifier-rx)))
                    (0+ blank) "(")
 ;;         '("\\<for\\(each\\)?\\([ \t]+\\(state\\|my\\|local\\|our\\)\\)?[ \t]*\\(\\$[a-zA-Z_][a-zA-Z_0-9]*\\)[ \t]*("
-             4 font-lock-variable-name-face)
+             1 font-lock-variable-name-face)
            ;; Avoid $!, and s!!, qq!! etc. when not fontifying syntactically
            '("\\(?:^\\|[^smywqrx$]\\)\\(!\\)" 1 font-lock-negation-char-face)
            '("\\[\\(\\^\\)" 1 font-lock-negation-char-face prepend)))

-- 
Cheers,
haj



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: How to "backport" a patch from master to emacs-28?
  2022-10-20 17:54 How to "backport" a patch from master to emacs-28? Harald Jörg
@ 2022-10-20 18:14 ` Stefan Monnier
  2022-10-20 19:41   ` Harald Jörg
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier @ 2022-10-20 18:14 UTC (permalink / raw)
  To: Harald Jörg; +Cc: Emacs Developer List

> I understand that the usual procedure is to merge _from_ the release
> branches _to_ master, but that ship has sailed.  Is it ok to cherry-pick
> the single commit and push it to emacs-28?  It is a trivial patch,
> below is what "git show" has to say.

Yes, that can be done, indeed.  But please mark it as a "backport".
Or use `git cherry-pick` which should label it similarly.  This should
make sure that the next time we merge from emacs-28 back to `master`,
`gitmerge.el` can automatically skip it to avoid spurious conflicts.

Note also that AFAIK there is currently no plan for an Emacs-28.3
(we're instead planning to cut the `emacs-29` branch soon, tho there'll
still be many months before the Emacs-29.1 release).


        Stefan


> commit a25e91593d48a541b5940a2ed707ddfaef5c953f
> Author: Harald Jörg <haj@posteo.de>
> Date:   Wed Nov 3 15:04:10 2021 +0100
>
>     ; cperl-mode.el: Fix one match-count in my commit 2021-09-14
>     
>     * lisp/progmodes/cperl-mode.el (cperl-init-faces): Matching group needs
>     to be adjusted according to the regexp change in my previous commit
>
> diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
> index 1afeb60ac5..a23505a9d3 100644
> --- a/lisp/progmodes/cperl-mode.el
> +++ b/lisp/progmodes/cperl-mode.el
> @@ -5951,7 +5951,7 @@ cperl-init-faces
>                                          (eval cperl--basic-identifier-rx)))
>                     (0+ blank) "(")
>  ;;         '("\\<for\\(each\\)?\\([ \t]+\\(state\\|my\\|local\\|our\\)\\)?[ \t]*\\(\\$[a-zA-Z_][a-zA-Z_0-9]*\\)[ \t]*("
> -             4 font-lock-variable-name-face)
> +             1 font-lock-variable-name-face)
>             ;; Avoid $!, and s!!, qq!! etc. when not fontifying syntactically
>             '("\\(?:^\\|[^smywqrx$]\\)\\(!\\)" 1 font-lock-negation-char-face)
>             '("\\[\\(\\^\\)" 1 font-lock-negation-char-face prepend)))




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How to "backport" a patch from master to emacs-28?
  2022-10-20 18:14 ` Stefan Monnier
@ 2022-10-20 19:41   ` Harald Jörg
  0 siblings, 0 replies; 3+ messages in thread
From: Harald Jörg @ 2022-10-20 19:41 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs Developer List

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> I understand that the usual procedure is to merge _from_ the release
>> branches _to_ master, but that ship has sailed.  Is it ok to cherry-pick
>> the single commit and push it to emacs-28?  It is a trivial patch,
>> below is what "git show" has to say.
>
> Yes, that can be done, indeed.  But please mark it as a "backport".
> Or use `git cherry-pick` which should label it similarly.  This should
> make sure that the next time we merge from emacs-28 back to `master`,
> `gitmerge.el` can automatically skip it to avoid spurious conflicts.

Thanks for the recipe! I've done this now.
-- 
Cheers,
haj



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-10-20 19:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-20 17:54 How to "backport" a patch from master to emacs-28? Harald Jörg
2022-10-20 18:14 ` Stefan Monnier
2022-10-20 19:41   ` Harald Jörg

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).