- **labels**:  --> Fixed_2_21_0
- **status**: Started --> Fixed
- **Patch**: push -->  
- **Comment**:

```text
commit f2fb762a09a326366f2297683ce603040fc9d59d
Author: Dan Eble <nine.fierce.ball...@gmail.com>
Date:   Thu Jan 2 13:29:05 2020 -0500

    Issue 5309/2: find_global_context ()
    
    Replace c->get_global_context () with find_global_context (c).  This
    function does not need to access any private information of Context, so
    pulling it out simplifies the interface of Context.  Calling it "find"
    rather than "get" is supposed to imply more work (walking the tree).
    
    Implement find_global_context (c) as find_top_context (c) plus a type
    check.  This increases code reuse and requires fewer dynamic casts.
    Abort the program if the top context is not a Global context, otherwise
    most callers would dereference null pointers.
```
```text
commit b0eb50c2b1a05ec85424b7456d8a18ab74a4b6ae
Author: Dan Eble <nine.fierce.ball...@gmail.com>
Date:   Thu Jan 2 10:21:43 2020 -0500

    Issue 5309/1: find_score_context ()
    
    Translator::find_score_context () finds the Score context enclosing
    the Translator in a way similar to (but slightly more direct than)
    \set Score.whatever = ... rather than depending on the global context.
    
    Global_context::get_score_context () returns the first child, as
    before, but it is no longer a virtual method of Context, and it is used
    in fewer places.
```



---

** [issues:#5309] find_score_context () and find_global_context ()**

**Status:** Fixed
**Labels:** Fixed_2_21_0 
**Created:** Sat Apr 21, 2018 06:37 PM UTC by Dan Eble
**Last Updated:** Thu Jan 16, 2020 07:43 PM UTC
**Owner:** Dan Eble


1: find_score_context ()

Translator::find_score_context () finds the Score context enclosing
the Translator in a way similar to (but slightly more direct than)
\set Score.whatever = ... rather than depending on the global context.

Global_context::get_score_context () returns the first child, as
before, but it is no longer a virtual method of Context, and it is used
in fewer places.

2: find_global_context ()

Replace c->get_global_context () with find_global_context (c).  This
function does not need to access any private information of Context, so
pulling it out simplifies the interface of Context.  Calling it "find"
rather than "get" is supposed to imply more work (walking the tree).

Implement find_global_context (c) as find_top_context (c) plus a type
check.  This increases code reuse and requires fewer dynamic casts.
Abort the program if the top context is not a Global context, otherwise
most callers would dereference null pointers.

https://codereview.appspot.com/561290043/


---

Sent from sourceforge.net because testlilyissues-a...@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/testlilyissues/issues/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/testlilyissues/admin/issues/options.  Or, if this is 
a mailing list, you can unsubscribe from the mailing list.
_______________________________________________
Testlilyissues-auto mailing list
testlilyissues-a...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto
  • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development

Reply via email to