from the computed faces (the combinations created by
compute_char_face), so that we don't waste global face id's.
* xterm.h (struct x_display): Replace the fields faces and n_faces
with fields param_faces, n_param_faces, computed_faces,
n_computed_faces, and size_computed_faces.
(FRAME_FACES, FRAME_N_FACES): Replaced by...
(FRAME_COMPUTED_FACES, FRAME_N_COMPUTED_FACES, FRAME_PARAM_FACES,
FRAME_N_PARAM_FACES): New macros.
* xfaces.c: Doc fixes.
(init_frame_faces): Call new_computed_face to create entries for
the default and mode line faces. Use the FRAME...PARAM_FACES
macros.
(free_frame_faces): Use the FRAME...PARAM_FACES and
FRAME...COMPUTED_FACES macros. Don't use the copy flag; all
parameter faces have real X resources, and all computed faces just
have copies. Free both the parameter and computed face arrays.
(new_computed_face): New function.
(intern_computed_face): Renamed from intern_frame_face; callers
changed. Call new_computed_face.
(ensure_face_ready, compute_char_face, compute_glyph_face): Use the
FRAME...PARAM_FACES macros.
(recompute_basic_faces): Use the FRAME...PARAM_FACES and
FRAME...COMPUTED_FACES macros. Produce the computed faces by
starting with the base faces and merging in the parameter faces.
(Fset_face_attribute_internal): Use the FRAME...PARAM_FACES
macros. Just call recompute_basic_faces if the default or mode
line faces have changed.
* xfns.c (Fx_list_fonts): Use the FRAME...PARAM_FACES macros.
* xterm.c (dumpglyphs): Use the FRAME...COMPUTED_FACES macros.
* dispextern.h (struct face): Remove the copy member. This is no
longer necessary; all computed faces are copies, and no parameter
faces are.
* xfaces.c (face_vector, nfaces, nfaces_allocated): Make these
static.
from the computed faces (the combinations created by
compute_char_face), so that we don't waste global face id's.
* xterm.h (struct x_display): Replace the fields faces and n_faces
with fields param_faces, n_param_faces, computed_faces,
n_computed_faces, and size_computed_faces.
(FRAME_FACES, FRAME_N_FACES): Replaced by...
(FRAME_COMPUTED_FACES, FRAME_N_COMPUTED_FACES, FRAME_PARAM_FACES,
FRAME_N_PARAM_FACES): New macros.
* xfaces.c: Doc fixes.
(init_frame_faces): Call new_computed_face to create entries for
the default and mode line faces. Use the FRAME...PARAM_FACES
macros.
(free_frame_faces): Use the FRAME...PARAM_FACES and
FRAME...COMPUTED_FACES macros. Don't use the copy flag; all
parameter faces have real X resources, and all computed faces just
have copies. Free both the parameter and computed face arrays.
(new_computed_face): New function.
(intern_computed_face): Renamed from intern_frame_face; callers
changed. Call new_computed_face.
(ensure_face_ready, compute_char_face, compute_glyph_face): Use the
FRAME...PARAM_FACES macros.
(recompute_basic_faces): Use the FRAME...PARAM_FACES and
FRAME...COMPUTED_FACES macros. Produce the computed faces by
starting with the base faces and merging in the parameter faces.
(Fset_face_attribute_internal): Use the FRAME...PARAM_FACES
macros. Just call recompute_basic_faces if the default or mode
line faces have changed.
* xfns.c (Fx_list_fonts): Use the FRAME...PARAM_FACES macros.
* xterm.c (dumpglyphs): Use the FRAME...COMPUTED_FACES macros.
* dispextern.h (struct face): Remove the copy member. This is no
longer necessary; all computed faces are copies, and no parameter
faces are.
* xfns.c (Fx_open_connection): Remember to block input while
calling x_load_resources.
* xrdb.c: Undo change of June 19th; it was a BLOCK_INPUT problem,
not a server-specific bug.
(calendar-/, calendar-%, calendar-absolute-from-time,
calendar-time-from-absolute, calendar-next-time-zone-transition,
calendar-time-zone-daylight-rules): New functions.
(calendar-current-time-zone): Moved from calendar.el and rewritten.
(calendar-current-time-zone-cache): New variable.
(calendar-current-time-zone, calendar-time-zone,
calendar-daylight-time-offset, calendar-standard-time-zone-name,
calendar-daylight-time-zone-name,
calendar-daylight-savings-starts, calendar-daylight-savings-ends,
calendar-daylight-savings-switchover-time): Moved from calendar.el.
calendar-holiday-function-float, calendar-holiday-function-julian,
calendar-holiday-function-islamic,
calendar-holiday-function-hebrew, calendar-holiday-function-sexp,
calendar-holiday-function-advent,
calendar-holiday-function-easter-etc,
calendar-holiday-function-greek-orthodox-easter,
calendar-holiday-function-rosh-hashanah-etc,
calendar-holiday-function-hanukkah,
calendar-holiday-function-passover-etc,
calendar-holiday-function-tisha-b-av-etc): Renamed without words
"calendar" and "function"; changed argument from a list of values to
individual values. Fixed doc strings.
(calendar-holiday-function-if): Removed.
(calendar-holiday-solar-equinoxes-solstices): Renamed
solar-equinoxes-solstices.
(calendar-holiday-list): Rewrote to accomodate the name changes
above and the unquoting of calendar-holidays.
(calendar-cursor-holidays): Change screen-width to frame-width.
(holiday-sexp): Rewritten.
solar-equinoxes-solstices.
(calendar-time-display-form, calendar-latitude,
calendar-longitude): Moved from calendar.el.
(calendar-time-zone, calendar-standard-time-zone-name,
calendar-daylight-time-zone-name,
calendar-daylight-savings-starts, calendar-daylight-savings-ends):
Take default values from calendar-current-time-zone, instead of
being overwritten in open code if they were set to nil.
(solar-time-string): Subtract calendar-daylight-time-offset when
computing dst-ends. Avoid rounding errors when rounding time to
the nearest minute.
of spelling error in comments and doc strings.
(calendar-sexp-debug): New variable to turn off error catching.
(calendar-absolute-from-gregorian): Removed unused vars month, day.
(view-calendar-holidays-initially, all-hebrew-calendar-holidays,
all-christian-calendar-holidays, all-christian-islamic-holidays,
diary-nonmarking-symbol, hebrew-diary-entry-symbol,
islamic-diary-entry-symbol, diary-include-string,
abbreviated-calendar-year, european-calendar-style,
european-calendar-display-form, american-calendar-display-form,
calendar-date-display-form, print-diary-entries-hook,
list-diary-entries-hook, nongregorian-diary-listing-hook,
nongregorian-diary-marking-hook, diary-list-include-blanks,
holidays-in-diary-buffer, general-holidays,
increment-calendar-month, calendar-sum, calendar-string-spread,
calendar-absolute-from-iso, calendar-print-iso-date,
hebrew-calendar-elapsed-days, list-yahrzeit-dates,
calendar-print-astro-day-number): Fix doc strings.
(calendar-nth-named-day): Rewritten to include optional day of month.
(general-holidays, calendar-holidays, hebrew-holidays,
christian-holidays, islamic-holidays,
solar-holidays): Rewritten to include require of cal-dst.el and to
show the time of the change to/from daylight savings time.
(calendar-current-time-zone, calendar-time-zone,
calendar-daylight-time-offset, calendar-standard-time-zone-name,
calendar-daylight-time-zone-name, calendar-daylight-savings-starts,
calendar-daylight-savings-ends,
calendar-daylight-savings-switchover-time): Moved to cal-dst.el.
(calendar-location-name, calendar-time-display-form, calendar-latitude,
calendar-longitude): Moved to solar.el.
(calendar-holidays): Unquote it!
and triple-click events.
(parse_modifiers_uncached, apply_modifiers_uncached): Same.
(read_key_sequence): Coerce double-clicks to clicks, and triple-clicks
to double-clicks or clicks, by analogy with drag events.
(double_click_time): Added variable.
* termhooks.h: Added multi-click event modifier bits.
function being defined in emacs-lisp-mode, lisp-mode, and
scheme-mode, skip an opening paren and an s-expression, instead of
just one word. This allows us to properly recognize things like
define-key and define-macro.
const away on systems which don't have it; any system with
prototypes will declare the arguments const (the ones to which I
have access do); and systems without prototypes won't notice.