Subject: Re: bug#23988: [PATCH] Remove FIXME to alias fboundp to symbol-function

From: Robert Cochran <[email-masked]>
Date: Fri, 15 Jul 2016 12:50:02 -0700

Eli Zaretskii <[email-masked]> writes:

> How about adding a comment there that summarizes the discussion in
> that bug?  Perhaps someone will come up with a clever idea to overcome
> the difficulties.

That's a good point. I have attached a new patch that summarizes the
discussion.

Thanks,
~Robert Cochran

>From 60921ce566429711c7366ab6663fa37ee97b9190 Mon Sep 17 00:00:00 2001
From: Robert Cochran <[email-masked]>
Date: Fri, 15 Jul 2016 12:45:56 -0700
Subject: [PATCH] Expand FIXME near definition of fboundp

This expansion of the FIXME is so that future developers are aware of
the potential problems of aliasing fboundp to symbol-function without
taking backwards compatibility into account.

* src/data.c (fboundp): Note potential backwards compatibility issues in
  FIXME.
---
 src/data.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/data.c b/src/data.c
index 71da916..9846006 100644
--- a/src/data.c
+++ b/src/data.c
@@ -629,7 +629,12 @@ global value outside of any lexical scope.  */)
   return (EQ (valcontents, Qunbound) ? Qnil : Qt);
 }
 
-/* FIXME: Make it an alias for function-symbol!  */
+/* FIXME: It has been previously suggested to make this function an
+   alias for symbol-function, but upon discussion at Debbug#23957,
+   there is a risk breaking backward compatiblity, as some users of
+   fboundp may expect `t' in particular, rather than any true
+   value. An alias is still welcome so long as the compatibility
+   issues are addressed.  */
 DEFUN ("fboundp", Ffboundp, Sfboundp, 1, 1, 0,
        doc: /* Return t if SYMBOL's function definition is not void.  */)
   (register Lisp_Object symbol)
-- 
2.7.4