diff options
author | Mark Wright <gienah@gentoo.org> | 2013-10-03 11:36:26 +0000 |
---|---|---|
committer | Mark Wright <gienah@gentoo.org> | 2013-10-03 11:36:26 +0000 |
commit | 83a18b2c33a10260eba3e6894cca727616e55c9f (patch) | |
tree | b7f4fb15039eb6f360bf92d841621bf0494981d3 /app-emacs | |
parent | Add patches, the changes are noted in the ChangeLog diffs included in the pat... (diff) | |
download | gentoo-2-83a18b2c33a10260eba3e6894cca727616e55c9f.tar.gz gentoo-2-83a18b2c33a10260eba3e6894cca727616e55c9f.tar.bz2 gentoo-2-83a18b2c33a10260eba3e6894cca727616e55c9f.zip |
Patch elscreen to build with emacs 24, fixes bug 425258
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 618E971F)
Diffstat (limited to 'app-emacs')
-rw-r--r-- | app-emacs/elscreen/ChangeLog | 12 | ||||
-rw-r--r-- | app-emacs/elscreen/elscreen-1.4.6-r1.ebuild | 34 | ||||
-rw-r--r-- | app-emacs/elscreen/files/elscreen-1.4.6-emacs-24.patch | 154 | ||||
-rw-r--r-- | app-emacs/elscreen/files/elscreen-1.4.6-void-variable-argi.patch | 71 |
4 files changed, 268 insertions, 3 deletions
diff --git a/app-emacs/elscreen/ChangeLog b/app-emacs/elscreen/ChangeLog index 8460fd5ee781..aee76e79aa88 100644 --- a/app-emacs/elscreen/ChangeLog +++ b/app-emacs/elscreen/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-emacs/elscreen -# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emacs/elscreen/ChangeLog,v 1.24 2009/07/02 17:07:35 jer Exp $ +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-emacs/elscreen/ChangeLog,v 1.25 2013/10/03 11:36:26 gienah Exp $ + +*elscreen-1.4.6-r1 (03 Oct 2013) + + 03 Oct 2013; Mark Wright <gienah@gentoo.org> +elscreen-1.4.6-r1.ebuild, + +files/elscreen-1.4.6-emacs-24.patch, + +files/elscreen-1.4.6-void-variable-argi.patch: + Patch elscreen to build with emacs 24, fixes bug 425258 02 Jul 2009; Jeroen Roovers <jer@gentoo.org> elscreen-1.4.6.ebuild: Stable for HPPA too. @@ -91,4 +98,3 @@ 05 May 2003; Matthew Kennedy <mkennedy@gentoo.org> elscreen-1.2.4.ebuild, files/60elscreen-gentoo.el: Initial import. - 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..da91bbdaea9c --- /dev/null +++ b/app-emacs/elscreen/elscreen-1.4.6-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emacs/elscreen/elscreen-1.4.6-r1.ebuild,v 1.1 2013/10/03 11:36:26 gienah Exp $ + +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/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) |