🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.epoch.misc
Article #1238

A plea for peace...

#1238
From: Garrett Wollman
Date: Wed, 17 Jun 1992 17:02
81 lines
3979 bytes
...well, not quite, but close enough.

The current version of Epoch (4.0p2) defines a keymap in
.../epoch-lisp/epoch.el, and immediately binds that to C-z using
global-set-key.  Several pieces of software (such as lightbrite, to
name one example) know this, and so use global-set-key to bind to
things like "C-z ".  This presents a problem for people and sites like
this one, where anything bound to C-z other than suspend-emacs or nil
is unacceptable, since it means that every file which makes this
assumption will have to be modified.  Furthermore, it is contrary to
the spirit of Emacs, it seems to me, to define a prefix key without
defining the appropriate functions and keymaps to help users hang
things off of it without using global-set-key.

This will make it much easier for me to say:

(global-unset-key "\C-z")
(define-key ctl-x-map "7" 'epoch-cmds-prefix)
(define-key ctl-x-map "8" 'other-screen-prefix)

in my default.el and have keys bound in the sensible way.  (Users are
confused enough about suspension as it is, I don't need Epoch creating
even more confusion...)

For this reason, I would like to ask the Epoch developers to consider
doing the following, and package authors to follow it:

;;; --------------------------------------------------------------------------
;;; default key bindings

;;; Modified 16 June 1992 by G. Wollman
;;; Use a well-known keymap for \C-z and \C-z 4 commands...

;;
;; This works because in Lisp arrays are bandied about by reference,
;; so any mutator (such as aset) operating on this vector through any of
;; its handles will change the value as seen by all.
;;
(define-prefix-command 'epoch-cmds-prefix)

(defvar epoch-cmds-map (symbol-function 'epoch-cmds-prefix)
  "Keymap for commands that are specific to Epoch, usually bound to C-z.")

(define-prefix-command 'other-screen-prefix)

(defvar other-screen-map (symbol-function 'other-screen-prefix)
  "Keymap for commands that act on the other screen, usually bound to
C-z 4.")

(global-unset-key "\C-z")
(global-unset-key "\C-x\C-z")
(global-set-key "\C-z" 'epoch-cmds-prefix)

;; Define other-screen keys
(define-key epoch-cmds-map "4" 'other-screen-prefix)
(define-key other-screen-map "\C-f" 'find-file-other-screen)
(define-key other-screen-map "f" 'find-file-other-screen)
(define-key other-screen-map "b" 'find-buffer-other-screen)
(define-key other-screen-map "0" 
  (definteractive (remove-screen (next-screen))))

(define-key epoch-cmds-map "o" 'switch-screen)
(define-key epoch-cmds-map "2" 'duplicate-screen)
(define-key epoch-cmds-map "0" (definteractive (remove-screen)))
(define-key epoch-cmds-map "m" 
  (definteractive (raise-screen (minibuf-screen))))
(define-key epoch-cmds-map "r" (definteractive (raise-screen)))
(define-key epoch-cmds-map "l" (definteractive (lower-screen)))
(define-key epoch-cmds-map "f" 'focus-current-screen)
(define-key epoch-cmds-map "s" 'switch-screen-noselect)
(define-key epoch-cmds-map "p" 'prev-switch-screen)
(define-key epoch-cmds-map "i" 'iconify-screen)
(define-key epoch-cmds-map "e" 'display-event-status)

-GAWollman

--
   Garrett A. Wollman   = wollman@uvm.edu = UVM is welcome to my opinions
                        = uvm-gen!wollman =
   That's what being alive is all about.  No deity, no higher goal
   exists, than to bring joy to another person.    - Elf Sternberg
Technical Details
Message-ID: <199206180102.AA34017@trantor.uvm.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!uvm.edu!Garrett.Wollman

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fc7ee,ff3e51718e63a738,start
X-Google-Attributes: gidfc7ee,public
X-Google-ArrivalTime: 1992-06-17 13:00:52 PST
Newsgroups: gnu.epoch.misc
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!uvm.edu!Garrett.Wollman
From: Garrett.Wollman@uvm.edu (Garrett Wollman)
Subject: A plea for peace...
Message-ID: <199206180102.AA34017@trantor.uvm.edu>
Sender: daemon@cis.ohio-state.edu
Organization: GNUs Not Usenet
Distribution: gnu
Date: Wed, 17 Jun 1992 17:02:42 GMT
Lines: 81