Mercurial > emacs
comparison src/ChangeLog @ 39973:579177964efa
Avoid (most) uses of XCAR/XCDR as lvalues, for flexibility in experimenting
with lisp system changes.
author | Ken Raeburn <raeburn@raeburn.org> |
---|---|
date | Tue, 16 Oct 2001 09:09:51 +0000 |
parents | b2479b43184b |
children | d8c67e075687 |
comparison
equal
deleted
inserted
replaced
39972:b2479b43184b | 39973:579177964efa |
---|---|
1 2001-10-16 Ken Raeburn <raeburn@gnu.org> | |
2 | |
3 Avoid the assumption that car and cdr slots of cons cells are | |
4 addressable lvalues; this allows for easier experimentation with | |
5 other lisp implementations that may not permit such accesses for | |
6 various reasons. Not quite complete -- buffer.c still needs some | |
7 work, and w32/mac files need rechecking -- so compile-time | |
8 enforcement is left disabled for now. | |
9 | |
10 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of | |
11 gcc with a union-based Lisp object rep. Redefine as no-op for | |
12 now. | |
13 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR. | |
14 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions. | |
15 (XSETCAR, XSETCDR): New macros. | |
16 (XSETCARFASTINT, XSETCDRFASTINT): New macros. | |
17 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros. | |
18 * keyboard.h (POSN_BUFFER_SET_POSN): New macro. | |
19 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and | |
20 XSETCDR. | |
21 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE. | |
22 * buffer.c (record_buffer, Fbury_buffer, | |
23 swap_out_buffer_local_variables, recenter_overlay_lists, | |
24 Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr | |
25 fields of a cons cell respectively. | |
26 * callint.c (quotify_args, Fcall_interactively): Likewise. | |
27 * ccl.c (Fregister_code_conversion_map): Likewise. | |
28 * coding.c (detect_coding_system): Likewise. | |
29 * composite.c (get_composition_id, make_composition_value_copy): | |
30 Likewise. | |
31 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding, | |
32 swap_in_symval_forwarding, set_internal, Fset_default, | |
33 Fmake_variable_buffer_local, Fmake_local_variable, | |
34 Fmake_variable_frame_local): Likewise. | |
35 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise. | |
36 * keymap.c (Fset_keymap_parent, store_in_keymap, | |
37 accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): | |
38 Likewise. | |
39 * minibuf.c (get_minibuffer): Likewise. | |
40 * search.c (Fmatch_data): Likewise. | |
41 * textprop.c (extend_property_ranges): Likewise. | |
42 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): | |
43 Likewise. | |
44 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts): | |
45 Likewise. | |
46 * w32term.c (x_delete_display): Likewise. | |
47 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute): | |
48 Likewise. | |
49 * xterm.c (x_list_fonts, x_load_font, x_delete_display): | |
50 Likewise. | |
51 * doc.c (store_function_docstring): Use XSETCARFASTINT. | |
52 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and | |
53 XSETCDRFASTINT. | |
54 (Fread_file_name): Use XSETCAR. | |
55 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and | |
56 CHECK_NUMBER_CDR. | |
57 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR. | |
58 * frame.c (Fmake_terminal_frame): Use XSETCDR. | |
59 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and | |
60 CHECK_NUMBER_CDR. | |
61 * keyboard.c (read_char): Alter list traversal to avoid taking the | |
62 address of cons cell slots. Use POSN_BUFFER_SET_POSN. | |
63 (parse_menu_item): Use XSETCAR and XSETCDR. | |
64 (reach_char_x_menu_prompt): Use XSETCAR. | |
65 (read_key_sequence): Use POSN_BUFFER_SET_POSN. | |
66 (Fcommand_execute): Use XSETCDR. | |
67 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT. | |
68 (openp): Change list traversal to avoid using XCAR as lvalue. | |
69 (read_list): Use XSETCDR. | |
70 * process.c (wait_reading_process_input): Change wait_for_cell | |
71 handling to avoid taking addresses of cons cell slots. | |
72 * xselect.c (x_own_selection, x_handle_selection_clear, | |
73 x_clear_frame_selections): Use XSETCDR. | |
74 (wait_for_property_change): Use XSETCARFASTINT and | |
75 XSETCDRFASTINT. | |
76 (x_handle_property_notify, x_get_foreign_selection, | |
77 x_handle_selection_notify): Use XSETCAR. | |
78 | |
1 2001-10-15 Pavel Jan,Bm(Bk <Pavel@Janik.cz> | 79 2001-10-15 Pavel Jan,Bm(Bk <Pavel@Janik.cz> |
2 | 80 |
3 * buffer.c: Put doc strings in comments. | 81 * buffer.c: Put doc strings in comments. |
4 | 82 |
5 * sound.c: Include <sys/ioctl.h> also on systems without | 83 * sound.c: Include <sys/ioctl.h> also on systems without |