• Gerd Moellmann's avatar
    (Fconstrain_to_field): Make sure we don't violate the · 0daf6e8d
    Gerd Moellmann authored
    argument preconditions of find_before_next_newline in the case
    where both ONLY_IN_LINE and ESCAPE_FROM_EDGE are set and OLD_POS
    was indeed at the edge.
    (text_property_eq, text_property_stickiness): Don't
    use initializers for auto variables of type Lisp_Object.
    (find_field): Likewise.  Use braces around nested ifs.
    (Fline_end_position): Store the raw eol in a variable, so that the
    final expression doesn't look so ugly.
    (Fconstrain_to_field): Doc fix.
    (preceding_pos): Renamed from `preceeding_pos'.
    (text_property_stickiness, find_field): Call preceding_pos,
    not preceeding_pos.
    (Ffield_string_no_properties): New function.
    (text_property_stickiness, preceeding_pos): New functions.
    (Ffield_string): Remove PROPS parameter.
    (find_field): Add MERGE_AT_BOUNDARY parameter.
    Rewrite to use stickiness of `field' property to resolve
    ambiguous cases.
    (Ffield_beginning, Ffield_end): Add ESCAPE_FROM_EDGE parameter.
    (Fconstrain_to_field): Likewise.
    (syms_of_editfns): Init Sfield_string_no_properties.
    (Ffield_string, Ferase_field, Ffield_end):
    Supply new MERGE_AT_BOUNDARY argument to find_field.
    (Fline_beginning_position, Fline_end_position): Supply new
    ESCAPE_FROM_EDGE parameter to Fconstrain_to_field.
    Pass a value of Qt for the ONLY_IN_LINE argument to
    Fconstrain_to_field (only matters if N != 1).
    (Fconstrain_to_field): Add get/set-current-point
    behavior when NEW_POS is nil.
    (find_field): Use XSETFASTINT instead of make_number.
    (Qfield): New variable.
    (find_field, Ferase_field, Ffield_string,
    Ffield_beginning, Ffield_end, Fconstrain_to_field): New functions.
    (Fline_beginning_position, Fline_end_position): Constrain to any field.
    (make_buffer_string_both): Remove minibuffer-prompt hack.
    (syms_of_editfns): Initialize Qfield, and subr entries for
    field functions above.
    0daf6e8d
editfns.c 113 KB