 	"append candidate directory paths to end of directory set bound to symbol"
 	(funcall #'ngender-add-paths symbol dirs t) )
 
-;; ** Emacs Repository Support
+;; ** Emacs Package Archive Repository Support
 
 (require 'package)
 

					(load module) ) ) ) ) )	; module can pull features off loading list

(defun ngender-require (module &rest features)
	(unless (assq module *ngender-modules-loaded*)
		(apply ngender-load (cons module features)) ) )

(defmacro ngender (&rest module+features)
	(cons 'ngender-require (mapcar (lambda (x) (list 'quote x)) module+features)) )

(defmacro ngender-provide (module)
	(list 'ngender-provide (list 'quote module)) )

;; ** Provide


		 ("marmalade" . "http://marmalade-repo.org/packages/")
		 ("melpa-stable" . "http://melpa-stable.milkbox.net/packages/")
		 ("org" . "https://orgmode.org/elpa/")
		 ) "package archives we know exist" )

(defvar package-archives
	'( ("gnu" . "http://elpa.gnu.org/packages/") )
  "requested package archives" )

;; the regexp patterns are only heuristic, not definitive!
(defun ngender-archive-name-p (name) (and (stringp name) (string-match "^[[:alpha:]][[:alnum:]-]*$" name)))
(defun ngender-archive-url-p (url) (and (stringp url) (string-match "^https?://" url)))

;; (ngender-validate-list
;; 	*ngender-known-package-archives* (lambda (x) (ngender-archive-name-p (car x))) "package archive name" )

;; (ngender-validate-list
;; 	*ngender-known-package-archives* (lambda (x) (ngender-archive-url-p (cdr x))) "package archive url" )

(defun ngender-archive-p (pair)
	"return the cons archive represented by the list or cons archive pair or nil"
