annotate GETTING.GNU.SOFTWARE @ 1721:6ba3bca4c3de

* frame.h (struct frame): New fields `can_have_scrollbars' and `has_vertical_scrollbars'. (FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New accessors, for both the MULTI_FRAME and non-MULTI_FRAME. (VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR, WINDOW_VERTICAL_SCROLLBAR_COLUMN, WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros. * window.h (struct window): New field `vertical_scrollbar'. * xterm.h (struct x_display): vertical_scrollbars, judge_timestamp, vertical_scrollbar_extra: New fields. (struct scrollbar): New struct. (VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT, VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER, VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER, CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): New accessors and macros. * frame.c (make_frame): Initialize the `can_have_scrollbars' and `has_vertical_scrollbars' fields of the frame. * term.c (term_init): Note that TERMCAP terminals don't support scrollbars. (mouse_position_hook): Document new args. (set_vertical_scrollbar_hook, condemn_scrollbars_hook, redeem_scrollbar_hook, judge_scrollbars_hook): New hooks. * termhooks.h: Declare and document them. (enum scrollbar_part): New type. (struct input_event): Describe the new form of the scrollbar_click event type. Change `part' from a Lisp_Object to an enum scrollbar_part. Add a new field `scrollbar'. * keyboard.c (kbd_buffer_get_event): Pass appropriate new parameters to *mouse_position_hook, and make_lispy_movement. * xfns.c (x_set_vertical_scrollbar): New function. (x_figure_window_size): Use new macros to calculate frame size. (Fx_create_frame): Note that X Windows frames do support scroll bars. Default to "yes". * xterm.c: #include <X11/cursorfont.h> and "window.h". (x_vertical_scrollbar_cursor): New variable. (x_term_init): Initialize it. (last_mouse_bar, last_mouse_bar_frame, last_mouse_part, last_mouse_scroll_range_start, last_mouse_scroll_range_end): New variables. (XTmouse_position): Use them to return scrollbar movement events. Take new arguments, for that purpose. (x_window_to_scrollbar, x_scrollbar_create, x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move, XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar, XTjudge_scrollbars, x_scrollbar_expose, x_scrollbar_background_expose, x_scrollbar_handle_click, x_scrollbar_handle_motion): New functions to implement scrollbars. (x_term_init): Set the termhooks.h hooks to point to them. (x_set_window_size): Use new macros to calculate frame size. Set vertical_scrollbar_extra field. (x_make_frame_visible): Use the frame accessor FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the frame's subwindows as well. (XTread_socket): Use new size-calculation macros from xterm.h when processing ConfigureNotify events. (x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and PIXEL_TO_CHAR_HEIGHT macros. * ymakefile (xdisp.o): This now depends on termhooks.h. (xterm.o): This now depends on window.h. * xterm.h (struct x_display): Delete v_scrollbar, v_thumbup, v_thumbdown, v_slider, h_scrollbar, h_thumbup, h_thumbdown, h_slider, v_scrollbar_width, h_scrollbar_height fields. * keyboard.c (Qvscrollbar_part, Qvslider_part, Qvthumbup_part, Qvthumbdown_part, Qhscrollbar_part, Qhslider_part, Qhthumbup_part, Qhthumbdown_part, Qscrollbar_click): Deleted; part of an obsolete interface. (head_table): Removed from here as well. (syms_of_keyboard): And here. * keyboard.h: And here. (POSN_SCROLLBAR_BUTTON): Removed. * xscrollbar.h: File removed - no longer necessary. * xfns.c: Don't #include it any more. (Qhorizontal_scroll_bar, Qvertical_scroll_bar): Deleted. (syms_of_xfns): Don't initialize or staticpro them. (gray_bits): Salvaged from xscrollbar.h. (x_window_to_scrollbar): Deleted. (x_set_horizontal_scrollbar): Deleted. (enum x_frame_parm, x_frame_parms): Remove references to x_set_horizontal_scrollbar. (x_set_foreground_color, x_set_background_color, x_set_border_pixel): Remove special code to support scrollbars. (Fx_create_frame): Remove old scrollbar setup code. (install_vertical_scrollbar, install_horizontal_scrollbar, adjust_scrollbars, x_resize_scrollbars): Deleted. * xterm.c (construct_mouse_click): This doesn't need to take care of scrollbar clicks anymore. (XTread_socket): Remove old code to support scrollbars. Call new functions instead for events which occur in scrollbar windows. (XTupdate_end): Remove call to adjust_scrollbars; the main redisplay code takes care of that now. (enum window_type): Deleted. * ymakefile: Note that xfns.o no longer depends on xscrollbar.h. * xterm.h (PIXEL_WIDTH, PIXEL_HEIGHT): Change name of parameter from `s' to `f'; it's a frame pointer.
author Jim Blandy <jimb@redhat.com>
date Thu, 24 Dec 1992 06:23:08 +0000
parents 508bb8dd1e88
children 784262b28079
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
101
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
1 -*- text -*-
511
e6c69aa0f536 Formerly GETTING.GNU.SOFTWARE.~2~
Leonard H. Tower Jr <tower@art.net>
parents: 101
diff changeset
2 Getting GNU Software, 20 Jan 92
e6c69aa0f536 Formerly GETTING.GNU.SOFTWARE.~2~
Leonard H. Tower Jr <tower@art.net>
parents: 101
diff changeset
3 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1992 Free Software Foundation, Inc.
101
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
4
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
5 Permission is granted to anyone to make or distribute
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
6 verbatim copies of this document provided that the
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
7 copyright notice and this permission notice are preserved.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
8
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
9 * GNU and the Free Software Foundation
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
10
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
11 Project GNU is organized as part of the Free Software Foundation, Inc.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
12 The Free Software Foundation has the following goals:
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
13 1) to create GNU as a full development/operating system.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
14 2) to distribute GNU and other useful software with source code and
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
15 permission to copy and redistribute.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
16
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
17 Further information on the rationale for GNU is in file
511
e6c69aa0f536 Formerly GETTING.GNU.SOFTWARE.~2~
Leonard H. Tower Jr <tower@art.net>
parents: 101
diff changeset
18 /pub/gnu/GNUinfo/GNU (All files referred to are on the Internet host
101
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
19 prep.ai.mit.edu.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
20
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
21 Information on GNU Internet mailing lists and gnUSENET newsgroupscan
511
e6c69aa0f536 Formerly GETTING.GNU.SOFTWARE.~2~
Leonard H. Tower Jr <tower@art.net>
parents: 101
diff changeset
22 be found in file /pub/gnu/GNUinfo/MAILINGLISTS.
101
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
23
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
24 * How To Get The Software
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
25
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
26 The easiest way to get a copy of the distribution is from someone else
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
27 who has it. You need not ask for permission to do so, or tell any one
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
28 else; just copy it. The second easiest is to ftp it over the
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
29 Internet. The third easiest way is to uucp it. Ftp and uucp
511
e6c69aa0f536 Formerly GETTING.GNU.SOFTWARE.~2~
Leonard H. Tower Jr <tower@art.net>
parents: 101
diff changeset
30 information is in file /pub/gnu/GNUinfo/FTP.
101
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
31
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
32 If you cannot get a copy any of these ways, or if you would feel more
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
33 confident getting copies straight from us, or if you would like to get
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
34 some funds to us to help in our efforts, you can order one from the
511
e6c69aa0f536 Formerly GETTING.GNU.SOFTWARE.~2~
Leonard H. Tower Jr <tower@art.net>
parents: 101
diff changeset
35 Free Software Foundation. See file /pub/gnu/GNUinfo/DISTRIB.
101
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
36
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
37 * Available Software
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
38
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
39 ** GNU Emacs
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
40
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
41 The GNU Emacs distribution includes:
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
42 - manual source in TeX format.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
43 - an enhanced regex (regular expression) library.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
44
511
e6c69aa0f536 Formerly GETTING.GNU.SOFTWARE.~2~
Leonard H. Tower Jr <tower@art.net>
parents: 101
diff changeset
45 See file /pub/gnu/GNUinfo/MACHINES for the status of porting Emacs to
101
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
46 various machines and operating systems.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
47
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
48 ** C Scheme - a block structured dialect of LISP.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
49
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
50 The Free Software Foundation distributes C Scheme for the MIT Scheme
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
51 Project on it tapes. A partial ftp distribution can be found on
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
52 prep.ai.mit.edu. The full ftp distribution can be found on
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
53 zurich.ai.mit.edu.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
54
1028
508bb8dd1e88 Formerly GETTING.GNU.SOFTWARE.~3~
gnulists <gnulists>
parents: 511
diff changeset
55 Problems with the C Scheme distribution and its ftp distribution
101
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
56 should be referred to: <bug-cscheme@prep.ai.mit.edu>. There are two
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
57 general mailing lists: <scheme@mc.lcs.mit.edu> and
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
58 <info-cscheme@prep.ai.mit.edu>. Requests to join either list to:
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
59 <info-cscheme-request@prep.ai.mit.edu> or
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
60 <scheme-request@mc.lcs.mit.edu>.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
61
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
62 ** Other GNU Software
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
63
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
64 A fuller list of available software are in the files
511
e6c69aa0f536 Formerly GETTING.GNU.SOFTWARE.~2~
Leonard H. Tower Jr <tower@art.net>
parents: 101
diff changeset
65 /pub/gnu/GNUinfo/DISTRIB and /pub/gnu/GNUinfo/FTP.
101
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
66
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
67 * No Warranties
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
68
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
69 We distribute software in the hope that it will be useful, but without
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
70 any warranty. No author or distributor of this software accepts
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
71 responsibility to anyone for the consequences of using it or for
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
72 whether it serves any particular purpose or works at all, unless he
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
73 says so in writing.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
74
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
75 * If You Like The Software
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
76
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
77 If you like the software developed and distributed by the Free
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
78 Software Foundation, please express your satisfaction with a donation.
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
79 Your donations will help to support the foundation and make our future
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
80 efforts successful, including a complete development and operating
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
81 system, called GNU (Gnu's Not Un*x), which will run Un*x user
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
82 programs. For more information on GNU and the Foundation, contact us
e5355ef53e1c Initial revision
gnulists <gnulists>
parents:
diff changeset
83 at Internet address <gnu@prep.ai.mit.edu> or the foundation's US Mail
511
e6c69aa0f536 Formerly GETTING.GNU.SOFTWARE.~2~
Leonard H. Tower Jr <tower@art.net>
parents: 101
diff changeset
84 address found in file /pub/gnu/GNUinfo/DISTRIB.