diff options
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/data.c b/src/data.c index 7bbb45ae043..c74d3c076c3 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -1875,6 +1875,44 @@ If the current binding is global (the default), the value is nil. */) | |||
| 1875 | 1875 | ||
| 1876 | return Qnil; | 1876 | return Qnil; |
| 1877 | } | 1877 | } |
| 1878 | |||
| 1879 | extern struct display *get_display P_ ((Lisp_Object display, int)); | ||
| 1880 | |||
| 1881 | DEFUN ("terminal-local-value", Fterminal_local_value, Sterminal_local_value, 2, 2, 0, | ||
| 1882 | doc: /* Return the terminal-local value of SYMBOL on DISPLAY. | ||
| 1883 | If SYMBOL is not a terminal-local variable, then return its normal | ||
| 1884 | value, like `symbol-value'. | ||
| 1885 | |||
| 1886 | DISPLAY may be a display, a frame, or nil (meaning the selected | ||
| 1887 | frame's display). */) | ||
| 1888 | (symbol, display) | ||
| 1889 | Lisp_Object symbol; | ||
| 1890 | Lisp_Object display; | ||
| 1891 | { | ||
| 1892 | Lisp_Object result; | ||
| 1893 | struct display *d = get_display (display, 1); | ||
| 1894 | push_display_kboard (d); | ||
| 1895 | result = Fsymbol_value (symbol); | ||
| 1896 | pop_frame_kboard (); | ||
| 1897 | return result; | ||
| 1898 | } | ||
| 1899 | |||
| 1900 | DEFUN ("set-terminal-local-value", Fset_terminal_local_value, Sset_terminal_local_value, 3, 3, 0, | ||
| 1901 | doc: /* Set the terminal-local binding of SYMBOL on DISPLAY to VALUE. | ||
| 1902 | If VARIABLE is not a terminal-local variable, then set its normal | ||
| 1903 | binding, like `set'. */) | ||
| 1904 | (symbol, display, value) | ||
| 1905 | Lisp_Object symbol; | ||
| 1906 | Lisp_Object display; | ||
| 1907 | Lisp_Object value; | ||
| 1908 | { | ||
| 1909 | Lisp_Object result; | ||
| 1910 | struct display *d = get_display (display, 1); | ||
| 1911 | push_display_kboard (d); | ||
| 1912 | result = Fset (symbol, value); | ||
| 1913 | pop_frame_kboard (); | ||
| 1914 | return result; | ||
| 1915 | } | ||
| 1878 | 1916 | ||
| 1879 | /* Find the function at the end of a chain of symbol function indirections. */ | 1917 | /* Find the function at the end of a chain of symbol function indirections. */ |
| 1880 | 1918 | ||
| @@ -3326,6 +3364,8 @@ syms_of_data () | |||
| 3326 | defsubr (&Slocal_variable_p); | 3364 | defsubr (&Slocal_variable_p); |
| 3327 | defsubr (&Slocal_variable_if_set_p); | 3365 | defsubr (&Slocal_variable_if_set_p); |
| 3328 | defsubr (&Svariable_binding_locus); | 3366 | defsubr (&Svariable_binding_locus); |
| 3367 | defsubr (&Sterminal_local_value); | ||
| 3368 | defsubr (&Sset_terminal_local_value); | ||
| 3329 | defsubr (&Saref); | 3369 | defsubr (&Saref); |
| 3330 | defsubr (&Saset); | 3370 | defsubr (&Saset); |
| 3331 | defsubr (&Snumber_to_string); | 3371 | defsubr (&Snumber_to_string); |