;ELC   
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(require 'autoconf)
#@329 Initialize a new configure.ac in ROOTDIR for PROGRAM using TESTFILE.
ROOTDIR is the root directory of a given autoconf controlled project.
PROGRAM is the program to be configured.
TESTFILE is the file used with AC_INIT.
Configure the initial configure script using `autoconf-new-automake-string'.

(fn ROOTDIR PROGRAM TESTFILE)
(defalias 'autoconf-new-program #[771 "\300\301!\210\302!\203 q\210\202@ \303\304\"\303\305\"\306!\204$ \306!\203; \307\310\311\306!\2031 \2022 \"!\204; \312\313!\210\314!\266\315 \210\316 \210\317\320\321\322%\207" [require ede/srecode bufferp expand-file-name "configure.in" "configure.ac" file-exists-p y-or-n-p format "File %s exists.  Start Over? " error "Quit" find-file erase-buffer ede-srecode-setup ede-srecode-insert "file:ede-empty" "TEST_FILE" "PROGRAM"] 10 (#$ . 105) "DRoot Dir: \nsProgram: \nsTest File: "])
#@484 List of macros in the order that they prefer to occur in.
This helps when inserting a macro which doesn't yet exist
by positioning it near other macros which may exist.
From the autoconf manual:
     `AC_INIT(FILE)'
     checks for programs
     checks for libraries
     checks for header files
     checks for typedefs
     checks for structures
     checks for compiler characteristics
     checks for library functions
     checks for system services
     `AC_OUTPUT([FILE...])'
(defvar autoconf-preferred-macro-order '("AC_INIT" "AC_CONFIG_SRCDIR" "AM_INIT_AUTOMAKE" "AM_CONFIG_HEADER" "AC_ARG_ENABLE" "AC_ARG_WITH" "AC_PROG_MAKE_SET" "AC_PROG_AWK" "AC_PROG_CC" "AC_PROG_CC_C_O" "AC_PROG_CPP" "AC_PROG_CXX" "AC_PROG_CXXCPP" "AC_ISC_POSIX" "AC_PROG_F77" "AC_PROG_GCC_TRADITIONAL" "AC_PROG_INSTALL" "AC_PROG_LEX" "AC_PROG_LN_S" "AC_PROG_RANLIB" "AC_PROG_YACC" "AC_CHECK_PROG" "AC_CHECK_PROGS" "AC_PROG_LIBTOOL" "AC_CHECK_LIB" "AC_PATH_XTRA" "AC_HEADER_STDC" "AC_HEADER_SYS_WAIT" "AC_HEADER_TIME" "AC_HEADERS" "AC_TYPE_PID_T" "AC_TYPE_SIGNAL" "AC_TYPE_UID_T" "AC_STRUCT_TM" "AC_CHECK_SIZEOF" "AC_C_CONST" "AC_CHECK_FUNCS" "AC_TRY_LINK" "AM_PATH_LISPDIR" "AM_INIT_GUILE_MODULE" "AC_OUTPUT") (#$ . 978))
#@37 Macros which appear multiple times.
(defvar autoconf-multiple-macros '("AC_ARG_ENABLE" "AC_ARG_WITH" "AC_CHECK_PROGS" "AC_CHECK_LIB" "AC_CHECK_SIZEOF" "AC_TRY_LINK") (#$ . 2188))
#@67 Macros which appear multiple times, and perform multiple queries.
(defvar autoconf-multiple-multiple-macros '("AC_HEADERS" "AC_CHECK_FUNCS") (#$ . 2373))
#@59 Non-nil if point is in a macro of type MACRO.

(fn MACRO)
(defalias 'autoconf-in-macro #[257 "\212\300 \210\301\302\303\304\260!)\207" [beginning-of-line looking-at "\\(A[CM]_" "\\|" "\\)"] 7 (#$ . 2533)])
#@196 Move to the last occurrence of MACRO, and return that point.
The last macro is usually the one in which we would like to insert more
items such as CHECK_HEADERS.

(fn MACRO &optional IGNORE-BOL)
(defalias 'autoconf-find-last-macro #[513 "`\203	 \300\202\n \301db\210\302\303!\304Q\305\306#\203$ \204\" \307 \210`\207b\210\305\207" ["" "^" re-search-backward regexp-quote "\\s-*\\((\\|$\\)" nil t beginning-of-line] 8 (#$ . 2749)])
#@83 Strip the parameter PARAM of whitespace and miscellaneous characters.

(fn PARAM)
(defalias 'autoconf-parameter-strip #[257 "\300\301\"\203 \211\302\225\303O\262\300\304\"\203 \211\302\211\224O\262\300\305\"\203. \306\307\310\211$\262\202 \207" [string-match "\\`\n*\\s-*\\[?\\s-*" 0 nil "\\s-*\\]?\\s-*\\'" "\\s-*\\\\\\s-*\n\\s-*" replace-match " " t] 6 (#$ . 3192)])
#@142 Retrieve the parameters to MACRO.
Returns a list of the arguments passed into MACRO as strings.

(fn MACRO &optional IGNORE-BOL IGNORE-CASE)
(defalias 'autoconf-parameters-for-macro #[769 "\211\212\301\"\205, \302\303!\210\304\305\306\307!\205+ `T\212\302\303!\210`S)\310\"\311\312\313#\266\203\"*\207" [case-fold-search autoconf-find-last-macro forward-sexp 1 mapcar autoconf-parameter-strip looking-at "(" buffer-substring-no-properties split-string "," t] 12 (#$ . 3578)])
#@321 Position the cursor where a new MACRO could be inserted.
This will appear at the BEGINNING of the macro MACRO should appear AFTER.
This is to make it compatible with `autoconf-find-last-macro'.
Assume that MACRO doesn't appear in the buffer yet, so search
the ordering list `autoconf-preferred-macro-order'.

(fn MACRO)
(defalias 'autoconf-position-for-macro #[257 "\211\301!\235\211\204 \302\303\"\210\211A\262db\210\211\203' \304@!\204' \211A\262\202 \211?\2050 \302\305\"\207" [autoconf-preferred-macro-order reverse error "Don't know how to position for %s yet" autoconf-find-last-macro "Could not find context for positioning %s"] 5 (#$ . 4067)])
#@72 Add MACRO at the current point with PARAM.

(fn MACRO &optional PARAM)
(defalias 'autoconf-insert-macro-at-point #[513 "c\210\211\205 \300\301\261\210i\302W\205 \303c\207" ["(" ")" 3 " dnl"] 5 (#$ . 4733)])
#@250 Add a call to MACRO in the current autoconf file.
Deals with macro order.  See `autoconf-preferred-macro-order' and
`autoconf-multiple-macros'.
Optional argument PARAM is the parameter to pass to the macro as one string.

(fn MACRO &optional PARAM)
(defalias 'autoconf-insert-new-macro #[513 "\235\203 \303!\204 \304!\210\305\306!\210\307\210\310c\210\311\"\207	\235\203l \211\204. \312\313\"\210\303!\204G \304!\210\305\306!\210\307\210\310c\210\311\"\207\305\306!\210\314\315!\210iG\\\nV\203] \316\261\207\317\320!\210\307\210\310c\210\311\"\207\303!\203t \307\207\304!\210\305\320!\210\321\322!\203\206 \305\320!\210\307\210\310c\210\311\"\207" [autoconf-multiple-macros autoconf-multiple-multiple-macros fill-column autoconf-find-last-macro autoconf-position-for-macro forward-sexp 2 nil "\n" autoconf-insert-macro-at-point error "You must have a parameter for %s" down-list -1 " " up-list 1 looking-at "\\s-*("] 5 (#$ . 4952)])
#@59 Position the cursor where HEADER is queried.

(fn HEADER)
(defalias 'autoconf-find-query-for-header #[257 "`\300eb\210\3011& \302\303\304!\303Q!\210\212\305 \210\306\307!)?\205! \202	 0\210\202* \210\310\262\211\2041 b\210\207" [t (error) re-search-forward "\\b" regexp-quote beginning-of-line looking-at "AC_CHECK_HEADERS" nil] 7 (#$ . 5918) "sHeader: "])
#@68 Add in HEADER to be queried for in our autoconf file.

(fn HEADER)
(defalias 'autoconf-add-query-for-header #[257 "\300!\206\n \301\302\"\207" [autoconf-find-query-for-header autoconf-insert-new-macro "AC_CHECK_HEADERS"] 4 (#$ . 6284) "sHeader: "])
#@55 Position the cursor where FUNC is queried.

(fn FUNC)
(defalias 'autoconf-find-query-for-func #[257 "`\300eb\210\3011& \302\303\304!\303Q!\210\212\305 \210\306\307!)?\205! \202	 0\210\202* \210\310\262\211\2041 b\210\207" [t (error) re-search-forward "\\b" regexp-quote beginning-of-line looking-at "AC_CHECK_FUNCS" nil] 7 (#$ . 6541) "sFunction: "])
#@64 Add in FUNC to be queried for in our autoconf file.

(fn FUNC)
(defalias 'autoconf-add-query-for-func #[257 "\300!\206\n \301\302\"\207" [autoconf-find-query-for-func autoconf-insert-new-macro "AC_CHECK_FUNCS"] 4 (#$ . 6901) "sFunction: "])
#@65 Association list of PROGRAM variables and their built-in MACRO.
(defvar autoconf-program-builtin '(("AWK" . "AC_PROG_AWK") ("CC" . "AC_PROG_CC") ("CPP" . "AC_PROG_CPP") ("CXX" . "AC_PROG_CXX") ("CXXCPP" . "AC_PROG_CXXCPP") ("F77" . "AC_PROG_F77") ("GCC_TRADITIONAL" . "AC_PROG_GCC_TRADITIONAL") ("INSTALL" . "AC_PROG_INSTALL") ("LEX" . "AC_PROG_LEX") ("LN_S" . "AC_PROG_LN_S") ("RANLIB" . "AC_PROG_RANLIB") ("YACC" . "AC_PROG_YACC")) (#$ . 7150))
#@233 Position the cursor where PROG is queried.
PROG is the VARIABLE to use in autoconf to identify the program.
PROG excludes the _PROG suffix.  Thus if PROG were EMACS, then the
variable in configure.ac would be EMACS_PROG.

(fn PROG)
(defalias 'autoconf-find-query-for-program #[257 "`\301\302\"eb\210\3031! \304\305\243\206 \306\307Q\310Q!0\210\202% \210\311\262\204, b\210\207" [autoconf-program-builtin t assoc (error) re-search-forward "^" "AC_CHECK_PROG\\s-*(\\s-*" "_PROG" "\\>" nil] 9 (#$ . 7604)])
#@160 Add in PROG to be queried for in our autoconf file.
Optional NAMES is for non-built-in programs, and is the list
of possible names.

(fn PROG &optional NAMES)
(defalias 'autoconf-add-query-for-program #[513 "\301!?\205 \302\"\211\203 \303A!\202 \303\304\305Q\"\262\207" [autoconf-program-builtin autoconf-find-query-for-program assoc autoconf-insert-new-macro "AC_CHECK_PROGS" ","] 8 (#$ . 8125) "sProgram: "])
#@53 Set to the last bit of text deleted during an edit.
(defvar autoconf-deleted-text nil (#$ . 8552))
#@54 Set to the last bit of text inserted during an edit.
(defvar autoconf-inserted-text nil (#$ . 8657))
#@167 Start an edit cycle, unsetting the modified flag if there is no change.
Optional argument BODY is the code to execute which edits the autoconf file.

(fn &rest BODY)
(defalias 'autoconf-edit-cycle '(macro . #[128 "\300\301\302\303\"BB\207" [let ((autoconf-deleted-text nil) (autoconf-inserted-text nil) (mod (buffer-modified-p))) append ((if (and (not mod) (string= autoconf-deleted-text autoconf-inserted-text)) (set-buffer-modified-p nil)))] 6 (#$ . 8765)]))
#@70 Return the number of parameters to the function on the current line.
(defalias 'autoconf-parameter-count #[0 "\212\300 \210\212\301\302\303 \304#\203 \305u\210\306\307!\210`\202 \303 )\310\214\311 }\210\3121U \313\307!\210\301\314\304#\203: \211T\262\202+ \211\307V\203E \211T\202Q \315\316!\204P \211T\202Q \2110\202W \210\310)\266\202)\207" [beginning-of-line re-search-forward "(" point-at-eol t -1 forward-sexp 1 0 point-at-bol (error) down-list ", ?" looking-at "\\s-*)"] 6 (#$ . 9233)])
#@163 Delete the INDEXth parameter from the macro starting on the current line.
Leaves the cursor where a new parameter can be inserted.
INDEX starts at 1.

(fn INDEX)
(defalias 'autoconf-delete-parameter #[257 "\301 \210\302\303!\210\304\305\306\211S$\210\212\304\307\310 \"\210\311u\210`)`{`|\207" [autoconf-deleted-text beginning-of-line down-list 1 re-search-forward ", ?" nil ",\\|)" point-at-eol -1] 6 (#$ . 9738)])
#@25 Insert TEXT.

(fn TEXT)
(defalias 'autoconf-insert #[257 "\211\211c\207" [autoconf-inserted-text] 2 (#$ . 10164)])
#@62 Set the version used with automake to VERSION.

(fn VERSION)
(defalias 'autoconf-set-version #[257 "\211;\204\n \302\303\304\"\210\305\306!\203 \307 \310Y\204( \305\311!\203$ \307 \310Y\204( \312\313!\210\314\211\315 \316\310!\210\317\320\321Q!\210\211?\205I 	\230\205I \322\314!*\207" [autoconf-inserted-text autoconf-deleted-text signal wrong-type-argument (stringp version) autoconf-find-last-macro "AM_INIT_AUTOMAKE" autoconf-parameter-count 2 "AC_INIT" error "Cannot update version" nil buffer-modified-p autoconf-delete-parameter autoconf-insert "[" "]" set-buffer-modified-p] 8 (#$ . 10286)])
#@186 Set the files created in AC_OUTPUT to OUTPUTLIST.
OUTPUTLIST is a list of strings representing relative paths
to Makefiles, or other files using Autoconf substitution.

(fn OUTPUTLIST)
(defalias 'autoconf-set-output #[257 "\302\303!\204\n \304\305!\207\306\211\307 \310\311!\210\312\313\314\315#!\210\211?\205- 	\230\205- \316\306!*\207" [autoconf-inserted-text autoconf-deleted-text autoconf-find-last-macro "AC_OUTPUT" error "Cannot update version" nil buffer-modified-p autoconf-delete-parameter 1 autoconf-insert mapconcat #[257 "\207" [] 2 "\n\n(fn A)"] " " set-buffer-modified-p] 9 (#$ . 10900)])
(provide 'ede/autoconf-edit)
