|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 2852 (0xb24) Types: TextFile Names: »supdup.el«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─⟦this⟧ »EUUGD11/gnu-31mar87/emacs/lisp/term/supdup.el« └─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89 └─⟦46d41b2d0⟧ »./emacs-18.55.tar.Z« └─⟦fa971747f⟧ └─⟦this⟧ »dist-18.55/lisp/term/supdup.el«
;; Losing unix doesn't know about the -real- control bit ;; there should be some way to conditionalize this on the basis ;; of %TOFCI -- except that the existing supdup server loses this information! ;; It isn't clear-cut what to do in the server, as %tofci means that the user ;; can generate full 9-bit MIT characters, which isn't what the `km' termcap ;; flag means. On the other hand, being able to generate 8-bit characters ;; (which is sort of what `km' is) isn't the same as %tofci. ;; I think the problem is fundamental and cultural and irresolvable. ;; unix supdup server uses 0237 as a control escape. ;; c-a 001 ;; m-a 341 ;; c-m-a 201 ;; c-1 237 061 ;; m-1 261 ;; c-m-1 237 261 ;; c-m-_ 237 237 (defvar supdup-control-map (make-keymap)) (fillarray supdup-control-map 'ascii-loses) (defvar supdup-control-meta-map (make-keymap)) (fillarray supdup-control-meta-map 'ascii-loses) (define-key supdup-control-meta-map "\C-_" nil) ; this is c-m-_ (define-key supdup-control-map "\e" supdup-control-meta-map) (define-key global-map "\e\C-_" supdup-control-map) (let ((n ?0)) (while (<= n ?9) (define-key supdup-control-map (char-to-string n) 'supdup-digit-argument) (define-key supdup-control-meta-map (char-to-string n) 'supdup-digit-argument) (setq n (1+ n))) (define-key supdup-control-map "-" 'supdup-digit-argument) (define-key supdup-control-meta-map "-" 'supdup-digit-argument)) (defun ascii-loses () (interactive) (if (= (aref (this-command-keys) 0) meta-prefix-char) ;; loser typed <esc> c-_ <char> (error "Undefined command: %s" (mapconcat 'text-char-description (this-command-keys) " ")) ;; Get here from m-c-_ <char> for c-<char> or m-c-_ m-<char> (error "Ascii loses: c-%s%c" (if (> last-input-char ?\200) "m-" "") (logand last-input-char ?\177)))) \f (defun supdup-digit-argument (p) (interactive "P") (let ((n last-input-char)) (if (and (<= (+ ?\200 ?0) n) (<= n (+ ?\200 ?9))) (setq n (- n ?\200))) (cond ((or (= n ?-) (= n ?\M--)) (message "Arg: %s" (setq prefix-arg '-))) ((or (< n ?0) (> n ?9)) (error "Lossage: %s" (this-command-keys))) (t (setq n (- n ?0)) (message "Arg: %d" (setq prefix-arg (cond ((listp p) n) ((eq p '-) (- n)) ((>= p 0) (+ (* p 10) n)) (t (- (* p 10) n))))))))) \f ;; Attempt to detect slimebollix machine serving as terminal. (if (let ((termcap (getenv "TERMCAP"))) (and termcap (string-match ":co#131:li#52:\\|:co#135:li#50:" termcap))) (message "In doing business with Symbolics, you are rewarding a wrong.")) \f ;; Mouse support works with Lambdas. ;(autoload 'sup-mouse-report "sup-mouse" ; "This command is sent by a special version of Supdup on the LMI Lambda ;when the mouse is clicked." t) ;(global-set-key "\C-x\C-@" 'sup-mouse-report)