: fuel-get-article ( name -- ) article fuel-eval-set-result ;
-MEMO: fuel-get-article-title ( name -- )
+: fuel-get-article-title ( name -- )
articles get at [ article-title ] [ f ] if* fuel-eval-set-result ;
: fuel-word-help ( name -- ) (fuel-word-help) fuel-eval-set-result ;
((listp sexp)
(case (car sexp)
(:array (factor--seq 'V{ '} (cdr sexp)))
+ (:seq (factor--seq '{ '} (cdr sexp)))
(:quote (format "\\ %s" (factor `(:factor ,(cadr sexp)))))
(:quotation (factor--seq '\[ '\] (cdr sexp)))
(:using (factor `(USING: ,@(cdr sexp) :end)))
(defun fuel-help--get-article (name label)
(message "Retrieving article ...")
- (let* ((cmd `(:fuel* ((,name fuel-get-article)) "fuel" t))
+ (let* ((name (if (listp name) (cons :seq name) name))
+ (cmd `(:fuel* ((,name fuel-get-article)) "fuel" t))
(ret (fuel-eval--send/wait cmd))
(res (fuel-eval--retort-result ret)))
(if (not res)
(defun fuel-markup--insert-button (label link type)
(let ((label (format "%s" label))
- (link (format "%s" link)))
+ (link (if (listp link) link (format "%s" link))))
(insert-text-button label
:type 'fuel-markup--button
'markup-link link
'help-echo (format "%s (%s)" label type))))
(defun fuel-markup--article-title (name)
- (fuel-eval--retort-result
- (fuel-eval--send/wait `(:fuel* ((,name fuel-get-article-title)) "fuel"))))
+ (let ((name (if (listp name) (cons :seq name) name)))
+ (fuel-eval--retort-result
+ (fuel-eval--send/wait `(:fuel* ((,name fuel-get-article-title)) "fuel")))))
(defun fuel-markup--link-at-point ()
(let ((button (condition-case nil (forward-button 0) (error nil))))