git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v10 03/13] ref-filter: introduce ref_formatting_state

From
Karthik Nayak <karthik.188@gmail.com>
Date
Aug 12, 2015, 13:26 UTC
Message-ID
<CAOLa=ZTKvNq0meFfHA8CjWsXOznmW4QUudQnizypzThhBQvFZg@mail.gmail.com>
In-Reply-To
<xmqqd1ytsnfx.fsf@gitster.dls.corp.google.com>
On Tue, Aug 11, 2015 at 11:43 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 21 quoted lines
> Karthik Nayak <karthik.188@gmail.com> writes:
>
>>               get_ref_atom_value(info, parse_ref_filter_atom(sp + 2, ep), &atomv);
>> -             format_quote_value(atomv, quote_style, &output);
>> +             set_formatting_state(atomv, &state);
>> +             format_quote_value(atomv, &state);
>> +             perform_state_formatting(&state, &final_buf);
>>       }
>>       if (*cp) {
>>               sp = cp + strlen(cp);
>> -             append_non_atom(cp, sp, &output);
>> +             append_non_atom(cp, sp, &state);
>> +             perform_state_formatting(&state, &final_buf);
>>       }
>
> With the two helpers being very sketchy at this stage, it is very
> hard to judge if they make sense.  At the conceptual level, I can
> see that set-formatting-state is to allow an atom to affect the
> state before the value of the atom is emitted into the buffer.
> I cannot tell what perform-state-formatting is meant to do from
> these call sites.

True, set formatting state is to ensure that the state is manipulated for a given atom.

perform_state_formatting() is meant to act on the state set by the atom, It performs formatting based on the state values, here is just copies the strbuf set within the state to the final_buf.

-- 
Regards,
Karthik Nayak
Previous: Junio C HamanoNext: Karthik Nayak
Message 12 of 40 in “port tag.c to use ref-filter APIs”
  1. 00/13 port tag.c to use ref-filter APIsKarthik Nayak, Aug 9, 2015
  2. 01/13 ref-filter: move `struct atom_value` to ref-filter.cKarthik Nayak, Aug 9, 2015
  3. 02/13 ref-filter: print output to strbuf for formattingKarthik Nayak, Aug 9, 2015
  4. Junio C HamanoAug 11, 2015
  5. Karthik NayakAug 12, 2015
  6. Junio C HamanoAug 12, 2015
  7. Karthik NayakAug 12, 2015
  8. Junio C HamanoAug 11, 2015
  9. Karthik NayakAug 12, 2015
  10. 03/13 ref-filter: introduce ref_formatting_stateKarthik Nayak, Aug 9, 2015
  11. Junio C HamanoAug 11, 2015
  12. Karthik NayakAug 12, 2015
  13. 04/13 utf8: add function to align a string into given strbufKarthik Nayak, Aug 9, 2015
  14. Junio C HamanoAug 11, 2015
  15. Karthik NayakAug 12, 2015
  16. Junio C HamanoAug 12, 2015
  17. Karthik NayakAug 12, 2015
  18. Eric SunshineAug 13, 2015
  19. Karthik NayakAug 13, 2015
  20. Junio C HamanoAug 14, 2015
  21. Duy NguyenAug 15, 2015
  22. 05/13 ref-filter: implement an `align` atomKarthik Nayak, Aug 9, 2015
  23. Junio C HamanoAug 11, 2015
  24. Karthik NayakAug 12, 2015
  25. Junio C HamanoAug 12, 2015
  26. Karthik NayakAug 12, 2015
  27. Junio C HamanoAug 12, 2015
  28. Karthik NayakAug 14, 2015
  29. Junio C HamanoAug 14, 2015
  30. Eric SunshineAug 13, 2015
  31. Karthik NayakAug 13, 2015
  32. 06/13 ref-filter: add option to filter only tagsKarthik Nayak, Aug 9, 2015
  33. 07/13 ref-filter: support printing N lines from tag annotationKarthik Nayak, Aug 9, 2015
  34. 08/13 ref-filter: add support to sort by versionKarthik Nayak, Aug 9, 2015
  35. 09/13 ref-filter: add option to match literal patternKarthik Nayak, Aug 9, 2015
  36. 10/13 tag.c: use 'ref-filter' data structuresKarthik Nayak, Aug 9, 2015
  37. 10/13 tag.c: use 'ref-filter' data structuresKarthik Nayak, Aug 9, 2015
  38. 11/13 tag.c: use 'ref-filter' APIsKarthik Nayak, Aug 9, 2015
  39. 12/13 tag.c: implement '--format' optionKarthik Nayak, Aug 9, 2015
  40. 13/13 tag.c: implement '--merged' and '--no-merged' optionsKarthik Nayak, Aug 9, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.