On 09/02/2018 04:30 PM, Arne Babenhauserheide wrote:
Matt Wette <[email protected]> writes:Now if I load my scheme-texidoc minor mode, place the point just before `(define (' and hit [(control c) (control d)], I end up with a docstring generated by running the comments through `texi2any --plaintext'. ;; @deffn {Procedure} prece a b po ;; Return precedence for arguments @var{a}, @var{b} given the partial ;; order @var{po}. The result is of the form @code{'lt}, @code{'gt}, ;; @code{'eq} or @code{#f}.@* ;; Note: @var{po} may not a true partial order as we can have a<b and ;; b<a => a=b. For example, ;; @example ;; @code{(prece a a po)} => @code{'eq}. ;; @end example ;; @end deffn (define (prece a b po) "- Procedure: prece a b po Return precedence for arguments A, B given the partial order PO. The result is of the form ''lt', ''gt', ''eq' or '#f'. Note: PO may not a true partial order as we can have a<b and b<a => a=b. For example, (prece a a po) => 'eq." (cond ((eqv? a b) 'eq) ((eqv? a '$error) 'lt) ((eqv? b '$error) 'gt) ((<? a b po) (if (<? b a po) 'eq 'lt)) (else (if (<? b a po) 'gt #f)))) and in Guile I get scheme@(guile-user)> ,d prece - Procedure: prece a b po Return precedence for arguments A, B given the partial order PO. The result is of the form ''lt', ''gt', ''eq' or '#f'. Note: PO may not a true partial order as we can have a<b and b<a => a=b. For example, (prece a a po) => 'eq.This looks pretty useful. I don’t write texinfo yet (though I should), but if I did, getting rid of the repetition is great!
Thanks. I was after formatted docstrings. I still need to add: 1) robust way to find insert point for docstring 2) ability to remove old docstring if present The elisp code has been added to my repo at https://github.com/mwette/guile-contrib. Matt or
