Richard M. Stallman [Mon, 15 Feb 1993 05:55:45 +0000 (05:55 +0000)]
(search_command): #if 0 previous change.
Richard M. Stallman [Mon, 15 Feb 1993 05:42:13 +0000 (05:42 +0000)]
(search_command): When moving to LIM on failure, return LIM.
Richard M. Stallman [Sun, 14 Feb 1993 23:08:25 +0000 (23:08 +0000)]
(Frename_buffer): Make prefix arg set UNIQUE.
Jim Blandy [Sun, 14 Feb 1993 14:40:55 +0000 (14:40 +0000)]
* xterm.c (x_set_window_size): Call change_frame_size instead of
just setting the `rows' and `cols' members of the frame, and
leaving the window tree in complete disarray.
* xterm.c (x_io_error_quitter): New function.
(x_error_quitter): Note that this is only used for protocol
errors now, not I/O errors.
(x_term_init): Set the I/O error handler to x_io_error_quitter.
Jim Blandy [Sun, 14 Feb 1993 14:40:13 +0000 (14:40 +0000)]
* frame.c (Fframe_parameters): Report the `minibuffer' parameter of
minibufferless frames as nil, not `none'.
(Qnone): Remove declaration and initialization for this. It's not
needed anymore.
* xfns.c (Qnone): Add them here; we still accept "none" as a valid
value for the `minibuffer' parameter.
* xfns.c (x_frame_params): Remember that the parameters are called
"auto-raise" and "auto-lower", not "autoraise" and "autolower".
Jim Blandy [Sun, 14 Feb 1993 14:39:45 +0000 (14:39 +0000)]
* xdisp.c (message): Set echo_frame to the frame whose message buf
we want to use, not to the message buf itself.
* xdisp.c (message): Use the message buffer of the frame we're
going to display the message on to format the message, not that of
the selected frame.
Jim Blandy [Sun, 14 Feb 1993 14:39:09 +0000 (14:39 +0000)]
* dispnew.c (remake_frame_glyphs): When re-allocating the frame's
message buffer when echo_area_glyphs is pointing at it, relocate
echo_area_glyphs too. Same for previous_echo_glyphs.
* window.h (previous_echo_glyphs): Add extern declaration for this.
Jim Blandy [Sun, 14 Feb 1993 14:38:43 +0000 (14:38 +0000)]
* keymap.c (Flookup_key, Fkey_binding, Flocal_key_binding,
Fglobal_key_binding, Fminor_mode_key_binding): Add a new optional
argument ACCEPT_DEFAULT, to control whether this function sees
bindings for t.
(Fwhere_is_internal, describe_map_tree, describe_map_2,
describe_vector): Pass the proper arguments to Flookup_key.
Jim Blandy [Sun, 14 Feb 1993 14:38:19 +0000 (14:38 +0000)]
* frame.c (Fframe_parameters): Report the `minibuffer' parameter of
minibufferless frames as nil, not `none'.
(Qnone): Remove declaration and initialization for this. It's not
needed anymore.
* xfns.c (Qnone): Add them here; we still accept "none" as a valid
value for the `minibuffer' parameter.
Jim Blandy [Sun, 14 Feb 1993 14:37:33 +0000 (14:37 +0000)]
* fileio.c (Fdo_auto_save): If NO_MESSAGE is non-nil, don't tell
users that buffers have shrunk a lot. This is called when Emacs
is crashing, so we don't want to run any code that isn't
absolutely necessary. Also, autosave buffers which don't have
specially handled autosave file names first.
* fileio.c (Fexpand_file_name): Pass DEFALT through
Fexpand_file_name before using it.
* fileio.c (Fexpand_file_name): Doc fix.
Jim Blandy [Sun, 14 Feb 1993 14:36:14 +0000 (14:36 +0000)]
* s/usg5-4.h: #include "usg5-3.h", not "s-usg5-3.h".
Jim Blandy [Sun, 14 Feb 1993 14:35:19 +0000 (14:35 +0000)]
* subr.el (mod): Add back this alias for %.
Jim Blandy [Sun, 14 Feb 1993 14:34:47 +0000 (14:34 +0000)]
* rmailout.el (rmail-output, rmail-output-to-mail-file): Reverse
the order of the arguments and make COUNT optional, for backward
compatibility's sake.
Jim Blandy [Sun, 14 Feb 1993 14:33:44 +0000 (14:33 +0000)]
* lisp-mode.el (lisp-fill-paragraph): New function.
(shared-lisp-mode-map): Bind M-q to lisp-fill-paragraph.
Jim Blandy [Sun, 14 Feb 1993 14:33:24 +0000 (14:33 +0000)]
* gosmacs.el: Bind M-h to delete-previous-word, not
backward-kill-word; the latter has different prefix semantics.
* gosmacs.el: Require 'mlsupport, to get definition of
backward-kill-word.
Jim Blandy [Sun, 14 Feb 1993 14:29:30 +0000 (14:29 +0000)]
* frame.el: Clean up initialization code.
(initial-frame-alist): Doc fix.
(minibuffer-frame-alist): New default value, with a reasonable height.
(filtered-frame-list, minibuffer-frame-list): New functions.
(frame-initialize): Use minibuffer-frame-list, instead of writing
it out.
(frame-notice-user-settings): Thoroughly rearranged.
Notice changes to default-frame-alist as well as initial-frame-alist.
Properly handle requests to make the initial frame into a
minibufferless or minibuffer-only frame.
Create a minibuffer-only frame if the initial frame should lack a
minibuffer and there are no other minibuffer frames created by the
user's initialization file.
Fix any frames using the initial frame as a surrogate minibuffer
frame.
Restore the current buffer after creating and deleting all these
frames.
* frame.el (set-default-font, set-frame-background,
set-frame-foreground, set-cursor-color, set-pointer-color,
set-auto-raise, set-auto-lower, set-vertical-bar,
set-horizontal-bar): Give these docstrings.
(set-auto-raise, set-auto-lower, set-vertical-bar,
set-horizontal-bar): Make these toggle or look at the prefix
argument, like minor modes.
* frame.el (set-vertical-bar): Use the proper parameter symbol.
(set-horizontal-bar): Signal an error indicating that horizontal
scrollbars are not implemented.
Jim Blandy [Sun, 14 Feb 1993 14:27:24 +0000 (14:27 +0000)]
* fortran.el (fortran-prepare-abbrev-list-buffer): Put quote in
front of first argument to `insert-abbrev-table-description'.
* fortran.el (fortran-is-in-string-p): Fixed incorrect behaviour
when in first statement of a buffer.
Jim Blandy [Sun, 14 Feb 1993 14:26:41 +0000 (14:26 +0000)]
* cl.el (cl-version): Mark as no longer in beta test.
Jim Blandy [Sun, 14 Feb 1993 14:26:06 +0000 (14:26 +0000)]
* Makefile.in (COPYDIR, COPYDESTS): Remove ${srcdir}/info and
${infodir} from these variables; we have written out explicit code
to install the info files.
* Makefile.in: Some makes can't handle comments in the middle of
commands; move them to before the whole rule.
Jim Blandy [Sun, 14 Feb 1993 14:25:18 +0000 (14:25 +0000)]
* configure (progname): New option `--with-gcc'. Make it clearer
how we are trying to guess whether or not we have GCC.
* INSTALL: Document the `--with-gcc' option, and improve
description of `--with-x' options.
Jim Blandy [Sun, 14 Feb 1993 14:13:56 +0000 (14:13 +0000)]
Initial revision
Richard M. Stallman [Sat, 13 Feb 1993 21:56:10 +0000 (21:56 +0000)]
(Fadd_text_properties): Put OBJECT arg last. Make it optional.
(Fset_text_properties, Fremove_text_properties): Likewise.
(Fnext_single_property_change, Fprevious_single_property_change):
(Fnext_property_change, Fprevious_property_change): Likewise.
(Ferase_text_properties): #if 0.
(Fget_text_property): New function.
Richard M. Stallman [Sat, 13 Feb 1993 11:34:19 +0000 (11:34 +0000)]
(C_SWITCH_MACHINE): Don't define if GCC.
Richard M. Stallman [Thu, 11 Feb 1993 23:32:07 +0000 (23:32 +0000)]
(enable-flow-control...): Renamed from evade...
(enable-flow-control): Add autoload.
Richard M. Stallman [Thu, 11 Feb 1993 23:21:01 +0000 (23:21 +0000)]
(Finsert_buffer_substring): Proper error for non-ex buffer.
(Fcompare_buffer_substrings): Likewise.
Richard M. Stallman [Thu, 11 Feb 1993 06:00:51 +0000 (06:00 +0000)]
(Fcompare_buffer_substrings): New function.
John Hassey [Wed, 10 Feb 1993 17:56:58 +0000 (17:56 +0000)]
removed m88kbcs, changed delta88 and harris to
use sysv3.
Richard M. Stallman [Wed, 10 Feb 1993 07:08:53 +0000 (07:08 +0000)]
Update GPL version.
Richard M. Stallman [Wed, 10 Feb 1993 06:45:33 +0000 (06:45 +0000)]
(set-gosmacs-bindings): Fix binding of \eh.
Richard M. Stallman [Wed, 10 Feb 1993 06:14:12 +0000 (06:14 +0000)]
(char_ins_del_cost): Use FRAME_WIDTH, not FRAME_HEIGHT.
Richard M. Stallman [Tue, 9 Feb 1993 09:58:19 +0000 (09:58 +0000)]
Fix copyright notice.
Roland McGrath [Mon, 8 Feb 1993 22:25:34 +0000 (22:25 +0000)]
(add-change-log-entry): Undo Jan 25 change. It worked for buffers in
indented-text-mode, but lost for change-log-mode, which is what matters.
Roland McGrath [Mon, 8 Feb 1993 20:46:10 +0000 (20:46 +0000)]
(compilation-forget-errors): Just set
compilation-directory-stack to nil; no need to loop through it.
(next-error): For a non-numeric prefix arg, pass nil for
compile-reinitialize-errors's FIND-AT-LEAST arg.
(next-error): When getting marker for error source location, be
sure to examine buffer local value of compilation-old-error-list
before switching to source file buffer.
Richard M. Stallman [Sun, 7 Feb 1993 16:44:11 +0000 (16:44 +0000)]
(sort-subr): Fix previous change.
Richard M. Stallman [Sun, 7 Feb 1993 05:54:14 +0000 (05:54 +0000)]
(sort-build-lists): Record the key as pair of positions;
don't copy string from buffer.
(sort-subr): Use compare-buffer-substrings.
Richard M. Stallman [Sun, 7 Feb 1993 04:56:23 +0000 (04:56 +0000)]
(mail-setup): Use fill-region-as-paragraph
for To field; handle the CC just like the To.
Richard M. Stallman [Sun, 7 Feb 1993 00:31:58 +0000 (00:31 +0000)]
(extra_keyboard_modifiers): New Lisp var.
(read_char): Support ctl and meta bits in extra_keyboard_modifiers.
Richard M. Stallman [Sun, 7 Feb 1993 00:30:36 +0000 (00:30 +0000)]
(XTread_socket): Support extra_keyboard_modifiers.
Jim Wilson [Fri, 5 Feb 1993 23:42:43 +0000 (23:42 +0000)]
(i[34]86sol2): New abbrev for i[34]86-unknown-solaris2.
Roland McGrath [Fri, 5 Feb 1993 18:28:05 +0000 (18:28 +0000)]
(make-comint): Added docstring.
Roland McGrath [Fri, 5 Feb 1993 17:41:42 +0000 (17:41 +0000)]
Restore nuked information in minibuffer history bindings.
Use intelligent method of disabling completion-oriented bindings.
Richard M. Stallman [Fri, 5 Feb 1993 02:06:38 +0000 (02:06 +0000)]
Once again, go back to ordinary next-history-element
for M-n in minibuf, even for completion.
Richard M. Stallman [Wed, 3 Feb 1993 04:33:30 +0000 (04:33 +0000)]
(sort-subr): Doc fixes.
Richard M. Stallman [Tue, 2 Feb 1993 20:40:41 +0000 (20:40 +0000)]
(mail-do-fcc): Allow dash in timezone name.
Jim Blandy [Mon, 1 Feb 1993 22:31:17 +0000 (22:31 +0000)]
* simple.el (kill-region): If the buffer is read-only, do beep,
but also put the region in the kill ring. Doc fix.
Jim Blandy [Mon, 1 Feb 1993 22:19:52 +0000 (22:19 +0000)]
* texinfo.el (texinfo-mode): Make page-delimiter buffer-local, and
set it according to texinfo-chapter-level-regexp.
Roland McGrath [Sun, 31 Jan 1993 20:48:19 +0000 (20:48 +0000)]
(mail-abbrev-end-of-buffer): Changed interactive spec from "P" to "p".
Richard M. Stallman [Sat, 30 Jan 1993 03:43:24 +0000 (03:43 +0000)]
(c-macro-expand): Use expanded name to write or delete.
Send two eofs.
Richard M. Stallman [Sat, 30 Jan 1993 02:16:57 +0000 (02:16 +0000)]
(force_fit_type): Abort if T not INTEGER_CST.
Jim Blandy [Sat, 30 Jan 1993 01:21:00 +0000 (01:21 +0000)]
* window.c (Fscroll_left, Fscroll_right): Don't forget to apply
XWINDOW to selected_window before passing it to window_internal_width.
Jim Blandy [Fri, 29 Jan 1993 22:13:36 +0000 (22:13 +0000)]
* xmenu.c (Fx_popup_menu): Don't forget to turn the frame-relative
coordinates for the menu position into root-window-relative
coordinates.
Jim Blandy [Fri, 29 Jan 1993 21:32:37 +0000 (21:32 +0000)]
* lread.c (read1): Although digits followed by a '.' are an
integer, a single . by itself (like, say, \.) should be a symbol.
Roland McGrath [Thu, 28 Jan 1993 20:22:03 +0000 (20:22 +0000)]
(next-complete-history-element): Restore point after replacing the
buffer text with the appropriate history element.
Richard M. Stallman [Thu, 28 Jan 1993 06:17:47 +0000 (06:17 +0000)]
(sendmail-program): Try /usr/ucblib/sendmail.
Richard M. Stallman [Thu, 28 Jan 1993 06:16:04 +0000 (06:16 +0000)]
Don't use the completion-oriented history commands.
Jim Blandy [Tue, 26 Jan 1993 04:28:27 +0000 (04:28 +0000)]
* make-dist: Don't distributed the RCS files in the etc directory.
Jim Blandy [Tue, 26 Jan 1993 03:05:54 +0000 (03:05 +0000)]
* fns.c (internal_equal): Protect the clause for comparing numbers
of different tpes with a "#ifdef LISP_FLOAT_TYPE".
Jim Blandy [Tue, 26 Jan 1993 01:58:16 +0000 (01:58 +0000)]
JimB's changes since January 18th
Jim Blandy [Tue, 26 Jan 1993 01:56:29 +0000 (01:56 +0000)]
JimB's changes from January 18 to present
Jim Blandy [Tue, 26 Jan 1993 01:36:02 +0000 (01:36 +0000)]
* disass.el (disassemble): Add autoload cookie for this.
* bytecomp.el (byte-decompile-bytecode): Add an autoload for this.
compiled-function-p has been renamed to byte-code-function-p.
* subr.el: Define compiled-function-p as an alias for it.
* bytecomp.el: Register compiled-function-p as obsolete.
* bytecomp.el, byte-opt.el, disass.el, help.el, map-ynp.el: Change
uses.
unread-command-event has been replaced by unread-command-events.
* simple.el (prefix-arg-internal): Use this to push back all
key sequences for processing by the main command loop, instead of
trying to simulate its behavior ourselves.
* bytecomp.el: Document unread-command-event as an obsolete
variable, although nothing but the GNU Emacs 19 sources use it.
Adjust obsolescence message for unread-command-char.
* comint.el (comint-dynamic-list-completions): Change uses of
unread-command-event to work with unread-command-events.
* ebuff-menu.el (electric-buffer-list, Electric-buffer-menu-exit):
Same.
* edebug.el (edebug-outside-excursion): Same.
* ehelp.el (electric-help-command-loop): Same.
* electric.el (Electric-command-loop): Same.
* emerge.el (emerge-show-file-name): Same.
* fortran.el (fortran-abbrev-start,
fortran-window-create-momentarily): Same.
* gnus.el (gnus-Subject-next-article): Same.
* info.el (Info-summary): Same.
* isearch-mode.el (isearch-update, isearch-unread): Same.
* map-ynp.el (map-y-or-n-p): Same.
* mlsupport.el (push-back-character): Same.
* replace.el (perform-replace): Same.
* simula.el (simula-electric-label): Same.
* subr.el (read-quoted-char, momentary-string-display): Same.
* sun-mouse.el (mouse-second-hit): Same.
* terminal.el (te-escape-extended-command-unread): Same.
* vip.el (vip-escape-to-emacs, vip-prefix-arg-value,
vip-prefix-arg-com): Same.
Jim Blandy [Tue, 26 Jan 1993 01:29:51 +0000 (01:29 +0000)]
compiled-function-p has been renamed to byte-code-function-p.
* subr.el: Define compiled-function-p as an alias for it.
* bytecomp.el: Register compiled-function-p as obsolete.
* bytecomp.el, byte-opt.el, disass.el, help.el, map-ynp.el: Change
uses.
Jim Blandy [Tue, 26 Jan 1993 01:26:58 +0000 (01:26 +0000)]
x-selection-value has been renamed to x-selection.
x-own-selection has been renamed to x-set-selection, and the order
of its arguments has been reversed, for consistency with other
lisp functions like put and aset.
* term/x-win.el (x-select-text): Adjusted.
(x-cut-buffer-or-selection-value): Check the primary selection,
using x-selection, instead of checking the cut buffer again.
* term/x-win.el: Doc fix.
Roland McGrath [Mon, 25 Jan 1993 23:30:39 +0000 (23:30 +0000)]
(tags-query-replace): C-t
Richard M. Stallman [Mon, 25 Jan 1993 20:12:52 +0000 (20:12 +0000)]
[TERMINFO]: Don't define LIBS_TERMCAP.
Richard M. Stallman [Mon, 25 Jan 1993 20:11:29 +0000 (20:11 +0000)]
[__GNUC__] (LD_SWITCH_SYSTEM): Remove -a.
[__GNUC__] (ORDINARY_LINK): Defined.
Roland McGrath [Mon, 25 Jan 1993 17:05:57 +0000 (17:05 +0000)]
(add-change-log-entry): Restrict PARAGRAPH-END to being on the first
page.
Roland McGrath [Mon, 25 Jan 1993 16:59:48 +0000 (16:59 +0000)]
(next-complete-history-element): Use only buffer contents before point
to match history elements.
Roland McGrath [Mon, 25 Jan 1993 00:45:01 +0000 (00:45 +0000)]
({next,previous}-complete-history-element): New functions.
Bind them to M-n/M-p and next/prior in minibuffer completion maps.
Jim Blandy [Fri, 22 Jan 1993 02:47:12 +0000 (02:47 +0000)]
* xterm.c (x_scrollbar_create): Set the scrollbars to use
EastGravity.
* frame.c (Fdelete_frame): Clear the frame's display after calling
the window-system-dependent frame destruction routine. We
no longer need to pass the display as a separate argument to
x_destroy_window.
* xterm.c (x_destroy_window): Put the code which clears out f's
display here, right after we free the storage it points to. Put
everything, including the code which clears x_focus_frame and
x_highlight_frame, inside the BLOCK/UNBLOCK_INPUT pair.
Jim Blandy [Fri, 22 Jan 1993 02:45:16 +0000 (02:45 +0000)]
* frame.c (Fdelete_frame): Clear the frame's display after calling
the window-system-dependent frame destruction routine. We
no longer need to pass the display as a separate argument to
x_destroy_window.
* xterm.c (x_destroy_window): Put the code which clears out f's
display here, right after we free the storage it points to. Put
everything, including the code which clears x_focus_frame and
x_highlight_frame, inside the BLOCK/UNBLOCK_INPUT pair.
* frame.c (Fdelete_frame): Clear the frame's display after calling
the window-system-dependent frame destruction routine. We
no longer need to pass the display as a separate argument to
x_destroy_window.
* xterm.c (x_destroy_window): Put the code which clears out f's
display here, right after we free the storage it points to. Put
everything, including the code which clears x_focus_frame and
x_highlight_frame, inside the BLOCK/UNBLOCK_INPUT pair.
Roland McGrath [Thu, 21 Jan 1993 22:43:16 +0000 (22:43 +0000)]
(tags-loop-scan): Set default value to an error form.
Roland McGrath [Thu, 21 Jan 1993 22:36:48 +0000 (22:36 +0000)]
(visit-tags-table-buffer): When propagating a change of name after
file-find-noselect, refer to tags-file-name, not the undefined var FILE.
Roland McGrath [Tue, 19 Jan 1993 21:05:15 +0000 (21:05 +0000)]
(visit-tags-table-buffer): Error if called with 'same and no current table.
Roland McGrath [Tue, 19 Jan 1993 00:56:45 +0000 (00:56 +0000)]
(Fdisplay_buffer): Doc fix.
Jim Blandy [Sat, 16 Jan 1993 06:04:16 +0000 (06:04 +0000)]
* c-mode.el (c-switch-label-regexp): New constant.
(electric-c-terminator, c-indent-line, indent-c-exp): Use it to
correctly recognize default labels in switch statements.
Jim Blandy [Sat, 16 Jan 1993 05:58:15 +0000 (05:58 +0000)]
* xterm.c (x_window_to_scrollbar): Search frames'
condemned_scrollbars list as well; input might arrive during
redisplay.
(x_scrollbar_report_motion): Don't forget to BLOCK_INPUT.
(XTjudge_scrollbars): Clear the condemned scrollbar list before
traversing it, so we don't try to process an event on a scrollbar
we've killed.
Richard M. Stallman [Fri, 15 Jan 1993 21:57:50 +0000 (21:57 +0000)]
(Frecent_keys): Doc fix.
Richard M. Stallman [Fri, 15 Jan 1993 07:02:35 +0000 (07:02 +0000)]
(shell): Doc fix.
Paul Eggert [Fri, 15 Jan 1993 05:33:29 +0000 (05:33 +0000)]
Add copyright and authorship notices.
Roland McGrath [Thu, 14 Jan 1993 21:28:18 +0000 (21:28 +0000)]
(switch-to-buffer-other-frame): Pass t to pop-to-buffer.
Richard M. Stallman [Thu, 14 Jan 1993 21:20:01 +0000 (21:20 +0000)]
(Fwindow_at): Doc fix.
David J. MacKenzie [Thu, 14 Jan 1993 20:38:21 +0000 (20:38 +0000)]
*** empty log message ***
Richard M. Stallman [Thu, 14 Jan 1993 20:09:22 +0000 (20:09 +0000)]
(find_entries): If filename ends in .f or .for, don't try anything but Fortran.
Jim Blandy [Thu, 14 Jan 1993 17:45:39 +0000 (17:45 +0000)]
The shell comment char is #, not ;.
Jim Blandy [Thu, 14 Jan 1993 17:37:06 +0000 (17:37 +0000)]
Remove info from the distribution. It looks very out of date now.
Jim Blandy [Thu, 14 Jan 1993 17:31:56 +0000 (17:31 +0000)]
* xterm.c (x_scrollbar_create): Include PointerMotionHintMask in
the event mask for scrollbars.
Jim Blandy [Thu, 14 Jan 1993 17:30:26 +0000 (17:30 +0000)]
* make-dist: Include `./lisp/calc-2.02' in the distribution.
Add `./cpp', `./info', and `./man' back into the distribution.
Jim Blandy [Thu, 14 Jan 1993 16:15:54 +0000 (16:15 +0000)]
* dispnew.c (Fredraw_display): DEFUN was missing a closing paren.
Jim Blandy [Thu, 14 Jan 1993 15:37:33 +0000 (15:37 +0000)]
* make-dist: Remember that the authoritative COPYING notice is
`etc/COPYING', not `../etc/COPYING'.
Jim Blandy [Thu, 14 Jan 1993 15:36:25 +0000 (15:36 +0000)]
* .gdbinit: Add "-geometry +0+0" to default args.
(xscrollbar): New command.
Jim Blandy [Thu, 14 Jan 1993 15:34:59 +0000 (15:34 +0000)]
Make scrollbar structures into lisp objects, so that they can be
GC'd; this allows windows and scrollbars can refer to each other
without worrying about dangling pointers.
* xterm.h (struct x_display): vertical_scrollbars and
judge_timestamp members deleted.
(struct scrollbar): Redesigned to be a template for a Lisp_Vector.
(SCROLLBAR_VEC_SIZE, XSCROLLBAR, SCROLLBAR_PACK, SCROLLBAR_UNPACK,
SCROLLBAR_X_WINDOW, SET_SCROLLBAR_X_WINDOW,
VERTICAL_SCROLLBAR_INSIDE_WIDTH, VERTICAL_SCROLLBAR_TOP_RANGE,
VERTICAL_SCROLLBAR_INSIDE_HEIGHT, VERTICAL_SCROLLBAR_MIN_HANDLE):
New macros, to help deal with the lispy structures, and deal with
the graphics.
* frame.h (WINDOW_VERTICAL_SCROLLBAR): Macro deleted.
(struct frame): New fields `scrollbars' and
`condemned_scrollbars', for use by the scrollbar implementation.
[MULTI_FRAME and not MULTI_FRAME] (FRAME_SCROLLBARS,
FRAME_CONDEMNED_SCROLLBARS): Accessors for the new field.
* window.h (struct window): Doc fix for vertical_scrollbar field.
* frame.c (make_frame): Initialize the `scrollbars' and
`condemned_scrollbars' fields of the new frame.
* alloc.c (mark_object): Mark the `scrollbars' and
`condemned_scrollbars' slots of frames.
* xterm.c (x_window_to_scrollbar): Scrollbars are chained on
frames' scrollbar field, not their x.display->vertical_scrollbars
field.
(x_scrollbar_create, x_scrollbar_set_handle, x_scrollbar_move,
x_scrollbar_remove, XTset_vertical_scrollbar,
XTcondemn_scrollbars, XTredeem_scrollbar, XTjudge_scrollbars,
x_scrollbar_expose, x_scrollbar_handle_click,
x_scrollbar_handle_motion): Substantially rewritten to correct
typos and brainos, and to accomodate the lispy structures.
* xterm.h (CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT,
PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Rewritten, using:
(CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, PIXEL_TO_CHAR_ROW,
PIXEL_TO_CHAR_COL): New macros.
* xfns.c [not HAVE_X11] (Fx_create_frame): Use the
PIXEL_TO_CHAR_{HEIGHT,WIDTH} macros to figure the frame's
character size, and the CHAR_TO_PIXEL* macros for vice versa.
* xterm.c (XTwrite_glyphs, XTclear_end_of_line, stufflines,
scraplines, dumprectangle, pixel_to_glyph_coords, x_draw_box,
clear_cursor, x_display_bar_cursor, x_draw_single_glyph,
x_set_mouse_position): Use the CHAR_TO_PIXEL_* macros.
Jim Blandy [Thu, 14 Jan 1993 15:34:14 +0000 (15:34 +0000)]
Make scrollbar structures into lisp objects, so that they can be
GC'd; this allows windows and scrollbars can refer to each other
without worrying about dangling pointers.
* xterm.h (struct x_display): vertical_scrollbars and
judge_timestamp members deleted.
(struct scrollbar): Redesigned to be a template for a Lisp_Vector.
(SCROLLBAR_VEC_SIZE, XSCROLLBAR, SCROLLBAR_PACK, SCROLLBAR_UNPACK,
SCROLLBAR_X_WINDOW, SET_SCROLLBAR_X_WINDOW,
VERTICAL_SCROLLBAR_INSIDE_WIDTH, VERTICAL_SCROLLBAR_TOP_RANGE,
VERTICAL_SCROLLBAR_INSIDE_HEIGHT, VERTICAL_SCROLLBAR_MIN_HANDLE):
New macros, to help deal with the lispy structures, and deal with
the graphics.
* frame.h (WINDOW_VERTICAL_SCROLLBAR): Macro deleted.
(struct frame): New fields `scrollbars' and
`condemned_scrollbars', for use by the scrollbar implementation.
[MULTI_FRAME and not MULTI_FRAME] (FRAME_SCROLLBARS,
FRAME_CONDEMNED_SCROLLBARS): Accessors for the new field.
* window.h (struct window): Doc fix for vertical_scrollbar field.
* frame.c (make_frame): Initialize the `scrollbars' and
`condemned_scrollbars' fields of the new frame.
* alloc.c (mark_object): Mark the `scrollbars' and
`condemned_scrollbars' slots of frames.
* xterm.c (x_window_to_scrollbar): Scrollbars are chained on
frames' scrollbar field, not their x.display->vertical_scrollbars
field.
(x_scrollbar_create, x_scrollbar_set_handle, x_scrollbar_move,
x_scrollbar_remove, XTset_vertical_scrollbar,
XTcondemn_scrollbars, XTredeem_scrollbar, XTjudge_scrollbars,
x_scrollbar_expose, x_scrollbar_handle_click,
x_scrollbar_handle_motion): Substantially rewritten to correct
typos and brainos, and to accomodate the lispy structures.
* xterm.c (x_scrollbar_background_expose): Function deleted; we
don't want anything in the background there after all.
(XTread_socket): Don't call x_scrollbar_background_expose. We
don't care.
* xterm.h (CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT,
PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Rewritten, using:
(CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, PIXEL_TO_CHAR_ROW,
PIXEL_TO_CHAR_COL): New macros.
* xfns.c [not HAVE_X11] (Fx_create_frame): Use the
PIXEL_TO_CHAR_{HEIGHT,WIDTH} macros to figure the frame's
character size, and the CHAR_TO_PIXEL* macros for vice versa.
* xterm.c (XTwrite_glyphs, XTclear_end_of_line, stufflines,
scraplines, dumprectangle, pixel_to_glyph_coords, x_draw_box,
clear_cursor, x_display_bar_cursor, x_draw_single_glyph,
x_set_mouse_position): Use the CHAR_TO_PIXEL_* macros.
* xterm.c (x_wm_set_size_hint): The max_width and max_height
members of the size_hints are expressed in pixels, not columns.
* xterm.c (x_set_window_size): Remove ibw var; it's not used.
Set FRAME_WIDTH (f) to cols instead of rows. Duh.
* xterm.c (pixel_to_glyph_coords): Properly set *bounds to the
character cell bounding the position, even when the position is
off the frame.
* termhooks.h (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return anything any
more, and doesn't take a struct scrollbar * argument any more.
(condemn_scrollbars_hook, redeem_scrollbar_hook,
judge_scrollbars_hook): Doc fixes.
* term.c (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return
anything any more. Doc fixes.
* keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
window from *mouse_position_hook and pass it to
make_lispy_movement, instead of working with a pointer to a struct
scrollbar.
(make_lispy_event): We don't need a window_from_scrollbar function
anymore; we are given the window directly in *EVENT.
Unify the code which generates
text-area mouse clicks and scrollbar clicks; use the same code to
distinguish clicks from drags on the scrollbar as in the text area.
Distinguish clicks from drags by storing a copy of the lispy
position list returned as part of the event.
(button_down_location): Make this a lisp vector, rather than an
array of random structures.
(struct mouse_position): Remove this; it's been replaced by a lisp
list.
(make_lispy_movement): Accept the scrollbar's window as a
parameter, rather than the scrollbar itself.
If FRAME is zero, assume that the other arguments are garbage.
(syms_of_keyboard): No need to staticpro each window of
button_down_location now; just initialize and staticpro it.
* window.c (window_from_scrollbar): Function deleted; no longer
needed.
* xdisp.c (redisplay_window): Just pass the window to
set_vertical_scrollbar hook; don't pass the scrollbar object too.
* xterm.c (XTmouse_position): Don't return a pointer to the
scrollbar for scrollbar motion; instead, return the scrollbar's
window.
* xterm.c (XTmouse_position): Entirely rewritten, using
XTranslateCoordinates. Call x_scrollbar_report_motion to handle
scrollbar movement events.
(x_scrollbar_report_motion): New function, to help out
XTmouse_position.
* termhooks.h (struct input_event): Replace the frame member with
a Lisp_Object member by the name of frame_or_window. Doc fixes.
Remove the scrollbar member; instead, use frame_or_window to hold the
window whose scrollbar was clicked.
* keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event,
make_lispy_event): Adjust references to frame member of struct
input_event to use frame_or_window now.
* xterm.c (construct_mouse_click, XTread_socket): Same.
* xterm.c (last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
last_mouse_scroll_range_start, last_mouse_scroll_range_end):
Replaced with...
(last_mouse_scrollbar): New variable.
(note_mouse_movement): Clear last_mouse_scrollbar when we have
receieved a new motion.
(syms_of_xterm): Staticpro last_mouse_scrollbar.
* xterm.c (note_mouse_position): Renamed to note_mouse_movement,
because that's what it really does.
(x_scrollbar_handle_motion): Renamed to x_scrollbar_note_movement,
for consistency.
(XTread_socket): Adjusted.
* xterm.c (XTset_scrollbar): Renamed to XTset_vertical_scrollbar.
(x_term_init): Adjusted.
* emacs.c (shut_down_emacs): New function.
(fatal_error_signal, Fkill_emacs): Call it, instead of writing it out.
* xterm.c (x_connection_closed): Call shut_down_emacs instead of
Fkill_emacs; the latter will try to perform operations on the X
server and die a horrible death.
* lisp.h (shut_down_emacs): Add extern declaration for it.
* xterm.c (x_error_quitter): Move the abort call to after we print
the error message. No harm in that.
Jim Blandy [Thu, 14 Jan 1993 15:19:55 +0000 (15:19 +0000)]
* xfns.c (Fx_create_frame): After mapping the frame, call
SET_FRAME_GARBAGED, not just plain FRAME_GARBAGED.
* xfns.c (Qvertical_scrollbars): New symbol. Use it as the name
of the parameter which decides whether or not the frame has
scrollbars, instead of Qvertical_scrollbar.
(Fx_create_frame): Adjusted accordingly.
(syms_of_xfns): Initialize and staticpro Qvertical_scrollbars.
(x_set_vertical_scrollbar): Renamed to x_set_vertical_scrollbars.
(x_frame_parms): Adjusted accordingly.
* xterm.h (CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT,
PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Rewritten, using:
(CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, PIXEL_TO_CHAR_ROW,
PIXEL_TO_CHAR_COL): New macros.
* xfns.c [not HAVE_X11] (Fx_create_frame): Use the
PIXEL_TO_CHAR_{HEIGHT,WIDTH} macros to figure the frame's
character size, and the CHAR_TO_PIXEL* macros for vice versa.
* xterm.c (XTwrite_glyphs, XTclear_end_of_line, stufflines,
scraplines, dumprectangle, pixel_to_glyph_coords, x_draw_box,
clear_cursor, x_display_bar_cursor, x_draw_single_glyph,
x_set_mouse_position): Use the CHAR_TO_PIXEL_* macros.
* xfns.c (x_set_name): To request that the modelines be redrawn,
execute the statement "update_mode_lines = 1;" instead of the
silly statement "update_mode_lines;".
* xfns.c (x_set_vertical_scrollbars): Don't try to set the
X window's size if the frame's X window hasn't been created yet.
* xfns.c (x_figure_window_size): Set the frame's
vertical_scrollbar_extra field before trying to calculate its
pixel dimensions.
* xfns.c (x_window): When calling x_implicitly_set_name for the
sake of drawing the name for the first time, remember to clear and
set the frame's explicit_name member as well as its name member.
(Fx_create_frame): Set the frame's explicit_name member if the
user specified the name explicitly.
* xfns.c (Fx_get_resource): Add CLASS argument, to give class of
ATTRIBUTE.
[not HAVE_X11]: Change definition of Fx_get_resource macro
accordingly.
(x_get_arg): Add CLASS argument, to give the class of ATTRIBUTE.
Pass it along to Fx_get_resource.
(x_figure_window_size, x_icon): Pass new argument to x_get_arg.
(x_default_parameter): Add XCLASS argument, to give the class of
XPROP. Pass it along to x_get_arg.
(Fx_create_frame): Pass new args to x_get_arg and
x_default_parameter.
* xfns.c (Fx_create_frame): Use the same resource names and
classes as xterm and Emacs 18.
Jim Blandy [Thu, 14 Jan 1993 15:18:53 +0000 (15:18 +0000)]
* window.c (window_internal_width): New function, which accounts
for scrollbars if present.
* lisp.h (window_internal_height, window_internal_width): Add
extern declarations for these.
* dispnew.c (direct_output_for_insert, direct_output_forward_char,
buffer_posn_from_coords): Use window_internal_width instead of
writing out its definition.
* indent.c (compute_motion): Doc fix; mention scrollbars and
window_internal_width.
(pos_tab_offset, Fvertical_motion): Use window_internal_width
instead of writing it out.
* window.c (Fpos_visible_in_window_p, Fwindow_width, Fscroll_left,
Fscroll_right): Same.
* xdisp.c (redisplay, try_window, try_window_id,
display_text_line): Same.
* xdisp.c (display_string): Add new variable `f', to be W's
frame. Use it to set desired_glyphs, and to get the frame's width
to decide whether or not to draw vertical bars.
* xdisp.c (display_text_line): If we're using vertical scrollbars,
don't draw the vertical bars separating side-by-side windows.
(display_string): Same thing. Draw spaces to fill in the part of
the mode line that is under the scrollbar in partial-width
windows.
* xdisp.c (display_text_line): Use the usable internal width of
the window, as calculated above, as the limit on the length of the
overlay arrow's image, rather than using the window's width field,
less one.
* xdisp.c (redisplay): Call condemn_scrollbars_hook and
judge_scrollbars_hook whenever they are set, not just when the
frame has vertical scrollbars.
* termhooks.h (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return anything any
more, and doesn't take a struct scrollbar * argument any more.
(condemn_scrollbars_hook, redeem_scrollbar_hook,
judge_scrollbars_hook): Doc fixes.
* term.c (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return
anything any more. Doc fixes.
* keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
window from *mouse_position_hook and pass it to
make_lispy_movement, instead of working with a pointer to a struct
scrollbar.
(make_lispy_event): We don't need a window_from_scrollbar function
anymore; we are given the window directly in *EVENT.
Unify the code which generates
text-area mouse clicks and scrollbar clicks; use the same code to
distinguish clicks from drags on the scrollbar as in the text area.
Distinguish clicks from drags by storing a copy of the lispy
position list returned as part of the event.
(button_down_location): Make this a lisp vector, rather than an
array of random structures.
(struct mouse_position): Remove this; it's been replaced by a lisp
list.
(make_lispy_movement): Accept the scrollbar's window as a
parameter, rather than the scrollbar itself.
If FRAME is zero, assume that the other arguments are garbage.
(syms_of_keyboard): No need to staticpro each window of
button_down_location now; just initialize and staticpro it.
* window.c (window_from_scrollbar): Function deleted; no longer
needed.
* xdisp.c (redisplay_window): Just pass the window to
set_vertical_scrollbar hook; don't pass the scrollbar object too.
* xterm.c (XTmouse_position): Don't return a pointer to the
scrollbar for scrollbar motion; instead, return the scrollbar's
window.
* xdisp.c (echo_area_display): Move the assignment of f and the
check for visibility out of the "#ifdef MULTI_FRAME" clause; they
should work under any circumstances.
* xdisp.c (redisplay_window): If we're not going to redisplay this
window because it's a minibuffer whose contents have already been
updated, go ahead and jump to the scrollbar refreshing code
anyway; they still need to be updated. Initialize opoint, so it's
known to be valid when we jump. Calculate the scrollbar settings
properly for minibuffers, no matter what they are displaying at
the time.
* xdisp.c (redisplay_windows): Don't restore the current buffer
and its point before refreshing the scrollbars; we need the buffer
accurate.
Jim Blandy [Thu, 14 Jan 1993 15:17:39 +0000 (15:17 +0000)]
Make scrollbar structures into lisp objects, so that they can be
GC'd; this allows windows and scrollbars can refer to each other
without worrying about dangling pointers.
* xterm.h (struct x_display): vertical_scrollbars and
judge_timestamp members deleted.
(struct scrollbar): Redesigned to be a template for a Lisp_Vector.
(SCROLLBAR_VEC_SIZE, XSCROLLBAR, SCROLLBAR_PACK, SCROLLBAR_UNPACK,
SCROLLBAR_X_WINDOW, SET_SCROLLBAR_X_WINDOW,
VERTICAL_SCROLLBAR_INSIDE_WIDTH, VERTICAL_SCROLLBAR_TOP_RANGE,
VERTICAL_SCROLLBAR_INSIDE_HEIGHT, VERTICAL_SCROLLBAR_MIN_HANDLE):
New macros, to help deal with the lispy structures, and deal with
the graphics.
* frame.h (WINDOW_VERTICAL_SCROLLBAR): Macro deleted.
(struct frame): New fields `scrollbars' and
`condemned_scrollbars', for use by the scrollbar implementation.
[MULTI_FRAME and not MULTI_FRAME] (FRAME_SCROLLBARS,
FRAME_CONDEMNED_SCROLLBARS): Accessors for the new field.
* window.h (struct window): Doc fix for vertical_scrollbar field.
* frame.c (make_frame): Initialize the `scrollbars' and
`condemned_scrollbars' fields of the new frame.
* alloc.c (mark_object): Mark the `scrollbars' and
`condemned_scrollbars' slots of frames.
* xterm.c (x_window_to_scrollbar): Scrollbars are chained on
frames' scrollbar field, not their x.display->vertical_scrollbars
field.
(x_scrollbar_create, x_scrollbar_set_handle, x_scrollbar_move,
x_scrollbar_remove, XTset_vertical_scrollbar,
XTcondemn_scrollbars, XTredeem_scrollbar, XTjudge_scrollbars,
x_scrollbar_expose, x_scrollbar_handle_click,
x_scrollbar_handle_motion): Substantially rewritten to correct
typos and brainos, and to accomodate the lispy structures.
Jim Blandy [Thu, 14 Jan 1993 15:17:11 +0000 (15:17 +0000)]
* window.c (window_internal_width): New function, which accounts
for scrollbars if present.
* lisp.h (window_internal_height, window_internal_width): Add
extern declarations for these.
* dispnew.c (direct_output_for_insert, direct_output_forward_char,
buffer_posn_from_coords): Use window_internal_width instead of
writing out its definition.
* indent.c (compute_motion): Doc fix; mention scrollbars and
window_internal_width.
(pos_tab_offset, Fvertical_motion): Use window_internal_width
instead of writing it out.
* window.c (Fpos_visible_in_window_p, Fwindow_width, Fscroll_left,
Fscroll_right): Same.
* xdisp.c (redisplay, try_window, try_window_id,
display_text_line): Same.
* termhooks.h (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return anything any
more, and doesn't take a struct scrollbar * argument any more.
(condemn_scrollbars_hook, redeem_scrollbar_hook,
judge_scrollbars_hook): Doc fixes.
* term.c (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return
anything any more. Doc fixes.
* keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
window from *mouse_position_hook and pass it to
make_lispy_movement, instead of working with a pointer to a struct
scrollbar.
(make_lispy_event): We don't need a window_from_scrollbar function
anymore; we are given the window directly in *EVENT.
Unify the code which generates
text-area mouse clicks and scrollbar clicks; use the same code to
distinguish clicks from drags on the scrollbar as in the text area.
Distinguish clicks from drags by storing a copy of the lispy
position list returned as part of the event.
(button_down_location): Make this a lisp vector, rather than an
array of random structures.
(struct mouse_position): Remove this; it's been replaced by a lisp
list.
(make_lispy_movement): Accept the scrollbar's window as a
parameter, rather than the scrollbar itself.
If FRAME is zero, assume that the other arguments are garbage.
(syms_of_keyboard): No need to staticpro each window of
button_down_location now; just initialize and staticpro it.
* window.c (window_from_scrollbar): Function deleted; no longer
needed.
* xdisp.c (redisplay_window): Just pass the window to
set_vertical_scrollbar hook; don't pass the scrollbar object too.
* xterm.c (XTmouse_position): Don't return a pointer to the
scrollbar for scrollbar motion; instead, return the scrollbar's
window.
Jim Blandy [Thu, 14 Jan 1993 15:15:15 +0000 (15:15 +0000)]
* termhooks.h (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return anything any
more, and doesn't take a struct scrollbar * argument any more.
(condemn_scrollbars_hook, redeem_scrollbar_hook,
judge_scrollbars_hook): Doc fixes.
* term.c (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return
anything any more. Doc fixes.
* keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
window from *mouse_position_hook and pass it to
make_lispy_movement, instead of working with a pointer to a struct
scrollbar.
(make_lispy_event): We don't need a window_from_scrollbar function
anymore; we are given the window directly in *EVENT.
Unify the code which generates
text-area mouse clicks and scrollbar clicks; use the same code to
distinguish clicks from drags on the scrollbar as in the text area.
Distinguish clicks from drags by storing a copy of the lispy
position list returned as part of the event.
(button_down_location): Make this a lisp vector, rather than an
array of random structures.
(struct mouse_position): Remove this; it's been replaced by a lisp
list.
(make_lispy_movement): Accept the scrollbar's window as a
parameter, rather than the scrollbar itself.
If FRAME is zero, assume that the other arguments are garbage.
(syms_of_keyboard): No need to staticpro each window of
button_down_location now; just initialize and staticpro it.
* window.c (window_from_scrollbar): Function deleted; no longer
needed.
* xdisp.c (redisplay_window): Just pass the window to
set_vertical_scrollbar hook; don't pass the scrollbar object too.
* xterm.c (XTmouse_position): Don't return a pointer to the
scrollbar for scrollbar motion; instead, return the scrollbar's
window.
* termhooks.h (struct input_event): Replace the frame member with
a Lisp_Object member by the name of frame_or_window. Doc fixes.
Remove the scrollbar member; instead, use frame_or_window to hold the
window whose scrollbar was clicked.
* keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event,
make_lispy_event): Adjust references to frame member of struct
input_event to use frame_or_window now.
* xterm.c (construct_mouse_click, XTread_socket): Same.
Jim Blandy [Thu, 14 Jan 1993 15:14:21 +0000 (15:14 +0000)]
* term.c (set_vertical_scrollbar_hook, condemn_scrollbars_hook,
redeem_scrollbar_hook, judge_scrollbars_hook): Removed dumbo
"externs" from these. They're supposed to be real definitions.
* termhooks.h (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return anything any
more, and doesn't take a struct scrollbar * argument any more.
(condemn_scrollbars_hook, redeem_scrollbar_hook,
judge_scrollbars_hook): Doc fixes.
* term.c (mouse_position_hook): Doc fix.
(set_vertical_scrollbar_hook): This doesn't return
anything any more. Doc fixes.
* keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
window from *mouse_position_hook and pass it to
make_lispy_movement, instead of working with a pointer to a struct
scrollbar.
(make_lispy_event): We don't need a window_from_scrollbar function
anymore; we are given the window directly in *EVENT.
Unify the code which generates
text-area mouse clicks and scrollbar clicks; use the same code to
distinguish clicks from drags on the scrollbar as in the text area.
Distinguish clicks from drags by storing a copy of the lispy
position list returned as part of the event.
(button_down_location): Make this a lisp vector, rather than an
array of random structures.
(struct mouse_position): Remove this; it's been replaced by a lisp
list.
(make_lispy_movement): Accept the scrollbar's window as a
parameter, rather than the scrollbar itself.
If FRAME is zero, assume that the other arguments are garbage.
(syms_of_keyboard): No need to staticpro each window of
button_down_location now; just initialize and staticpro it.
* window.c (window_from_scrollbar): Function deleted; no longer
needed.
* xdisp.c (redisplay_window): Just pass the window to
set_vertical_scrollbar hook; don't pass the scrollbar object too.
* xterm.c (XTmouse_position): Don't return a pointer to the
scrollbar for scrollbar motion; instead, return the scrollbar's
window.
Jim Blandy [Thu, 14 Jan 1993 15:13:19 +0000 (15:13 +0000)]
* frame.h (FRAME_SAMPLE_VISIBILITY): Make sure frame is marked as
garbaged whenever it goes from invisible to visible.
* dispextern.h (frame_garbaged): Move extern declaration from here...
* frame.h (frame_garbaged): ... to here. The FRAME_SAMPLE_VISIBILITY
macro uses it now, and this seems to be just as modular. Make a
new page, just for this and message_buf_print.
(struct frame): Doc fix for the `visible' field.
* process.c: #include "frame.h" instead of "dispextern.h"; the
only thing we care about from it is the frame_garbaged
declaration.
* ymakefile: Note dependency change.
Jim Blandy [Thu, 14 Jan 1993 15:12:23 +0000 (15:12 +0000)]
* window.c (window_internal_width): New function.
* lisp.h (window_internal_height, window_internal_width): Add
extern declarations for these.
* dispnew.c (direct_output_for_insert, direct_output_forward_char,
buffer_posn_from_coords): Use window_internal_width instead of
writing out its definition.
* indent.c (compute_motion): Doc fix; mention scrollbars and
window_internal_width.
(pos_tab_offset, Fvertical_motion): Use window_internal_width
instead of writing it out.
* window.c (Fpos_visible_in_window_p, Fwindow_width, Fscroll_left,
Fscroll_right): Same.
* xdisp.c (redisplay, try_window, try_window_id,
display_text_line): Same.
* emacs.c (shut_down_emacs): New function.
(fatal_error_signal, Fkill_emacs): Call it, instead of writing it out.
* xterm.c (x_connection_closed): Call shut_down_emacs instead of
Fkill_emacs; the latter will try to perform operations on the X
server and die a horrible death.
* lisp.h (shut_down_emacs): Add extern declaration for it.