view man/anti.texi @ 83004:7900111db01c

Converted display hooks to be display-local. Plus many bugfixes. lib-src/emacsclient.c (window_change_signal): Renamed to pass_signal_to_emacs. (init_signal): Pass SIGINT and SIGQUIT to the emacs process. lisp/faces.el (face-valid-attribute-values): Use the window-system function, not the variable. (read-face-attribute, face-spec-set-match-display, frame-set-background-mode) (face-set-after-frame-default): Ditto. lisp/frame.el (make-frame-on-tty): Added interactive declaration (suggested by Robert J. Chassell). Use tty-create-frame-with-faces, not make-terminal-frame. src/termhooks.h (struct display_method): Renamed to display for brevity. (struct display): Added all display hook variables as members of this structure. Added next_display, reference_count, type and display_info components. (FRAME_MUST_WRITE_SPACES, FRAME_FAST_CLEAR_END_OF_LINE, FRAME_LINE_INS_DEL_OK) (FRAME_CHAR_INS_DEL_OK, FRAME_SCROLL_REGION_OK, FRAME_SCROLL_REGION_COST) (FRAME_MEMORY_BELOW_FRAME, FRAME_RIF): Updated for struct display. (FRAME_DISPLAY): New macro. (create_display, delete_display): New prototypes. src/frame.h (struct frame): Added `display' member, removed display_method. (FRAME_LIVE_P): Look at f->display, not f->output_data. src/termchar.h (struct tty_display_info): Removed display_method component. (FRAME_TTY): Use the display structure, not output_data. src/term.c (display_list): New variable. (cursor_to_hook, raw_cursor_to_hook, clear_to_end_hook, clear_frame_hook) (clear_end_of_line_hook, ins_del_lines_hook, delete_glyphs_hook) (ring_bell_hook, reset_terminal_modes_hook, set_terminal_modes_hook) (update_begin_hook, update_end_hook, set_terminal_window_hook) (insert_glyphs_hook, write_glyphs_hook, delete_glyphs_hoo, read_socket_hook) (frame_up_to_date_hook, mouse_position_hook, frame_rehighlight_hook) (frame_raise_lower_hook, set_vertical_scroll_bar_hook, condemn_scroll_bars_hook) (redeem_scroll_bar_hook, judge_scroll_bars_hook): Moved to struct display. (tty_display_method_template): Removed. (syms_of_term): Don't initialize tty_display_method_template. (ring_bell, set_terminal_modes, reset_terminal_modes, update_begin) (update_end, set_terminal_window, cursor_to, raw_cursor_to, clear_to_end) (clear_frame, clear_end_of_line, write_glyphs, insert_glyphs) (delete_glyphs, ins_del_lines): Access display hooks through the frame pointer. (Ftty_display_color_p): Use the frame given as a parameter, or else return nil. (Ftty_display_color_cells): Ditto. (get_named_tty): Renamed to get_named_tty_display, changed return type to struct display. (term_dummy_init): Renamed to initial_term_init. Create and return an initial display. (term_init): Initialize a new struct display and return a pointer to it instead of tty_display_info. Removed frame initialization kludge. (Fdelete_tty): Updated for struct display. (delete_tty): The parameter type is now struct display, not tty_display_info. Delete the display, too. (create_tty_output): New function for creating tty_output structures. (delete_tty_output): New function for deleting tty_output structures. (create_display): New function for creating and registering display structures. (delete_display): New function for deleting and unregistering display structures. src/dispextern.h: Updated prototypes. src/dispnew.c: Include frame.h before termhooks.h. (init_display): Updated term_init call to new signature. src/emacs.c: Include frame.h (for termhooks.h). src/keymap.c: Ditto. src/lread.c: Ditto. src/xsmfns.c: Ditto. src/process.c: Include frame.h before termhooks.h. src/frame.c (Fwindow_system): New function. (syms_of_frame): Initialize it. (make_terminal_frame): Open the terminal device before creating the new frame. Disable scrollbars here, term_init cannot do that anymore. (Fdelete_frame): Use the new delete_frame_hook, don't do display-specific frame deletion here. Ditto for delete_display_hook. (Fmouse_position, Fmouse_pixel_position, Fraise_frame, Flower_frame) (Fredirect_frame_focus): Access display hooks through the frame pointer. src/keyboard.c: Include frame.h before termhooks.h. (start_polling, input_polling_used, stop_polling, gobble_input): Ignore read_socket_hook. (kbd_buffer_get_event, Fset_input_mode): Access display hooks through the frame pointer. (read_avail_input): Loop through all display devices for and call all read_socket_hook functions. Check ttys even if read_socket_hook returned an error. src/sysdep.c (discard_tty_input): Ignore read_socket_hook. (stuff_char): Don't do anything if the current frame is not on a termcap display. (request_sigio, unrequest_sigio): Ignore read_socket_hook. (init_sys_modes): Always call narrow_foreground_group. Set up terminal modes and sigio even under X. src/xdisp.c (message2_nolog, message3_nolog, redisplay_internal) (set_vertical_scroll_bar, redisplay_window): Access display hooks through the frame pointer. (echo_area_display): Don't be afraid of termcap frames during an X+tty combo session. src/xfaces.c: Include termhooks.h. (Ftty_supports_face_attributes_p): Use the given frame, not selected_frame. src/xfns.c (x_set_scroll_bar_foreground, x_set_scroll_bar_background): Access display hooks through the frame pointer. (Fx_create_frame, x_create_tip_frame): Initialize the frame's display structure. src/xmenu.c: Include termhooks.h after frame.h. src/xselect.c (x_own_selection, some_frame_on_display, x_get_foreign_selection) (Fx_disown_selection_internal, Fx_get_cut_buffer_internal) (Fx_store_cut_buffer_internal, Fx_rotate_cut_buffers_internal): Don't do anything if the selected frame is not an X frame. src/xterm.c (x_display_method): Removed. (x_create_frame_display, x_delete_frame_display): New functions for handling struct display objects. (x_term_init): Set up a new struct display object, too. (x_delete_display): Delete the struct display corresponding to the X display. (x_initialize): Moved hook initialization to x_create_frame_display. src/xterm.h (x_display_method): Removed. (struct x_display_info): Added frame_display component. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-44
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 05 Jan 2004 05:54:35 +0000
parents 695cf19ef79e
children 920d5b4fe0a2 375f2633d815
line wrap: on
line source

@c This is part of the Emacs manual.
@c Copyright (C) 2002 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.

@node Antinews, Mac OS, X Resources, Top
@appendix Emacs 21.3 Antinews

  For those users who live backwards in time, here is information about
downgrading to Emacs version 21.3.  We hope you will enjoy the greater
simplicity that results from the absence of many newer features.

@itemize @bullet
@item
The input methods for Emacs are included in a separate distribution
called ``Leim''.  To use them, you must extract the Leim tar file on
top of the Emacs distribution, into the same directory, before you
build Emacs.

@item
The file position and line number information is now at the end
of the mode line.

@item
When a file is managed with version control, the command @kbd{C-x C-q}
(whose general meaning is to make a buffer read-only or writable) now
does so by checking the file in or out.  Checking the file out makes
the buffer writable; checking it in makes the buffer read-only (at
least with RCS).

You can still use @kbd{C-x v v} to do these operations if you wish;
its meaning is unchanged.  If you want to control the buffer's
read-only flag without performing any version control operation,
use @kbd{M-x toggle-read-only}.

@item
Filesets are not supported.

@item
For simplicity, windows always have fringes.  We wouldn't want
to in-fringe anyone's windows.  Likewise, horizontal scrolling
always works the same automatic way.

@item
When you are logged in as root, all files now give you writable
buffers in Emacs reflecting the fact that you can write any files.

@item
Unicode support and unification between Latin-@var{n} character
sets have been removed.  Cutting and pasting X selections does not
support ``extended segments'' so there are certain coding systems
it cannot handle.

@item
@kbd{C-w} in an incremental search always grabs an entire word
into the search string.  More precisely, it grabs text through
the next end of a word.

@item
Yanking now preserves all text properties that were in the killed
text.  The variable @code{yank-excluded-properties} has no meaning.

@item
Occur mode, Info mode, and Comint-derived modes now control
fontification in their own way, and @kbd{M-x font-lock-mode}
has nothing to do with it.  To control fontification in Info
mode, use the variable @code{Info-fontify}.

@item
In Dired's @kbd{!} command, @samp{*} and @samp{?} now
cause substitution of the file names wherever they appear---not
only when they are surrounded by whitespace.

@item
Minibuffer completion commands now always complete the entire
minibuffer contents, just as if you had typed them at the end
of the minibuffer, no matter where point is actually located.

@item
An unquoted @samp{$} in a file name is now an error, if the following
name is not recognized as an environment variable.  Thus,
the file name @file{foo$bar} would probably be an error.  Meanwhile,
the @code{setenv} command does not expand @samp{$} at all.

@item
Commands to set the mark at a place away from point, including
@kbd{M-@@}, @kbd{M-h}, etc., don't do anything special when you repeat
them.  In most cases, typing these commands multiple times is
equivalent to using them once.  @kbd{M-h} does not use its numeric
argument.

@item
@kbd{C-@key{SPC} C-@key{SPC}} has no special meaning and neither does
@kbd{C-u C-x C-x}.

@item
There is no horizontal-bar cursor.

@item
The faces @code{minibuffer-prompt} and @code{mode-line-inactive}
do not exist, and the features they control don't exist either.

@item
The default value of @code{keyboard-coding-system} is always @code{nil}.
Emacs does not set it based on your locale settings.
If you want some other value, you must set it yourself.

@item
SGML mode does not handle XML syntax, and does not have indentation support.

@item
The @kbd{C-h} subcommands have been rearranged--especially those that
display specific files.  Type @kbd{C-h C-h} to see a list of these
commands; that will show you what is different.

@item
Emacs does not read @file{~/.abbrev_defs} automatically; if you want
to load abbrev definitions from a file, you must always do so
explicitly.

@item
The @samp{--fullwidth}, @samp{--fullheight} and @samp{--fullscreen}
command line options are not supported.

@item
The @samp{--geometry} option now entirely applies only to the initial
frame.

@item
Many commands have been removed from the menus or rearranged.

@item
Many @code{etags} features for customizing parsing using regexps
have been removed.

@item
The CUA, ido, table, tramp, reveal, ruler-mode, and ibuffer packages
have been removed.  So has the spreadsheet, SES, and the algebraic
calculator, Calc.  (We distribute Calc separately.)

@item
The kmacro package has been removed.  To start a keyboard macro you
must use @kbd{C-x (}; to end one, @kbd{C-x )}; to execute the last
one, @kbd{C-x e}.

@item
To keep up with decreasing computer memory capacity and disk space, many
other functions and files have been eliminated in Emacs 21.3.
@end itemize

@ignore
   arch-tag: 32932bd9-46f5-41b2-8a0e-fb0cc4caeb29
@end ignore