* `gnus-bound-and-true-p' [not found] <E1RLEn8-0001hI-O3@quimby.gnus.org> @ 2011-11-02 20:53 ` Reiner Steib 2011-11-02 21:09 ` `gnus-bound-and-true-p' Robert Pluim 0 siblings, 1 reply; 5+ messages in thread From: Reiner Steib @ 2011-11-02 20:53 UTC (permalink / raw) To: ding On Tue, Nov 01 2011, Ted Zlatanov wrote: > -(eval-when-compile > - ;; This is unnecessary in the compiled version as it is a macro. > - (if (fboundp 'bound-and-true-p) > - (defalias 'gnus-bound-and-true-p 'bound-and-true-p) > - (defmacro gnus-bound-and-true-p (var) > - "Return the value of symbol VAR if it is bound, else nil." > - `(and (boundp (quote ,var)) ,var)))) > - > -(defun gnus-bound-and-true-dumber-p (sym) > +;; simple check, can be a macro but this way, although slow, it's really clear > +(defun gnus-bound-and-true-p (sym) > (and (boundp sym) (symbol-value sym))) On Wed, Nov 02 2011, Ted Zlatanov wrote: > -;; simple check, can be a macro but this way, although slow, it's really clear > +;; Simple check: can be a macro but this way, although slow, it's really clear. > +;; We don't use `bound-and-true-p' because it's not in XEmacs. > (defun gnus-bound-and-true-p (sym) > (and (boundp sym) (symbol-value sym))) Can't you use an alias for Emacs and a macro for XEmacs? (if (fboundp 'bound-and-true-p) (defalias 'gnus-bound-and-true-p 'bound-and-true-p) (defmacro gnus-bound-and-true-p (var) "Return the value of symbol VAR if it is bound, else nil." `(and (boundp (quote ,var)) ,var))) Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- | PGP key available | http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: `gnus-bound-and-true-p' 2011-11-02 20:53 ` `gnus-bound-and-true-p' Reiner Steib @ 2011-11-02 21:09 ` Robert Pluim 2011-11-02 21:55 ` `gnus-bound-and-true-p' Ted Zlatanov 0 siblings, 1 reply; 5+ messages in thread From: Robert Pluim @ 2011-11-02 21:09 UTC (permalink / raw) To: ding Reiner Steib <reinersteib+gmane@imap.cc> writes: > On Tue, Nov 01 2011, Ted Zlatanov wrote: >> -(eval-when-compile >> - ;; This is unnecessary in the compiled version as it is a macro. >> - (if (fboundp 'bound-and-true-p) >> - (defalias 'gnus-bound-and-true-p 'bound-and-true-p) >> - (defmacro gnus-bound-and-true-p (var) >> - "Return the value of symbol VAR if it is bound, else nil." >> - `(and (boundp (quote ,var)) ,var)))) >> - >> -(defun gnus-bound-and-true-dumber-p (sym) >> +;; simple check, can be a macro but this way, although slow, it's really clear >> +(defun gnus-bound-and-true-p (sym) >> (and (boundp sym) (symbol-value sym))) > > On Wed, Nov 02 2011, Ted Zlatanov wrote: >> -;; simple check, can be a macro but this way, although slow, it's really clear >> +;; Simple check: can be a macro but this way, although slow, it's really clear. >> +;; We don't use `bound-and-true-p' because it's not in XEmacs. >> (defun gnus-bound-and-true-p (sym) >> (and (boundp sym) (symbol-value sym))) > > Can't you use an alias for Emacs and a macro for XEmacs? > > (if (fboundp 'bound-and-true-p) > (defalias 'gnus-bound-and-true-p 'bound-and-true-p) > (defmacro gnus-bound-and-true-p (var) > "Return the value of symbol VAR if it is bound, else nil." > `(and (boundp (quote ,var)) ,var))) Especially since in XEmacs 21.5: `bound-and-true-p' is a compiled Lisp macro -- loaded from "/build/xemacs-edge/lisp/subr.elc" (bound-and-true-p VAR) Documentation: Return the value of symbol VAR if it is bound, else nil. And: (fboundp 'bound-and-true-p) => t Robert ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: `gnus-bound-and-true-p' 2011-11-02 21:09 ` `gnus-bound-and-true-p' Robert Pluim @ 2011-11-02 21:55 ` Ted Zlatanov 2011-11-02 22:48 ` `gnus-bound-and-true-p' Dave Abrahams 0 siblings, 1 reply; 5+ messages in thread From: Ted Zlatanov @ 2011-11-02 21:55 UTC (permalink / raw) To: ding On Wed, 02 Nov 2011 22:09:32 +0100 Robert Pluim <rpluim@gmail.com> wrote: RP> Reiner Steib <reinersteib+gmane@imap.cc> writes: >> Can't you use an alias for Emacs and a macro for XEmacs? >> >> (if (fboundp 'bound-and-true-p) >> (defalias 'gnus-bound-and-true-p 'bound-and-true-p) >> (defmacro gnus-bound-and-true-p (var) >> "Return the value of symbol VAR if it is bound, else nil." >> `(and (boundp (quote ,var)) ,var))) That was failing in XEmacs according to the Gnus Buildbot. See http://www.randomsample.de:4456/grid, older builds. It may have been the `eval-when-compile'. RP> Especially since in XEmacs 21.5: RP> `bound-and-true-p' is a compiled Lisp macro RP> -- loaded from "/build/xemacs-edge/lisp/subr.elc" RP> (bound-and-true-p VAR) RP> Documentation: RP> Return the value of symbol VAR if it is bound, else nil. RP> And: RP> (fboundp 'bound-and-true-p) => t I've spend too many hours dealing with this issue. So if you guys or anyone else can provide a patch that works in Emacs and XEmacs, please do and let's be done. Please keep in mind this is used very rarely, so not using a macro works perfectly well as far as performance, but I agree that it's nice to rely on the built-in functionality. Thanks Ted ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: `gnus-bound-and-true-p' 2011-11-02 21:55 ` `gnus-bound-and-true-p' Ted Zlatanov @ 2011-11-02 22:48 ` Dave Abrahams 2011-11-02 23:51 ` `gnus-bound-and-true-p' Ted Zlatanov 0 siblings, 1 reply; 5+ messages in thread From: Dave Abrahams @ 2011-11-02 22:48 UTC (permalink / raw) To: ding; +Cc: Ted Zlatanov on Wed Nov 02 2011, Ted Zlatanov <tzz-AT-lifelogs.com> wrote: > I've spend too many hours dealing with this issue. So if you guys or > anyone else can provide a patch that works in Emacs and XEmacs, please > do and let's be done. Please keep in mind this is used very rarely, so > not using a macro works perfectly well as far as performance, but I > agree that it's nice to rely on the built-in functionality. I'm sorry, but I think all this focus on bound-and-true-p is misdirected. IIUC, the fix for the problem is in this patch: http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00000.html I simply didn't realize that (defvar <symbol>) would leave <symbol> unbound. -- Dave Abrahams BoostPro Computing http://www.boostpro.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: `gnus-bound-and-true-p' 2011-11-02 22:48 ` `gnus-bound-and-true-p' Dave Abrahams @ 2011-11-02 23:51 ` Ted Zlatanov 0 siblings, 0 replies; 5+ messages in thread From: Ted Zlatanov @ 2011-11-02 23:51 UTC (permalink / raw) To: ding On Wed, 02 Nov 2011 14:48:16 -0800 Dave Abrahams <dave@boostpro.com> wrote: DA> on Wed Nov 02 2011, Ted Zlatanov <tzz-AT-lifelogs.com> wrote: >> I've spend too many hours dealing with this issue. So if you guys or >> anyone else can provide a patch that works in Emacs and XEmacs, please >> do and let's be done. Please keep in mind this is used very rarely, so >> not using a macro works perfectly well as far as performance, but I >> agree that it's nice to rely on the built-in functionality. DA> I'm sorry, but I think all this focus on bound-and-true-p is DA> misdirected. IIUC, the fix for the problem is in this patch: DA> http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00000.html DA> I simply didn't realize that (defvar <symbol>) would leave <symbol> DA> unbound. The macro was failing on XEmacs even after I fixed the defvar, according to the Buildbot. That's why I got rid of it. So I don't think it was your fault :) Ted ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-11-02 23:51 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <E1RLEn8-0001hI-O3@quimby.gnus.org> 2011-11-02 20:53 ` `gnus-bound-and-true-p' Reiner Steib 2011-11-02 21:09 ` `gnus-bound-and-true-p' Robert Pluim 2011-11-02 21:55 ` `gnus-bound-and-true-p' Ted Zlatanov 2011-11-02 22:48 ` `gnus-bound-and-true-p' Dave Abrahams 2011-11-02 23:51 ` `gnus-bound-and-true-p' Ted Zlatanov
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 NNTP newsgroup(s).