Simon Josefsson writes:
There are several uses of with-no-warnings in modern elisp, how
about
if XEmacs implements it? The implementation seems straight forward,
here is what my Emacs has:
(put 'with-no-warnings 'lisp-indent-function 0)
(defun with-no-warnings (&rest body)
"Like `progn', but prevents compiler warnings in the body."
;; The implementation for the interpreter is basically trivial.
(car (last body)))
That's to shut up the *compiler*? I'm ... speechless.
No, I don't think XEmacs should implement that. XEmacs 21.5 provides
a variety of declarations to quiet the bytecompiler. There are
currently 27 bytecompiler warnings in a full build of XEmacs 21.5 (and
it's only that many because we're lazy, I know how to fix at least half
of them). There simply is no need for such a thing in XEmacs.
I'll be putting these in the xemacs-base package shortly, as feature
'bytedecl, so they'll be available to XEmacs 21.4.
------------------------------------------------------------------------
(defmacro with-boundp (variables &rest body)
"Evaluate BODY, but do not issue bytecomp warnings about VARIABLES undefined.
VARIABLES can be a symbol or a list of symbols and must be quoted. When
compiling this file, the warnings `reference to free variable VARIABLE' and
`assignment to free variable VARIABLE' will not occur anywhere in BODY, for
any of the listed variables. This is a clean way to avoid such warnings.
See also `if-boundp', `when-boundp', and `and-boundp' (ways to
conditionalize on a variable being bound and avoid warnings),
`declare-boundp' (issue a variable call without warnings), and
`globally-declare-boundp' (avoid warnings throughout a file about a
variable)."
------------------------------------------------------------------------
(defmacro with-fboundp (functions &rest body)
"Evaluate BODY, but do not issue bytecomp warnings about FUNCTIONS undefined.
FUNCTIONS can be a symbol or a list of symbols and must be quoted. When
compiling this file, the warning `the function FUNCTION is not known to be
defined' will not occur anywhere in BODY, for any of the listed functions.
This is a clean way to avoid such warnings.
See also `if-fboundp', `when-fboundp', and `and-fboundp' (ways to
conditionalize on a function being bound and avoid warnings),
`declare-fboundp' (issue a function call without warnings), and
`globally-declare-fboundp' (avoid warnings throughout a file about a
function)."
------------------------------------------------------------------------
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta