When I evaluate the next line
(widget-create 'push-button "Push me!")
I get floowing *Backtrace*.
I wasn't able to come up with a fix, although I tried.
Andy will know, I'm sure :-)
Later,
Adrian
Signaling: (wrong-type-argument listp :descriptor)
nth(0 :descriptor)
(list (nth 0 (aref gui 1)) (apply (function vector) (list ... ... text)))
)
(backquote ((\, ...) [string :data ...]))
)
(make-glyph (backquote (... ...)))
)
(list (make-glyph (backquote ...)) (make-glyph (backquote ...)) (make-glyph (backquote
...)))
)
(setq gui-glyphs (list (make-glyph ...) (make-glyph ...) (make-glyph ...)))
)
(let* ((gui-button-shadow-thickness 1) (gui ...)) (setq gui-glyphs (list ... ... ...))
(laxputf widget-push-button-cache tag gui-glyphs))
)
(if gui-glyphs nil (let* (... ...) (setq gui-glyphs ...) (laxputf
widget-push-button-cache tag gui-glyphs)))
)
(unless gui-glyphs (let* (... ...) (setq gui-glyphs ...) (laxputf
widget-push-button-cache tag gui-glyphs)))
)
(cond (tag-glyph (widget-glyph-insert widget text tag-glyph)) ((and
widget-push-button-gui ...) (unless gui-glyphs ...) (widget-glyph-insert-glyph widget ...
... ...)) (t (insert text)))
)
(let* ((tag ...) (tag-glyph ...) (text ...) (gui-glyphs ...)) (cond (tag-glyph ...) (...
... ...) (t ...)))
)
widget-push-button-value-create((push-button :value "Push me!" :args nil))
widget-apply((push-button :value "Push me!" :args nil) :value-create)
(if (and button-begin (not button-end)) (widget-apply widget :value-create) (setq
value-pos (point-marker)))
)
(cond ((eq escape ?\%) (insert "%")) ((eq escape ?\[) (setq button-begin ...)
(set-marker-insertion-type button-begin nil)) ((eq escape ?\]) (setq button-end ...)
(set-marker-insertion-type button-end nil)) ((eq escape ?\{) (setq sample-begin ...)) ((eq
escape ?\}) (setq sample-end ...)) ((eq escape ?n) (when ... ... ...)) ((eq escape ?t)
(let* ... ...)) ((eq escape ?d) (let ... ...)) ((eq escape ?v) (if ... ... ...)) (t
(widget-apply widget :format-handler escape)))
)
(let ((escape ...)) (replace-match "" t t) (cond (... ...) (... ... ...) (...
... ...) (... ...) (... ...) (... ...) (... ...) (... ...) (... ...) (t ...)))
)
(while (re-search-forward "%\\(.\\)" nil t) (let (...) (replace-match
"" t t) (cond ... ... ... ... ... ... ... ... ... ...)))
)
(let ((from ...) button-begin button-end button-glyph sample-begin sample-end doc-begin
doc-end value-pos) (insert (widget-get widget :format)) (goto-char from) (while
(re-search-forward "%\\(.\\)" nil t) (let ... ... ...)) (when (and button-begin
button-end) (unless button-glyph ... ... ... ... ...) (widget-specify-button widget
button-begin button-end) (set-marker button-begin nil) (set-marker button-end nil)) (and
sample-begin sample-end (widget-specify-sample widget sample-begin sample-end)) (and
doc-begin doc-end (widget-specify-doc widget doc-begin doc-end)) (when value-pos
(goto-char value-pos) (widget-apply widget :value-create)))
)
(progn (let (... button-begin button-end button-glyph sample-begin sample-end doc-begin
doc-end value-pos) (insert ...) (goto-char from) (while ... ...) (when ... ... ... ...
...) (and sample-begin sample-end ...) (and doc-begin doc-end ...) (when value-pos ...
...)) (let (... ...) (set-marker-insertion-type from t) (set-marker-insertion-type to nil)
(widget-put widget :from from) (widget-put widget :to to)))
)
(prog1 (progn (let ... ... ... ... ... ... ... ...) (let ... ... ... ... ...))
(delete-region (point-min) (1+ ...)) (delete-region (1- ...) (point-max)) (goto-char
(point-max)))
)
(let ((inhibit-read-only t) before-change-functions after-change-functions) (insert
"<>") (narrow-to-region (- ... 2) (point)) (goto-char (1+ ...)) (prog1
(progn ... ...) (delete-region ... ...) (delete-region ... ...) (goto-char ...)))
)
(save-restriction (let (... before-change-functions after-change-functions) (insert
"<>") (narrow-to-region ... ...) (goto-char ...) (prog1 ... ... ...
...)))
)
(widget-specify-insert (let (... button-begin button-end button-glyph sample-begin
sample-end doc-begin doc-end value-pos) (insert ...) (goto-char from) (while ... ...)
(when ... ... ... ... ...) (and sample-begin sample-end ...) (and doc-begin doc-end ...)
(when value-pos ... ...)) (let (... ...) (set-marker-insertion-type from t)
(set-marker-insertion-type to nil) (widget-put widget :from from) (widget-put widget :to
to)))
)
widget-default-create((push-button :value "Push me!" :args nil))
widget-apply((push-button :value "Push me!" :args nil) :create)
(let ((widget ...)) (widget-apply widget :create) widget)
)
widget-create(push-button "Push me!")
eval((widget-create (quote push-button) "Push me!"))
eval-interactive((widget-create (quote push-button) "Push me!"))
eval-last-sexp(nil)
call-interactively(eval-last-sexp)