From xemacs-m  Mon Jun 30 09:47:01 1997
Received: from jagor.srce.hr (hniksic@jagor.srce.hr [161.53.2.130])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id JAA18703
	for <xemacs-beta@xemacs.org>; Mon, 30 Jun 1997 09:46:59 -0500 (CDT)
Received: (from hniksic@localhost)
          by jagor.srce.hr (8.8.5/8.8.4)
	  id QAA09630; Mon, 30 Jun 1997 16:46:06 +0200 (MET DST)
To: emacs-custom@sunsite.auc.dk
Cc: XEmacs Developers <xemacs-beta@xemacs.org>
Subject: Strange [State] interaction
X-Attribution: Hrv
X-Face: Mie8:rOV<\c/~z{s.X4A{!?vY7{drJ([U]0O=W/<W*SMo/Mv:58:*_y~ki>xDi&N7XG
        KV^$k0m3Oe/)'e%3=$PCR&3ITUXH,cK>]bci&<qQ>Ff%x_>1`T(+M2Gg/fgndU%k*ft
        [(7._6e0n-V%|%'[c|q:;}td$#INd+;?!-V=c8Pqf}3J
From: Hrvoje Niksic <hniksic@srce.hr>
Date: 30 Jun 1997 16:46:03 +0200
Message-ID: <kigu3igxi6s.fsf@jagor.srce.hr>
Lines: 45
X-Mailer: Gnus v5.4.59/XEmacs 20.3(beta9) - "Sofia"

This one is probably XEmacs-specific.  When I press the `State'
button, I get a `wrong-type-argument' error -- it seems that the code
tries to treat a keymap as a list.

However, the interesting thing (and the reason for crossmailing to
xemacs-beta) is that XEmacs enters a strange fubar mode wrt the
minibuffer.  I can't really describe it.  Try to get this error, and
you will see what I mean.

Signaling: (wrong-type-argument consp #<keymap "Operation on Paragraph Start" 4 entries 0xe19>)
  cdr(#<keymap "Operation on Paragraph Start" 4 entries 0xe19>)
  (nreverse (cdr map))
)
  (setcdr map (nreverse (cdr map)))
)
  (let* ((overriding-terminal-local-map ...) map choice (next-digit ?0) value) (define-key overriding-terminal-local-map " " (setq map ...)) (while items (setq choice ... items ...) (if ... ...)) (define-key map [?\^G] (quote ...)) (define-key map [t] (quote keyboard-quit)) (setcdr map (nreverse ...)) (setq unread-command-events (cons ?\  unread-command-events)) (setq value (lookup-key overriding-terminal-local-map ... t)) (when (eq value ...) (error "Canceled")) value)
)
  (cond ((and ... event ... window-system) (x-popup-menu event ...)) ((and ... event ... window-system) (let ... ... ...)) (widget-menu-minibuffer-flag (setq items ...) (let ... ...)) (t (let* ... ... ... ... ... ... ... ... ... value)))
)
  widget-choose("Operation on Paragraph Start" ("Set" ("Save" . custom-variable-save) "Reset to Current" "Reset to Saved" "Reset to Standard Settings" "---" "Don't show as Lisp expression" ("Show as Lisp expression" . custom-variable-edit-lisp)) nil)
  custom-variable-action((custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children ((sexp :to #<marker at 257 in *Customize Option: Paragraph Start*> :from #<marker at 246 in *Customize Option: Paragraph Start*> :field-overlay #<extent [247, 256] local-map keymap field overlay 0x635f74 in buffer *Customize Option: Paragraph Start*> :indent 0 :parent ... :value "\"[ 	\\n]\"" :format " %v")) :buttons ((documentation-string :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 318 in *Customize Option: Paragraph Start*> :buttons ... :parent ... :indent 0 :value "Regexp for beginning of a line that starts OR separates paragraphs.\nThis regexp should match lines that separate paragraphs\nand should also match lines that start a paragraph\n(and are part of that paragraph).\n\nThis is matched against the text at the left margin, which is not necessarily\nthe beginning!
 of the line, so it should never use \"^\" as an anchor.  This\nensures that the paragraph functions will work equally well within a region\nof text indented by a margin setting.\n\nThe variable `paragraph-separate' specifies how to distinguish\nlines that start paragraphs from lines that separate them.\n\nIf the variable `use-hard-newlines' is non-nil, then only lines following a\nhard newline are considered to match." :args nil) (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children ... :indent 0 :parent ... :args ...) (visibility :to #<marker at 246 in *Customize Option: Paragraph Start*> :from #<marker at 245 in *Customize Option: Paragraph Start*> :button-overlay #<extent (245, 246) H help-echo balloon-help button overlay 0x61b57c in buffer *Customize Option: Paragraph Start*> :glyph-down #<glyph (buffer) #<image-specifier global=... fallback=... 0xd7a>0xd79>!
 :glyph-up #<glyph (buffer) #<image-specifier global=... fallback=... 0xd73>0xd72> :indent 0 :parent ... :action custom-toggle-parent :help-echo "Hide the value of this option." :value t :args nil) (item :to #<marker at 244 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :indent 0 :parent ... :sample-face custom-variable-tag-face :button-face custom-variable-button-face :mouse-down-action custom-tag-mouse-down-action :help-echo "Change value of this option." :action custom-tag-action :format "%{%t%}:" :value "Paragraph Start" :args nil)) :custom-form edit :custom-magic (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children (...) :indent 0 :parent (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children ... :buttons ... !
:custom-form edit :custom-magic ... :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :args (nil)) :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) nil)
  apply(custom-variable-action (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children ((sexp :to #<marker at 257 in *Customize Option: Paragraph Start*> :from #<marker at 246 in *Customize Option: Paragraph Start*> :field-overlay #<extent [247, 256] local-map keymap field overlay 0x635f74 in buffer *Customize Option: Paragraph Start*> :indent 0 :parent ... :value "\"[ 	\\n]\"" :format " %v")) :buttons ((documentation-string :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 318 in *Customize Option: Paragraph Start*> :buttons ... :parent ... :indent 0 :value "Regexp for beginning of a line that starts OR separates paragraphs.\nThis regexp should match lines that separate paragraphs\nand should also match lines that start a paragraph\n(and are part of that paragraph).\n\nThis is matched against the text at the left margin, which is not necessarily\nthe beg!
inning of the line, so it should never use \"^\" as an anchor.  This\nensures that the paragraph functions will work equally well within a region\nof text indented by a margin setting.\n\nThe variable `paragraph-separate' specifies how to distinguish\nlines that start paragraphs from lines that separate them.\n\nIf the variable `use-hard-newlines' is non-nil, then only lines following a\nhard newline are considered to match." :args nil) (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children ... :indent 0 :parent ... :args ...) (visibility :to #<marker at 246 in *Customize Option: Paragraph Start*> :from #<marker at 245 in *Customize Option: Paragraph Start*> :button-overlay #<extent (245, 246) H help-echo balloon-help button overlay 0x61b57c in buffer *Customize Option: Paragraph Start*> :glyph-down #<glyph (buffer) #<image-specifier global=... fallback=... 0xd7a>!
0xd79> :glyph-up #<glyph (buffer) #<image-specifier global=... fallback=... 0xd73>0xd72> :indent 0 :parent ... :action custom-toggle-parent :help-echo "Hide the value of this option." :value t :args nil) (item :to #<marker at 244 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :indent 0 :parent ... :sample-face custom-variable-tag-face :button-face custom-variable-button-face :mouse-down-action custom-tag-mouse-down-action :help-echo "Change value of this option." :action custom-tag-action :format "%{%t%}:" :value "Paragraph Start" :args nil)) :custom-form edit :custom-magic (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children (...) :indent 0 :parent (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children ... :button!
s ... :custom-form edit :custom-magic ... :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :args (nil)) :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) nil)
  widget-apply((custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children ((sexp :to #<marker at 257 in *Customize Option: Paragraph Start*> :from #<marker at 246 in *Customize Option: Paragraph Start*> :field-overlay #<extent [247, 256] local-map keymap field overlay 0x635f74 in buffer *Customize Option: Paragraph Start*> :indent 0 :parent ... :value "\"[ 	\\n]\"" :format " %v")) :buttons ((documentation-string :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 318 in *Customize Option: Paragraph Start*> :buttons ... :parent ... :indent 0 :value "Regexp for beginning of a line that starts OR separates paragraphs.\nThis regexp should match lines that separate paragraphs\nand should also match lines that start a paragraph\n(and are part of that paragraph).\n\nThis is matched against the text at the left margin, which is not necessarily\nthe beginning of the li!
ne, so it should never use \"^\" as an anchor.  This\nensures that the paragraph functions will work equally well within a region\nof text indented by a margin setting.\n\nThe variable `paragraph-separate' specifies how to distinguish\nlines that start paragraphs from lines that separate them.\n\nIf the variable `use-hard-newlines' is non-nil, then only lines following a\nhard newline are considered to match." :args nil) (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children ... :indent 0 :parent ... :args ...) (visibility :to #<marker at 246 in *Customize Option: Paragraph Start*> :from #<marker at 245 in *Customize Option: Paragraph Start*> :button-overlay #<extent (245, 246) H help-echo balloon-help button overlay 0x61b57c in buffer *Customize Option: Paragraph Start*> :glyph-down #<glyph (buffer) #<image-specifier global=... fallback=... 0xd7a>0xd79> :glyph-up!
 #<glyph (buffer) #<image-specifier global=... fallback=... 0xd73>0xd72> :indent 0 :parent ... :action custom-toggle-parent :help-echo "Hide the value of this option." :value t :args nil) (item :to #<marker at 244 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :indent 0 :parent ... :sample-face custom-variable-tag-face :button-face custom-variable-button-face :mouse-down-action custom-tag-mouse-down-action :help-echo "Change value of this option." :action custom-tag-action :format "%{%t%}:" :value "Paragraph Start" :args nil)) :custom-form edit :custom-magic (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children (...) :indent 0 :parent (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children ... :buttons ... :custom-fo!
rm edit :custom-magic ... :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :args (nil)) :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :action nil)
  widget-parent-action((custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children ((choice-item :to #<marker at 267 in *Customize Option: Paragraph Start*> :from #<marker at 260 in *Customize Option: Paragraph Start*> :button-overlay #<extent (260, 267) H help-echo balloon-help button overlay 0x64073c in buffer *Customize Option: Paragraph Start*> :indent 0 :parent ... :tag "State" :mouse-down-action widget-magic-mouse-down-action :button-suffix widget-push-button-suffix :button-prefix widget-push-button-prefix :format "%[%t%]" :help-echo "Change the state of this item.")) :indent 0 :parent (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children (...) :buttons (... ... ... ...) :custom-form edit :custom-magic (custom-magic :value nil :buttons nil :to #<marker at 318 in *Custo!
mize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children ... :indent 0 :parent ... :args ...) :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :args (nil)) nil)
  apply(widget-parent-action (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children ((choice-item :to #<marker at 267 in *Customize Option: Paragraph Start*> :from #<marker at 260 in *Customize Option: Paragraph Start*> :button-overlay #<extent (260, 267) H help-echo balloon-help button overlay 0x64073c in buffer *Customize Option: Paragraph Start*> :indent 0 :parent ... :tag "State" :mouse-down-action widget-magic-mouse-down-action :button-suffix widget-push-button-suffix :button-prefix widget-push-button-prefix :format "%[%t%]" :help-echo "Change the state of this item.")) :indent 0 :parent (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children (...) :buttons (... ... ... ...) :custom-form edit :custom-magic (custom-magic :value nil :buttons nil :to #<marker at 318 in !
*Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children ... :indent 0 :parent ... :args ...) :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :args (nil)) nil)
  widget-apply((custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children ((choice-item :to #<marker at 267 in *Customize Option: Paragraph Start*> :from #<marker at 260 in *Customize Option: Paragraph Start*> :button-overlay #<extent (260, 267) H help-echo balloon-help button overlay 0x64073c in buffer *Customize Option: Paragraph Start*> :indent 0 :parent ... :tag "State" :mouse-down-action widget-magic-mouse-down-action :button-suffix widget-push-button-suffix :button-prefix widget-push-button-prefix :format "%[%t%]" :help-echo "Change the state of this item.")) :indent 0 :parent (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children (...) :buttons (... ... ... ...) :custom-form edit :custom-magic (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Opt!
ion: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children ... :indent 0 :parent ... :args ...) :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :args (nil)) :action nil)
  widget-parent-action((choice-item :to #<marker in no buffer> :from #<marker in no buffer> :button-overlay #<extent (detached) H help-echo balloon-help button overlay 0x6402c0 from buffer *Customize Option: Paragraph Start*> :indent 0 :parent (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children (...) :indent 0 :parent (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children ... :buttons ... :custom-form edit :custom-magic ... :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :args (nil)) :tag "State" :mouse-down-action widget-magic-mouse-down-action :button-suffix widget-push-button-suffix :button-prefix widget-push-button-prefix :format "%[%t%]" :help-echo "Change the state of this item.") nil)
  apply(widget-parent-action (choice-item :to #<marker in no buffer> :from #<marker in no buffer> :button-overlay #<extent (detached) H help-echo balloon-help button overlay 0x6402c0 from buffer *Customize Option: Paragraph Start*> :indent 0 :parent (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children (...) :indent 0 :parent (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children ... :buttons ... :custom-form edit :custom-magic ... :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :args (nil)) :tag "State" :mouse-down-action widget-magic-mouse-down-action :button-suffix widget-push-button-suffix :button-prefix widget-push-button-prefix :format "%[%t%]" :help-echo "Change the state of this item.") nil)
  widget-apply((choice-item :to #<marker in no buffer> :from #<marker in no buffer> :button-overlay #<extent (detached) H help-echo balloon-help button overlay 0x6402c0 from buffer *Customize Option: Paragraph Start*> :indent 0 :parent (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children (...) :indent 0 :parent (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children ... :buttons ... :custom-form edit :custom-magic ... :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :args (nil)) :tag "State" :mouse-down-action widget-magic-mouse-down-action :button-suffix widget-push-button-suffix :button-prefix widget-push-button-prefix :format "%[%t%]" :help-echo "Change the state of this item.") :action nil)
  (if (widget-apply widget :active) (widget-apply widget :action event) (error "Attempt to perform action on inactive widget"))
)
  widget-apply-action((choice-item :to #<marker in no buffer> :from #<marker in no buffer> :button-overlay #<extent (detached) H help-echo balloon-help button overlay 0x6402c0 from buffer *Customize Option: Paragraph Start*> :indent 0 :parent (custom-magic :value nil :buttons nil :to #<marker at 318 in *Customize Option: Paragraph Start*> :from #<marker at 257 in *Customize Option: Paragraph Start*> :children (...) :indent 0 :parent (custom-variable :to #<marker at 1034 in *Customize Option: Paragraph Start*> :from #<marker at 228 in *Customize Option: Paragraph Start*> :children ... :buttons ... :custom-form edit :custom-magic ... :value paragraph-start :tag "Paragraph Start" :custom-state rogue :documentation-shown t) :args (nil)) :tag "State" :mouse-down-action widget-magic-mouse-down-action :button-suffix widget-push-button-suffix :button-prefix widget-push-button-prefix :format "%[%t%]" :help-echo "Change the state of this item.") nil)
  (if button (widget-apply-action button event) (let (...) (when ... ...)))
)
  (let ((button ...)) (if button (widget-apply-action button event) (let ... ...)))
)
  widget-button-press(260)
  call-interactively(widget-button-press)


-- 
Hrvoje Niksic <hniksic@srce.hr> | Student at FER Zagreb, Croatia
--------------------------------+--------------------------------
"A Real Programmer's code can awe with its fiendish brilliance, even
as its crockishness appalls."

