Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 425258 | Differences between
and this patch

Collapse All | Expand All

(-)elscreen-1.4.6-orig/elscreen.el (-36 / +38 lines)
Lines 29-37 Link Here
29
(eval-when-compile
29
(eval-when-compile
30
  (require 'static))
30
  (require 'static))
31
31
32
(static-defconst elscreen-on-xemacs (featurep 'xemacs))
32
(static-defconst elscreen-on-xemacs (featurep 'xemacs)
33
(static-defconst elscreen-on-emacs (and (not elscreen-on-xemacs)
33
  (static-defconst elscreen-on-emacs (and (not elscreen-on-xemacs)
34
                                        (>= emacs-major-version 21)))
34
                                          (>= emacs-major-version 21))))
35
35
36
36
37
;;; User Customizable Variables:
37
;;; User Customizable Variables:
Lines 148-154 Link Here
148
148
149
(static-when elscreen-on-emacs ;; GNU Emacs 21
149
(static-when elscreen-on-emacs ;; GNU Emacs 21
150
  (make-obsolete-variable 'elscreen-tab-display-create-screen
150
  (make-obsolete-variable 'elscreen-tab-display-create-screen
151
                          'elscreen-tab-display-control)
151
                          'elscreen-tab-display-control
152
			  "1.4.6")
152
  (defcustom elscreen-tab-display-control t
153
  (defcustom elscreen-tab-display-control t
153
    "*Non-nil to display control tab at the most left side."
154
    "*Non-nil to display control tab at the most left side."
154
    :tag "Show/Hide the Control Tab"
155
    :tag "Show/Hide the Control Tab"
Lines 201-213 Link Here
201
      (((class color))
202
      (((class color))
202
       (:background "blue" :foreground "black" :underline t)))
203
       (:background "blue" :foreground "black" :underline t)))
203
    "Face for tabs other than current screen one."
204
    "Face for tabs other than current screen one."
204
    :group 'elscreen))
205
    :group 'elscreen)
205
206
206
207
207
;;; Key & Menu bindings:
208
;;; Key & Menu bindings:
208
209
209
(defvar elscreen-map (make-sparse-keymap)
210
  (defvar elscreen-map (make-sparse-keymap)
210
  "Keymap for ElScreen.")
211
    "Keymap for ElScreen."))
211
(define-key elscreen-map "\C-c" 'elscreen-create)
212
(define-key elscreen-map "\C-c" 'elscreen-create)
212
(define-key elscreen-map "c"    'elscreen-create)
213
(define-key elscreen-map "c"    'elscreen-create)
213
(define-key elscreen-map "C"    'elscreen-clone)
214
(define-key elscreen-map "C"    'elscreen-clone)
Lines 899-911 Link Here
899
         screen-list-string)
900
         screen-list-string)
900
    (cond
901
    (cond
901
     ((not (elscreen-screen-live-p screen)) ;; XXX
902
     ((not (elscreen-screen-live-p screen)) ;; XXX
902
      (when (interactive-p)
903
      (when (called-interactively-p 'any)
903
        (elscreen-message "There is no such screen")))
904
        (elscreen-message "There is no such screen")))
904
     ((null screen-list)
905
     ((null screen-list)
905
      (when (interactive-p)
906
      (when (called-interactively-p 'any)
906
        (elscreen-message "There is only one screen, cannot kill")))
907
        (elscreen-message "There is only one screen, cannot kill")))
907
     ((or
908
     ((or
908
       (not (interactive-p))
909
       (not (called-interactively-p 'any))
909
       (yes-or-no-p (format "Really kill screens other than %d? " screen)))
910
       (yes-or-no-p (format "Really kill screens other than %d? " screen)))
910
      (setq screen-list-string (mapconcat
911
      (setq screen-list-string (mapconcat
911
                                (lambda (screen)
912
                                (lambda (screen)
Lines 914-920 Link Here
914
                                screen-list ","))
915
                                screen-list ","))
915
      (elscreen-goto-internal screen)
916
      (elscreen-goto-internal screen)
916
      (elscreen-notify-screen-modification 'force-immediately)
917
      (elscreen-notify-screen-modification 'force-immediately)
917
      (when (interactive-p)
918
      (when (called-interactively-p 'any)
918
        (elscreen-message (format "screen %s killed" screen-list-string)))))
919
        (elscreen-message (format "screen %s killed" screen-list-string)))))
919
    screen-list))
920
    screen-list))
920
921
Lines 984-990 Link Here
984
(defun elscreen-jump ()
985
(defun elscreen-jump ()
985
  "Switch to specified screen."
986
  "Switch to specified screen."
986
  (interactive)
987
  (interactive)
987
  (let ((next-screen (string-to-number (string last-command-char))))
988
  (let ((next-screen (string-to-number (string last-command-event))))
988
    (if (and (<= 0 next-screen) (<= next-screen 9))
989
    (if (and (<= 0 next-screen) (<= next-screen 9))
989
        (elscreen-goto next-screen))))
990
        (elscreen-goto next-screen))))
990
(defalias 'elscreen-jump-0 'elscreen-jump)
991
(defalias 'elscreen-jump-0 'elscreen-jump)
Lines 1046-1052 Link Here
1046
    (princ (substitute-command-keys
1047
    (princ (substitute-command-keys
1047
            (mapconcat 'symbol-value
1048
            (mapconcat 'symbol-value
1048
                       elscreen-help-symbol-list "\n\n")))
1049
                       elscreen-help-symbol-list "\n\n")))
1049
    (print-help-return-message)))
1050
    (help-print-return-message)))
1050
1051
1051
1052
1052
;;; Utility Functions
1053
;;; Utility Functions
Lines 1180-1186 Link Here
1180
creating one if none already exists."
1181
creating one if none already exists."
1181
  (interactive)
1182
  (interactive)
1182
  (let* ((prompt "Go to the screen with specified buffer: ")
1183
  (let* ((prompt "Go to the screen with specified buffer: ")
1183
         (create (or create (interactive-p)))
1184
         (create (or create (called-interactively-p 'any)))
1184
         (buffer-name (or (and (bufferp buffer) (buffer-name buffer))
1185
         (buffer-name (or (and (bufferp buffer) (buffer-name buffer))
1185
                          (and (stringp buffer) buffer)
1186
                          (and (stringp buffer) buffer)
1186
                          (and (featurep 'iswitchb)
1187
                          (and (featurep 'iswitchb)
Lines 1207-1213 Link Here
1207
Use \\[toggle-read-only] to permit editing."
1208
Use \\[toggle-read-only] to permit editing."
1208
  (interactive "FFind file read-only in new screen: ")
1209
  (interactive "FFind file read-only in new screen: ")
1209
  (elscreen-find-file filename)
1210
  (elscreen-find-file filename)
1210
  (toggle-read-only 1))
1211
  (read-only-mode 1))
1211
1212
1212
(defun elscreen-dired (dirname &optional switches)
1213
(defun elscreen-dired (dirname &optional switches)
1213
  (interactive (progn
1214
  (interactive (progn
Lines 1373-1399 Link Here
1373
  (defvar elscreen-e21-tab-format nil)
1374
  (defvar elscreen-e21-tab-format nil)
1374
  (make-variable-buffer-local 'elscreen-e21-tab-format)
1375
  (make-variable-buffer-local 'elscreen-e21-tab-format)
1375
1376
1376
  (defsubst elscreen-e21-tab-create-keymap (&rest definitions)
1377
  (eval-when-compile
1377
    (let ((keymap (make-sparse-keymap))
1378
    (defsubst elscreen-e21-tab-create-keymap (&rest definitions)
1378
          (key-function-pairs
1379
      (let ((keymap (make-sparse-keymap))
1379
           (eval-when-compile
1380
            (key-function-pairs
1380
             (mapcar
1381
             (eval-when-compile
1381
              (lambda (key)
1382
               (mapcar
1382
                (cons key 'ignore))
1383
                (lambda (key)
1383
              (list 'mouse-1 'mouse-2 'mouse-3
1384
                  (cons key 'ignore))
1384
                    'down-mouse-1 'down-mouse-2 'down-mouse-3
1385
                (list 'mouse-1 'mouse-2 'mouse-3
1385
                    'drag-mouse-1 'drag-mouse-2 'drag-mouse-3)))))
1386
                      'down-mouse-1 'down-mouse-2 'down-mouse-3
1386
      (while definitions
1387
                      'drag-mouse-1 'drag-mouse-2 'drag-mouse-3)))))
1387
        (set-alist 'key-function-pairs (car definitions) (cadr definitions))
1388
        (while definitions
1388
        (setq definitions (cddr definitions)))
1389
          (set-alist 'key-function-pairs (car definitions) (cadr definitions))
1389
      (mapc
1390
          (setq definitions (cddr definitions)))
1390
       (lambda (key-function-pair)
1391
        (mapc
1391
         (let ((key (car key-function-pair))
1392
         (lambda (key-function-pair)
1392
               (function (cdr key-function-pair)))
1393
           (let ((key (car key-function-pair))
1393
           (define-key keymap (vector 'header-line key) function)))
1394
                 (function (cdr key-function-pair)))
1394
       key-function-pairs)
1395
             (define-key keymap (vector 'header-line key) function)))
1395
      keymap))
1396
         key-function-pairs)
1396
1397
        keymap)))
1398
        
1397
  (defsubst elscreen-e21-tab-width ()
1399
  (defsubst elscreen-e21-tab-width ()
1398
    (if (numberp elscreen-display-tab)
1400
    (if (numberp elscreen-display-tab)
1399
        elscreen-display-tab
1401
        elscreen-display-tab

Return to bug 425258