]> git.eshelyaron.com Git - emacs.git/commitdiff
Always define `gnutls-available-p' even if GnuTLS is not available.
authorTed Zlatanov <tzz@lifelogs.com>
Thu, 11 Dec 2014 22:55:36 +0000 (17:55 -0500)
committerTed Zlatanov <tzz@lifelogs.com>
Thu, 11 Dec 2014 22:55:36 +0000 (17:55 -0500)
Fixes: debbugs:19346
* gnutls.c (Fgnutls_available_p syms_of_gnutls): Move later for
clarity.  Let the availability check return Qnil when the GnuTLS
integration is not available, instead of erroring out.

* gnutls.h: Always declare syms_of_gnutls.

* emacs.c (main): Always include gnutls.h and run syms_of_gnutls.

src/ChangeLog
src/emacs.c
src/gnutls.c
src/gnutls.h

index b8663bcf7c00a54e07dc456b55d6a4652eac6d5c..90139535e30ac1e1423fc4c1e26de1287140ff10 100644 (file)
@@ -1,3 +1,14 @@
+2014-12-11  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * emacs.c (main): Always include gnutls.h and run syms_of_gnutls.
+
+       * gnutls.h: Always declare syms_of_gnutls.
+
+       * gnutls.c (Fgnutls_available_p syms_of_gnutls): Move later for
+       clarity.  Let the availability check return Qnil when the GnuTLS
+       integration is not available, instead of erroring out.
+       (Bug#19346)
+
 2014-12-10  Eli Zaretskii  <eliz@gnu.org>
 
        * xdisp.c (move_it_in_display_line_to, display_line): Don't
index 4c3857e698d08885fb2806738b166210efefe42b..7367e0d35ea6cbb6caa2ad4969e750a0982ee10c 100644 (file)
@@ -82,9 +82,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "syntax.h"
 #include "systime.h"
 
-#ifdef HAVE_GNUTLS
 #include "gnutls.h"
-#endif
 
 #if (defined PROFILING \
      && (defined __FreeBSD__ || defined GNU_LINUX || defined __MINGW32__))
@@ -1502,9 +1500,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
       syms_of_fontset ();
 #endif /* HAVE_NS */
 
-#ifdef HAVE_GNUTLS
       syms_of_gnutls ();
-#endif
 
 #ifdef HAVE_GFILENOTIFY
       syms_of_gfilenotify ();
index 03c29d03014646286896b38e98606bdfe0eaf720..d1713d379a99c9ed77ca3340abe544016d0b7077 100644 (file)
@@ -673,27 +673,6 @@ See also `gnutls-init'.  */)
   return emacs_gnutls_deinit (proc);
 }
 
-DEFUN ("gnutls-available-p", Fgnutls_available_p, Sgnutls_available_p, 0, 0, 0,
-       doc: /* Return t if GnuTLS is available in this instance of Emacs.  */)
-     (void)
-{
-#ifdef WINDOWSNT
-  Lisp_Object found = Fassq (Qgnutls_dll, Vlibrary_cache);
-  if (CONSP (found))
-    return XCDR (found);
-  else
-    {
-      Lisp_Object status;
-      status = init_gnutls_functions () ? Qt : Qnil;
-      Vlibrary_cache = Fcons (Fcons (Qgnutls_dll, status), Vlibrary_cache);
-      return status;
-    }
-#else
-  return Qt;
-#endif
-}
-
-
 /* Initializes global GnuTLS state to defaults.
 Call `gnutls-global-deinit' when GnuTLS usage is no longer needed.
 Returns zero on success.  */
@@ -1179,6 +1158,26 @@ This function may also return `gnutls-e-again', or
   return gnutls_make_error (ret);
 }
 
+DEFUN ("gnutls-available-p", Fgnutls_available_p, Sgnutls_available_p, 0, 0, 0,
+       doc: /* Return t if GnuTLS is available in this instance of Emacs.  */)
+     (void)
+{
+#ifdef WINDOWSNT
+  Lisp_Object found = Fassq (Qgnutls_dll, Vlibrary_cache);
+  if (CONSP (found))
+    return XCDR (found);
+  else
+    {
+      Lisp_Object status;
+      status = init_gnutls_functions () ? Qt : Qnil;
+      Vlibrary_cache = Fcons (Fcons (Qgnutls_dll, status), Vlibrary_cache);
+      return status;
+    }
+#else
+  return Qt;
+#endif
+}
+
 void
 syms_of_gnutls (void)
 {
@@ -1233,4 +1232,19 @@ are as per the GnuTLS logging conventions.  */);
   global_gnutls_log_level = 0;
 }
 
+#else
+
+DEFUN ("gnutls-available-p", Fgnutls_available_p, Sgnutls_available_p, 0, 0, 0,
+       doc: /* Return t if GnuTLS is available in this instance of Emacs.  */)
+     (void)
+{
+  return Qnil;
+}
+
+void
+syms_of_gnutls (void)
+{
+  defsubr (&Sgnutls_available_p);
+}
+
 #endif /* HAVE_GNUTLS */
index 8a667c00568a267463ce21e3989b1b9bf5f32aa5..8a18976cf1b145e19fb51add5409cc76d5d88ae3 100644 (file)
@@ -82,8 +82,8 @@ extern void emacs_gnutls_transport_set_errno (gnutls_session_t state, int err);
 #endif
 extern Lisp_Object emacs_gnutls_deinit (Lisp_Object);
 
-extern void syms_of_gnutls (void);
-
 #endif
 
+extern void syms_of_gnutls (void);
+
 #endif