unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] emacs: jump: fix compile warning on emacs 23
@ 2014-09-04  9:46 Mark Walters
  2014-09-22 18:57 ` Austin Clements
  2014-09-24 17:57 ` David Bremner
  0 siblings, 2 replies; 3+ messages in thread
From: Mark Walters @ 2014-09-04  9:46 UTC (permalink / raw)
  To: notmuch

notmuch-jump uses window-body-width which is not defined in emacs
23. To get around this it does

(unless (fboundp 'window-body-width)
  ;; Compatibility for Emacs pre-24
  (defalias 'window-body-width 'window-width))

This makes sure window-body-width is defined and all should be
well. But it seems that the byte compiler does not realise that this
guarantees that window-body-width will be defined and so, when
compiling with emacs 23, it gives an error

In end of data:
notmuch-jump.el:172:1:Warning: the function `window-body-width' is not known to be defined.

Domo and I came to following on irc: wrap the (unless (fboundp ...))
inside eval-and-compile which ensures that both the test and the
defalias (if needed) happen at both compile and load time.  This fixes
the warning.
---
I think Domo and I were both not completely sure whether the
eval-and-compile should be inside or outside the (unless fboundp ..)
or not (ie should it wrap the unless fboundp or just the defalias) nor
whether it should be eval-and-compile or eval-when-compile.

We think this is the right version but it would be good to have confirmation.

I tested notmuch jump inside emacs 23 and 24 with notmuch-emacs
compiled with emacs 23 or 24 (ie all four combinations) and it seemed to work.

Best wishes

Mark



 emacs/notmuch-jump.el |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/emacs/notmuch-jump.el b/emacs/notmuch-jump.el
index 5eb0949..2706b6c 100644
--- a/emacs/notmuch-jump.el
+++ b/emacs/notmuch-jump.el
@@ -25,9 +25,10 @@
 (require 'notmuch-lib)
 (require 'notmuch-hello)
 
-(unless (fboundp 'window-body-width)
-  ;; Compatibility for Emacs pre-24
-  (defalias 'window-body-width 'window-width))
+(eval-and-compile
+  (unless (fboundp 'window-body-width)
+    ;; Compatibility for Emacs pre-24
+    (defalias 'window-body-width 'window-width)))
 
 ;;;###autoload
 (defun notmuch-jump-search ()
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] emacs: jump: fix compile warning on emacs 23
  2014-09-04  9:46 [PATCH] emacs: jump: fix compile warning on emacs 23 Mark Walters
@ 2014-09-22 18:57 ` Austin Clements
  2014-09-24 17:57 ` David Bremner
  1 sibling, 0 replies; 3+ messages in thread
From: Austin Clements @ 2014-09-22 18:57 UTC (permalink / raw)
  To: Mark Walters, notmuch

LGTM.  I'm a little surprised this is necessary, but whatever.

I think the eval-and-compile has to be top-level; it's certainly not
wrong for it to be top-level.  (I like the comment in the
eval-and-compile implementation: ";; Remember, it's magic.")

On Thu, 04 Sep 2014, Mark Walters <markwalters1009@gmail.com> wrote:
> notmuch-jump uses window-body-width which is not defined in emacs
> 23. To get around this it does
>
> (unless (fboundp 'window-body-width)
>   ;; Compatibility for Emacs pre-24
>   (defalias 'window-body-width 'window-width))
>
> This makes sure window-body-width is defined and all should be
> well. But it seems that the byte compiler does not realise that this
> guarantees that window-body-width will be defined and so, when
> compiling with emacs 23, it gives an error
>
> In end of data:
> notmuch-jump.el:172:1:Warning: the function `window-body-width' is not known to be defined.
>
> Domo and I came to following on irc: wrap the (unless (fboundp ...))
> inside eval-and-compile which ensures that both the test and the
> defalias (if needed) happen at both compile and load time.  This fixes
> the warning.
> ---
> I think Domo and I were both not completely sure whether the
> eval-and-compile should be inside or outside the (unless fboundp ..)
> or not (ie should it wrap the unless fboundp or just the defalias) nor
> whether it should be eval-and-compile or eval-when-compile.
>
> We think this is the right version but it would be good to have confirmation.
>
> I tested notmuch jump inside emacs 23 and 24 with notmuch-emacs
> compiled with emacs 23 or 24 (ie all four combinations) and it seemed to work.
>
> Best wishes
>
> Mark
>
>
>
>  emacs/notmuch-jump.el |    7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/emacs/notmuch-jump.el b/emacs/notmuch-jump.el
> index 5eb0949..2706b6c 100644
> --- a/emacs/notmuch-jump.el
> +++ b/emacs/notmuch-jump.el
> @@ -25,9 +25,10 @@
>  (require 'notmuch-lib)
>  (require 'notmuch-hello)
>  
> -(unless (fboundp 'window-body-width)
> -  ;; Compatibility for Emacs pre-24
> -  (defalias 'window-body-width 'window-width))
> +(eval-and-compile
> +  (unless (fboundp 'window-body-width)
> +    ;; Compatibility for Emacs pre-24
> +    (defalias 'window-body-width 'window-width)))
>  
>  ;;;###autoload
>  (defun notmuch-jump-search ()
> -- 
> 1.7.10.4
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] emacs: jump: fix compile warning on emacs 23
  2014-09-04  9:46 [PATCH] emacs: jump: fix compile warning on emacs 23 Mark Walters
  2014-09-22 18:57 ` Austin Clements
@ 2014-09-24 17:57 ` David Bremner
  1 sibling, 0 replies; 3+ messages in thread
From: David Bremner @ 2014-09-24 17:57 UTC (permalink / raw)
  To: Mark Walters, notmuch

Mark Walters <markwalters1009@gmail.com> writes:

> notmuch-jump uses window-body-width which is not defined in emacs
> 23. To get around this it does
>
> (unless (fboundp 'window-body-width)
>   ;; Compatibility for Emacs pre-24
>   (defalias 'window-body-width 'window-width))

pushed,

d

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-09-24 17:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-04  9:46 [PATCH] emacs: jump: fix compile warning on emacs 23 Mark Walters
2014-09-22 18:57 ` Austin Clements
2014-09-24 17:57 ` David Bremner

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

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 read-only IMAP folder(s) and NNTP newsgroup(s).