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>
