commit:     cd54946e602964006be18c473ae204d77733e891
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 13 07:23:35 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 19 20:08:15 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd54946e

elisp-common.eclass: Add timeout to version detection

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 832fc19e467..bdf97f41303 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -219,7 +219,9 @@ _ELISP_EMACS_VERSION=""
 # Output version of currently active Emacs.
 
 elisp-emacs-version() {
-       local version ret
+       local version ret tmout="timeout -k 5 55"
+       # Run without timeout if the command is not available
+       ${tmout} true &>/dev/null || tmout=""
        # The following will work for at least versions 18-24.
        echo "(princ emacs-version)" >"${T}"/emacs-version.el
        version=$(
@@ -228,7 +230,7 @@ elisp-emacs-version() {
                # Redirecting stdin and unsetting TERM and DISPLAY will cause
                # most of them to exit with an error.
                unset TERM DISPLAY
-               ${EMACS} ${EMACSFLAGS} -l "${T}"/emacs-version.el </dev/null
+               ${tmout} ${EMACS} ${EMACSFLAGS} -l "${T}"/emacs-version.el 
</dev/null
        )
        ret=$?
        rm -f "${T}"/emacs-version.el

Reply via email to