summaryrefslogtreecommitdiff
path: root/app-emacs/elscreen
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /app-emacs/elscreen
reinit the tree, so we can have metadata
Diffstat (limited to 'app-emacs/elscreen')
-rw-r--r--app-emacs/elscreen/Manifest8
-rw-r--r--app-emacs/elscreen/elscreen-1.4.6-r1.ebuild33
-rw-r--r--app-emacs/elscreen/files/50elscreen-gentoo.el1
-rw-r--r--app-emacs/elscreen/files/elscreen-1.4.6-emacs-24.patch154
-rw-r--r--app-emacs/elscreen/files/elscreen-1.4.6-void-variable-argi.patch71
-rw-r--r--app-emacs/elscreen/metadata.xml22
6 files changed, 289 insertions, 0 deletions
diff --git a/app-emacs/elscreen/Manifest b/app-emacs/elscreen/Manifest
new file mode 100644
index 000000000000..1acba1915c1a
--- /dev/null
+++ b/app-emacs/elscreen/Manifest
@@ -0,0 +1,8 @@
+AUX 50elscreen-gentoo.el 38 SHA256 f34ea07a3270a25cce3430e4781df47d9903052c9f3a4ea24efb64b1e63bd115 SHA512 5c00bcabe2d7cc03013dc7a54b2c653940c08098ca5646d7c73624cb1ca04376ae9dcf88a7166b1925c69f0c5d192d90f6bd790fdef8ed8c3b0f9d163c987da5 WHIRLPOOL cc5e2fd5081f5fb0018e1fa461c0802c7c90891accc55c02c2935dd3d413c5f8941e918af9341040526b037be4c34dab26008dfca91c153c11fca41338f77c14
+AUX elscreen-1.4.6-emacs-24.patch 5925 SHA256 0acf3439eb067d84be40ca2ef1bf9eef97c6f821ae2dddc8f5c2aab005ef176c SHA512 581f5c2c30fa4ae5a8a2266c40842076126a365f947ceaae32299ac680e74a7ca33b077130ff566c12008c79ba4da504160290da72d33ffab5a4d0b40e46557e WHIRLPOOL edc86d4c96d5859d8f3394f1de44e9313ca5ad0ef0bb287165f449f511e380f3f4efbc147222f72fda2067b629f792e0b0fa9d084fa79e55227bef8cecc2b686
+AUX elscreen-1.4.6-void-variable-argi.patch 2789 SHA256 512da2ec30dbbae241ef5a9256f8641adc4eb77450140f4b52d1e7a2cce8c0d2 SHA512 254c76e291848caf19983bc896b5a405b9d52dacb871ba5e9009d77968d5249c2445606fb2507f0d0f67859a955aabf4c717dae2acf94f52daa999237fd27333 WHIRLPOOL 75e81a993ed3504ed64042c14a8785fcd34da81ca91ecf4b422b318be966b266da654aa9cdf5864069b070c15b49ec68db924801413b6a4826cf2cc06242b032
+DIST elscreen-1.4.6.tar.gz 21680 SHA256 134cef5b4ffe75898ca30776b4a4191a9425cbafc650a43e87aae4188adbd650 SHA512 2f19941c9c3e74bbe3912e99f53710f42d33a5b063af99c3907c478d2f571a50a75942519bfcad3bf178585f736bb6e2baf2cdffe8ac66b8e4dbd1b0d881fab2 WHIRLPOOL 8eb4c82941bdee8af3e0e396623efcfae406e254cd8228579e53281311b299f4a0e90e5346292728a099344e0a6206ae0f5163bca428f09d4d2c110b55f70cc8
+EBUILD elscreen-1.4.6-r1.ebuild 905 SHA256 284f092099f98936189955ca0f739c38696217fe3a0e9e841c5dcade263f234a SHA512 9a5f82f0fac66c21e48ed258768bf9ab76c1c01dca4a19227d20e5785e262fbdf3256949fc215e8314d84cfe25f2e02d6c1610c5960d93fab97f315f8c516485 WHIRLPOOL f13b18e415e9fe66cebe00bbc1fcbb1d2228594bce6992045a9f0c337bc9bec581a7ce6617239d716b8ffa03e33f80121d3a50262f9c76fae15f1f0ea2f63282
+MISC ChangeLog 2443 SHA256 cac4b08e87602b9289a800685160864ac7fb37b814623940bd263428ae820bbb SHA512 9bbd15f2a0133427d4fa1b0e67ea589343b7f8a5ea35e8960359e749c30ecdda1cb37b12ac9a6073b696fbc63e953e85ca6167f49e785a98fe0d007b558d6e92 WHIRLPOOL dfe7cebbbf3329d46160dc13155aa4e9f26ac48d0c1ec62217b4cb747f89e27aa4ed8548160a1b137bb5a94a26bcf0b54b6865fd709d1d514bb2f77d584c399b
+MISC ChangeLog-2015 3574 SHA256 f77e697413ec6fbfc8bbb3c4dc5e9f7110f964c2093abfff88bb2ae82f97735f SHA512 8f66414fc590639101cbf2911a6dd61270f3ef0b6a1282340a79f1d5b0ec7b89d2f880bfb7d009fd5113b300290908010b03b9a74ec2179c1c80d0b0c3df0a50 WHIRLPOOL 4232d3be2e9b5f28e51a73025b6b6d6ecd6c13a81b715ac8c7181b6d5a2179caf2a28a9051a5a7460c3486d3d93fef5838582ee07bc44aec06a8b11d432455b3
+MISC metadata.xml 1063 SHA256 85343ce1285319475c971e64581704a0516c6ee60de34634f3e0a5e512e34bfb SHA512 0e990e4910623695ecdf1c1aeaa8843aa19e3c83ecedac49b5295fc69f4e7d83f0d0e19d5cfeb9c5b8f055f3154383995e4e4b57408aa663cc4e8845d7db773f WHIRLPOOL 976ae3fb32e2ddeed22dfe44cff46a0110449eaabfb3612144028aa404365d397c3e0780934179a9a49f894ecfbe3c71a71c98ca9dbc78ffba3983723e34bee7
diff --git a/app-emacs/elscreen/elscreen-1.4.6-r1.ebuild b/app-emacs/elscreen/elscreen-1.4.6-r1.ebuild
new file mode 100644
index 000000000000..c2673da73b4c
--- /dev/null
+++ b/app-emacs/elscreen/elscreen-1.4.6-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit elisp
+
+DESCRIPTION="Frame configuration management for GNU Emacs modelled after GNU Screen"
+HOMEPAGE="http://www.morishima.net/~naoto/j/software/elscreen/"
+SRC_URI="ftp://ftp.morishima.net/pub/morishima.net/naoto/ElScreen/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 hppa ~ia64 ~ppc ~ppc64 sparc x86"
+IUSE=""
+
+DEPEND=">=app-emacs/apel-10.8-r1"
+RDEPEND="${DEPEND}"
+
+ELISP_PATCHES="${PN}-1.4.6-void-variable-argi.patch ${PN}-1.4.6-emacs-24.patch"
+
+SITEFILE=50${PN}-gentoo.el
+DOCS="ChangeLog README"
+
+pkg_postinst() {
+ elisp-site-regen
+
+ echo
+ elog "ElScreen modifies standard Emacs keybindings and is therefore"
+ elog "no longer loaded from site-gentoo.el. Add the line"
+ elog " (require 'elscreen)"
+ elog "to your ~/.emacs file to enable it on Emacs startup."
+}
diff --git a/app-emacs/elscreen/files/50elscreen-gentoo.el b/app-emacs/elscreen/files/50elscreen-gentoo.el
new file mode 100644
index 000000000000..431f7e90ae73
--- /dev/null
+++ b/app-emacs/elscreen/files/50elscreen-gentoo.el
@@ -0,0 +1 @@
+(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/elscreen/files/elscreen-1.4.6-emacs-24.patch b/app-emacs/elscreen/files/elscreen-1.4.6-emacs-24.patch
new file mode 100644
index 000000000000..dbcb77557f17
--- /dev/null
+++ b/app-emacs/elscreen/files/elscreen-1.4.6-emacs-24.patch
@@ -0,0 +1,154 @@
+--- elscreen-1.4.6-orig/elscreen.el 2013-05-23 21:31:14.011823000 +1000
++++ elscreen-1.4.6/elscreen.el 2013-10-03 20:55:35.497650931 +1000
+@@ -29,9 +29,9 @@
+ (eval-when-compile
+ (require 'static))
+
+-(static-defconst elscreen-on-xemacs (featurep 'xemacs))
+-(static-defconst elscreen-on-emacs (and (not elscreen-on-xemacs)
+- (>= emacs-major-version 21)))
++(static-defconst elscreen-on-xemacs (featurep 'xemacs)
++ (static-defconst elscreen-on-emacs (and (not elscreen-on-xemacs)
++ (>= emacs-major-version 21))))
+
+
+ ;;; User Customizable Variables:
+@@ -148,7 +148,8 @@
+
+ (static-when elscreen-on-emacs ;; GNU Emacs 21
+ (make-obsolete-variable 'elscreen-tab-display-create-screen
+- 'elscreen-tab-display-control)
++ 'elscreen-tab-display-control
++ "1.4.6")
+ (defcustom elscreen-tab-display-control t
+ "*Non-nil to display control tab at the most left side."
+ :tag "Show/Hide the Control Tab"
+@@ -201,13 +202,13 @@
+ (((class color))
+ (:background "blue" :foreground "black" :underline t)))
+ "Face for tabs other than current screen one."
+- :group 'elscreen))
++ :group 'elscreen)
+
+
+ ;;; Key & Menu bindings:
+
+-(defvar elscreen-map (make-sparse-keymap)
+- "Keymap for ElScreen.")
++ (defvar elscreen-map (make-sparse-keymap)
++ "Keymap for ElScreen."))
+ (define-key elscreen-map "\C-c" 'elscreen-create)
+ (define-key elscreen-map "c" 'elscreen-create)
+ (define-key elscreen-map "C" 'elscreen-clone)
+@@ -899,13 +900,13 @@
+ screen-list-string)
+ (cond
+ ((not (elscreen-screen-live-p screen)) ;; XXX
+- (when (interactive-p)
++ (when (called-interactively-p 'any)
+ (elscreen-message "There is no such screen")))
+ ((null screen-list)
+- (when (interactive-p)
++ (when (called-interactively-p 'any)
+ (elscreen-message "There is only one screen, cannot kill")))
+ ((or
+- (not (interactive-p))
++ (not (called-interactively-p 'any))
+ (yes-or-no-p (format "Really kill screens other than %d? " screen)))
+ (setq screen-list-string (mapconcat
+ (lambda (screen)
+@@ -914,7 +915,7 @@
+ screen-list ","))
+ (elscreen-goto-internal screen)
+ (elscreen-notify-screen-modification 'force-immediately)
+- (when (interactive-p)
++ (when (called-interactively-p 'any)
+ (elscreen-message (format "screen %s killed" screen-list-string)))))
+ screen-list))
+
+@@ -984,7 +985,7 @@
+ (defun elscreen-jump ()
+ "Switch to specified screen."
+ (interactive)
+- (let ((next-screen (string-to-number (string last-command-char))))
++ (let ((next-screen (string-to-number (string last-command-event))))
+ (if (and (<= 0 next-screen) (<= next-screen 9))
+ (elscreen-goto next-screen))))
+ (defalias 'elscreen-jump-0 'elscreen-jump)
+@@ -1046,7 +1047,7 @@
+ (princ (substitute-command-keys
+ (mapconcat 'symbol-value
+ elscreen-help-symbol-list "\n\n")))
+- (print-help-return-message)))
++ (help-print-return-message)))
+
+
+ ;;; Utility Functions
+@@ -1180,7 +1181,7 @@
+ creating one if none already exists."
+ (interactive)
+ (let* ((prompt "Go to the screen with specified buffer: ")
+- (create (or create (interactive-p)))
++ (create (or create (called-interactively-p 'any)))
+ (buffer-name (or (and (bufferp buffer) (buffer-name buffer))
+ (and (stringp buffer) buffer)
+ (and (featurep 'iswitchb)
+@@ -1207,7 +1208,7 @@
+ Use \\[toggle-read-only] to permit editing."
+ (interactive "FFind file read-only in new screen: ")
+ (elscreen-find-file filename)
+- (toggle-read-only 1))
++ (read-only-mode 1))
+
+ (defun elscreen-dired (dirname &optional switches)
+ (interactive (progn
+@@ -1373,27 +1374,28 @@
+ (defvar elscreen-e21-tab-format nil)
+ (make-variable-buffer-local 'elscreen-e21-tab-format)
+
+- (defsubst elscreen-e21-tab-create-keymap (&rest definitions)
+- (let ((keymap (make-sparse-keymap))
+- (key-function-pairs
+- (eval-when-compile
+- (mapcar
+- (lambda (key)
+- (cons key 'ignore))
+- (list 'mouse-1 'mouse-2 'mouse-3
+- 'down-mouse-1 'down-mouse-2 'down-mouse-3
+- 'drag-mouse-1 'drag-mouse-2 'drag-mouse-3)))))
+- (while definitions
+- (set-alist 'key-function-pairs (car definitions) (cadr definitions))
+- (setq definitions (cddr definitions)))
+- (mapc
+- (lambda (key-function-pair)
+- (let ((key (car key-function-pair))
+- (function (cdr key-function-pair)))
+- (define-key keymap (vector 'header-line key) function)))
+- key-function-pairs)
+- keymap))
+-
++ (eval-when-compile
++ (defsubst elscreen-e21-tab-create-keymap (&rest definitions)
++ (let ((keymap (make-sparse-keymap))
++ (key-function-pairs
++ (eval-when-compile
++ (mapcar
++ (lambda (key)
++ (cons key 'ignore))
++ (list 'mouse-1 'mouse-2 'mouse-3
++ 'down-mouse-1 'down-mouse-2 'down-mouse-3
++ 'drag-mouse-1 'drag-mouse-2 'drag-mouse-3)))))
++ (while definitions
++ (set-alist 'key-function-pairs (car definitions) (cadr definitions))
++ (setq definitions (cddr definitions)))
++ (mapc
++ (lambda (key-function-pair)
++ (let ((key (car key-function-pair))
++ (function (cdr key-function-pair)))
++ (define-key keymap (vector 'header-line key) function)))
++ key-function-pairs)
++ keymap)))
++
+ (defsubst elscreen-e21-tab-width ()
+ (if (numberp elscreen-display-tab)
+ elscreen-display-tab
diff --git a/app-emacs/elscreen/files/elscreen-1.4.6-void-variable-argi.patch b/app-emacs/elscreen/files/elscreen-1.4.6-void-variable-argi.patch
new file mode 100644
index 000000000000..b8225070a675
--- /dev/null
+++ b/app-emacs/elscreen/files/elscreen-1.4.6-void-variable-argi.patch
@@ -0,0 +1,71 @@
+--- elscreen.el.orig 2007-12-29 15:12:05.000000000 +0000
++++ elscreen.el
+@@ -1691,6 +1691,10 @@ Use \\[toggle-read-only] to permit editi
+ ("-e" . elscreen-command-line-funcall))))
+
+ (static-when elscreen-on-emacs
++ (cond
++ ; -----------------------
++ ((< emacs-major-version 23) ; emacs22 or prior to
++ (progn
+ (defun elscreen-e21-command-line ()
+ (when (string-match "\\`-" argi)
+ (error "Unknown option `%s'" argi))
+@@ -1703,11 +1707,55 @@ Use \\[toggle-read-only] to permit editi
+ (elscreen-command-line-find-file file file-count line column))
+ (setq line 0)
+ (setq column 0)
+- t)
++ t) ; defun
+
+ (add-hook 'after-init-hook (lambda ()
+ (add-to-list 'command-line-functions
+- 'elscreen-e21-command-line t))))
++ 'elscreen-e21-command-line t)))) ; progn
++ ) ; else
++ ; -----------------------
++ ((= emacs-major-version 23) ; emacs23
++ (progn
++ (defun elscreen-e23-command-line ()
++ (when (string-match "\\`-" argi)
++ (error "Unknown option `%s'" argi))
++ (setq file-count (1+ file-count))
++ (setq inhibit-startup-buffer-menu t)
++ (let* ((file
++ (expand-file-name
++ (command-line-normalize-file-name orig-argi)
++ cl1-dir)))
++ (elscreen-command-line-find-file file file-count cl1-line cl1-column))
++ (setq cl1-line 0)
++ (setq cl1-column 0)
++ t) ; defun
++
++ (add-hook 'after-init-hook (lambda ()
++ (add-to-list 'command-line-functions
++ 'elscreen-e23-command-line t)))) ; progn
++ ) ; else
++ ; -----------------------
++ ((> emacs-major-version 23) ; emacs24 or later
++ (progn
++ (defun elscreen-e24-command-line ()
++ (when (string-match "\\`-" cl1-argi)
++ (error "Unknown option `%s'" cl1-argi))
++ (setq file-count (1+ file-count))
++ (setq inhibit-startup-buffer-menu t)
++ (let* ((file
++ (expand-file-name
++ (command-line-normalize-file-name orig-argi)
++ cl1-dir)))
++ (elscreen-command-line-find-file file file-count cl1-line cl1-column))
++ (setq cl1-line 0)
++ (setq cl1-column 0)
++ t) ; defun
++
++ (add-hook 'after-init-hook (lambda ()
++ (add-to-list 'command-line-functions
++ 'elscreen-e24-command-line t)))) ; progn
++ )
++ )) ; endif (emacs22 or prior to)
+
+ (static-when elscreen-on-xemacs
+ (defadvice command-line-1 (around elscreen-xmas-command-line-1 activate)
diff --git a/app-emacs/elscreen/metadata.xml b/app-emacs/elscreen/metadata.xml
new file mode 100644
index 000000000000..bd731925af29
--- /dev/null
+++ b/app-emacs/elscreen/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<longdescription>
+ Emacs is more of an "environment" than just an editor, since it has the
+ strong configuration language, emacs-lisp. There are a lot of applications
+ written in emacs-lisp, and you may run many applications on your Emacs at
+ the same time, i.e. e-mail reader, news reader, IRC client, a kind of IDE,
+ etc. These applications likely consist of two or more windows, so when you
+ switch among applications, you may want to save or restore how windows are
+ located (this is called as "window-configuration"). For this purpose, Emacs
+ has two functions, window-configuratin-to-register and jump-to-register, but
+ these are too primitive to use on a daily basis.
+
+ ElScreen provides the ease-to-use environment to save or restore several
+ window-configurations.
+</longdescription>
+</pkgmetadata>