(defun batch-make-archive-contents ()
(let ((packages '(1))) ; format-version.
(dolist (file (directory-files default-directory))
- (condition-case nil
+ (condition-case v
(cond
- ((memq file '("." ".." "elpa.rss" "archive-contents"))
+ ((member file '("." ".." "elpa.rss" "archive-contents"))
nil)
;; Multi-file package
((file-directory-p file)
;; Simple package
((string-match "\\([^/]+\\)\\.el\\'" file)
(let* ((pkg (match-string 1 file))
- (desc
- (with-temp-buffer
- (insert-file-contents file)
- (goto-char (point-min))
- (unless (looking-at ";;;.*---[ \t]*\\(.*\\)\\(-\\*-.*-\\*-[ \t]*\\)?$")
- (error "Incorrectly formatted header in %s" file))
- (prog1 (match-string 1)
- (let ((commentary (lm-commentary)))
- (with-current-buffer (find-file-noselect
- (concat pkg "-readme.txt"))
- (erase-buffer)
- (emacs-lisp-mode)
- (insert (or commentary
- (prog1 "No description"
- (message "Missing Commentary in %s"
- file))))
- (goto-char (point-min))
- (while (looking-at ";*[ \t]*\\(commentary[: \t]*\\)?\n")
- (delete-region (match-beginning 0)
- (match-end 0)))
- (uncomment-region (point-min) (point-max))
- (goto-char (point-max))
- (while (progn (forward-line -1)
- (looking-at "[ \t]*\n"))
- (delete-region (match-beginning 0)
- (match-end 0)))
- (save-buffer))))))
- (vers (or (archive-contents--strip-rcs-id (lm-header "package-version"))
- (archive-contents--strip-rcs-id (lm-header "version"))
- (error "Missing version number in %s" file)))
- (requires-str (lm-header "package-requires"))
- (req (if requires-str
+ vers desc requires-str req)
+ (with-temp-buffer
+ (insert-file-contents file)
+ (goto-char (point-min))
+ (unless (looking-at ";;;.*---[ \t]*\\(.*\\)\\(-\\*-.*-\\*-[ \t]*\\)?$")
+ (error "Incorrectly formatted header in %s" file))
+ (setq vers
+ (or (archive-contents--strip-rcs-id (lm-header "package-version"))
+ (archive-contents--strip-rcs-id (lm-header "version"))
+ (error "Missing version number in %s" file)))
+ (setq desc (match-string 1))
+ (let ((commentary (lm-commentary)))
+ (with-current-buffer (find-file-noselect
+ (concat pkg "-readme.txt"))
+ (erase-buffer)
+ (emacs-lisp-mode)
+ (insert (or commentary
+ (prog1 "No description"
+ (message "Missing Commentary in %s"
+ file))))
+ (goto-char (point-min))
+ (while (looking-at ";*[ \t]*\\(commentary[: \t]*\\)?\n")
+ (delete-region (match-beginning 0)
+ (match-end 0)))
+ (uncomment-region (point-min) (point-max))
+ (goto-char (point-max))
+ (while (progn (forward-line -1)
+ (looking-at "[ \t]*\n"))
+ (delete-region (match-beginning 0)
+ (match-end 0)))
+ (save-buffer)))
+ (setq req
+ (let ((requires-str (lm-header "package-requires")))
+ (if requires-str
(mapcar 'archive-contents--convert-require
(car (read-from-string requires-str))))))
- (push (cons (intern pkg)
- (vector (version-to-list vers) req desc 'single))
- packages)
- (rename-file file (concat (or (file-name-directory file) "")
- pkg "-" vers ".el"))))
+ (push (cons (intern pkg)
+ (vector (version-to-list vers) req desc 'single))
+ packages)
+ (rename-file file (concat (or (file-name-directory file) "")
+ pkg "-" vers ".el")))))
((not (or (string-match "\\.elc\\'" file)
(string-match "-readme\\.txt\\'" file)))
(message "Unknown file %s" file)))