From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.devel Subject: Re: new fboundp behavior weird Date: Sat, 29 Dec 2012 13:35:47 +0100 Organization: Emacs Helm Message-ID: <87d2xtm3x8.fsf@gmail.com> References: <87mwwxhyve.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1356784567 12002 80.91.229.3 (29 Dec 2012 12:36:07 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 29 Dec 2012 12:36:07 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Dec 29 13:36:24 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ToveJ-0006yh-Be for ged-emacs-devel@m.gmane.org; Sat, 29 Dec 2012 13:36:23 +0100 Original-Received: from localhost ([::1]:40417 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tove4-0007Xn-OQ for ged-emacs-devel@m.gmane.org; Sat, 29 Dec 2012 07:36:08 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:56088) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tove1-0007Xg-5w for emacs-devel@gnu.org; Sat, 29 Dec 2012 07:36:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tovdu-000740-AQ for emacs-devel@gnu.org; Sat, 29 Dec 2012 07:36:05 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:50048) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tovdu-00073w-0H for emacs-devel@gnu.org; Sat, 29 Dec 2012 07:35:58 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Tove6-0006kj-Sy for emacs-devel@gnu.org; Sat, 29 Dec 2012 13:36:10 +0100 Original-Received: from lbe83-2-78-243-104-167.fbx.proxad.net ([78.243.104.167]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 29 Dec 2012 13:36:10 +0100 Original-Received: from thierry.volpiatto by lbe83-2-78-243-104-167.fbx.proxad.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 29 Dec 2012 13:36:10 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 155 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: lbe83-2-78-243-104-167.fbx.proxad.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) Cancel-Lock: sha1:YqNe7lsaOxOsUYTPWplL9R4fWR4= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:155986 Archived-At: Thierry Volpiatto writes: > Hi, > the new behavior of fboundp seems really bad. > For example debug-on-entry fail on functions not already bound but have > an alias. > something like: > > special-form-p: function xxx is void. > > #'(lambda (symbol) > (and (fboundp symbol) > (not (special-form-p symbol)))) > > (fboundp symbol) > =3D> t > (symbol-function symbol) > =3D> the function linked to symbol. > > So in this case fboundp is unable to protect the call to special-form-p. > > I guess the problem comes from here, but didn't digg more. > I will try to setup a recipe to reproduce ASAP. > > NOTE: This is reproductible only on the trunk, not emacs-24 branch which > is working fine. To reproduce: emacs -Q (defalias 'foo 'bar) (setq debug-on-error t) M-x debug-on-entry RET foo TAB NOTE: (fboundp 'foo) =3D>t (symbol-function 'foo) =3D>bar So a fix using in addition of `fboundp' `symbol-function' would not work. i.e `symbol-function' is not returning nil.=20 Anyway `fboundp' is used in so many places... --8<---------------cut here---------------start------------->8--- Debugger entered--Lisp error: (void-function foo) signal(void-function (foo)) completion--some(#[257 " [...] " [1 ("foo") ([zeroflag esh-arg x-pointer-coffee-mug beng viper-util Buffer= -menu-this-window vc-display-status debugger-previous-window verilog-mode-i= ndent occur-mode-hook dired-faces Buffer-menu-mode-width erc-log comment-se= arch-backward docs org-archive nnir center-region x-dnd-handle-moz-url edif= f-merg nnmail-files gnus-article-highlight cal-html texinfo showhide-fringe= erc-mode-line-and-header icomplete begpt lisp-font-lock-syntactic-face-fun= ction gnus-score-expire x-dnd-get-drop-width-height regexp-history isearch-= update ebnf-production vc-backend-subdirectory-name vc-stay-local-p custom-= faces em-script VICAR mouse-yank-at-point org-export-pdf search-documentati= on ebrowse xscheme Zs message-buffers x-select-text ps-print-printer ob-R f= ill-delete-prefix ...]) #[257 "\300!\205\n\301!?\207" [fboundp special-form= -p] 3 "\n\n(fn SYMBOL)"] (3) completion-styles-alist] 6 "\n\n(fn STYLE)"] (= basic partial-completion emacs22)) completion--nth-completion(1 "foo" [zeroflag esh-arg x-pointer-coffee-mug= beng viper-util Buffer-menu-this-window vc-display-status debugger-previou= s-window verilog-mode-indent occur-mode-hook dired-faces Buffer-menu-mode-w= idth erc-log comment-search-backward docs org-archive nnir center-region x-= dnd-handle-moz-url ediff-merg nnmail-files gnus-article-highlight cal-html = texinfo showhide-fringe erc-mode-line-and-header icomplete begpt lisp-font-= lock-syntactic-face-function gnus-score-expire x-dnd-get-drop-width-height = regexp-history isearch-update ebnf-production vc-backend-subdirectory-name = vc-stay-local-p custom-faces em-script VICAR mouse-yank-at-point org-export= -pdf search-documentation ebrowse xscheme Zs message-buffers x-select-text = ps-print-printer ob-R fill-delete-prefix ...] #[257 "\300!\205\n\301!?\207"= [fboundp special-form-p] 3 "\n\n(fn SYMBOL)"] 3 (metadata)) completion-try-completion("foo" [zeroflag esh-arg x-pointer-coffee-mug be= ng viper-util Buffer-menu-this-window vc-display-status debugger-previous-w= indow verilog-mode-indent occur-mode-hook dired-faces Buffer-menu-mode-widt= h erc-log comment-search-backward docs org-archive nnir center-region x-dnd= -handle-moz-url ediff-merg nnmail-files gnus-article-highlight cal-html tex= info showhide-fringe erc-mode-line-and-header icomplete begpt lisp-font-loc= k-syntactic-face-function gnus-score-expire x-dnd-get-drop-width-height reg= exp-history isearch-update ebnf-production vc-backend-subdirectory-name vc-= stay-local-p custom-faces em-script VICAR mouse-yank-at-point org-export-pd= f search-documentation ebrowse xscheme Zs message-buffers x-select-text ps-= print-printer ob-R fill-delete-prefix ...] #[257 "\300!\205\n\301!?\207" [f= boundp special-form-p] 3 "\n\n(fn SYMBOL)"] 3 (metadata)) completion--do-completion() minibuffer-complete() call-interactively(minibuffer-complete nil nil) read-from-minibuffer("Debug on entry to function: " nil (keymap (10 . min= ibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (menu= -bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-= complete :help "Complete as far as possible") (space menu-item "Complete Wo= rd" minibuffer-complete-word :help "Complete at most one word") (63 menu-it= em "List Completions" minibuffer-completion-help :help "Display all possibl= e completions") "Minibuf")) (27 keymap (118 . switch-to-completions)) (prio= r . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuff= er-complete-word) (9 . minibuffer-complete) keymap (menu-bar keymap (minibu= f "Minibuf" keymap (previous menu-item "Previous History Item" previous-his= tory-element :help "Put previous minibuffer history element in the minibuff= er") (next menu-item "Next History Item" next-history-element :help "Put ne= xt minibuffer history element in the minibuffer") (isearch-backward menu-it= em "Isearch History Backward" isearch-backward :help "Incrementally search = minibuffer history backward") (isearch-forward menu-item "Isearch History F= orward" isearch-forward :help "Incrementally search minibuffer history forw= ard") (return menu-item "Enter" exit-minibuffer :key-sequence "" :help "Ter= minate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-e= dit :help "Abort input and exit minibuffer") "Minibuf")) (10 . exit-minibuf= fer) (13 . exit-minibuffer) (7 . abort-recursive-edit) (C-tab . file-cache-= minibuffer-complete) (9 . self-insert-command) (XF86Back . previous-history= -element) (up . previous-history-element) (prior . previous-history-element= ) (XF86Forward . next-history-element) (down . next-history-element) (next = . next-history-element) (27 keymap (114 . previous-matching-history-element= ) (115 . next-matching-history-element) (112 . previous-history-element) (1= 10 . next-history-element))) nil nil "nil" nil) completing-read-default("Debug on entry to function: " [zeroflag esh-arg = x-pointer-coffee-mug beng viper-util Buffer-menu-this-window vc-display-sta= tus debugger-previous-window verilog-mode-indent occur-mode-hook dired-face= s Buffer-menu-mode-width erc-log comment-search-backward docs org-archive n= nir center-region x-dnd-handle-moz-url ediff-merg nnmail-files gnus-article= -highlight cal-html texinfo showhide-fringe erc-mode-line-and-header icompl= ete begpt lisp-font-lock-syntactic-face-function gnus-score-expire x-dnd-ge= t-drop-width-height regexp-history isearch-update ebnf-production vc-backen= d-subdirectory-name vc-stay-local-p custom-faces em-script VICAR mouse-yank= -at-point org-export-pdf search-documentation ebrowse xscheme Zs message-bu= ffers x-select-text ps-print-printer ob-R fill-delete-prefix ...] #[257 "\3= 00!\205\n\301!?\207" [fboundp special-form-p] 3 "\n\n(fn SYMBOL)"] t nil ni= l "nil" nil) completing-read("Debug on entry to function: " [zeroflag esh-arg x-pointe= r-coffee-mug beng viper-util Buffer-menu-this-window vc-display-status debu= gger-previous-window verilog-mode-indent occur-mode-hook dired-faces Buffer= -menu-mode-width erc-log comment-search-backward docs org-archive nnir cent= er-region x-dnd-handle-moz-url ediff-merg nnmail-files gnus-article-highlig= ht cal-html texinfo showhide-fringe erc-mode-line-and-header icomplete begp= t lisp-font-lock-syntactic-face-function gnus-score-expire x-dnd-get-drop-w= idth-height regexp-history isearch-update ebnf-production vc-backend-subdir= ectory-name vc-stay-local-p custom-faces em-script VICAR mouse-yank-at-poin= t org-export-pdf search-documentation ebrowse xscheme Zs message-buffers x-= select-text ps-print-printer ob-R fill-delete-prefix ...] #[257 "\300!\205\= n\301!?\207" [fboundp special-form-p] 3 "\n\n(fn SYMBOL)"] t nil nil "nil") byte-code(" [...] " [obarray function-called-at-point nil special-form-p completing-read form= at "Debug on entry to function (default %s): " "Debug on entry to function:= " #[257 "\300!\205\n\301!?\207" [fboundp special-form-p] 3 "\n\n(fn SYMBOL= )"] t symbol-name "" intern] 11) call-interactively(debug-on-entry record nil) command-execute(debug-on-entry record) execute-extended-command(nil "debug-on-entry") call-interactively(execute-extended-command nil nil) --8<---------------cut here---------------end--------------->8--- --=20 Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997=20