I think the following versions do pretty much the same thing with a bit less
mystery, if I'm understanding things correctly:
(defun ledger-line-regex (elements)
(mapconcat (lambda (e)
(symbol-value
(intern
(concat "ledger-" (symbol-name e) "-string"))))
elements
"[ \t]*$"))
(defmacro ledger-single-line-config (&rest elements)
"Take list of ELEMENTS and return regex and element list for use in
context-at-point"
(let ((regex (ledger-line-regex elements)))
`(list ,regex (quote ,elements))))
And ledger-single-line-config2 would also need a tweak.
-Steve
On 9 May 2014, at 20:08, Steve Purcell <[email protected]> wrote:
> And who could blame you? :-)
>
> -Steve
>
>
> On 9 May 2014, at 20:04, Craig Earls <[email protected]> wrote:
>
>> I was probably reveling in lispish macro nirvana when I wrote it.
>> --
>> Craig
>>
>>
>> On Fri, May 9, 2014 at 12:02 PM, Steve Purcell <[email protected]> wrote:
>>
>> I don't think it's related to that change. Looks like a problem in
>> ledger-context.el expanding the ledger-single-line-config macro, which evals
>> the ledger-line-regex macro in an unusual way. Guessing there's an easier
>> version of that code waiting to get out.
>>
>>
>> https://github.com/ledger/ledger/blob/master/lisp/ledger-context.el#L67
>>
>> -Steve
>>
>>
>>
>> On 9 May 2014, at 19:16, Craig Earls <[email protected]> wrote:
>>
>>> I will look into it. Someone recently "made the regex better". I tested it
>>> but didn't byte compile.
>>> --
>>> Craig
>>>
>>>
>>> On Fri, May 9, 2014 at 11:14 AM, Simon Michael <[email protected]> wrote:
>>>
>>> Hi Craig,
>>>
>>> forgive me, I'm not up for Bugzilla right now: byte-compiling latest
>>> ledger-mode's *.el is failing here with:
>>>
>>> ledger-context.el:70:1:Error: Symbol's function definition is void:
>>> ledger-line-regex
>>>
>>> I'm not sure why.
>>>
>>> --
>>>
>>> ---
>>> You received this message because you are subscribed to the Google Groups
>>> "Ledger" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>>
>>> ---
>>> You received this message because you are subscribed to the Google Groups
>>> "Ledger" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Ledger" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Ledger" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "Ledger" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups
"Ledger" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.