diff options
author | 2007-05-28 19:57:24 +0000 | |
---|---|---|
committer | 2007-05-28 19:57:24 +0000 | |
commit | fc12083cfa6bf81a056ccd0e02a41f941b640216 (patch) | |
tree | 13a2d4449a8d36bb2d1f3f3f820c2fd6014058ad /app-xemacs | |
parent | Initial XEmacs eclasses (diff) | |
download | emacs-fc12083cfa6bf81a056ccd0e02a41f941b640216.tar.gz emacs-fc12083cfa6bf81a056ccd0e02a41f941b640216.tar.bz2 emacs-fc12083cfa6bf81a056ccd0e02a41f941b640216.zip |
Add the actual ebuild and patches
svn path=/emacs-overlay/; revision=342
Diffstat (limited to 'app-xemacs')
-rw-r--r-- | app-xemacs/ebuild-mode/Manifest | 16 | ||||
-rw-r--r-- | app-xemacs/ebuild-mode/ebuild-mode-1.5.ebuild | 20 | ||||
-rw-r--r-- | app-xemacs/ebuild-mode/files/autoloads.patch | 22 | ||||
-rw-r--r-- | app-xemacs/ebuild-mode/files/digest-ebuild-mode-1.5 | 3 | ||||
-rw-r--r-- | app-xemacs/ebuild-mode/files/font-lock-keywords.patch | 220 |
5 files changed, 281 insertions, 0 deletions
diff --git a/app-xemacs/ebuild-mode/Manifest b/app-xemacs/ebuild-mode/Manifest new file mode 100644 index 0000000..bec8011 --- /dev/null +++ b/app-xemacs/ebuild-mode/Manifest @@ -0,0 +1,16 @@ +AUX autoloads.patch 769 RMD160 8ec344a01bbacd66656d8946905cb4d24a46eced SHA1 482c9a7a6e4259ca55a9eb6f0cc17acae1e88587 SHA256 4d6125cc91b187842c29c9050c61e2eb49689bade32e3d2491382f5eb5cc8229 +MD5 15ea5dba033ebf9a3dfdf197540b6187 files/autoloads.patch 769 +RMD160 8ec344a01bbacd66656d8946905cb4d24a46eced files/autoloads.patch 769 +SHA256 4d6125cc91b187842c29c9050c61e2eb49689bade32e3d2491382f5eb5cc8229 files/autoloads.patch 769 +AUX font-lock-keywords.patch 9386 RMD160 7797893f508e40af0eb83ec978e830eb70f717cb SHA1 f3736534bea9b3f2637f3bd3c4bda7a16bbb2611 SHA256 778b8d3959b8d346bdda84dcafe2262f5b0966fab1f2f9bfbe2fb2cc44984772 +MD5 ba517be87e1b8d18dbfbe4d41ea2e838 files/font-lock-keywords.patch 9386 +RMD160 7797893f508e40af0eb83ec978e830eb70f717cb files/font-lock-keywords.patch 9386 +SHA256 778b8d3959b8d346bdda84dcafe2262f5b0966fab1f2f9bfbe2fb2cc44984772 files/font-lock-keywords.patch 9386 +DIST ebuild-mode-1.5.tar.bz2 2510 RMD160 43308f4936225ad83d8cfbb188eda06eb455f98d SHA1 74242ad42c2b7d9d77641c3362aa9b4f9e2a5367 SHA256 e2a13679c0a16898573624bd521b25c5162272e3e073b971246173d8766286cc +EBUILD ebuild-mode-1.5.ebuild 629 RMD160 58a54e464e0837221ef37b1f48f38cba5172584a SHA1 b9c9b003398a6b671829f25530981095b9dafc94 SHA256 a48c3f4b2dc5c6f4b7adff41cdadf294d63f7b411ef238f21a36263d2f3d1ed9 +MD5 e84241dbd6ad7bf86c2acb25f120458c ebuild-mode-1.5.ebuild 629 +RMD160 58a54e464e0837221ef37b1f48f38cba5172584a ebuild-mode-1.5.ebuild 629 +SHA256 a48c3f4b2dc5c6f4b7adff41cdadf294d63f7b411ef238f21a36263d2f3d1ed9 ebuild-mode-1.5.ebuild 629 +MD5 361e98d100c52a26d7ab2a34ec82455d files/digest-ebuild-mode-1.5 244 +RMD160 11d1a2b39abc43431e87a5c574f94f2ed6ce7920 files/digest-ebuild-mode-1.5 244 +SHA256 03c8cbe3962f692e3970a2c0d19edb2fb1d4911b6da0db8670c53487b7bd9a70 files/digest-ebuild-mode-1.5 244 diff --git a/app-xemacs/ebuild-mode/ebuild-mode-1.5.ebuild b/app-xemacs/ebuild-mode/ebuild-mode-1.5.ebuild new file mode 100644 index 0000000..67a6538 --- /dev/null +++ b/app-xemacs/ebuild-mode/ebuild-mode-1.5.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emacs/ebuild-mode/ebuild-mode-1.2.ebuild,v 1.1 2006/12/15 04:05:23 mkennedy Exp $ + +inherit xemacs-elisp eutils + +DESCRIPTION="An Emacs mode for editing Portage .ebuild, .eclass and .eselect files." +HOMEPAGE="http://www.gentoo.org/proj/en/lisp/emacs/index.xml" +SRC_URI="mirror://gentoo/${P}.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +src_unpack() { + unpack "${A}" + cd "${S}" + epatch "${FILESDIR}"/autoloads.patch + epatch "${FILESDIR}"/font-lock-keywords.patch +} diff --git a/app-xemacs/ebuild-mode/files/autoloads.patch b/app-xemacs/ebuild-mode/files/autoloads.patch new file mode 100644 index 0000000..4723aa8 --- /dev/null +++ b/app-xemacs/ebuild-mode/files/autoloads.patch @@ -0,0 +1,22 @@ +--- ebuild-mode.el.~1~ 2007-03-22 16:02:50.000000000 +0100 ++++ ebuild-mode.el 2007-05-28 21:12:20.000000000 +0200 +@@ -75,6 +75,7 @@ + (save-excursion + (tabify (point-min) (point-max)))) + ++;;;###autoload + (define-derived-mode ebuild-mode shell-script-mode "Ebuild" + "Major mode for Portage .ebuild and .eclass files." + (font-lock-add-keywords 'ebuild-mode +@@ -148,6 +149,11 @@ + (define-ebuild-mode-command "\C-cef" "fetch") + (define-ebuild-mode-command "\C-ceu" "unpack") + ++;;;###autoload(add-to-list 'auto-mode-list '("\\.ebuild$" . ebuild-mode)) ++;;;###autoload(add-to-list 'auto-mode-list '("\\.eclass$" . ebuild-mode)) ++;;;###autoload(add-to-list 'auto-mode-list '("\\.eselect$" . ebuild-mode)) ++ ++ + (provide 'ebuild-mode) + + ;;; ebuild-mode.el ends here diff --git a/app-xemacs/ebuild-mode/files/digest-ebuild-mode-1.5 b/app-xemacs/ebuild-mode/files/digest-ebuild-mode-1.5 new file mode 100644 index 0000000..b0854a6 --- /dev/null +++ b/app-xemacs/ebuild-mode/files/digest-ebuild-mode-1.5 @@ -0,0 +1,3 @@ +MD5 b893cc4d87b77a405e55af5d4f9deba5 ebuild-mode-1.5.tar.bz2 2510 +RMD160 43308f4936225ad83d8cfbb188eda06eb455f98d ebuild-mode-1.5.tar.bz2 2510 +SHA256 e2a13679c0a16898573624bd521b25c5162272e3e073b971246173d8766286cc ebuild-mode-1.5.tar.bz2 2510 diff --git a/app-xemacs/ebuild-mode/files/font-lock-keywords.patch b/app-xemacs/ebuild-mode/files/font-lock-keywords.patch new file mode 100644 index 0000000..c4fb28c --- /dev/null +++ b/app-xemacs/ebuild-mode/files/font-lock-keywords.patch @@ -0,0 +1,220 @@ +--- ebuild-mode.el 2006-12-15 04:57:36.000000000 +0100 ++++ ebuild-mode.el 2007-01-06 15:56:15.000000000 +0100 +@@ -120,3 +101,217 @@ + (provide 'ebuild-mode) + + ;;; ebuild-mode.el ends here ++ ++ ++;;; Hack in font-lock-keywords stuff just to see how things ++;;; work. There is a patch from Adrian Kehoe to add this to the ++;;; font-lock in xemacs. ++ ++ ++(defvar font-lock-keywords-alist nil ++ "Alist of additional `font-lock-keywords' elements for major modes. ++ ++Each element has the form (MODE KEYWORDS . HOW). ++`font-lock-set-defaults' adds the elements in the list KEYWORDS to ++`font-lock-keywords' when Font Lock is turned on in major mode MODE. ++ ++If HOW is nil, KEYWORDS are added at the beginning of ++`font-lock-keywords'. If it is `set', they are used to replace the ++value of `font-lock-keywords'. If HOW is any other non-nil value, ++they are added at the end. ++ ++This is normally set via `font-lock-add-keywords' and ++`font-lock-remove-keywords'.") ++ ++(defvar font-lock-removed-keywords-alist nil ++ "Alist of `font-lock-keywords' elements to be removed for major modes. ++ ++Each element has the form (MODE . KEYWORDS). `font-lock-set-defaults' ++removes the elements in the list KEYWORDS from `font-lock-keywords' ++when Font Lock is turned on in major mode MODE. ++ ++This is normally set via `font-lock-add-keywords' and ++`font-lock-remove-keywords'.") ++ ++(defun font-lock-add-keywords (mode keywords &optional how) ++ "Add highlighting KEYWORDS for MODE. ++ ++MODE should be a symbol, the major mode command name, such as `c-mode' ++or nil. If nil, highlighting keywords are added for the current buffer. ++KEYWORDS should be a list; see the variable `font-lock-keywords'. ++By default they are added at the beginning of the current highlighting list. ++If optional argument HOW is `set', they are used to replace the current ++highlighting list. If HOW is any other non-nil value, they are added at the ++end of the current highlighting list. ++ ++For example: ++ ++ (font-lock-add-keywords 'c-mode ++ '((\"\\\\\\=<\\\\(FIXME\\\\):\" 1 font-lock-warning-face prepend) ++ (\"\\\\\\=<\\\\(and\\\\|or\\\\|not\\\\)\\\\\\=>\" . font-lock-keyword-face))) ++ ++adds two fontification patterns for C mode, to fontify `FIXME:' words, even in ++comments, and to fontify `and', `or' and `not' words as keywords. ++ ++The above procedure will only add the keywords for C mode, not ++for modes derived from C mode. To add them for derived modes too, ++pass nil for MODE and add the call to c-mode-hook. ++ ++For example: ++ ++ (add-hook 'c-mode-hook ++ (lambda () ++ (font-lock-add-keywords nil ++ '((\"\\\\\\=<\\\\(FIXME\\\\):\" 1 font-lock-warning-face prepend) ++ (\"\\\\\\=<\\\\(and\\\\|or\\\\|not\\\\)\\\\\\=>\" . ++ font-lock-keyword-face))))) ++ ++The above procedure may fail to add keywords to derived modes if ++some involved major mode does not follow the standard conventions. ++File a bug report if this happens, so the major mode can be corrected. ++ ++Note that some modes have specialized support for additional patterns, e.g., ++see the variables `c-font-lock-extra-types', `c+-font-lock-extra-types', ++`objc-font-lock-extra-types' and `java-font-lock-extra-types'." ++ (cond (mode ++ ;; If MODE is non-nil, add the KEYWORDS and HOW spec to ++ ;; `font-lock-keywords-alist' so `font-lock-set-defaults' uses them. ++ (let ((spec (cons keywords how)) cell) ++ (if (setq cell (assq mode font-lock-keywords-alist)) ++ (if (eq how 'set) ++ (setcdr cell (list spec)) ++ (setcdr cell (append (cdr cell) (list spec)))) ++ (push (list mode spec) font-lock-keywords-alist))) ++ ;; Make sure that `font-lock-removed-keywords-alist' does not ++ ;; contain the new keywords. ++ (font-lock-update-removed-keyword-alist mode keywords how)) ++ (t ++ ;; Otherwise set or add the keywords now. ++ ;; This is a no-op if it has been done already in this buffer ++ ;; for the correct major mode. ++ (font-lock-set-defaults) ++ (let ((was-compiled (eq (car font-lock-keywords) t))) ++ ;; Bring back the user-level (uncompiled) keywords. ++ (if was-compiled ++ (setq font-lock-keywords (cadr font-lock-keywords))) ++ ;; Now modify or replace them. ++ (if (eq how 'set) ++ (setq font-lock-keywords keywords) ++ (font-lock-remove-keywords nil keywords) ;to avoid duplicates ++ (let ((old (if (eq (car-safe font-lock-keywords) t) ++ (cdr font-lock-keywords) ++ font-lock-keywords))) ++ (setq font-lock-keywords (if how ++ (append old keywords) ++ (append keywords old))))) ++ ;; If the keywords were compiled before, compile them again. ++ (if was-compiled ++ (setq font-lock-keywords ++ (font-lock-compile-keywords font-lock-keywords))))))) ++ ++(defun font-lock-update-removed-keyword-alist (mode keywords how) ++ "Update `font-lock-removed-keywords-alist' when adding new KEYWORDS to MODE." ++ ;; When font-lock is enabled first all keywords in the list ++ ;; `font-lock-keywords-alist' are added, then all keywords in the ++ ;; list `font-lock-removed-keywords-alist' are removed. If a ++ ;; keyword was once added, removed, and then added again it must be ++ ;; removed from the removed-keywords list. Otherwise the second add ++ ;; will not take effect. ++ (let ((cell (assq mode font-lock-removed-keywords-alist))) ++ (if cell ++ (if (eq how 'set) ++ ;; A new set of keywords is defined. Forget all about ++ ;; our old keywords that should be removed. ++ (setq font-lock-removed-keywords-alist ++ (delq cell font-lock-removed-keywords-alist)) ++ ;; Delete all previously removed keywords. ++ (dolist (kword keywords) ++ (setcdr cell (delete kword (cdr cell)))) ++ ;; Delete the mode cell if empty. ++ (if (null (cdr cell)) ++ (setq font-lock-removed-keywords-alist ++ (delq cell font-lock-removed-keywords-alist))))))) ++ ++;; Written by Anders Lindgren <andersl at andersl.com>. ++;; ++;; Case study: ++;; (I) The keywords are removed from a major mode. ++;; In this case the keyword could be local (i.e. added earlier by ++;; `font-lock-add-keywords'), global, or both. ++;; ++;; (a) In the local case we remove the keywords from the variable ++;; `font-lock-keywords-alist'. ++;; ++;; (b) The actual global keywords are not known at this time. ++;; All keywords are added to `font-lock-removed-keywords-alist', ++;; when font-lock is enabled those keywords are removed. ++;; ++;; Note that added keywords are taken out of the list of removed ++;; keywords. This ensure correct operation when the same keyword ++;; is added and removed several times. ++;; ++;; (II) The keywords are removed from the current buffer. ++(defun font-lock-remove-keywords (mode keywords) ++ "Remove highlighting KEYWORDS for MODE. ++ ++MODE should be a symbol, the major mode command name, such as `c-mode' ++or nil. If nil, highlighting keywords are removed for the current buffer. ++ ++To make the removal apply to modes derived from MODE as well, ++pass nil for MODE and add the call to MODE-hook. This may fail ++for some derived modes if some involved major mode does not ++follow the standard conventions. File a bug report if this ++happens, so the major mode can be corrected." ++ (cond (mode ++ ;; Remove one keyword at the time. ++ (dolist (keyword keywords) ++ (let ((top-cell (assq mode font-lock-keywords-alist))) ++ ;; If MODE is non-nil, remove the KEYWORD from ++ ;; `font-lock-keywords-alist'. ++ (when top-cell ++ (dolist (keyword-list-how-pair (cdr top-cell)) ++ ;; `keywords-list-how-pair' is a cons with a list of ++ ;; keywords in the car top-cell and the original how ++ ;; argument in the cdr top-cell. ++ (setcar keyword-list-how-pair ++ (delete keyword (car keyword-list-how-pair)))) ++ ;; Remove keyword list/how pair when the keyword list ++ ;; is empty and how doesn't specify `set'. (If it ++ ;; should be deleted then previously deleted keywords ++ ;; would appear again.) ++ (let ((cell top-cell)) ++ (while (cdr cell) ++ (if (and (null (car (car (cdr cell)))) ++ (not (eq (cdr (car (cdr cell))) 'set))) ++ (setcdr cell (cdr (cdr cell))) ++ (setq cell (cdr cell))))) ++ ;; Final cleanup, remove major mode cell if last keyword ++ ;; was deleted. ++ (if (null (cdr top-cell)) ++ (setq font-lock-keywords-alist ++ (delq top-cell font-lock-keywords-alist)))) ++ ;; Remember the keyword in case it is not local. ++ (let ((cell (assq mode font-lock-removed-keywords-alist))) ++ (if cell ++ (unless (member keyword (cdr cell)) ++ (nconc cell (list keyword))) ++ (push (cons mode (list keyword)) ++ font-lock-removed-keywords-alist)))))) ++ (t ++ ;; Otherwise remove it immediately. ++ (font-lock-set-defaults) ++ (let ((was-compiled (eq (car font-lock-keywords) t))) ++ ;; Bring back the user-level (uncompiled) keywords. ++ (if was-compiled ++ (setq font-lock-keywords (cadr font-lock-keywords))) ++ ++ ;; Edit them. ++ (setq font-lock-keywords (copy-sequence font-lock-keywords)) ++ (dolist (keyword keywords) ++ (setq font-lock-keywords ++ (delete keyword font-lock-keywords))) ++ ++ ;; If the keywords were compiled before, compile them again. ++ (if was-compiled ++ (setq font-lock-keywords ++ (font-lock-compile-keywords font-lock-keywords))))))) |