emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/emacsql 5c4aa1030b 415/427: Do not warn about missing pg f


From: ELPA Syncer
Subject: [nongnu] elpa/emacsql 5c4aa1030b 415/427: Do not warn about missing pg functions
Date: Tue, 13 Dec 2022 03:00:24 -0500 (EST)

branch: elpa/emacsql
commit 5c4aa1030be157229cdccd6b11cb30ca94cda954
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>

    Do not warn about missing pg functions
    
    Do not annoy users who do not have that installed (i.e., all
    or nearly all users).
    
    Cannot use `declare-function' for `pgcon-prosess' because
    it doesn't know about functions defined using `cl-defstruct'.
---
 emacsql-pg.el                   | 11 +++++++++--
 tests/emacsql-external-tests.el |  2 +-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/emacsql-pg.el b/emacsql-pg.el
index 83ae94201a..afb188d368 100644
--- a/emacsql-pg.el
+++ b/emacsql-pg.el
@@ -19,7 +19,13 @@
 
 ;;; Code:
 
-(require 'pg nil t)
+(unless (require 'pg nil t)
+  (declare-function pg-connect "pg"
+                    ( dbname user &optional
+                      (password "") (host "localhost") (port 5432) (tls nil)))
+  (declare-function pg-disconnect "pg" (con))
+  (declare-function pg-exec "pg" (connection &rest args))
+  (declare-function pg-result "pg" (result what &rest arg)))
 (require 'eieio)
 (require 'cl-lib)
 (require 'cl-generic)
@@ -43,7 +49,8 @@
   (require 'pg)
   (let* ((pgcon (pg-connect dbname user password host port))
          (connection (make-instance 'emacsql-pg-connection
-                                    :process (pgcon-process pgcon)
+                                    :process (and (fboundp 'pgcon-process)
+                                                  (pgcon-process pgcon))
                                     :pgcon pgcon
                                     :dbname dbname)))
     (when debug (emacsql-enable-debugging connection))
diff --git a/tests/emacsql-external-tests.el b/tests/emacsql-external-tests.el
index 98bf4d7f92..72a04a2254 100644
--- a/tests/emacsql-external-tests.el
+++ b/tests/emacsql-external-tests.el
@@ -25,7 +25,7 @@
       (reg "sqlite" #'emacsql-sqlite nil)
       (when pgdatabase
         (reg "psql" #'emacsql-psql pgdatabase))
-      (when (and pgdatabase pguser)
+      (when (and pgdatabase pguser (fboundp 'emacsql-pg))
         (reg "pg" #'emacsql-pg pgdatabase pguser))
       (when mysql-dbname
         (reg "mysql" #'emacsql-mysql mysql-dbname)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]