GNU bug report logs - #31148
26.1; require w32 errors

Previous Next

Package: emacs;

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Alex Branham <alex.branham <at> gmail.com>
Cc: 31148 <at> debbugs.gnu.org
Subject: bug#31148: 26.1; require w32 errors
Date: Fri, 13 Apr 2018 20:54:53 +0300
> From: Alex Branham <alex.branham <at> gmail.com>
> Cc: 31148 <at> debbugs.gnu.org
> Date: Fri, 13 Apr 2018 12:45:37 -0500
> 
> (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?

Yes, declare-function should solve at least some of those.

As for the rest, I suggest to define a variable/function (seems like
ess-microsoft-p is already doing that) to tell you whether you are on
MS-Windows, e.g., by looking at system-type, and then condition all
the calls to w32-specific functions on that variable/function.




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.