1 Star 0 Fork 2

zhengchen/emacs

forked from latpaw/emacs 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
init-marmalade.el 2.33 KB
一键复制 编辑 原始数据 按行查看 历史
Steve Purcell 提交于 2013-01-10 11:12 . Add missing docstring
;;; Handy code for uploading new versions of my own packages to marmalade
(autoload 'marmalade-upload-buffer "marmalade")
(defun latest-version-from-git-tag ()
(let ((versions (mapcar #'version-to-list (split-string (shell-command-to-string "git tag")))))
(sort versions #'version-list-<)
(package-version-join (car (last versions)))))
(defun update-version-header (val)
(save-excursion
(goto-char (point-min))
(re-search-forward "^;;;? ?Version:")
(kill-line)
(insert " " val)))
(defun submit-tar-to-marmalade (buf)
(interactive "bSubmit buffer library as tar: ")
(with-current-buffer buf
(let* ((tag (or (latest-version-from-git-tag) (error "Not tagged")))
(library-name (file-name-nondirectory (file-name-sans-extension buffer-file-name)))
(package-dir-name (concat library-name "-" tag))
(temp-working-dir (make-temp-file "emacs-marmalade" t))
(dest (expand-file-name package-dir-name temp-working-dir))
(tar-cmd (or (executable-find "gtar")
(executable-find "tar")))
(tar (concat dest ".tar")))
(message "Building package in %s" dest)
(make-directory dest)
(let ((command-line (format "cp *.el %s && (cd %s && perl -spi -e 's/\\{\\{VERSION\\}\\}/%s/' *.el) && (cd %s && %s cvf %s %s)" dest dest tag temp-working-dir tar-cmd tar package-dir-name)))
(shell-command command-line))
(save-excursion
(shell-command (format "open %s" temp-working-dir))
;; (find-file tar)
;; (marmalade-upload-buffer (current-buffer))
;; (delete-directory temp-working-dir t)
))))
(defun submit-to-marmalade (buf)
"Submit the elisp library in BUF to Marmalade."
(interactive
(list
(completing-read "Submit buffer: "
(mapcar 'buffer-name (buffer-list))
(lambda (b)
(with-current-buffer b
(and buffer-file-name
(eq major-mode 'emacs-lisp-mode))))
t)))
(with-current-buffer buf
(let ((tag (latest-version-from-git-tag)))
(unless tag
(error "Not tagged"))
(update-version-header tag)
(marmalade-upload-buffer buf)
(revert-buffer t t)
(message "Submitted version %s to marmalade" tag))))
(provide 'init-marmalade)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/cowboy13/emacs.git
git@gitee.com:cowboy13/emacs.git
cowboy13
emacs
emacs
master

搜索帮助

D67c1975 1850385 1daf7b77 1850385