🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by Garrett Wollman Wed, 17 Jun 1992 17:02
A plea for peace...
#1238
Author: 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
Re: A plea for peace...
#1241
Author: David J. MacKenzie
Date: Thu, 18 Jun 1992 18:27
14 lines
1492 bytes
> 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.

Also, it means you can't use VIP-mode to ease VI users into Epoch.
I like using VIP occasionally because it makes line-oriented changes
easier, but I have to exit and restart epoch when I'm done because it
uses C-z to switch between emacs mode and vi mode so I lose my epoch
keybindings.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads