unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol
@ 2011-04-16 15:44 Drew Adams
  2011-04-16 16:33 ` Tassilo Horn
  2011-04-18 19:15 ` Stefan Monnier
  0 siblings, 2 replies; 9+ messages in thread
From: Drew Adams @ 2011-04-16 15:44 UTC (permalink / raw)
  To: 8510

I ran into this from my own code.  This is not a recipe from emacs -Q.
But I suspect that the problem is in the vanilla code, possibly in the
C code for `documentation-property'.
 
Below is the backtrace from the error.  Note that the void variable
`symbol' seems to be in the vanilla code.  It is not in my code,
AFAICT.  And there is no occurrence of `symbol' in the backtrace.

The call that provokes the error is:
(documentation-property 'debug-on-error 'variable-documentation t)
However, if I eval that sexp at top level in emacs -Q using `M-:'
no error is raised.

And even if I eval (in emacs -Q, top level) the effective code that provoked the
error then no error is raised.  This is that code, in effect.  The last clause
of the `cond' is what gets executed (both in the case where the error is raised
and using emacs -Q):

(let ((cand  'debug-on-error))
  (cond ((get cand 'icicle-mode-line-help)) ; Help prop.
	((fboundp cand)			    ; Function.
	 (or (documentation cand t)	    ; Functon's doc string.
	     (if (string-match		    ; Easy-menu item.
		  "^menu-function-[0-9]+$" (symbol-name cand))
		 (format "%s" (symbol-function cand))
	       (format "Command `%s'" cand))))
	((facep cand) (face-documentation cand)) ; Face.
	(t (documentation-property		 ; Variable.
	    cand 'variable-documentation t))))

My code does this not at top level but from the minibuffer (during `M-x
set-variable').  Dunno whether that is pertinent to the error.

HTH.
 
Debugger entered--Lisp error: (void-variable symbol)
  documentation-property(debug-on-error variable-documentation t)
  (cond ((get cand (quote icicle-mode-line-help))) ((fboundp cand) (or (doc=
umentation cand t) (if (string-match "^menu-function-[0-9]+$" (symbol-name =
cand)) (format "%s" (symbol-function cand)) (format "Command `%s'" cand))))=
 ((facep cand) (face-documentation cand)) (t (documentation-property cand (=
quote variable-documentation) t)))
  (and cand (symbolp cand) (cond ((get cand (quote icicle-mode-line-help)))=
 ((fboundp cand) (or (documentation cand t) (if (string-match "^menu-functi=
on-[0-9]+$" (symbol-name cand)) (format "%s" (symbol-function cand)) (forma=
t "Command `%s'" cand)))) ((facep cand) (face-documentation cand)) (t (docu=
mentation-property cand (quote variable-documentation) t))))
  (cond ((and (stringp candidate) (get-text-property 0 (quote icicle-mode-l=
ine-help) candidate))) ((and cand (symbolp cand) (cond ((get cand (quote ic=
icle-mode-line-help))) ((fboundp cand) (or (documentation cand t) (if (stri=
ng-match "^menu-function-[0-9]+$" ...) (format "%s" ...) (format "Command `=
%s'" cand)))) ((facep cand) (face-documentation cand)) (t (documentation-pr=
operty cand (quote variable-documentation) t))))) ((and (consp cand) (eq (c=
ar cand) (quote lambda))) (format "%s" cand)) ((and (stringp cand) (member =
cand (quote ("Prefix key" "GO UP")))) cand) ((stringp candidate) (cond ((an=
d (or (icicle-file-name-input-p) icicle-abs-file-candidates) (file-exists-p=
 candidate)) (if (get-file-buffer candidate) (concat (icicle-help-line-buff=
er (get-file-buffer candidate) (quote no-bytes-p)) " " (icicle-help-line-fi=
le cand)) (icicle-help-line-file candidate))) ((get-buffer candidate) (icic=
le-help-line-buffer candidate)) (t nil))))
  (progn (when (stringp candidate) (setq candidate (icicle-transform-multi-=
completion candidate))) (cond ((and (stringp candidate) (get-text-property =
0 (quote icicle-mode-line-help) candidate))) ((and cand (symbolp cand) (con=
d ((get cand (quote icicle-mode-line-help))) ((fboundp cand) (or (documenta=
tion cand t) (if ... ... ...))) ((facep cand) (face-documentation cand)) (t=
 (documentation-property cand (quote variable-documentation) t))))) ((and (=
consp cand) (eq (car cand) (quote lambda))) (format "%s" cand)) ((and (stri=
ngp cand) (member cand (quote ("Prefix key" "GO UP")))) cand) ((stringp can=
didate) (cond ((and (or (icicle-file-name-input-p) icicle-abs-file-candidat=
es) (file-exists-p candidate)) (if (get-file-buffer candidate) (concat (ici=
cle-help-line-buffer ... ...) " " (icicle-help-line-file cand)) (icicle-hel=
p-line-file candidate))) ((get-buffer candidate) (icicle-help-line-buffer c=
andidate)) (t nil)))))
  (let* ((cand (cond ((consp lacarte-menu-items-alist) (cdr (assoc candidat=
e lacarte-menu-items-alist))) (icicle-completing-keys-p (if (string=3D ".."=
 candidate) "GO UP" (let (...) (if ... "Prefix key" ...)))) ((or (get-buffe=
r candidate) (icicle-file-name-input-p) icicle-abs-file-candidates) (icicle=
-transform-multi-completion candidate)) (t (intern-soft (icicle-transform-m=
ulti-completion candidate))))) (doc (progn (when (stringp candidate) (setq =
candidate (icicle-transform-multi-completion candidate))) (cond ((and (stri=
ngp candidate) (get-text-property 0 ... candidate))) ((and cand (symbolp ca=
nd) (cond ... ... ... ...))) ((and (consp cand) (eq ... ...)) (format "%s" =
cand)) ((and (stringp cand) (member cand ...)) cand) ((stringp candidate) (=
cond (... ...) (... ...) (t nil)))))) (doc-line1 (and (stringp doc) (string=
-match ".+$" doc) (match-string 0 doc)))) (when doc-line1 (put-text-propert=
y 0 (length doc-line1) (quote face) (quote icicle-mode-line-help) doc-line1=
) (icicle-show-in-mode-line doc-line1 (cond ((get-buffer-window "*Completio=
ns*" (quote visible)) "*Completions*") ((eq (current-buffer) (window-buffer=
 (minibuffer-window))) (cadr (buffer-list))) (t (current-buffer))))))
  (progn (let* ((cand (cond ((consp lacarte-menu-items-alist) (cdr (assoc c=
andidate lacarte-menu-items-alist))) (icicle-completing-keys-p (if (string=
=3D ".." candidate) "GO UP" (let ... ...))) ((or (get-buffer candidate) (ic=
icle-file-name-input-p) icicle-abs-file-candidates) (icicle-transform-multi=
-completion candidate)) (t (intern-soft (icicle-transform-multi-completion =
candidate))))) (doc (progn (when (stringp candidate) (setq candidate (icicl=
e-transform-multi-completion candidate))) (cond ((and ... ...)) ((and cand =
... ...)) ((and ... ...) (format "%s" cand)) ((and ... ...) cand) ((stringp=
 candidate) (cond ... ... ...))))) (doc-line1 (and (stringp doc) (string-ma=
tch ".+$" doc) (match-string 0 doc)))) (when doc-line1 (put-text-property 0=
 (length doc-line1) (quote face) (quote icicle-mode-line-help) doc-line1) (=
icicle-show-in-mode-line doc-line1 (cond ((get-buffer-window "*Completions*=
" (quote visible)) "*Completions*") ((eq (current-buffer) (window-buffer ..=
.)) (cadr (buffer-list))) (t (current-buffer)))))))
  (if icicle-help-in-mode-line-flag (progn (let* ((cand (cond ((consp lacar=
te-menu-items-alist) (cdr ...)) (icicle-completing-keys-p (if ... "GO UP" .=
..)) ((or ... ... icicle-abs-file-candidates) (icicle-transform-multi-compl=
etion candidate)) (t (intern-soft ...)))) (doc (progn (when (stringp candid=
ate) (setq candidate ...)) (cond (...) (...) (... ...) (... cand) (... ...)=
))) (doc-line1 (and (stringp doc) (string-match ".+$" doc) (match-string 0 =
doc)))) (when doc-line1 (put-text-property 0 (length doc-line1) (quote face=
) (quote icicle-mode-line-help) doc-line1) (icicle-show-in-mode-line doc-li=
ne1 (cond ((get-buffer-window "*Completions*" ...) "*Completions*") ((eq ..=
. ...) (cadr ...)) (t (current-buffer))))))))
  (when icicle-help-in-mode-line-flag (let* ((cand (cond ((consp lacarte-me=
nu-items-alist) (cdr (assoc candidate lacarte-menu-items-alist))) (icicle-c=
ompleting-keys-p (if (string=3D ".." candidate) "GO UP" (let ... ...))) ((o=
r (get-buffer candidate) (icicle-file-name-input-p) icicle-abs-file-candida=
tes) (icicle-transform-multi-completion candidate)) (t (intern-soft (icicle=
-transform-multi-completion candidate))))) (doc (progn (when (stringp candi=
date) (setq candidate (icicle-transform-multi-completion candidate))) (cond=
 ((and ... ...)) ((and cand ... ...)) ((and ... ...) (format "%s" cand)) ((=
and ... ...) cand) ((stringp candidate) (cond ... ... ...))))) (doc-line1 (=
and (stringp doc) (string-match ".+$" doc) (match-string 0 doc)))) (when do=
c-line1 (put-text-property 0 (length doc-line1) (quote face) (quote icicle-=
mode-line-help) doc-line1) (icicle-show-in-mode-line doc-line1 (cond ((get-=
buffer-window "*Completions*" (quote visible)) "*Completions*") ((eq (curre=
nt-buffer) (window-buffer ...)) (cadr (buffer-list))) (t (current-buffer)))=
))))
  icicle-show-help-in-mode-line("debug-on-error")
  (progn (icicle-show-help-in-mode-line mode-line-help))
  (if mode-line-help (progn (icicle-show-help-in-mode-line mode-line-help)))
  (when mode-line-help (icicle-show-help-in-mode-line mode-line-help))
  (let ((word-complete-input "") (input-before-completion icicle-current-in=
put) return-value) (unless (and (stringp icicle-current-input) (stringp ici=
cle-last-input) (string=3D icicle-current-input icicle-last-input) (or (get=
 last-command (quote icicle-prefix-completing-command)) (get last-command (=
quote icicle-action-command))) (not word-p)) (unless (or icicle-edit-update=
-p (get-buffer-window "*Completions*" 0) no-display-p) (message "Computing =
completion candidates...")) (if (not word-p) (setq icicle-completion-candid=
ates (condition-case nil (if (icicle-file-name-input-p) (icicle-file-name-p=
refix-candidates icicle-current-input) (icicle-prefix-candidates icicle-cur=
rent-input)) (error icicle-completion-candidates))) (setq word-complete-inp=
ut (icicle-input-from-minibuffer) return-value (let ((temp-buffer-show-hook=
 nil) (completion-auto-help nil) (minibuffer-message-timeout 0)) (icicle-cl=
ear-minibuffer) (insert icicle-current-input) (save-selected-window (minibu=
ffer-complete-word))) icicle-current-input (icicle-input-from-minibuffer)) =
(when (or icicle-edit-update-p (> (length icicle-current-input) (length wor=
d-complete-input)) (not (eq this-command last-command))) (setq word-complet=
e-input icicle-current-input icicle-completion-candidates (condition-case n=
il (if (icicle-file-name-input-p) (icicle-file-name-prefix-candidates icicl=
e-current-input) (icicle-prefix-candidates icicle-current-input)) (error ic=
icle-completion-candidates))))) (message nil)) (unless word-p (setq return-=
value icicle-completion-candidates)) (icicle-save-or-restore-input) (cond (=
(null icicle-completion-candidates) (setq icicle-nb-of-other-cycle-candidat=
es 0) (let ((icicle-incremental-completion-flag (or (memq icicle-highlight-=
input-completion-failure ...) icicle-incremental-completion-flag))) (icicle=
-highlight-input-noncompletion)) (save-selected-window (icicle-remove-Compl=
etions-window)) (run-hooks (quote icicle-no-match-hook)) (unless (eq no-dis=
play-p (quote no-msg)) (minibuffer-message (case (icicle-current-TAB-method=
) (fuzzy "  [No fuzzy completions]") (vanilla "  [No vanilla completions]")=
 (swank "  [No swank (fuzzy symbol) completions]") (t "  [No prefix complet=
ions]"))))) ((null (cdr icicle-completion-candidates)) (when (and icicle-wh=
ole-candidate-as-text-prop-p (not icicle-expand-input-to-common-match-flag)=
) (setq icicle-common-match-string (icicle-expanded-common-match icicle-cur=
rent-input icicle-completion-candidates)) (when icicle-common-match-string =
(let ((common ...)) (unless (and ... ...) (setq icicle-current-input common=
))))) (when (icicle-file-name-input-p) (setq icicle-common-match-string (ic=
icle-expanded-common-match (car icicle-completion-candidates) icicle-comple=
tion-candidates)) (when icicle-common-match-string (let ((common ...)) (set=
q icicle-current-input common)))) (setq icicle-nb-of-other-cycle-candidates=
 0) (unless icicle-edit-update-p (icicle-clear-minibuffer) (let ((cand (car=
 icicle-completion-candidates))) (if (icicle-file-name-input-p) (cond (... =
...) (... ...) (t ...)) (setq icicle-last-completion-candidate cand))) (let=
 ((inserted (if ... ... icicle-last-completion-candidate))) (insert inserte=
d) (when (and (icicle-file-name-input-p) (icicle-file-directory-p ...)) (se=
tq icicle-default-directory (icicle-abbreviate-or-expand-file-name inserted=
))))) (save-selected-window (icicle-remove-Completions-window)) (icicle-tra=
nsform-sole-candidate) (unless (boundp (quote icicle-prefix-complete-and-ex=
it-p)) (icicle-highlight-complete-input) (cond ((and icicle-top-level-when-=
sole-completion-flag (sit-for icicle-top-level-when-sole-completion-delay))=
 (set minibuffer-history-variable (cons icicle-current-input ...)) (conditi=
on-case icicle-prefix-complete-1 (throw ... ...) (no-catch ... icicle-curre=
nt-input) (error ...))) ((and icicle-edit-update-p (not ...)) (minibuffer-m=
essage (format ... icicle-current-input)) (setq mode-line-help icicle-curre=
nt-input)) ((not (eq no-display-p ...)) (minibuffer-message (case ... ... .=
.. ... ...)) (setq mode-line-help icicle-current-input))))) (t (if icicle-e=
dit-update-p (icicle-display-candidates-in-Completions nil no-display-p) (u=
nless word-p (icicle-clear-minibuffer) (save-window-excursion (select-windo=
w (active-minibuffer-window)) (insert icicle-current-input)) (when (and (bo=
undp ...) 1on1-fit-minibuffer-frame-flag (require ... nil t)) (1on1-fit-min=
ibuffer-frame))) (deactivate-mark) (icicle-highlight-initial-whitespace ici=
cle-current-input) (when (and (icicle-file-name-input-p) (icicle-file-direc=
tory-p icicle-last-completion-candidate)) (setq icicle-default-directory (i=
cicle-abbreviate-or-expand-file-name icicle-last-completion-candidate))) (w=
hen (and (icicle-input-is-a-completion-p icicle-current-input) (not (boundp=
 ...))) (icicle-highlight-complete-input) (setq mode-line-help (icicle-mini=
buf-input-sans-dir icicle-current-input))) (cond ((get-buffer-window "*Comp=
letions*" 0) (if (and ... ... ...) (icicle-next-candidate 1 ...) (icicle-di=
splay-candidates-in-Completions nil no-display-p))) (icicle-TAB-shows-candi=
dates-flag (if (not ...) (icicle-display-candidates-in-Completions nil no-d=
isplay-p) (unless no-display-p ...) (icicle-next-candidate 1 ...))) ((and (=
get icicle-last-completion-command ...) (or ... ...) completion-auto-help) =
(if (or ... ...) (icicle-display-candidates-in-Completions nil) (icicle-nex=
t-candidate 1 ...))) ((and (member icicle-current-input icicle-completion-c=
andidates) (not ...)) (minibuffer-message "  [Complete, but not unique]")))=
))) (setq icicle-last-completion-command (if word-p (quote icicle-prefix-wo=
rd-complete) (if no-display-p (quote icicle-prefix-complete-no-display) (qu=
ote icicle-prefix-complete))) icicle-next-prefix-complete-cycles-p (equal i=
nput-before-completion (icicle-input-from-minibuffer (quote leave-envvars))=
)) (when mode-line-help (icicle-show-help-in-mode-line mode-line-help)) ret=
urn-value)
  (let ((ipc1-was-cycling-p icicle-cycling-p) (mode-line-help nil)) (setq i=
cicle-current-input (if (and icicle-last-input icicle-cycling-p (not icicle=
-edit-update-p) (eq icicle-current-completion-mode (quote prefix)) (or (not=
 word-p) (eq this-command last-command)) (symbolp last-command) (or (get la=
st-command (quote icicle-cycling-command)) (get last-command (quote icicle-=
action-command))) icicle-completion-candidates) icicle-last-input (if (icic=
le-file-name-input-p) (abbreviate-file-name (icicle-input-from-minibuffer (=
quote leave-envar))) (icicle-input-from-minibuffer))) icicle-current-comple=
tion-mode (quote prefix) icicle-next-apropos-complete-cycles-p nil icicle-i=
nput-fail-pos nil icicle-cycling-p nil) (when icicle-edit-update-p (setq ic=
icle-next-prefix-complete-cycles-p nil)) (let ((word-complete-input "") (in=
put-before-completion icicle-current-input) return-value) (unless (and (str=
ingp icicle-current-input) (stringp icicle-last-input) (string=3D icicle-cu=
rrent-input icicle-last-input) (or (get last-command (quote icicle-prefix-c=
ompleting-command)) (get last-command (quote icicle-action-command))) (not =
word-p)) (unless (or icicle-edit-update-p (get-buffer-window "*Completions*=
" 0) no-display-p) (message "Computing completion candidates...")) (if (not=
 word-p) (setq icicle-completion-candidates (condition-case nil (if (icicle=
-file-name-input-p) (icicle-file-name-prefix-candidates icicle-current-inpu=
t) (icicle-prefix-candidates icicle-current-input)) (error icicle-completio=
n-candidates))) (setq word-complete-input (icicle-input-from-minibuffer) re=
turn-value (let ((temp-buffer-show-hook nil) (completion-auto-help nil) (mi=
nibuffer-message-timeout 0)) (icicle-clear-minibuffer) (insert icicle-curre=
nt-input) (save-selected-window (minibuffer-complete-word))) icicle-current=
-input (icicle-input-from-minibuffer)) (when (or icicle-edit-update-p (> (l=
ength icicle-current-input) (length word-complete-input)) (not (eq this-com=
mand last-command))) (setq word-complete-input icicle-current-input icicle-=
completion-candidates (condition-case nil (if ... ... ...) (error icicle-co=
mpletion-candidates))))) (message nil)) (unless word-p (setq return-value i=
cicle-completion-candidates)) (icicle-save-or-restore-input) (cond ((null i=
cicle-completion-candidates) (setq icicle-nb-of-other-cycle-candidates 0) (=
let ((icicle-incremental-completion-flag (or ... icicle-incremental-complet=
ion-flag))) (icicle-highlight-input-noncompletion)) (save-selected-window (=
icicle-remove-Completions-window)) (run-hooks (quote icicle-no-match-hook))=
 (unless (eq no-display-p (quote no-msg)) (minibuffer-message (case (icicle=
-current-TAB-method) (fuzzy "  [No fuzzy completions]") (vanilla "  [No van=
illa completions]") (swank "  [No swank (fuzzy symbol) completions]") (t " =
 [No prefix completions]"))))) ((null (cdr icicle-completion-candidates)) (=
when (and icicle-whole-candidate-as-text-prop-p (not icicle-expand-input-to=
-common-match-flag)) (setq icicle-common-match-string (icicle-expanded-comm=
on-match icicle-current-input icicle-completion-candidates)) (when icicle-c=
ommon-match-string (let (...) (unless ... ...)))) (when (icicle-file-name-i=
nput-p) (setq icicle-common-match-string (icicle-expanded-common-match (car=
 icicle-completion-candidates) icicle-completion-candidates)) (when icicle-=
common-match-string (let (...) (setq icicle-current-input common)))) (setq =
icicle-nb-of-other-cycle-candidates 0) (unless icicle-edit-update-p (icicle=
-clear-minibuffer) (let ((cand ...)) (if (icicle-file-name-input-p) (cond .=
.. ... ...) (setq icicle-last-completion-candidate cand))) (let ((inserted =
...)) (insert inserted) (when (and ... ...) (setq icicle-default-directory =
...)))) (save-selected-window (icicle-remove-Completions-window)) (icicle-t=
ransform-sole-candidate) (unless (boundp (quote icicle-prefix-complete-and-=
exit-p)) (icicle-highlight-complete-input) (cond ((and icicle-top-level-whe=
n-sole-completion-flag ...) (set minibuffer-history-variable ...) (conditio=
n-case icicle-prefix-complete-1 ... ... ...)) ((and icicle-edit-update-p ..=
.) (minibuffer-message ...) (setq mode-line-help icicle-current-input)) ((n=
ot ...) (minibuffer-message ...) (setq mode-line-help icicle-current-input)=
)))) (t (if icicle-edit-update-p (icicle-display-candidates-in-Completions =
nil no-display-p) (unless word-p (icicle-clear-minibuffer) (save-window-exc=
ursion (select-window ...) (insert icicle-current-input)) (when (and ... 1o=
n1-fit-minibuffer-frame-flag ...) (1on1-fit-minibuffer-frame))) (deactivate=
-mark) (icicle-highlight-initial-whitespace icicle-current-input) (when (an=
d (icicle-file-name-input-p) (icicle-file-directory-p icicle-last-completio=
n-candidate)) (setq icicle-default-directory (icicle-abbreviate-or-expand-f=
ile-name icicle-last-completion-candidate))) (when (and (icicle-input-is-a-=
completion-p icicle-current-input) (not ...)) (icicle-highlight-complete-in=
put) (setq mode-line-help (icicle-minibuf-input-sans-dir icicle-current-inp=
ut))) (cond ((get-buffer-window "*Completions*" 0) (if ... ... ...)) (icicl=
e-TAB-shows-candidates-flag (if ... ... ... ...)) ((and ... ... completion-=
auto-help) (if ... ... ...)) ((and ... ...) (minibuffer-message "  [Complet=
e, but not unique]")))))) (setq icicle-last-completion-command (if word-p (=
quote icicle-prefix-word-complete) (if no-display-p (quote icicle-prefix-co=
mplete-no-display) (quote icicle-prefix-complete))) icicle-next-prefix-comp=
lete-cycles-p (equal input-before-completion (icicle-input-from-minibuffer =
(quote leave-envvars)))) (when mode-line-help (icicle-show-help-in-mode-lin=
e mode-line-help)) return-value))
  icicle-prefix-complete-1()
  icicle-prefix-complete()
  call-interactively(icicle-prefix-complete nil nil)
  old-read-from-minibuffer("Set variable: " ("" . 1) (keymap (S-return . ic=
icle-apropos-complete-and-exit) (27 keymap (33554438 . icicle-read+insert-f=
ile-name) (33554435 . icicle-completing-read+insert) keymap (110 . next-his=
tory-element) (112 . previous-history-element) (109 . icicle-toggle-show-mu=
lti-completion) (67108902 . icicle-save-predicate-to-variable) (95 . icicle=
-dispatch-M-_) (38 . icicle-narrow-candidates-with-predicate) (42 . icicle-=
narrow-candidates) (43 . icicle-widen-candidates) (67108908 . icicle-toggle=
-alternative-sorting) (44 . icicle-dispatch-M-comma) (103 . icicle-toggle-C=
-for-actions) (126 . icicle-toggle-~-for-home-dir) (59 . icicle-toggle-sear=
ch-replace-common-match) (31 . icicle-toggle-proxy-candidates) (67108960 . =
icicle-toggle-literal-replacement) (67108910 . icicle-toggle-dot) (67108923=
 . icicle-regexp-quote-input) (10 . icicle-insert-list-join-string) (671089=
87 . icicle-candidate-set-retrieve-from-variable) (67108989 . icicle-candid=
ate-set-save-to-variable) (67108924 . icicle-candidate-set-retrieve) (67108=
905 . icicle-candidate-set-save-selected) (40 . icicle-next-S-TAB-completio=
n-method) (67108926 . icicle-candidate-set-save) (36 . icicle-candidate-set=
-truncate) (113 . icicle-dispatch-M-q) (104 . icicle-history) (67108911 . i=
cicle-prefix-complete) (124 . icicle-all-candidates-list-alt-action) (33 . =
icicle-all-candidates-list-action) (13 . icicle-candidate-read-fn-invoke) (=
32 . icicle-prefix-word-complete) (118 . icicle-scroll-Completions-backward=
) keymap (25 . icicle-yank-secondary) (33554438 . icicle-read+insert-file-n=
ame) (33554435 . icicle-completing-read+insert) (33554454 . icicle-scroll-b=
ackward) (22 . icicle-scroll-forward) (58 . icicle-pp-eval-expression-in-mi=
nibuffer) (107 . icicle-erase-minibuffer-or-history-element) (105 . icicle-=
clear-current-history) (111 . icicle-insert-history-element) (46 . icicle-i=
nsert-string-at-point) (114 . previous-matching-history-element) ...) (7 . =
icicle-abort-recursive-edit) (10 . icicle-insert-newline-in-minibuffer) (13=
 . minibuffer-complete-and-exit) keymap (67108896) (24 keymap (50) (49) (45=
 . icicle-doremi-zoom-Completions+) (35 . icicle-doremi-increment-max-candi=
dates+) (124 . icicle-doremi-inter-candidates-min-spaces+) (119 . icicle-do=
remi-candidate-width-factor+) (116 . icicle-cycle-image-file-thumbnail) (46=
 . icicle-toggle-hiding-common-match)) (46 . icicle-insert-dot-command) (22=
 . icicle-scroll-Completions-forward) (S-backspace . icicle-apropos-complet=
e-and-widen) (33554464 . icicle-apropos-complete-and-narrow) (33554433 . ic=
icle-toggle-case-sensitivity) (30 . icicle-dispatch-C-^) (67108923 . icicle=
-toggle-expand-to-common-match) (67108899 . icicle-toggle-incremental-compl=
etion) (67108910 . icicle-dispatch-C-\.) (67108900 . icicle-toggle-transfor=
ming) (67108924 . icicle-candidate-set-retrieve-more) (67108960 . icicle-to=
ggle-regexp-quote) (67108908 . icicle-change-sort-order) (67108922 . icicle=
-candidate-set-define) (67108901 . icicle-candidate-set-swap) (67108987 . i=
cicle-candidate-set-retrieve-persistent) (67108989 . icicle-candidate-set-s=
ave-persistently) (67108905 . icicle-candidate-set-save-more-selected) (671=
08904 . icicle-next-TAB-completion-method) (67108926 . icicle-candidate-set=
-save-more) (67108906 . icicle-candidate-set-intersection) (67108907 . icic=
le-candidate-set-union) (67108909 . icicle-candidate-set-difference) (67108=
990 . icicle-candidate-set-complement) (33554444 . icicle-retrieve-next-inp=
ut) (12 . icicle-retrieve-previous-input) (insert . icicle-save/unsave-cand=
idate) (C-insert . icicle-switch-to-Completions-buf) (C-M-pause . icicle-ot=
her-history) (C-pause . icicle-toggle-highlight-historical-candidates) (M-p=
ause . icicle-keep-only-past-inputs) (67108988 . icicle-all-candidates-alt-=
action) (67108897 . icicle-all-candidates-action) (C-return . icicle-candid=
ate-action) (23 . icicle-kill-region) (S-delete . icicle-delete-candidate-o=
bject) (delete . icicle-remove-candidate) (C-S-return . icicle-candidate-al=
t-action) (M-return . icicle-candidate-read-fn-invoke) (C-M-return . icicle=
-help-on-candidate) (C-M-f1 . icicle-help-on-candidate) ...) nil minibuffer=
-history nil t)
  read-from-minibuffer("Set variable: " ("" . 1) (keymap (S-return . icicle=
-apropos-complete-and-exit) (27 keymap (33554438 . icicle-read+insert-file-=
name) (33554435 . icicle-completing-read+insert) keymap (110 . next-history=
-element) (112 . previous-history-element) (109 . icicle-toggle-show-multi-=
completion) (67108902 . icicle-save-predicate-to-variable) (95 . icicle-dis=
patch-M-_) (38 . icicle-narrow-candidates-with-predicate) (42 . icicle-narr=
ow-candidates) (43 . icicle-widen-candidates) (67108908 . icicle-toggle-alt=
ernative-sorting) (44 . icicle-dispatch-M-comma) (103 . icicle-toggle-C-for=
-actions) (126 . icicle-toggle-~-for-home-dir) (59 . icicle-toggle-search-r=
eplace-common-match) (31 . icicle-toggle-proxy-candidates) (67108960 . icic=
le-toggle-literal-replacement) (67108910 . icicle-toggle-dot) (67108923 . i=
cicle-regexp-quote-input) (10 . icicle-insert-list-join-string) (67108987 .=
 icicle-candidate-set-retrieve-from-variable) (67108989 . icicle-candidate-=
set-save-to-variable) (67108924 . icicle-candidate-set-retrieve) (67108905 =
. icicle-candidate-set-save-selected) (40 . icicle-next-S-TAB-completion-me=
thod) (67108926 . icicle-candidate-set-save) (36 . icicle-candidate-set-tru=
ncate) (113 . icicle-dispatch-M-q) (104 . icicle-history) (67108911 . icicl=
e-prefix-complete) (124 . icicle-all-candidates-list-alt-action) (33 . icic=
le-all-candidates-list-action) (13 . icicle-candidate-read-fn-invoke) (32 .=
 icicle-prefix-word-complete) (118 . icicle-scroll-Completions-backward) ke=
ymap (25 . icicle-yank-secondary) (33554438 . icicle-read+insert-file-name)=
 (33554435 . icicle-completing-read+insert) (33554454 . icicle-scroll-backw=
ard) (22 . icicle-scroll-forward) (58 . icicle-pp-eval-expression-in-minibu=
ffer) (107 . icicle-erase-minibuffer-or-history-element) (105 . icicle-clea=
r-current-history) (111 . icicle-insert-history-element) (46 . icicle-inser=
t-string-at-point) (114 . previous-matching-history-element) ...) (7 . icic=
le-abort-recursive-edit) (10 . icicle-insert-newline-in-minibuffer) (13 . m=
inibuffer-complete-and-exit) keymap (67108896) (24 keymap (50) (49) (45 . i=
cicle-doremi-zoom-Completions+) (35 . icicle-doremi-increment-max-candidate=
s+) (124 . icicle-doremi-inter-candidates-min-spaces+) (119 . icicle-doremi=
-candidate-width-factor+) (116 . icicle-cycle-image-file-thumbnail) (46 . i=
cicle-toggle-hiding-common-match)) (46 . icicle-insert-dot-command) (22 . i=
cicle-scroll-Completions-forward) (S-backspace . icicle-apropos-complete-an=
d-widen) (33554464 . icicle-apropos-complete-and-narrow) (33554433 . icicle=
-toggle-case-sensitivity) (30 . icicle-dispatch-C-^) (67108923 . icicle-tog=
gle-expand-to-common-match) (67108899 . icicle-toggle-incremental-completio=
n) (67108910 . icicle-dispatch-C-\.) (67108900 . icicle-toggle-transforming=
) (67108924 . icicle-candidate-set-retrieve-more) (67108960 . icicle-toggle=
-regexp-quote) (67108908 . icicle-change-sort-order) (67108922 . icicle-can=
didate-set-define) (67108901 . icicle-candidate-set-swap) (67108987 . icicl=
e-candidate-set-retrieve-persistent) (67108989 . icicle-candidate-set-save-=
persistently) (67108905 . icicle-candidate-set-save-more-selected) (6710890=
4 . icicle-next-TAB-completion-method) (67108926 . icicle-candidate-set-sav=
e-more) (67108906 . icicle-candidate-set-intersection) (67108907 . icicle-c=
andidate-set-union) (67108909 . icicle-candidate-set-difference) (67108990 =
. icicle-candidate-set-complement) (33554444 . icicle-retrieve-next-input) =
(12 . icicle-retrieve-previous-input) (insert . icicle-save/unsave-candidat=
e) (C-insert . icicle-switch-to-Completions-buf) (C-M-pause . icicle-other-=
history) (C-pause . icicle-toggle-highlight-historical-candidates) (M-pause=
 . icicle-keep-only-past-inputs) (67108988 . icicle-all-candidates-alt-acti=
on) (67108897 . icicle-all-candidates-action) (C-return . icicle-candidate-=
action) (23 . icicle-kill-region) (S-delete . icicle-delete-candidate-objec=
t) (delete . icicle-remove-candidate) (C-S-return . icicle-candidate-alt-ac=
tion) (M-return . icicle-candidate-read-fn-invoke) (C-M-return . icicle-hel=
p-on-candidate) (C-M-f1 . icicle-help-on-candidate) ...) nil minibuffer-his=
tory nil t)
  (setq val (read-from-minibuffer prompt (cons init pos) (if (not require-m=
atch) (if (or (not minibuffer-completing-file-name) (eq minibuffer-completi=
ng-file-name (quote lambda)) (not (boundp (quote minibuffer-local-filename-=
completion-map)))) minibuffer-local-completion-map minibuffer-local-filenam=
e-completion-map) (if (or (not minibuffer-completing-file-name) (eq minibuf=
fer-completing-file-name (quote lambda)) (not (boundp (quote minibuffer-loc=
al-filename-must-match-map)))) minibuffer-local-must-match-map minibuffer-l=
ocal-filename-must-match-map)) nil histvar def inherit-input-method))
  (let ((pos 0) val histvar histpos position init) (setq init initial-input=
 minibuffer-completion-table collection minibuffer-completion-predicate pre=
dicate minibuffer-completion-confirm (if (eq require-match t) nil require-m=
atch)) (setq position nil) (when init (when (consp init) (setq position (cd=
r init) init (car init))) (unless (stringp init) (error "icicle-lisp-vanill=
a-completing-read, INIT must be a string: %S" init)) (if (not position) (se=
tq pos (1+ (length init))) (unless (integerp position) (error "icicle-lisp-=
vanilla-completing-read, POSITION must be an integer: %S" position)) (setq =
pos (1+ position)))) (if (symbolp hist) (setq histvar hist histpos nil) (se=
tq histvar (car-safe hist) histpos (cdr-safe hist))) (unless histvar (setq =
histvar (quote minibuffer-history))) (unless histpos (setq histpos 0)) (set=
q val (read-from-minibuffer prompt (cons init pos) (if (not require-match) =
(if (or (not minibuffer-completing-file-name) (eq minibuffer-completing-fil=
e-name (quote lambda)) (not (boundp ...))) minibuffer-local-completion-map =
minibuffer-local-filename-completion-map) (if (or (not minibuffer-completin=
g-file-name) (eq minibuffer-completing-file-name (quote lambda)) (not (boun=
dp ...))) minibuffer-local-must-match-map minibuffer-local-filename-must-ma=
tch-map)) nil histvar def inherit-input-method)) (when (consp icicle-filter=
ed-default-value) (setq icicle-filtered-default-value (car icicle-filtered-=
default-value))) (when (and (stringp val) (string=3D val "") icicle-filtere=
d-default-value) (setq val icicle-filtered-default-value)) val)
  icicle-lisp-vanilla-completing-read("Set variable: " [tramp-prefix-ipv6-f=
ormat :scan-depth normalized anything-inhibit-fit-frame-flag filesets-entry=
-get-open-fn etags-tags-completion-table ediff-get-combined-region filesets=
-be-docile-flag tramp-postfix-ipv6-regexp tramp-advice-make-auto-save-file-=
name tramp-ftp-unload-hook pic-cmd recentf-load-list anything-bug-report-sa=
lutation persistent-action external-viewer-def a-prev shell-process-popd fi=
lesets-update-cache-file-flag filesets-some gnus-set-file-modes test-icicle=
s/ table-string tramp-shell-prompt-pattern anything-reset-marked-candidates=
 tags-with-face separate ange-ftp-smart-gateway cl-keys-temp from-scratch-f=
lag buffer-s cookie-vector cl-seqs cl-copy filesets-eviewer-constraint-p ob=
j-temp anything-migrate-sources compiler-let ebnf-make-terminal anything-re=
sume-select-buffer 2009-08-12a-regions\.el tag-file-name-match-p cond-fn sl=
ot-unbound tramp-completion-dissect-file-name1 tramp-exists-file-name-handl=
er gnus-mode-string-quote tramp-handle-directory-files-and-attributes debug=
ger-batch-max-lines anything-output-filter ...] user-variable-p t "" minibu=
ffer-history nil t)
  (catch (quote icicle-read-top) (icicle-lisp-vanilla-completing-read promp=
t collection predicate require-match initial-input hist-m@%=3D!$+&^*z def i=
nherit-input-method))
  (setq result (catch (quote icicle-read-top) (icicle-lisp-vanilla-completi=
ng-read prompt collection predicate require-match initial-input hist-m@%=3D=
!$+&^*z def inherit-input-method)))
  (let ((minibuffer-prompt-properties (and (boundp (quote minibuffer-prompt=
-properties)) (icicle-remove-property (quote face) minibuffer-prompt-proper=
ties))) (minibuffer-completing-file-name (and (functionp collection) minibu=
ffer-completing-file-name))) (when (< emacs-major-version 21) (setq prompt =
(concat (and icicle-candidate-action-fn "+ ") prompt))) (setq result (catch=
 (quote icicle-read-top) (icicle-lisp-vanilla-completing-read prompt collec=
tion predicate require-match initial-input hist-m@%=3D!$+&^*z def inherit-i=
nput-method))) (icicle-unpropertize result))
  (cond ((not icicle-mode) (setq result (icicle-lisp-vanilla-completing-rea=
d prompt collection predicate require-match initial-input hist-m@%=3D!$+&^*=
z def inherit-input-method))) (t (let ((minibuffer-prompt-properties (and (=
boundp (quote minibuffer-prompt-properties)) (icicle-remove-property (quote=
 face) minibuffer-prompt-properties))) (minibuffer-completing-file-name (an=
d (functionp collection) minibuffer-completing-file-name))) (when (< emacs-=
major-version 21) (setq prompt (concat (and icicle-candidate-action-fn "+ "=
) prompt))) (setq result (catch (quote icicle-read-top) (icicle-lisp-vanill=
a-completing-read prompt collection predicate require-match initial-input h=
ist-m@%=3D!$+&^*z def inherit-input-method))) (icicle-unpropertize result))=
))
  (let* ((minibuffer-history-variable minibuffer-history-variable) (minibuf=
fer-allow-text-properties t) (minibuffer-completion-table collection) (icic=
le-fancy-cands-internal-p (or icicle-whole-candidate-as-text-prop-p icicle-=
fancy-candidates-p (get-text-property 0 (quote icicle-fancy-candidates) pro=
mpt))) result) (when icicle-fancy-cands-internal-p (let ((c+p (icicle-mctiz=
e-all collection predicate))) (setq collection (car c+p) predicate (cadr c+=
p)))) (cond ((not icicle-mode) (setq result (icicle-lisp-vanilla-completing=
-read prompt collection predicate require-match initial-input hist-m@%=3D!$=
+&^*z def inherit-input-method))) (t (let ((minibuffer-prompt-properties (a=
nd (boundp ...) (icicle-remove-property ... minibuffer-prompt-properties)))=
 (minibuffer-completing-file-name (and (functionp collection) minibuffer-co=
mpleting-file-name))) (when (< emacs-major-version 21) (setq prompt (concat=
 (and icicle-candidate-action-fn "+ ") prompt))) (setq result (catch (quote=
 icicle-read-top) (icicle-lisp-vanilla-completing-read prompt collection pr=
edicate require-match initial-input hist-m@%=3D!$+&^*z def inherit-input-me=
thod))) (icicle-unpropertize result)))) (when require-match (icicle-remove-=
Completions-window)) result)
  completing-read("Set variable: " [tramp-prefix-ipv6-format :scan-depth no=
rmalized anything-inhibit-fit-frame-flag filesets-entry-get-open-fn etags-t=
ags-completion-table ediff-get-combined-region filesets-be-docile-flag tram=
p-postfix-ipv6-regexp tramp-advice-make-auto-save-file-name tramp-ftp-unloa=
d-hook pic-cmd recentf-load-list anything-bug-report-salutation persistent-=
action external-viewer-def a-prev shell-process-popd filesets-update-cache-=
file-flag filesets-some gnus-set-file-modes test-icicles/ table-string tram=
p-shell-prompt-pattern anything-reset-marked-candidates tags-with-face sepa=
rate ange-ftp-smart-gateway cl-keys-temp from-scratch-flag buffer-s cookie-=
vector cl-seqs cl-copy filesets-eviewer-constraint-p obj-temp anything-migr=
ate-sources compiler-let ebnf-make-terminal anything-resume-select-buffer 2=
009-08-12a-regions\.el tag-file-name-match-p cond-fn slot-unbound tramp-com=
pletion-dissect-file-name1 tramp-exists-file-name-handler gnus-mode-string-=
quote tramp-handle-directory-files-and-attributes debugger-batch-max-lines =
anything-output-filter ...] user-variable-p t nil minibuffer-history nil t)
  read-variable("Set variable: ")
  read-var-and-value(read-variable set-variable-value-history nil)
  byte-code("\301\302\303\b#\207" [current-prefix-arg read-var-and-value rea=
d-variable set-variable-value-history] 4)
  call-interactively(set-variable record-it)
  (let ((enable-recursive-minibuffers t) (icicle-must-pass-after-match-pred=
icate orig-must-pass-after-match-predicate) (this-command cmd)) (call-inter=
actively cmd (quote record-it)))
  (cond ((arrayp fn) (let ((this-command cmd)) (execute-kbd-macro fn count)=
) (when (> count 1) (message "(%d times)" count))) (t (run-hooks (quote pos=
t-command-hook)) (run-hooks (quote pre-command-hook)) (let ((enable-recursi=
ve-minibuffers t) (icicle-must-pass-after-match-predicate orig-must-pass-af=
ter-match-predicate) (this-command cmd)) (call-interactively cmd (quote rec=
ord-it)))))
  (let* ((cmd (intern cmd-name)) (icicle-candidate-action-fn (and icicle-ca=
ndidate-action-fn (function (lambda (arg) (setq arg (icicle-transform-multi=
-completion arg)) (condition-case nil (funcall cmd arg) (wrong-type-argumen=
t ...) (wrong-number-of-arguments ...)) (select-window (minibuffer-window))=
 (select-frame-set-input-focus (selected-frame)))))) (fn (symbol-function c=
md)) (count (prefix-numeric-value current-prefix-arg)) (icicle-candidate-al=
t-action-fn nil) (icicle-all-candidates-list-alt-action-fn nil)) (when (and=
 suggest-key-bindings (not executing-kbd-macro)) (let* ((bindings (where-is=
-internal cmd overriding-local-map t)) (curr-msg (current-message)) (wait-t=
ime (if curr-msg (or (and ... suggest-key-bindings) 2) 0))) (when (and bind=
ings (not (and (vectorp bindings) (eq ... ...)))) (when (and (sit-for wait-=
time) (atom unread-command-events)) (let ((message-log-max nil)) (message "=
You can run the command `%s' with `%s'" (symbol-name cmd) (key-description =
bindings))) (when (and (sit-for wait-time) curr-msg) (message curr-msg)))))=
) (cond ((arrayp fn) (let ((this-command cmd)) (execute-kbd-macro fn count)=
) (when (> count 1) (message "(%d times)" count))) (t (run-hooks (quote pos=
t-command-hook)) (run-hooks (quote pre-command-hook)) (let ((enable-recursi=
ve-minibuffers t) (icicle-must-pass-after-match-predicate orig-must-pass-af=
ter-match-predicate) (this-command cmd)) (call-interactively cmd (quote rec=
ord-it))))) (setq new-last-cmd cmd))
  icicle-execute-extended-command-1("set-variable")
  funcall(icicle-execute-extended-command-1 "set-variable")
  (let ((cmd-choice (completing-read (format "Execute command%s: " (if curr=
ent-prefix-arg (format " (prefix %d)" (prefix-numeric-value current-prefix-=
arg)) "")) obarray nil t nil (quote extended-command-history) nil nil))) (s=
etq icicle-candidate-action-fn nil) (funcall (quote icicle-execute-extended=
-command-1) cmd-choice))
  (condition-case act-on-choice (let ((cmd-choice (completing-read (format =
"Execute command%s: " (if current-prefix-arg (format " (prefix %d)" ...) ""=
)) obarray nil t nil (quote extended-command-history) nil nil))) (setq icic=
le-candidate-action-fn nil) (funcall (quote icicle-execute-extended-command=
-1) cmd-choice)) (quit (icicle-try-switch-buffer icicle-orig-buff) nil) (er=
ror (icicle-try-switch-buffer icicle-orig-buff) nil (error "%s" (error-mess=
age-string act-on-choice))))
  (let* ((icicle-orig-buff (current-buffer)) (icicle-orig-window (selected-=
window)) (last-command last-command) (use-file-dialog nil) (alt-fn nil) (or=
ig-must-pass-after-match-predicate icicle-must-pass-after-match-predicate) =
(icicle-must-pass-after-match-predicate (function (lambda (c) (commandp (in=
tern c))))) (icicle-candidate-alt-action-fn (or icicle-candidate-alt-action=
-fn (setq alt-fn (icicle-alt-act-fn-for-type "command")))) (icicle-all-cand=
idates-list-alt-action-fn (or icicle-all-candidates-list-alt-action-fn alt-=
fn (icicle-alt-act-fn-for-type "command"))) new-last-cmd (icicle-candidate-=
action-fn (lambda (candidate) (let ((minibuffer-completion-table minibuffer=
-completion-table) (minibuffer-completion-predicate minibuffer-completion-p=
redicate) (minibuffer-completion-confirm minibuffer-completion-confirm) (mi=
nibuffer-completing-file-name minibuffer-completing-file-name) (minibuffer-=
completing-symbol (and ... minibuffer-completing-symbol)) (minibuffer-exit-=
hook minibuffer-exit-hook) (minibuffer-help-form minibuffer-help-form) (min=
ibuffer-history-variable minibuffer-history-variable) (minibuffer-history-c=
ase-insensitive-variables minibuffer-history-case-insensitive-variables) (m=
inibuffer-history-sexp-flag minibuffer-history-sexp-flag) (minibuffer-messa=
ge-timeout (and ... minibuffer-message-timeout)) (minibuffer-prompt-propert=
ies (and ... minibuffer-prompt-properties)) (minibuffer-setup-hook minibuff=
er-setup-hook) (minibuffer-text-before-history minibuffer-text-before-histo=
ry)) (condition-case in-action-fn (cond (... ...) (... ...) (t ...)) (error=
 (unless ... ...) (when ... ... ...) (funcall ... candidate))) (select-wind=
ow (minibuffer-window)) (select-frame-set-input-focus (selected-frame)) nil=
)))) nil (condition-case act-on-choice (let ((cmd-choice (completing-read (=
format "Execute command%s: " (if current-prefix-arg ... "")) obarray nil t =
nil (quote extended-command-history) nil nil))) (setq icicle-candidate-acti=
on-fn nil) (funcall (quote icicle-execute-extended-command-1) cmd-choice)) =
(quit (icicle-try-switch-buffer icicle-orig-buff) nil) (error (icicle-try-s=
witch-buffer icicle-orig-buff) nil (error "%s" (error-message-string act-on=
-choice)))) (setq this-command new-last-cmd))
  icicle-execute-extended-command()
  call-interactively(icicle-execute-extended-command nil nil)
 
 
 
In GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600)
 of 2011-04-11 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.5) --no-opt --cflags -Ic:/imagesu=
pport/include'
 






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol
  2011-04-16 15:44 bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol Drew Adams
@ 2011-04-16 16:33 ` Tassilo Horn
  2011-04-16 16:58   ` Drew Adams
  2011-04-18 19:15 ` Stefan Monnier
  1 sibling, 1 reply; 9+ messages in thread
From: Tassilo Horn @ 2011-04-16 16:33 UTC (permalink / raw)
  To: Drew Adams; +Cc: 8510

"Drew Adams" <drew.adams@oracle.com> writes:

Hi Drew,

> I ran into this from my own code.  This is not a recipe from emacs -Q.
> But I suspect that the problem is in the vanilla code, possibly in the
> C code for `documentation-property'.

I suspect its a bug in your code. :-)

Your description sounds very similar to an issue I had with anything.el
when switching to the (now merged) lexbind branch.  The issue was that
some advice tried to access one arg of the adviced function by its
name.  That's the fix:

--8<---------------cut here---------------start------------->8---
--- a/anything.el
+++ b/anything.el
@@@ -2816,7 -2816,7 +2816,7 @@@ if optional NOUPDATE is non-nil, anythi
  
  (defadvice documentation-property (after anything-document-type-attribute activate)
    "Hack to display type attributes' documentation as `anything-type-attributes
' docstring."
 -  (when (eq symbol 'anything-type-attributes)
 +  (when (eq (ad-get-arg 0) 'anything-type-attributes)
      (setq ad-return-value
            (concat ad-return-value "\n\n++++ Types currently defined ++++\n"
                    (mapconcat (lambda (sym) (get sym 'anything-typeattrdoc))
--8<---------------cut here---------------end--------------->8---

Bye,
Tassilo





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol
  2011-04-16 16:33 ` Tassilo Horn
@ 2011-04-16 16:58   ` Drew Adams
  2011-04-16 17:36     ` Tassilo Horn
  0 siblings, 1 reply; 9+ messages in thread
From: Drew Adams @ 2011-04-16 16:58 UTC (permalink / raw)
  To: 'Tassilo Horn'; +Cc: 8510

> I suspect its a bug in your code. :-)
> 
> Your description sounds very similar to an issue I had with 
> anything.el when switching to the (now merged) lexbind branch.
> The issue was that some advice tried to access one arg of the
> adviced function by its name.

Hi Tassilo,

You might be right that it is in my code (dunno), but if so I don't think it has
to do with the problem you mention.  The problem you mention is, I think, bug
#8457 (which has reportedly been fixed, BTW).

I do not use defadvice in this way in my code anywhere (anymore) - I use only
`ad-get-arg'.  And in the Icicles code I use defadvice in only two minor places,
neither of which accesses an argument (by name or otherwise).






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol
  2011-04-16 16:58   ` Drew Adams
@ 2011-04-16 17:36     ` Tassilo Horn
  2011-04-16 18:01       ` Drew Adams
  0 siblings, 1 reply; 9+ messages in thread
From: Tassilo Horn @ 2011-04-16 17:36 UTC (permalink / raw)
  To: Drew Adams; +Cc: 8510

"Drew Adams" <drew.adams@oracle.com> writes:

Hi Drew,

>> Your description sounds very similar to an issue I had with 
>> anything.el when switching to the (now merged) lexbind branch.
>> The issue was that some advice tried to access one arg of the
>> adviced function by its name.
>
> You might be right that it is in my code (dunno), but if so I don't
> think it has to do with the problem you mention.  The problem you
> mention is, I think, bug #8457 (which has reportedly been fixed, BTW).

Yes, right.

> I do not use defadvice in this way in my code anywhere (anymore) - I
> use only `ad-get-arg'.  And in the Icicles code I use defadvice in
> only two minor places, neither of which accesses an argument (by name
> or otherwise).

Yes, the code can be anywhere.  For me, the problem was in anything, but
the symptom occured also with M-x describe-*.  I'd grep thru all elisp
files I have installed for defadvices and check them.

Bye,
Tassilo





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol
  2011-04-16 17:36     ` Tassilo Horn
@ 2011-04-16 18:01       ` Drew Adams
  0 siblings, 0 replies; 9+ messages in thread
From: Drew Adams @ 2011-04-16 18:01 UTC (permalink / raw)
  To: 'Tassilo Horn'; +Cc: 8510

> > I do not use defadvice in this way in my code anywhere (anymore) -
> > I use only `ad-get-arg'.  And in the Icicles code I use defadvice
> > in only two minor places, neither of which accesses an argument
> > (by name or otherwise).
> 
> Yes, the code can be anywhere.  For me, the problem was in 
> anything, but the symptom occured also with M-x describe-*.
> I'd grep thru all elisp files I have installed for defadvices
> and check them.

Yes, I did that.  That's what I meant by "I do not use defadvice in this way in
my code anywhere (anymore) - I use only `ad-get-arg'."  By "anywhere" I meant in
_any_ of my code.

None of my code (or other 3rd-party code that I load) uses defadvice with a
named argument.  It uses only `ad-get-arg' when it accesses arguments.

And the Icicles code, which is the code invoking the call to
`documentation-property' that raises the error, has only two defadvices, neither
of which accesses any argument.

So it seems to me that this bug is unrelated to #8457.
But I could be wrong, of course.






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol
  2011-04-16 15:44 bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol Drew Adams
  2011-04-16 16:33 ` Tassilo Horn
@ 2011-04-18 19:15 ` Stefan Monnier
  2011-04-19 13:30   ` Stefan Monnier
  1 sibling, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2011-04-18 19:15 UTC (permalink / raw)
  To: Drew Adams; +Cc: 8510

> (documentation-property 'debug-on-error 'variable-documentation t)

I think that rings a bell, stay tuned,


        Stefan





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol
  2011-04-18 19:15 ` Stefan Monnier
@ 2011-04-19 13:30   ` Stefan Monnier
  2011-04-19 13:52     ` Drew Adams
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2011-04-19 13:30 UTC (permalink / raw)
  To: Drew Adams; +Cc: 8510

>> (documentation-property 'debug-on-error 'variable-documentation t)
> I think that rings a bell, stay tuned,

Sorry, wrong bell.
I have no idea what this might come from.  Can you reproduce the problem
at will?  If so, please reproduce it and then tell us what
C-h f documentation-property says, or if that fails as well, show us
the value of (symbol-function 'documentation-property).


        Stefan





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol
  2011-04-19 13:30   ` Stefan Monnier
@ 2011-04-19 13:52     ` Drew Adams
  2013-02-23  1:01       ` Glenn Morris
  0 siblings, 1 reply; 9+ messages in thread
From: Drew Adams @ 2011-04-19 13:52 UTC (permalink / raw)
  To: 'Stefan Monnier'; +Cc: 8510

> >> (documentation-property 'debug-on-error 'variable-documentation t)
> > I think that rings a bell, stay tuned,
> 
> Sorry, wrong bell.
> I have no idea what this might come from.  Can you reproduce 
> the problem at will?  If so, please reproduce it and then tell us what
> C-h f documentation-property says, or if that fails as well, show us
> the value of (symbol-function 'documentation-property).

Yes, I could have, but I've forgotten just what the recipe was.
Sorry. ;-)

I thought I knew it, and tried what I thought, but that didn't do it.  I was
getting the error systematically, but I don't recall just what the recipe was.
In any case, it would be in my setup.

I guess just keep this in the back of your mind, in case the same bell gets rung
again.






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol
  2011-04-19 13:52     ` Drew Adams
@ 2013-02-23  1:01       ` Glenn Morris
  0 siblings, 0 replies; 9+ messages in thread
From: Glenn Morris @ 2013-02-23  1:01 UTC (permalink / raw)
  To: 8510-done


Nothing can be done with this.
Please reopen (or may as well make a new report) if a reproducible
recipe appears.





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-02-23  1:01 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-16 15:44 bug#8510: 24.0.50; lexbind problem (apparently): void-variable symbol Drew Adams
2011-04-16 16:33 ` Tassilo Horn
2011-04-16 16:58   ` Drew Adams
2011-04-16 17:36     ` Tassilo Horn
2011-04-16 18:01       ` Drew Adams
2011-04-18 19:15 ` Stefan Monnier
2011-04-19 13:30   ` Stefan Monnier
2011-04-19 13:52     ` Drew Adams
2013-02-23  1:01       ` Glenn Morris

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).