add-change-log-entry-other-window. Call add-change-log-entry instead of
add-change-log-entry-other-window; pass it t for OTHER-WINDOW and NEW-ENTRY
args. Go to bol before filling.
(add-change-log-entry): Take optional fourth arg NEW-ENTRY. If non-nil,
never append to an existing entry.
(change-log-fill-paragraph): New function.
It might be nice to have a general feature to replace this. The idea I
have is a variable giving a regexp matching text which should not be
moved from bol by filling. change-log-mode would set this to "^\\s *\\s(".
But I don't feel up to implementing that today.
(change-log-mode-map): New defvar for keymap. Bind M-q to
change-log-fill-paragraph in it.
(change-log-mode): Use that as local map.
FILE) if it's not a marker. The conversion to using a string containing an
expanded file name was never finished, and anyway it utterly broke
compilation-search-path and few other things.
(next-error): Expect them that way.
(compilation-parse-errors): Make them that way.
(compile-file-of-error): Function removed.
(compilation-error-filedata, compilation-error-filedata-file-name): New
defsubsts.
(compilation-next-file): Use them instead of compile-file-of-error.
* files.el (insert-directory): If FULL-DIRECTORY-P is non-nil,
add "." component to the end of the path, so that if file is a
symlink, we get the contents of the directory, not the symlink
itself.
use XrmSetDatabase only when HAVE_X11R5 is defined.
* xfns.c (Vx_resource_name): Renamed from Vxrdb_name, and made a
lisp-visible variable, so lisp/term/x-win.el can set it. Doc it
for "internal use only"; no need for NEWS entry.
(validate_x_resource_name): New function.
(Fx_get_resource): Doc fix. References to Vxrdb_name renamed. Call
validate_x_resource_name.
(x_window): References to Vxrdb_name renamed. Call
validate_x_resource_name.
(Fx_open_connection): References to Vxrdb_name renamed. Instead
of setting and validating its value here, just call
validate_x_resource_name.
(syms_of_xfns): Add DEFVAR_LISP for Vx_resource_name.
* xfns.c (x_set_frame_parameters): Don't set the frame's size and
position unless those parameters are actually specified in ALIST.
* xrdb.c: Implement search for app-defaults directory and
localized default databases, along with some other functionality
provided by Xt.
#include <stdio.h>, since we call sprintf.
[emacs] (malloc, realloc, free): #define these to xmalloc,
xrealloc, and xfree.
(x_get_string_resource, file_p): Add forward declarations for
these.
(x_customization_string): New variable.
(x_get_customization_string): New function.
(gethomedir): Return malloc'ed space of the right size, instead of
writing into a fixed-size buffer; this means that our callers do
not impose an arbitrary limit on file name length.
(magic_file_p): Rewrite of decode_magic; actually do the
substitutions, instead of expanding all %-escapes to "". Support
the customization string. Return 0 or the expanded file name,
instead of just zero or one. Allocate the space for the expanded
file name ourselves, instead of writing into a fixed-size buffer
passed to us; this removes an arbitrary limit.
(search_magic_path): Rewrite of magic_searchpath_decoder. Return
0 or the expanded file name, instead of just zero or one.
Allocate the space for the expanded file name ourselves, instead
of writing into a fixed-size buffer passed to us; this means that
our callers do not impose an arbitrary limit on file name length.
(get_system_app): Changed to work with search_magic_path.
(get_user_app): Rewritten to work with search_magic_path, and not
to assume that the values of XAPPLRESDIR is a single directory.
(get_user_db): Properly use the new version of gethomedir.
(get_environ_db): Remove arbitrary limit on length of host name.
(x_load_resources): Take a new argument, myname. Call get_user_db
early to obtain the customization string.
Changes to stand-alone testing code.
* xfns.c (Fx_open_connection): Set Vxrdb_name early, and pass it
to x_load_resources.
argument to Qt, instead of trying to typecheck it.
* window.c (Fdelete_windows_on): New optional argument FRAME; if
nil, delete windows on all frames. If t, delete windows on the
selected frame only. If a frame, delete windows on that frame
only.
* window.c (Fnext_window, Fprevious_window): Put these docstrings
in comments; the strings are too long for some C compilers.
OFFSET argument of these functions to be origin 0, not origin 1.
This is what all the callers currently want.
* intervals.c, textprop.c: All callers changed.
* textprop.c (Ftext_property_not_all): Renamed from
Ftext_property_all, and changed sense of return value, so that it
returns useful information if not all characters have properties
EQ to value. Now all the existential and universal questions can
be asked.
* textprop.c (syms_of_textprop): Don't forget defsubr for
Stext_property_all.
* textprop.c (Ftext_property_any, Ftext_property_all): Use EQ to
compare property values, not Fequal.
* textprop.c (Ftext_property_any, Ftext_property_all): New
functions, from David Gillespie.
* intervals.h (Ftext_property_any, Ftext_property_all): Declare them.
(which contains Lisp_Objects) in those .c files which need access
to the terminal hooks but don't #include lisp.h (like cm.c), test
to see if the macro CONSP is #defined. We used to test XINT, but
config.h will #define that everywhere on systems that use tailored
tagging schemes.
zero and an omitted precision. Do allow %.0f to produce strings
containing no decimal point or exponent.
(syms_of_print): Doc fix for float-output-format.
to say whether or not the interval tree has been visited (and skip
it when revisited), and the mark bit of the plist field to say
whether or not that interval has been visited (and abort if
revisited); don't try to use the plist mark bit for both
meanings.
* alloc.c (mark_interval_tree): Don't test if the interval tree
has already been visited here; let the MARK_INTERVAL_TREE macro do
that; avoid function call overhead. Mark the interval tree as
having been visited by setting TREE->parent's mark bit.
(MARK_INTERVAL_TREE): If the tree has been visited (according to
I->parent's mark bit), don't call mark_interval_tree.
(gc_sweep): Rebalance the interval trees of those large strings
which are still alive. This also clears the mark bits of those
trees' root intervals' parent fields.
(compact_strings): Rebalance the interval tree of each small
strings which is still alive. This also clears the mark bits of
that tree's root interval's parent field. Since the string has
moved, update the root interval's parent pointer to contain the
new address.
* lisp.h (struct interval): Doc fix; explain the roles of the mark
bits of the parent and plist members.
as bindings in function-key-map.
* keymap.c (Vfunction_key_map in syms_of_keymap): Doc fix.
* keyboard.c (Fsuspend_emacs): Pass selected_frame as the first
argument to change_frame_size, not 0. This function may be called
in an Emacs compiled with multi-frame support.