🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.mule
Article #3314

Egg and minor-mode-map

#3314
From: SASAKI Takesi(Takeshi)
Date: Wed, 27 Dec 1995 00:00
69 lines
3151 bytes
egg$B$N(B key-binding$B$r(B minor-mode$B$,>e=q$-$7$F$7$^$&$N$G(B
$B$I$&$K$+$J$i$J$$$+(B? $B$H$$$&LdBj$G$9!#6qBNE*$K$O0J2<$N$h$&$J$3$H$G$9!#(B

elisp$B$NN}=,$@$H$$$C$F!"%+!<%=%k$rI=<(>e$N0l9T$4$H$K0\F0$5$;$k(B
minor-mode$B$r:n$C$F$_$^$7$?(B ($B:G8e$KE:IU(B)$B!#(B
$B$G!"$3$l$O<h$j$"$($:$O$&$^$/F0$$$?$N$G$9$,(B egg ($B<B:]$K$O(B sj3-egg + boiled-egg)
$B$N(B henkan-mode$B$N:GCf$K$bMx$$$F$7$^$$$^$9!#(B
i.e. fence$B$N30$K%+!<%=%k$,Ht$S=P$7$F$7$^$&!#(B

$B$G!"0J2<$N$h$&$JA*Br;h$,Ib$+$s$@$N$G$9!#(B
0) $B$3$s$J$b$N$O(B minor-mode$B$K$7$F$O$$$1$J$$(B
1) henkan-mode$B$+$I$&$+D4$Y$k$h$&$J%3!<%I$K$9$k(B
2) egg$B$r(B overriding-local-map$B$r;H$&$h$&$K$9$k(B

$B:#$N$H$3$m(B 2)$B$,@52r$@$H;W$C$F!"$=$N$h$&$K4X?t$r=q$-49$($F$7$N$$$G$$$k$N$G$9$,!"(B
$B$3$N%"%W%m!<%A$O$J$K$+$^$:$$$G$7$g$&$+(B?
$B$b$7$^$:$/$J$1$l$P:#8e$N(B egg$B$O$=$N$h$&$J%3!<%I$K$7$F$[$7$$$G$9!#(B

takesi

;;; MOVE cursur with visual line.  -*- emacs-lisp -*-
;;; $Id: wincsr-mode.el,v 0.1 1995/12/21 19:22:15 takesi Exp takesi $

;;original code from miyata@netg.ksp.fujixerox.co.jp

;; $B%^%$%J!<%b!<%I$N%-!<%P%$%s%G%#%s%0$,!"(Bhenkan-mode$BFb$GMx$$$F$7$^$&(B!!
;; $B$3$&$$$&$N$O%^%$%J!<%b!<%I$K$9$k$Y$-$G$O$J$$$N$+(B?

(defvar wincsr-mode-map nil "")
(if (not wincsr-mode-map)
    (progn
      (setq wincsr-mode-map (make-sparse-keymap))
      (define-key wincsr-mode-map "\C-n" 'next-window-line)
      (define-key wincsr-mode-map "\C-p" 'previous-window-line)
      (define-key wincsr-mode-map [down] 'next-window-line)
      (define-key wincsr-mode-map [up] 'previous-window-line)))
(or (assq 'wincsr-mode minor-mode-alist)
    (setq minor-mode-alist (cons '(wincsr-mode " Csr")
				 minor-mode-alist)))

(defvar wincsr-mode nil "Non-nil if using wincsr-mode.")
(make-variable-buffer-local 'wincsr-mode)
(or (assq 'wincsr-mode minor-mode-map-alist)
    (setq minor-mode-map-alist (cons (cons 'wincsr-mode wincsr-mode-map)
				minor-mode-map-alist)))
(defun wincsr-mode (arg)
  "Wincsr-mode."
  (interactive "P")
  (setq wincsr-mode 
	(if (null arg) (not wincsr-mode)
	  (> (prefix-numeric-value arg) 0))))

(defun previous-window-line (n)
  (interactive "p")
  (let ((cur-col
         (- (current-column)
            (save-excursion (vertical-motion 0) (current-column)))))
    (vertical-motion (- n))
    (move-to-column (+ (current-column) cur-col))))

(defun next-window-line (n)
  (interactive "p")
  (let ((cur-col
         (- (current-column)
            (save-excursion (vertical-motion 0) (current-column)))))
    (vertical-motion n)
    (move-to-column (+ (current-column) cur-col))))

(provide 'wincsr-mode)
Technical Details
Message-ID: <xjhg2e7nhz2.fsf@ichinose.is.titech.ac.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 10eba4,ec2916816f7f32b8,start
X-Google-Attributes: gid10eba4,public
From: takesi@is.titech.ac.jp (SASAKI Takesi(Takeshi))
Subject: Egg and minor-mode-map
Date: 1995/12/27
Message-ID: <xjhg2e7nhz2.fsf@ichinose.is.titech.ac.jp>
X-Deja-AN: 122958515
sender: takesi@ichinose.is.titech.ac.jp
organization: Dept. of Math. & Comp. Sci., Tokyo Inst. of Tech.
newsgroups: fj.editor.mule