[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master fee1b52 211/433: Added file with Emacs-related macros from
From: |
Dmitry Gutov |
Subject: |
[elpa] master fee1b52 211/433: Added file with Emacs-related macros from Alan Shutko. |
Date: |
Thu, 15 Mar 2018 19:44:03 -0400 (EDT) |
branch: master
commit fee1b52680a5d618fcc6d32d9b0bbc758abdde5f
Author: viritrilbia <viritrilbia>
Commit: viritrilbia <viritrilbia>
Added file with Emacs-related macros from Alan Shutko.
---
acinclude.m4 | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 165 insertions(+)
diff --git a/acinclude.m4 b/acinclude.m4
new file mode 100644
index 0000000..e02262f
--- /dev/null
+++ b/acinclude.m4
@@ -0,0 +1,165 @@
+dnl
+dnl Execute arbitrary emacs lisp
+dnl
+AC_DEFUN(AC_EMACS_LISP, [
+elisp="$2"
+if test -z "$3"; then
+ AC_MSG_CHECKING(for $1)
+fi
+AC_CACHE_VAL(EMACS_cv_SYS_$1,[
+ OUTPUT=./conftest-$$
+ echo ${EMACS} -batch -eval "(let ((x ${elisp})) (write-region (if
(stringp x) (princ x) (prin1-to-string x)) nil \"${OUTPUT}\"))" >& AC_FD_CC
2>&1
+ ${EMACS} -batch -eval "(let ((x ${elisp})) (write-region (if (stringp
x) (princ x 'ignore) (prin1-to-string x)) nil \"${OUTPUT}\"nil 5))" >& AC_FD_CC
2>&1
+ retval=`cat ${OUTPUT}`
+ echo "=> ${retval}" >& AC_FD_CC 2>&1
+ rm -f ${OUTPUT}
+ EMACS_cv_SYS_$1=$retval
+])
+$1=${EMACS_cv_SYS_$1}
+if test -z "$3"; then
+ AC_MSG_RESULT($$1)
+fi
+])
+
+AC_DEFUN(AC_XEMACS_P, [
+ AC_MSG_CHECKING([if $EMACS is really XEmacs])
+ AC_EMACS_LISP(xemacsp,(if (string-match \"XEmacs\" emacs-version) \"yes\"
\"no\") ,"noecho")
+ XEMACS=${EMACS_cv_SYS_xemacsp}
+ EMACS_FLAVOR=emacs
+ if test "$XEMACS" = "yes"; then
+ EMACS_FLAVOR=xemacs
+ fi
+ AC_MSG_RESULT($XEMACS)
+ AC_SUBST(XEMACS)
+ AC_SUBST(EMACS_FLAVOR)
+])
+
+AC_DEFUN(AC_PATH_LISPDIR, [
+ AC_XEMACS_P
+ if test "$prefix" = "NONE"; then
+ AC_MSG_CHECKING([prefix for your Emacs])
+ AC_EMACS_LISP(prefix,(expand-file-name \"..\"
invocation-directory),"noecho")
+ prefix=${EMACS_cv_SYS_prefix}
+ AC_MSG_RESULT($prefix)
+ fi
+ AC_ARG_WITH(lispdir, --with-lispdir Where to install
lisp files, lispdir=${withval})
+ AC_MSG_CHECKING([where .elc files should go])
+ if test -z "$lispdir"; then
+ dnl Set default value
+ theprefix=$prefix
+ if test "x$theprefix" = "xNONE"; then
+ theprefix=$ac_default_prefix
+ fi
+ lispdir="\$(datadir)/${EMACS_FLAVOR}/site-lisp"
+ for thedir in share lib; do
+ potential=
+ if test -d ${theprefix}/${thedir}/${EMACS_FLAVOR}/site-lisp; then
+ lispdir="\$(prefix)/${thedir}/${EMACS_FLAVOR}/site-lisp"
+ break
+ fi
+ done
+ fi
+ AC_MSG_RESULT($lispdir)
+ AC_SUBST(lispdir)
+])
+
+dnl
+dnl Determine the emacs version we are running.
+dnl Automatically substitutes @EMACS_VERSION@ with this number.
+dnl
+AC_DEFUN(AC_EMACS_VERSION, [
+AC_MSG_CHECKING(for emacs version)
+AC_EMACS_LISP(version,(and (boundp 'emacs-major-version) (format \"%d.%d\"
emacs-major-version emacs-minor-version)),"noecho")
+
+EMACS_VERSION=${EMACS_cv_SYS_version}
+AC_SUBST(EMACS_VERSION)
+AC_MSG_RESULT(${EMACS_VERSION})
+])
+
+dnl
+dnl Determine whether the specified version of Emacs supports packages
+dnl or not. Currently, only XEmacs 20.3 does, but this is a general
+dnl check.
+dnl
+AC_DEFUN(AC_EMACS_PACKAGES, [
+AC_ARG_WITH(package-dir, --with-package-dir Configure as a XEmacs
package in directory, [ EMACS_PACKAGE_DIR="${withval}"])
+if test -n "$EMACS_PACKAGE_DIR"; then
+ if test "$prefix" != "NONE"; then
+ AC_MSG_ERROR([--with-package-dir and --prefix are mutually exclusive])
+ fi
+ dnl Massage everything to use $(prefix) correctly.
+ prefix=$EMACS_PACKAGE_DIR
+ datadir='$(prefix)/etc/w3'
+ infodir='$(prefix)/info'
+ lispdir='$(prefix)/lisp/w3'
+fi
+AC_SUBST(EMACS_PACKAGE_DIR)
+])
+
+dnl
+dnl Check whether a function exists in a library
+dnl All '_' characters in the first argument are converted to '-'
+dnl
+AC_DEFUN(AC_EMACS_CHECK_LIB, [
+if test -z "$3"; then
+ AC_MSG_CHECKING(for $2 in $1)
+fi
+library=`echo $1 | tr _ -`
+AC_EMACS_LISP($1,(progn (fmakunbound '$2) (condition-case nil (progn (require
'$library) (fboundp '$2)) (error (prog1 nil (message \"$library not
found\"))))),"noecho")
+if test "${EMACS_cv_SYS_$1}" = "nil"; then
+ EMACS_cv_SYS_$1=no
+fi
+if test "${EMACS_cv_SYS_$1}" = "t"; then
+ EMACS_cv_SYS_$1=yes
+fi
+HAVE_$1=${EMACS_cv_SYS_$1}
+AC_SUBST(HAVE_$1)
+if test -z "$3"; then
+ AC_MSG_RESULT($HAVE_$1)
+fi
+])
+
+dnl
+dnl Check whether a variable exists in a library
+dnl All '_' characters in the first argument are converted to '-'
+dnl
+AC_DEFUN(AC_EMACS_CHECK_VAR, [
+AC_MSG_CHECKING(for $2 in $1)
+library=`echo $1 | tr _ -`
+AC_EMACS_LISP($1,(progn (makunbound '$2) (condition-case nil (progn (require
'$library) (boundp '$2)) (error nil))),"noecho")
+if test "${EMACS_cv_SYS_$1}" = "nil"; then
+ EMACS_cv_SYS_$1=no
+fi
+HAVE_$1=${EMACS_cv_SYS_$1}
+AC_SUBST(HAVE_$1)
+AC_MSG_RESULT($HAVE_$1)
+])
+
+dnl
+dnl Perform sanity checking and try to locate the custom and widget packages
+dnl
+AC_DEFUN(AC_CHECK_CUSTOM, [
+AC_MSG_CHECKING(for acceptable custom library)
+AC_CACHE_VAL(EMACS_cv_ACCEPTABLE_CUSTOM,[
+AC_EMACS_CHECK_LIB(widget,widget-convert-text,"noecho")
+AC_EMACS_CHECK_LIB(wid_edit,widget-convert-text,"noecho")
+if test "${HAVE_widget}" = "yes"; then
+ EMACS_cv_ACCEPTABLE_CUSTOM=yes
+else
+ if test "${HAVE_wid_edit}" != "no"; then
+ EMACS_cv_ACCEPTABLE_CUSTOM=yes
+ else
+ EMACS_cv_ACCEPTABLE_CUSTOM=no
+ fi
+fi
+if test "${EMACS_cv_ACCEPTABLE_CUSTOM}" = "yes"; then
+ AC_EMACS_LISP(widget_dir,(file-name-directory (locate-library
\"widget\")),"noecho")
+ EMACS_cv_ACCEPTABLE_CUSTOM=$EMACS_cv_SYS_widget_dir
+fi
+])
+ AC_ARG_WITH(custom, --with-custom Specify where to
find the custom package, [ EMACS_cv_ACCEPTABLE_CUSTOM=`( cd $withval && pwd ||
echo "$withval" ) 2> /dev/null` ])
+ CUSTOM=${EMACS_cv_ACCEPTABLE_CUSTOM}
+ AC_SUBST(CUSTOM)
+ AC_MSG_RESULT("${CUSTOM}")
+])
+
- [elpa] master c1997e1 313/433: Revert unintended check-in of mmm-erb changes, (continued)
- [elpa] master c1997e1 313/433: Revert unintended check-in of mmm-erb changes, Dmitry Gutov, 2018/03/15
- [elpa] master c42fcb2 286/433: Compatibility fix for mode line format of Emacs 23, Dmitry Gutov, 2018/03/15
- [elpa] master b171ba0 324/433: Merge pull request #17 from dgutov/retro, Dmitry Gutov, 2018/03/15
- [elpa] master 53bd8b4 319/433: Remove duplicate entries, Dmitry Gutov, 2018/03/15
- [elpa] master 5f276a1 307/433: Update instructions and docstrings, Dmitry Gutov, 2018/03/15
- [elpa] master a0b1ecc 320/433: Merge pull request #16 from dgutov/c++-mode, Dmitry Gutov, 2018/03/15
- [elpa] master a5a24df 322/433: Fix the timer error: "Selecting deleted buffer", Dmitry Gutov, 2018/03/15
- [elpa] master 0b30852 244/433: * mmm-vars.el (mmm-c-derived-modes): Added php-mode., Dmitry Gutov, 2018/03/15
- [elpa] master 34c3a19 212/433: Updated mode preferences to check fboundp when regions are created., Dmitry Gutov, 2018/03/15
- [elpa] master 46185e0 232/433: Made C indentation style variables buffer-local., Dmitry Gutov, 2018/03/15
- [elpa] master fee1b52 211/433: Added file with Emacs-related macros from Alan Shutko.,
Dmitry Gutov <=
- [elpa] master 3c68c28 235/433: * mmm-sample.el (httpd-conf-perl): Added submode class from Rob, Dmitry Gutov, 2018/03/15
- [elpa] master c8cfb89 346/433: * mmm-noweb.el: Qualify the "doesn't work" statement., Dmitry Gutov, 2018/03/15
- [elpa] master 8e7e76b 355/433: Move html-js and html-css classes from mmm-erb to mmm-sample, Dmitry Gutov, 2018/03/15
- [elpa] master 4c51cd9 315/433: Merge pull request #13 from dgutov/master, Dmitry Gutov, 2018/03/15
- [elpa] master 23be0d3 272/433: * mmm-vars.el (mmm-save-local-variables): Updated cc-mode local, Dmitry Gutov, 2018/03/15
- [elpa] master 423ead2 353/433: Say goodbye to Emacs 19, Dmitry Gutov, 2018/03/15
- [elpa] master 5bff562 304/433: Add a few docstrings to make checkdoc happier., Dmitry Gutov, 2018/03/15
- [elpa] master 3710268 350/433: Some compatibiliy tweaks, Dmitry Gutov, 2018/03/15
- [elpa] master dddd397 245/433: * .cvsignore: Add semantic.cache., Dmitry Gutov, 2018/03/15
- [elpa] master eb8c964 359/433: Add "Maintainer" and some copyright headers, Dmitry Gutov, 2018/03/15