GNU bug report logs -
#31148
26.1; require w32 errors
Previous Next
Reported by: Alex Branham <alex.branham <at> gmail.com>
Date: Fri, 13 Apr 2018 14:52:01 UTC
Severity: normal
Merged with 6997,
32157
Found in versions 24.0.50, 26.1
Fixed in version 27.1
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
On Fri 13 Apr 2018 at 12:22, Eli Zaretskii <eliz <at> gnu.org> wrote:
>> From: Alex Branham <alex.branham <at> gmail.com>
>> Cc: 31148 <at> debbugs.gnu.org
>> Date: Fri, 13 Apr 2018 10:15:59 -0500
>>
>> >> (require 'w32-fns nil t)
>> >>
>> >> It produces an error void-function set-message-beep. This is reproducible for me from emacs -q.
>> >
>> > Don't do that, then, unless you are in a w32 Emacs.
>>
>> What's the recommended way for packages to rely on these functions then?
>> It seems annoying to wrap every call to w32-functions in
>> (if (fboundp ...) (w32-...))
>
> I don't understand the question. w32-fns.el is preloaded on
> MS-Windows, so packages that rely on some function from there can
> simply call them.
>
> IOW, why would you want to 'require' w32-fns?
I'm going through and editing some older ESS code, and they make checks
like this:
(if (not (w32-shell-dos-semantics))
(add-hook 'comint-output-filter-functions 'ess-bugs-exit-notify-sh))
Which causes errors on non-windows machines unless you wrap the call to
w32-shell-dos-semantics in (and (fboundp ...)), which looks weird to me:
(if (not (and
(fboundp 'w32-shell-dos-semantics)
(w32-shell-dos-semantics)))
(add-hook 'comint-output-filter-functions 'ess-bugs-exit-notify-sh))
They also have code like:
(if (ess-microsoft-p)
(w32-short-file-name ...))
which causes byte compiler warnings about w32 being undefined. I guess
the best/only way to get rid of these is to (declare-function ... ),
right?
Thanks,
Alex
This bug report was last modified 6 years and 306 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.