Mercurial > emacs
view etc/ms-7bkermit @ 51207:7e176ef34c10
Make (many) trivial substitutions for renamed and
new macros in dispextern.h, frame.h and window.h.
(make_window): Initialize new members
left_margin_cols, right_margin_cols, left_fringe_width,
right_fringe_width, fringes_outside_margins, scroll_bar_width,
and vertical_scroll_bar_type.
(coordinates_in_window): Adapted to new fringe/margin positions
and per-window fringes and scroll-bars.
Fix bug related to incorrectly adjusting coordinates by
frame's internal_border_width (the effect normally negible since
the internal_border_width is typically 0 or 1 pixel, but very
noticeable for an internal_border_width of e.g. 25 pixels).
Upon successful return (other than ON_NOTHING), the coordinates
are now always properly converted to window relative for the
given display element.
(window_from_coordinates): Add new parameters wx and wy to
return the window relative x and y position in the returned
window and part. A null arg means, don't return the position.
All callers changed.
(adjust_window_margins): New function which may reduce the width
of the display margins if a window's text area is too small after
resizing or splitting windows.
(size_window): Fix bug that did not account for display margin
widths when checking the minimum width of a window; use
adjust_window_margins.
(set_window_buffer): Call Fset_window_fringes and
Fset_window_scroll_bars to setup per-window elements.
Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
existing display margin, fringe widths, and scroll bar settings
(e.g. after splitting a window or resizing the frame). All
callers changed.
(Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
(Fsplit_window): Duplicate original window's display margin,
fringe, and scroll-bar settings; then call Fset_window_buffer with
KEEP_MARGINS non-nil. This fixes a bug which caused a split
window to only preserve the display margins in one of the windows.
When splitting horisontally, call adjust_window_margins on both
windows to ensure that the text area of the new windows is non too
narrow. This fixes a bug which could cause emacs to trap if the
width of the split window was less than the width of the display
margins.
(window_box_text_cols): Renamed from window_internal_width. All
uses changed. Adapt to per-window fringes and scroll bars.
Fix bug that caused vertical separator to be subtracted also on
window frames. Fix another bug that did not reduce the returned
value by the columns used for display margins.
(window_scroll_line_based): Fix bug related to scrolling too much
when display margins are present (implicitly fixed by the fix to
window_box_text_cols).
(scroll_left, scroll_right): Fix bug related to scrolling too far
by default when display margins are present (implicitly fixed by
the fix to window_box_text_cols).
(struct saved_window): Rename members left to left_col, top to
top_line, width to total_cols, height to total_lines, orig_top to
orig_top_line, orig_height to orig_total_lines. All uses changed.
New members left_margin_cols, right_margin_cols,
left_fringe_width, right_fringe_width, fringes_outside_margins,
scroll_bar_width, and vertical_scroll_bar_type for saving
per-window display elements.
(Fset_window_configuration): Restore display margins, fringes,
and scroll bar settings. This fixes a bug which caused display
margins to be discarded when saving and restoring a window
configuration.
(save_window_save): Save display margins, fringes, and scroll bar
settings. This fixes a bug which caused display margins to be
discarded when saving and restoring a window configuration.
(Fset_window_margins): Do nothing if display margins are not
really changed. Otherwise, call adjust_window_margins to ensure
the text area doesn't get too narrow. This fixes a bug which
could cause emacs to trap if setting display margins wider than
the width of the window.
(Fset_window_fringes): New defun to allow user to specifically set
this window's fringe widths and position vs. display margins.
(Fwindow_fringes): New defun to return window's actual fringe
settings.
(Fset_window_scroll_bars): New defun to allow user to specifically
set this window's scroll bar width and position.
(Fwindow_scroll_bars): New defun to return window's actual scroll
bar settings.
(compare_window_configurations): Also compare display margins,
fringes, and scroll bar settings.
(syms_of_window): Defsubr new defuns for fringe and scroll bars.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sat, 24 May 2003 22:07:51 +0000 |
parents | 23a1cea22d13 |
children | 695cf19ef79e |
line wrap: on
line source
;;; This file is designed for 7-bit connections. ;;; Use the file ms-kermit if you have an 8-bit connection. ;;; This kermit script maps the IBM-PC keyboard for use with Gnu Emacs. ;;; The ALT key is used to generate Meta characters and, in conjunction ;;; with the CTRL key, Control-Meta characters. A few other useful ;;; mappings are also performed. ;;; Andy Lowry, May 1989 ;;; Exchange ESC and backquote... tilde stays put (shift-backquote) set key \27 ` set key ` \27 ;;; BACKSPACE deletes backward one character set key scan \270 \127 ;;; The following mappings affect certain special keys... all the keys ;;; are duplicated on the numeric keypad when NUM LOCK is off, but ;;; the keypad versions are NOT mapped (string definition space too small ;;; for that) ;;; INSERT toggles overwrite mode set key scan \4434 \27xoverwrite-mode\13 ;;; HOME moves point to beginning of buffer set key scan \4423 \27< ;;; PAGE-UP scrolls backward one screen set key scan \4425 \27v ;;; DELETE deletes one character *forward* set key scan \4435 \4 ;;; END moves point to end of buffer set key scan \4431 \27> ;;; PAGE-DOWN scrolls forward one screen set key scan \4433 \22 ;;; ARROW keys move in the appropriate directions set key scan \4424 \16 set key scan \4427 \2 set key scan \4432 \14 set key scan \4429 \6 ;;; META versions of all the printing characters except uppercase ;;; letters are generated by using the ALT key. The definition string ;;; consists of an ESC character followed by the META-ized character. ;;; The characters are listed roughly left-to-right and top-to-bottom ;;; as they appear on the keyboard set key scan \2345 \27` set key scan \2424 \27\o61 ; need to use char code, since digit set key scan \2425 \27\o62 ; would not terminate '\27' set key scan \2426 \27\o63 set key scan \2427 \27\o64 set key scan \2428 \27\o65 set key scan \2429 \27\o66 set key scan \2430 \27\o67 set key scan \2431 \27\o70 set key scan \2432 \27\o71 set key scan \2433 \27\o60 set key scan \2434 \27\45 set key scan \2435 \27= set key scan \2857 \27~ set key scan \2936 \27! set key scan \2937 \27@ set key scan \2938 \27# set key scan \2939 \27$ set key scan \2940 \27% set key scan \2941 \27^ set key scan \2942 \27& set key scan \2943 \27* set key scan \2944 \27( set key scan \2945 \27) set key scan \2946 \27_ set key scan \2947 \27+ set key scan \2469 \27\9 set key scan \2320 \27q set key scan \2321 \27w set key scan \2322 \27e set key scan \2323 \27r set key scan \2324 \27t set key scan \2325 \27y set key scan \2326 \27u set key scan \2327 \27i set key scan \2328 \27o set key scan \2329 \27p set key scan \2330 \27[ set key scan \2842 \27{ set key scan \2331 \27] set key scan \2843 \27} set key scan \2347 \27\ set key scan \2859 \27| set key scan \2334 \27a set key scan \2335 \27s set key scan \2336 \27d set key scan \2337 \27f set key scan \2338 \27g set key scan \2339 \27h set key scan \2340 \27j set key scan \2341 \27k set key scan \2342 \27l set key scan \2343 \27\59 set key scan \2855 \27: set key scan \2344 \27' set key scan \2856 \27" set key scan \2348 \27z set key scan \2349 \27x set key scan \2350 \27c set key scan \2351 \27v set key scan \2352 \27b set key scan \2353 \27n set key scan \2354 \27m set key scan \2355 \27, set key scan \2867 \27< set key scan \2356 \27. set key scan \2868 \27> set key scan \2357 \27/ set key scan \2869 \27? ;;; CONTROL-META characters are generated by using both the CTRL and ;;; ALT keys simultaneously. All the lowercase letters are included. ;;; The definition string consists of an ESC character followed by ;;; the control character corresponding to the letter. set key scan \3344 \27\17 set key scan \3345 \27\23 set key scan \3346 \27\5 set key scan \3347 \27\18 set key scan \3348 \27\20 set key scan \3349 \27\25 set key scan \3350 \27\21 set key scan \3351 \27\9 set key scan \3352 \27\15 set key scan \3353 \27\16 set key scan \3358 \27\1 set key scan \3359 \27\19 set key scan \3360 \27\4 set key scan \3361 \27\6 set key scan \3362 \27\7 set key scan \3363 \27\8 set key scan \3364 \27\10 set key scan \3365 \27\11 set key scan \3366 \27\12 set key scan \3372 \27\26 set key scan \3373 \27\24 set key scan \3374 \27\3 set key scan \3375 \27\22 set key scan \3376 \27\2 set key scan \3377 \27\14 set key scan \3378 \27\13 end of msiem2.ini ------------------ msiema.hlp ----------- Date: Wed, 14 Sep 88 05:20:08 GMT From: spolsky@YALE.ARPA Subject: Using MS kermit 2.31 with emacs Keywords: MS-DOS Kermit 2.31, EMACS, Meta Key If you are using kermit (version 2.31 only) with emacs on a mainframe, the following file may help you. It assigns all the Alt-keys so that the Alt key may be used as a "Meta" shift, e.g. Alt-x produces M-x, etc. Note that it will distinguish correctly between upper and lower case and accepts all printables. (If anybody has the patience to do the Meta-Ctrl combinations, please post them!) This actually sends "escapes" so you don't need 8 bits. This file also sets up the cursor keys to behave as expected. On extended keyboards (the ones with a separate cursor pad, like PS/2s) you also get assignments for Page Up/Down, Home, End, Insert, Delete, etc. Please let me know if you find any problems with this. Joel Spolsky bitnet: spolsky@yalecs uucp: ...!yale!spolsky Yale University arpa: spolsky@yale.edu voicenet: 203-436-1483 [Ed. - Thanks, Joel! Your key definitions file has been put in the kermit distribution area as msiema.ini ("ms" for MS-Kermit, "i" because it's an initialization file, "ema" for EMACS), along with this message as msiema.hlp.] end of msiema.hlp ----------------- msiema.ini ------------ ; Emacs keyboard layout for Kermit 2.31 ; by Joel Spolsky, Yale Univ. Save this in a file, then ; initialize it by issuing the kermit command ; take filename ; It will set up the keyboard to allow ALT to be used ; as a meta-key, and will allow cursor keys to be used ; with emacs. ; First, define all the ALT keys to send ESC+key ; to simulate "meta" set key \2320 \27q ;; letters: unshifted set key \2321 \27w set key \2322 \27e set key \2323 \27r set key \2324 \27t set key \2325 \27y set key \2326 \27u set key \2327 \27i set key \2328 \27o set key \2329 \27p set key \2334 \27a set key \2335 \27s set key \2336 \27d set key \2337 \27f set key \2338 \27g set key \2339 \27h set key \2340 \27j set key \2341 \27k set key \2342 \27l set key \2348 \27z set key \2349 \27x set key \2350 \27c set key \2351 \27v set key \2352 \27b set key \2353 \27n set key \2354 \27m set key \2832 \27Q ;; letters: shifted set key \2833 \27W set key \2834 \27E set key \2835 \27R set key \2836 \27T set key \2837 \27Y set key \2838 \27U set key \2839 \27I set key \2840 \27O set key \2841 \27P set key \2846 \27A set key \2847 \27S set key \2848 \27D set key \2849 \27F set key \2850 \27G set key \2851 \27H set key \2852 \27J set key \2853 \27K set key \2854 \27L set key \2860 \27Z set key \2861 \27X set key \2862 \27C set key \2863 \27V set key \2864 \27B set key \2865 \27N set key \2866 \27M set key \2857 \27\126 ; ALT + ~ ;; special symbols begin here set key \2345 \27\96 ; ALT + ` set key \2936 \27\33 ; ALT + ! set key \2937 \27\64 ; ALT + @ set key \2938 \27\35 ; ALT + # set key \2939 \27\36 ; ALT + $ set key \2940 \27\37 ; ALT + % set key \2941 \27\94 ; ALT + ^ set key \2942 \27\38 ; ALT + & set key \2943 \27\42 ; ALT + * set key \2944 \27\40 ; ALT + ( set key \2945 \27\41 ; ALT + ) set key \2946 \27\95 ; ALT + _ set key \2947 \27\43 ; ALT + + set key \2842 \27\123 ; ALT + { set key \2843 \27\125 ; ALT + } set key \2330 \27\91 ; ALT + [ set key \2331 \27\93 ; ALT + ] set key \2859 \27\124 ; ALT + : set key \2347 \27\92 ; ALT + \ set key \2867 \27< ; ALT + < set key \2868 \27> ; ALT + > set key \2343 \27\59 ; ALT + ; set key \2855 \27\58 ; ALT + : set key \2344 \27\39 ; ALT + ' set key \2856 \27\34 ; ALT + " set key \2355 \27\44 ; ALT + , set key \2356 \27\46 ; ALT + . set key \2357 \27\47 ; ALT + / set key \2869 \27\63 ; ALT + ? set key \2424 \27\49 ;; numbers set key \2425 \27\50 set key \2426 \27\51 set key \2427 \27\52 set key \2428 \27\53 set key \2429 \27\54 set key \2430 \27\55 set key \2431 \27\56 set key \2432 \27\57 set key \2433 \27\48 ;; These 6 special keys for extended (PS/2) keyboards: set key \4434 \25 ;; Insert is like ^Y - yank from kill ring set key \4435 \23 ;; Delete is like ^W - kill to ring set key \4423 \1 ;; Home is ^A set key \4431 \5 ;; End is ^E set key \4425 \27V ;; Page up is Esc-V set key \4433 \22 ;; Page dn is ^v set key \328 \16 ;; up cursor is ^P set key \331 \2 ;; left cursor is ^B set key \333 \6 ;; right cursor is ^F set key \336 \14 ;; down cursor is ^N set key \4427 \2 ;; left cursor on extended kbd set key \4432 \14 ;; down cursor on extended kbd set key \4424 \16 ;; up cursor on extended kbd set key \4429 \6 ;; right cursor on extended kbd set key \5491 \27b ;; ctrl-left cursor is M-b set key \5492 \27f ;; ctrl-right cursor is M-f ;; move kermit's screen scroll (playback) features to Alt- Home,End,PgUp,PgDn ;; (this is an issue for extended keyboards only) set key \2455 \khomscn set key \2463 \kendscn set key \2457 \kupscn set key \2465 \kdnscn