Morgan Smith <[email protected]> writes:

>>> The specific reason I need to allow negative durations for this change
>>> is because I create negative duration in an intermediate step.
>>
>> Are you sure that we want to change Org syntax spec just to make the
>> implementation simpler? That's going to be a breaking change.
>
> Despite the time I've spent studying the parser, I honestly have no clue
> what the implications of this change would be.

The reasoning is simple.
We have https://orgmode.org/worg/org-syntax.html
It affects programs beyond Elisp.
Any changes in the syntax (like allowing "-" in clock line duration),
will affect literally everything that needs to parse Org mode files.
Such changes should never be taken lightly, and we need to think about
implications beyond Emacs.

>  Optional argument N tells to change by that many units."
> -  (let ((tschange (if (eq updown 'up) 'org-timestamp-up
> -                 'org-timestamp-down))
> -     (timestamp? (org-at-timestamp-p 'lax))
> -     ts1 begts1 ts2 begts2 updatets1 tdiff)
> +  ;; FIXME: this is the wrong way to deal with prefix arguments and is
> +  ;; in conflict with the docstring
> +  (setq n (prefix-numeric-value n))

Why do you need to add this at all? You could simply change the
interactive spec in the two callers of org-clock-timestamp-change.

-- 
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to