]> git.eshelyaron.com Git - emacs.git/commitdiff
Use TSET for write access to Lisp_Object slots of struct terminal.
authorDmitry Antipov <dmantipov@yandex.ru>
Thu, 9 Aug 2012 05:14:23 +0000 (09:14 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Thu, 9 Aug 2012 05:14:23 +0000 (09:14 +0400)
* termhooks.h (TSET): New macro.
* coding.c, terminal.c, xselect.c: Adjust users.

src/ChangeLog
src/coding.c
src/termhooks.h
src/terminal.c
src/xselect.c

index 4a570a51df433dbf15f4637ce2b1a462d3670c8f..2d65dcb0860b5c727443703f818a7c2748f39f52 100644 (file)
@@ -1,3 +1,9 @@
+2012-08-09  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Use TSET for write access to Lisp_Object slots of struct terminal.
+       * termhooks.h (TSET): New macro.
+       * coding.c, terminal.c, xselect.c: Adjust users.
+
 2012-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * xdisp.c (safe_eval_handler): Remove prototype.  Receive args describing
index 12a7cf93c46d00b09622e46b605b86eddd8b2107..5bed11b8241480bec0edbe356500ed0fe8546692 100644 (file)
@@ -9294,9 +9294,9 @@ DEFUN ("set-terminal-coding-system-internal", Fset_terminal_coding_system_intern
   terminal_coding->src_multibyte = 1;
   terminal_coding->dst_multibyte = 0;
   if (terminal_coding->common_flags & CODING_REQUIRE_ENCODING_MASK)
-    term->charset_list = coding_charset_list (terminal_coding);
+    TSET (term, charset_list, coding_charset_list (terminal_coding));
   else
-    term->charset_list = Fcons (make_number (charset_ascii), Qnil);
+    TSET (term, charset_list, Fcons (make_number (charset_ascii), Qnil));
   return Qnil;
 }
 
index 4cad4825cdd9762d10674890d332aab53217bbaa..78d8532e03fd5b00b26ffe8812181217f13ea5b3 100644 (file)
@@ -321,6 +321,10 @@ struct ns_display_info;
 struct x_display_info;
 struct w32_display_info;
 
+/* Most code should use this macro to set Lisp field in struct terminal.  */
+
+#define TSET(f, field, value) ((f)->field = (value))
+
 /* Terminal-local parameters. */
 struct terminal
 {
index 4e03c1622130fc4f1c6584a8a2a9776e8a438ad7..53610d9736f4dddee209cae5448b12553814b5eb 100644 (file)
@@ -446,7 +446,7 @@ store_terminal_param (struct terminal *t, Lisp_Object parameter, Lisp_Object val
   Lisp_Object old_alist_elt = Fassq (parameter, t->param_alist);
   if (EQ (old_alist_elt, Qnil))
     {
-      t->param_alist = Fcons (Fcons (parameter, value), t->param_alist);
+      TSET (t, param_alist, Fcons (Fcons (parameter, value), t->param_alist));
       return Qnil;
     }
   else
index ff779b91944e0455348c42f51795fa5bcc22d145..664b5f92a156f0634fa21a7a58ee86436cbfcd09 100644 (file)
@@ -353,8 +353,8 @@ x_own_selection (Lisp_Object selection_name, Lisp_Object selection_value,
                            INTEGER_TO_CONS (timestamp), frame);
     prev_value = LOCAL_SELECTION (selection_name, dpyinfo);
 
-    dpyinfo->terminal->Vselection_alist
-      = Fcons (selection_data, dpyinfo->terminal->Vselection_alist);
+    TSET (dpyinfo->terminal, Vselection_alist,
+         Fcons (selection_data, dpyinfo->terminal->Vselection_alist));
 
     /* If we already owned the selection, remove the old selection
        data.  Don't use Fdelq as that may QUIT.  */
@@ -989,7 +989,7 @@ x_handle_selection_clear (struct input_event *event)
            break;
          }
     }
-  dpyinfo->terminal->Vselection_alist = Vselection_alist;
+  TSET (dpyinfo->terminal, Vselection_alist, Vselection_alist);
 
   /* Run the `x-lost-selection-functions' abnormal hook.  */
   {
@@ -1039,7 +1039,7 @@ x_clear_frame_selections (FRAME_PTR f)
       args[1] = Fcar (Fcar (t->Vselection_alist));
       Frun_hook_with_args (2, args);
 
-      t->Vselection_alist = XCDR (t->Vselection_alist);
+      TSET (t, Vselection_alist, XCDR (t->Vselection_alist));
     }
 
   /* Delete elements after the beginning of Vselection_alist.  */