Karl Heuer [Tue, 3 Jan 1995 01:35:49 +0000 (01:35 +0000)]
(enum Lisp_Type): Don't use trailing comma.
(VALBITS, GCTYPEBITS): Define these regardless of NO_UNION_TYPE.
[!NO_UNION_TYPE] (union Lisp_Object): Use symbolic constants.
(XSETBUFFER, BUFFERP, GC_BUFFERP): Rewrite to use pseudovectors.
(PVEC_BUFFER, PVEC_PROCESS, PVEC_FRAME, PVEC_COMPILED)
(PVEC_WINDOW, PVEC_WINDOW_CONFIGURATION, PVEC_SUBR):
Now enumeration constants, not macros.
(PVEC_FLAG): Enumeration alias for PSEUDOVECTOR_FLAG.
(Fmake_indirect_buffer): New function.
(Fbuffer_base_buffer): New function.
(syms_of_buffer): defsubr them.
(reset_buffer): Don't alter intervals here.
(Fget_buffer_create): Use BUF_MARKERS. Init BUF_INTERVALS here.
(Fkill_buffer): Use BUF_MARKERS; but don't touch it in indir buf.
Likewise BUF_INTERVALS.
(init_buffer_once): Set up .text and BUF_INTERVALS
in buffer_local_symbols and buffer_defaults.
(Fkill_buffer): Don't free the text in indirect buffer.
When killing a base buffer, kill its indirect buffers first.
(Fget_buffer_create): Initialize pt_marker, begv/zv_marker.
(set_buffer_internal): Use and update these markers.
Copy undo_list in and out of the base buffer.
(Fget_buffer_create): Init save_modiff field here.
(reset_buffer): Not here.
(Fbuffer_modified_p): Use BUF_SAVE_MODIFF.
(Fset_buffer_modified_p): Use SAVE_MODIFF.
(Fkill_buffer, list_buffers_1): Use BUF_SAVE_MODIFF.
(Fget_buffer_create): Initialize the size and text fields.
(struct buffer): Fields markers and intervals moved out.
(struct buffer_text): Fields markers and intervals moved here.
(BUF_MARKERS, BUF_INTERVALS): New macros.
(struct buffer): Make buffer_file_type field unconditional.
(struct buffer): New field pt_marker.
save_modiff field deleted.
(struct buffer_text): save_modiff field moved here.
(SAVE_MODIFF, BUF_SAVE_MODIFF): New macros.
Use them instead of direct access to save_modiff field.
(struct buffer): New fields begv_marker, zv_marker.
(struct buffer): Make text field be a pointer.
The struct buffer_text field renamed to own_text.
Add fields indirect_to_buffer and size.
Move pt, begv and zv fields here.
(struct buffer_text): Moved from here.
(BEGV, PT, ZV, BEGV_ADDR, PT_ADDR, ZV_ADDR): Corresponding changes.
(BUF_BEGV, BUF_PT, BUF_ZV): Corresponding changes.
(SET_BUF_ZV, SET_BUF_PT, point):
(auto-mode-alist): Add entries for .cls files,
and for /drafts/. Put tex-mode and latex-mode in lower case.
(set-visited-file-name): Error if buffer is indirect.
(basic-save-buffer): For indirect buffer, save the base buffer.
(save-some-buffers): Ignore indirect buffers.
Added terminfo support.
(te-terminal-name-prefix, te-terminal-name, te-terminfo-systems):
New variables.
(terminal-emulator): Handle termcap or terminfo.
(te-create-terminfo, te-create-termcap): New subroutines.
(te-tic-sentinel): New subroutine.
(mark_object): Don't use Lisp_Process, Lisp_Window.
Handle frames, compileds and subrs as branch of Lisp_Vectorlike case.
(Fmake_byte_code): Use XSETCOMPILED.
(super-apropos-check-elc-file): New function.
specifies which file to search.
(apropos-files-scanned): New variable.
(super-apropos): Bind apropos-files-scanned.
Update apropos-accumulate from apropos-print-matches.
Call super-apropos-accumulate before checking for no matches.
(super-apropos-check-doc-file): Don't visit the file, just insert it.
(super-apropos-accumulate): When doc string is in a file, scan that file.
(apropos-print-matches): Return the sorted list.
(safe-documentation): Handle compiled files.
(super-apropos, super-apropos-check-doc-file)
(super-apropos-accumulate): Vars item, fn-doc and var-doc renamed
to apropos-item, apropos-fn-doc and apropos-var-doc.
(apropos-item, apropos-var-doc, apropos-fn-doc)
(apropos-accumulate, apropos-regexp): New defvars.
(super-apropos): Bind apropos-regexp to regexp.
(super-apropos-accumulate): Use apropos-regexp.
(server-process-filter): Process each line separately.
(server-buffer-done): Delete dead buffers from CLIENT list.
Wait a while after sending a command to emacsclient.
Verify that BUFFER is a buffer.
(xmalloc, xrealloc): Add casts.
(add_field): Handle <...> and "..." syntax.
(setup_files, get_keyword): Clean up parens and line breaks.
(args_size): Likewise.
(scrolling_1): When scroll_region_ok is set, use a
new scrolling method which scrolls groups of lines directly
to their final vertical positions.
(struct matrix_elt): New field writecount.
(calculate_direct_scrolling): New function.
(do_direct_scrolling): New function.
(ange-ftp-save-match-data): Macro deleted.
Most callers use save-match-data.
(ange-ftp-process-filter, ange-ftp-process-sentinel)
(ange-ftp-gwp-filter): Don't save the match data explicitly.
(ange-ftp-process-filter, ange-ftp-gwp-filter):
After comint output processing, update STR.
(SET_REGS_MATCHED): Do nothing if set_regs_matched_done is 1.
Set set_regs_matched_done to 1.
(re_match_2_internal): New local var set_regs_matched_done.
Set it to 0 when appropriate.
(POP_FAILURE_POINT): Set set_regs_matched_done to 0.
(re_match_2_internal, case duplicate): Call SET_REGS_MATCHED.
(byte-compile-dest-file): New variable.
(byte-compile-file): Bind that var, early on.
(byte-compile-dynamic): New variable.
(byte-compile-dynamic-docstrings): New variable.
(byte-compile-close-variables): Bind byte-compile-dynamic,
byte-compile-dynamic-docstrings, and byte-compiler-compatibility.
(byte-compile-file): Call normal-mode, not set-auto-mode.
(byte-compile-output-docform): New arguments PREFACE, NAME, SPECINDEX,
QUOTED. Callers changed. Output doc strings as references to the .elc
file itself, using #@ and #$ constructs.
(byte-compile-output-as-comment): New function.
(byte-compile-insert-header): Don't save-excursion.
Insert at point, and move point. Insert extra newline at end.
(byte-compile-from-buffer): Insert the header before compilation.
(elp-pack-number): New function.
(elp-output-results): Use elp-pack-number to truncate time strings,
watching out for very small or very large numbers.
(elp-unset-master): Make it an interactive command.
Don't require cl, picture, or reporter.
Don't provide new-dabbrev.
(dabbrev--try-find): Don't use `loop'.
Don't create or kill local bindings.
(dabbrev-completion): Use key-description to say what to type.
Fix style of "done" message.
(dabbrev-submit-feedback): Function deleted.
(dabbrev--same-major-mode-p): Simplify.
(dabbrev-completion, dabbrev--abbrev-at-point): Fix error msg style.
(dabbrev-filter-elements): New macro.
(dabbrev--select-buffers, dabbrev--find-expansion): Use that.
(dabbrev--search): Use that.
(reporter-dump-variable): Invert the test and
passing of compact-p argument to reporter-beautify-list. List
values are not printed as defuns or function calls.
Updated package list.
(reporter-lisp-indent): New defun.
(reporter-dont-compact-list)
(reporter-status-message, reporter-status-count): New variables.
(reporter-update-status, reporter-beautify-list)
reporter-dump-variable): Now smarter about formating variables
with list values. Checks the value of reporter-dont-compact-list.
(XTupdate_begin): Discard records of prior mouse highlight
when frame must be redrawn.
(x_make_frame_visible, x_make_frame_invisible)
(x_iconify_frame): Give error if frame has explicit_parent.
(x_new_font): Don't set window height if frame has explicit_parent.
(x_mouse_leave): New function broken out of XTread_socket.
When x_focus_event_frame is nonzero, assume that frame gets focus.
(XTread_socket): Use x_mouse_leave for LeaveNotify.
(Fx_create_frame): Check for parent-id parameter.
Set explicit_parent and parent fields.
Don't set visibility if explicit_parent.
[! USE_X_TOOLKIT] (x_window): Specify parent window.