branch: elpa/emacsql commit 5c4aa1030be157229cdccd6b11cb30ca94cda954 Author: Jonas Bernoulli <jo...@bernoul.li> Commit: Jonas Bernoulli <jo...@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)))