Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
7539e11f
Commit
7539e11f
authored
Oct 25, 1999
by
Ken Raeburn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more XCAR/XCDR/XFLOAT_DATA uses, to help isolete lisp engine
parent
3a7093d8
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
414 additions
and
370 deletions
+414
-370
src/ChangeLog
src/ChangeLog
+40
-0
src/alloc.c
src/alloc.c
+4
-0
src/buffer.c
src/buffer.c
+110
-110
src/callint.c
src/callint.c
+4
-4
src/data.c
src/data.c
+36
-36
src/dispnew.c
src/dispnew.c
+5
-5
src/emacs.c
src/emacs.c
+2
-2
src/fontset.c
src/fontset.c
+33
-33
src/frame.c
src/frame.c
+22
-22
src/keyboard.c
src/keyboard.c
+149
-149
src/minibuf.c
src/minibuf.c
+7
-7
src/window.c
src/window.c
+2
-2
No files found.
src/ChangeLog
View file @
7539e11f
No preview for this file type
src/alloc.c
View file @
7539e11f
...
...
@@ -24,6 +24,10 @@ Boston, MA 02111-1307, USA. */
/* Note that this declares bzero on OSF/1. How dumb. */
#include <signal.h>
/* This file is part of the core Lisp implementation, and thus must
deal with the real data structures. If the Lisp implementation is
replaced, this file likely will not be used. */
#undef HIDE_LISP_IMPLEMENTATION
#include "lisp.h"
#include "intervals.h"
#include "puresize.h"
...
...
src/buffer.c
View file @
7539e11f
This diff is collapsed.
Click to expand it.
src/callint.c
View file @
7539e11f
...
...
@@ -148,11 +148,11 @@ quotify_args (exp)
Lisp_Object
exp
;
{
register
Lisp_Object
tail
;
register
struct
Lisp_Cons
*
ptr
;
for
(
tail
=
exp
;
CONSP
(
tail
);
tail
=
ptr
->
cdr
)
Lisp_Object
next
;
for
(
tail
=
exp
;
CONSP
(
tail
);
tail
=
next
)
{
ptr
=
XC
ONS
(
tail
);
ptr
->
car
=
quotify_arg
(
ptr
->
car
);
next
=
XC
DR
(
tail
);
XCAR
(
tail
)
=
quotify_arg
(
XCAR
(
tail
)
);
}
return
exp
;
}
...
...
src/data.c
View file @
7539e11f
...
...
@@ -510,7 +510,7 @@ Error if arg is not nil and not a cons cell. See also `car-safe'.")
while
(
1
)
{
if
(
CONSP
(
list
))
return
XC
ONS
(
list
)
->
car
;
return
XC
AR
(
list
);
else
if
(
EQ
(
list
,
Qnil
))
return
Qnil
;
else
...
...
@@ -524,7 +524,7 @@ DEFUN ("car-safe", Fcar_safe, Scar_safe, 1, 1, 0,
Lisp_Object
object
;
{
if
(
CONSP
(
object
))
return
XC
ONS
(
object
)
->
car
;
return
XC
AR
(
object
);
else
return
Qnil
;
}
...
...
@@ -539,7 +539,7 @@ Error if arg is not nil and not a cons cell. See also `cdr-safe'.")
while
(
1
)
{
if
(
CONSP
(
list
))
return
XC
ONS
(
list
)
->
cdr
;
return
XC
DR
(
list
);
else
if
(
EQ
(
list
,
Qnil
))
return
Qnil
;
else
...
...
@@ -553,7 +553,7 @@ DEFUN ("cdr-safe", Fcdr_safe, Scdr_safe, 1, 1, 0,
Lisp_Object
object
;
{
if
(
CONSP
(
object
))
return
XC
ONS
(
object
)
->
cdr
;
return
XC
DR
(
object
);
else
return
Qnil
;
}
...
...
@@ -567,7 +567,7 @@ DEFUN ("setcar", Fsetcar, Ssetcar, 2, 2, 0,
cell
=
wrong_type_argument
(
Qconsp
,
cell
);
CHECK_IMPURE
(
cell
);
XC
ONS
(
cell
)
->
car
=
newcar
;
XC
AR
(
cell
)
=
newcar
;
return
newcar
;
}
...
...
@@ -580,7 +580,7 @@ DEFUN ("setcdr", Fsetcdr, Ssetcdr, 2, 2, 0,
cell
=
wrong_type_argument
(
Qconsp
,
cell
);
CHECK_IMPURE
(
cell
);
XC
ONS
(
cell
)
->
cdr
=
newcdr
;
XC
DR
(
cell
)
=
newcdr
;
return
newcdr
;
}
...
...
@@ -846,7 +846,7 @@ swap_in_symval_forwarding (symbol, valcontents)
if
(
NILP
(
tem1
)
||
current_buffer
!=
XBUFFER
(
tem1
)
||
!
EQ
(
selected_frame
,
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
frame
))
{
tem1
=
XC
ONS
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
->
car
;
tem1
=
XC
AR
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
);
Fsetcdr
(
tem1
,
do_symval_forwarding
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
realvalue
));
tem1
=
assq_no_quit
(
symbol
,
current_buffer
->
local_var_alist
);
...
...
@@ -864,7 +864,7 @@ swap_in_symval_forwarding (symbol, valcontents)
else
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
found_for_buffer
=
1
;
XC
ONS
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
->
car
=
tem1
;
XC
AR
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
=
tem1
;
XSETBUFFER
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
buffer
,
current_buffer
);
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
frame
=
selected_frame
;
store_symval_forwarding
(
symbol
,
...
...
@@ -1006,7 +1006,7 @@ set_internal (symbol, newval, bindflag)
/* What value are we caching right now? */
current_alist_element
=
XC
ONS
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
->
car
;
=
XC
AR
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
);
/* If the current buffer is not the buffer whose binding is
currently cached, or if it's a Lisp_Buffer_Local_Value and
...
...
@@ -1015,7 +1015,7 @@ set_internal (symbol, newval, bindflag)
if
(
current_buffer
!=
XBUFFER
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
buffer
)
||
!
EQ
(
selected_frame
,
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
frame
)
||
(
BUFFER_LOCAL_VALUEP
(
valcontents
)
&&
EQ
(
XC
ONS
(
current_alist_element
)
->
car
,
&&
EQ
(
XC
AR
(
current_alist_element
),
current_alist_element
)))
{
/* Write out the cached value for the old buffer; copy it
...
...
@@ -1062,7 +1062,7 @@ set_internal (symbol, newval, bindflag)
}
/* Cache the new buffer's assoc in CURRENT-ALIST-ELEMENT. */
XC
ONS
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
->
car
XC
AR
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
=
tem1
;
/* Set BUFFER and FRAME for binding now loaded. */
...
...
@@ -1117,12 +1117,12 @@ default_value (symbol)
ordinary setq stores just that slot. So use that. */
Lisp_Object
current_alist_element
,
alist_element_car
;
current_alist_element
=
XC
ONS
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
->
car
;
alist_element_car
=
XC
ONS
(
current_alist_element
)
->
car
;
=
XC
AR
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
);
alist_element_car
=
XC
AR
(
current_alist_element
);
if
(
EQ
(
alist_element_car
,
current_alist_element
))
return
do_symval_forwarding
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
realvalue
);
else
return
XC
ONS
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
->
cdr
;
return
XC
DR
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
);
}
/* For other variables, get the current value. */
return
do_symval_forwarding
(
valcontents
);
...
...
@@ -1197,11 +1197,11 @@ for this variable.")
return
Fset
(
symbol
,
value
);
/* Store new value into the DEFAULT-VALUE slot */
XC
ONS
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
->
cdr
=
value
;
XC
DR
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
=
value
;
/* If that slot is current, we must set the REALVALUE slot too */
current_alist_element
=
XC
ONS
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
)
->
car
;
=
XC
AR
(
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
cdr
);
alist_element_buffer
=
Fcar
(
current_alist_element
);
if
(
EQ
(
alist_element_buffer
,
current_alist_element
))
store_symval_forwarding
(
symbol
,
XBUFFER_LOCAL_VALUE
(
valcontents
)
->
realvalue
,
...
...
@@ -1280,7 +1280,7 @@ The function `default-value' gets the default value and `set-default' sets it.")
if
(
EQ
(
valcontents
,
Qunbound
))
XSYMBOL
(
variable
)
->
value
=
Qnil
;
tem
=
Fcons
(
Qnil
,
Fsymbol_value
(
variable
));
XC
ONS
(
tem
)
->
car
=
tem
;
XC
AR
(
tem
)
=
tem
;
newval
=
allocate_misc
();
XMISCTYPE
(
newval
)
=
Lisp_Misc_Buffer_Local_Value
;
XBUFFER_LOCAL_VALUE
(
newval
)
->
realvalue
=
XSYMBOL
(
variable
)
->
value
;
...
...
@@ -1337,7 +1337,7 @@ Use `make-local-hook' instead.")
{
Lisp_Object
newval
;
tem
=
Fcons
(
Qnil
,
do_symval_forwarding
(
valcontents
));
XC
ONS
(
tem
)
->
car
=
tem
;
XC
AR
(
tem
)
=
tem
;
newval
=
allocate_misc
();
XMISCTYPE
(
newval
)
=
Lisp_Misc_Some_Buffer_Local_Value
;
XBUFFER_LOCAL_VALUE
(
newval
)
->
realvalue
=
XSYMBOL
(
variable
)
->
value
;
...
...
@@ -1359,7 +1359,7 @@ Use `make-local-hook' instead.")
find_symbol_value
(
variable
);
current_buffer
->
local_var_alist
=
Fcons
(
Fcons
(
variable
,
XC
ONS
(
XBUFFER_LOCAL_VALUE
(
XSYMBOL
(
variable
)
->
value
)
->
cdr
)
->
cdr
),
=
Fcons
(
Fcons
(
variable
,
XC
DR
(
XBUFFER_LOCAL_VALUE
(
XSYMBOL
(
variable
)
->
value
)
->
cdr
)),
current_buffer
->
local_var_alist
);
/* Make sure symbol does not think it is set up for this buffer;
...
...
@@ -1474,7 +1474,7 @@ See `modify-frame-parameters'.")
if
(
EQ
(
valcontents
,
Qunbound
))
XSYMBOL
(
variable
)
->
value
=
Qnil
;
tem
=
Fcons
(
Qnil
,
Fsymbol_value
(
variable
));
XC
ONS
(
tem
)
->
car
=
tem
;
XC
AR
(
tem
)
=
tem
;
newval
=
allocate_misc
();
XMISCTYPE
(
newval
)
=
Lisp_Misc_Some_Buffer_Local_Value
;
XBUFFER_LOCAL_VALUE
(
newval
)
->
realvalue
=
XSYMBOL
(
variable
)
->
value
;
...
...
@@ -1513,10 +1513,10 @@ BUFFER defaults to the current buffer.")
||
SOME_BUFFER_LOCAL_VALUEP
(
valcontents
))
{
Lisp_Object
tail
,
elt
;
for
(
tail
=
buf
->
local_var_alist
;
CONSP
(
tail
);
tail
=
XC
ONS
(
tail
)
->
cdr
)
for
(
tail
=
buf
->
local_var_alist
;
CONSP
(
tail
);
tail
=
XC
DR
(
tail
))
{
elt
=
XC
ONS
(
tail
)
->
car
;
if
(
EQ
(
variable
,
XC
ONS
(
elt
)
->
car
))
elt
=
XC
AR
(
tail
);
if
(
EQ
(
variable
,
XC
AR
(
elt
)))
return
Qt
;
}
}
...
...
@@ -1561,10 +1561,10 @@ BUFFER defaults to the current buffer.")
if
(
SOME_BUFFER_LOCAL_VALUEP
(
valcontents
))
{
Lisp_Object
tail
,
elt
;
for
(
tail
=
buf
->
local_var_alist
;
CONSP
(
tail
);
tail
=
XC
ONS
(
tail
)
->
cdr
)
for
(
tail
=
buf
->
local_var_alist
;
CONSP
(
tail
);
tail
=
XC
DR
(
tail
))
{
elt
=
XC
ONS
(
tail
)
->
car
;
if
(
EQ
(
variable
,
XC
ONS
(
elt
)
->
car
))
elt
=
XC
AR
(
tail
);
if
(
EQ
(
variable
,
XC
AR
(
elt
)))
return
Qt
;
}
}
...
...
@@ -1896,8 +1896,8 @@ arithcompare (num1, num2, comparison)
if
(
FLOATP
(
num1
)
||
FLOATP
(
num2
))
{
floatp
=
1
;
f1
=
(
FLOATP
(
num1
))
?
XFLOAT
(
num1
)
->
data
:
XINT
(
num1
);
f2
=
(
FLOATP
(
num2
))
?
XFLOAT
(
num2
)
->
data
:
XINT
(
num2
);
f1
=
(
FLOATP
(
num1
))
?
XFLOAT
_DATA
(
num1
)
:
XINT
(
num1
);
f2
=
(
FLOATP
(
num2
))
?
XFLOAT
_DATA
(
num2
)
:
XINT
(
num2
);
}
#else
CHECK_NUMBER_COERCE_MARKER
(
num1
,
0
);
...
...
@@ -2000,7 +2000,7 @@ DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, "Return t if NUMBER is zero.")
if
(
FLOATP
(
number
))
{
if
(
XFLOAT
(
number
)
->
data
==
0
.
0
)
if
(
XFLOAT
_DATA
(
number
)
==
0
.
0
)
return
Qt
;
return
Qnil
;
}
...
...
@@ -2035,10 +2035,10 @@ cons_to_long (c)
Lisp_Object
top
,
bot
;
if
(
INTEGERP
(
c
))
return
XINT
(
c
);
top
=
XC
ONS
(
c
)
->
car
;
bot
=
XC
ONS
(
c
)
->
cdr
;
top
=
XC
AR
(
c
);
bot
=
XC
DR
(
c
);
if
(
CONSP
(
bot
))
bot
=
XC
ONS
(
bot
)
->
car
;
bot
=
XC
AR
(
bot
);
return
((
XINT
(
top
)
<<
16
)
|
XINT
(
bot
));
}
...
...
@@ -2060,7 +2060,7 @@ NUMBER may be an integer or a floating point number.")
{
char
pigbuf
[
350
];
/* see comments in float_to_string */
float_to_string
(
pigbuf
,
XFLOAT
(
number
)
->
data
);
float_to_string
(
pigbuf
,
XFLOAT
_DATA
(
number
));
return
build_string
(
pigbuf
);
}
#endif
/* LISP_FLOAT_TYPE */
...
...
@@ -2249,7 +2249,7 @@ float_arith_driver (accum, argnum, code, nargs, args)
if
(
FLOATP
(
val
))
{
next
=
XFLOAT
(
val
)
->
data
;
next
=
XFLOAT
_DATA
(
val
);
}
else
{
...
...
@@ -2520,7 +2520,7 @@ Markers are converted to integers.")
CHECK_NUMBER_OR_FLOAT_COERCE_MARKER
(
number
,
0
);
if
(
FLOATP
(
number
))
return
(
make_float
(
1
.
0
+
XFLOAT
(
number
)
->
data
));
return
(
make_float
(
1
.
0
+
XFLOAT
_DATA
(
number
)));
#else
CHECK_NUMBER_COERCE_MARKER
(
number
,
0
);
#endif
/* LISP_FLOAT_TYPE */
...
...
@@ -2539,7 +2539,7 @@ Markers are converted to integers.")
CHECK_NUMBER_OR_FLOAT_COERCE_MARKER
(
number
,
0
);
if
(
FLOATP
(
number
))
return
(
make_float
(
-
1
.
0
+
XFLOAT
(
number
)
->
data
));
return
(
make_float
(
-
1
.
0
+
XFLOAT
_DATA
(
number
)));
#else
CHECK_NUMBER_COERCE_MARKER
(
number
,
0
);
#endif
/* LISP_FLOAT_TYPE */
...
...
src/dispnew.c
View file @
7539e11f
...
...
@@ -5693,9 +5693,9 @@ the current state.\n")
No need to test for the end of the vector
because the last element of the vector is lambda
and that will always cause a mismatch. */
for
(
tail
=
Vbuffer_alist
;
CONSP
(
tail
);
tail
=
XC
ONS
(
tail
)
->
cdr
)
for
(
tail
=
Vbuffer_alist
;
CONSP
(
tail
);
tail
=
XC
DR
(
tail
))
{
buf
=
XC
ONS
(
XC
ONS
(
tail
)
->
car
)
->
cdr
;
buf
=
XC
DR
(
XC
AR
(
tail
)
)
;
/* Ignore buffers that aren't included in buffer lists. */
if
(
XSTRING
(
XBUFFER
(
buf
)
->
name
)
->
data
[
0
]
==
' '
)
continue
;
...
...
@@ -5714,7 +5714,7 @@ the current state.\n")
n
=
1
;
FOR_EACH_FRAME
(
tail
,
frame
)
n
+=
2
;
for
(
tail
=
Vbuffer_alist
;
CONSP
(
tail
);
tail
=
XC
ONS
(
tail
)
->
cdr
)
for
(
tail
=
Vbuffer_alist
;
CONSP
(
tail
);
tail
=
XC
DR
(
tail
))
n
+=
3
;
/* Reallocate the vector if it's grown, or if it's shrunk a lot. */
if
(
n
>
XVECTOR
(
frame_and_buffer_state
)
->
size
...
...
@@ -5727,9 +5727,9 @@ the current state.\n")
*
vecp
++
=
frame
;
*
vecp
++
=
XFRAME
(
frame
)
->
name
;
}
for
(
tail
=
Vbuffer_alist
;
CONSP
(
tail
);
tail
=
XC
ONS
(
tail
)
->
cdr
)
for
(
tail
=
Vbuffer_alist
;
CONSP
(
tail
);
tail
=
XC
DR
(
tail
))
{
buf
=
XC
ONS
(
XC
ONS
(
tail
)
->
car
)
->
cdr
;
buf
=
XC
DR
(
XC
AR
(
tail
)
)
;
/* Ignore buffers that aren't included in buffer lists. */
if
(
XSTRING
(
XBUFFER
(
buf
)
->
name
)
->
data
[
0
]
==
' '
)
continue
;
...
...
src/emacs.c
View file @
7539e11f
...
...
@@ -1077,11 +1077,11 @@ the Bugs section of the Emacs manual or the file BUGS.\n", argv[0]);
}
for
(
tail
=
Vbuffer_alist
;
CONSP
(
tail
);
tail
=
XC
ONS
(
tail
)
->
cdr
)
tail
=
XC
DR
(
tail
))
{
Lisp_Object
buffer
;
buffer
=
Fcdr
(
XC
ONS
(
tail
)
->
car
);
buffer
=
Fcdr
(
XC
AR
(
tail
));
/* Verify that all buffers are empty now, as they
ought to be. */
if
(
BUF_Z
(
XBUFFER
(
buffer
))
>
BUF_BEG
(
XBUFFER
(
buffer
)))
...
...
src/fontset.c
View file @
7539e11f
...
...
@@ -218,24 +218,24 @@ fs_load_font (f, font_table, charset, fontname, fontset)
for
(
i
=
MIN_CHARSET_OFFICIAL_DIMENSION1
;
i
<=
MAX_CHARSET
;
i
++
)
fontp
->
encoding
[
i
]
=
1
;
/* Then override them by a specification in Vfont_encoding_alist. */
for
(
list
=
Vfont_encoding_alist
;
CONSP
(
list
);
list
=
XC
ONS
(
list
)
->
cdr
)
for
(
list
=
Vfont_encoding_alist
;
CONSP
(
list
);
list
=
XC
DR
(
list
))
{
elt
=
XC
ONS
(
list
)
->
car
;
elt
=
XC
AR
(
list
);
if
(
CONSP
(
elt
)
&&
STRINGP
(
XC
ONS
(
elt
)
->
car
)
&&
CONSP
(
XC
ONS
(
elt
)
->
cdr
)
&&
(
fast_c_string_match_ignore_case
(
XC
ONS
(
elt
)
->
car
,
fontname
)
&&
STRINGP
(
XC
AR
(
elt
))
&&
CONSP
(
XC
DR
(
elt
))
&&
(
fast_c_string_match_ignore_case
(
XC
AR
(
elt
),
fontname
)
>=
0
))
{
Lisp_Object
tmp
;
for
(
tmp
=
XC
ONS
(
elt
)
->
cdr
;
CONSP
(
tmp
);
tmp
=
XC
ONS
(
tmp
)
->
cdr
)
if
(
CONSP
(
XC
ONS
(
tmp
)
->
car
)
&&
((
i
=
get_charset_id
(
XC
ONS
(
XC
ONS
(
tmp
)
->
car
)
->
car
))
for
(
tmp
=
XC
DR
(
elt
);
CONSP
(
tmp
);
tmp
=
XC
DR
(
tmp
))
if
(
CONSP
(
XC
AR
(
tmp
))
&&
((
i
=
get_charset_id
(
XC
AR
(
XC
AR
(
tmp
)
)
))
>=
0
)
&&
INTEGERP
(
XC
ONS
(
XC
ONS
(
tmp
)
->
car
)
->
cdr
)
&&
XFASTINT
(
XC
ONS
(
XC
ONS
(
tmp
)
->
car
)
->
cdr
)
<
4
)
&&
INTEGERP
(
XC
DR
(
XC
AR
(
tmp
)
)
)
&&
XFASTINT
(
XC
DR
(
XC
AR
(
tmp
)
)
)
<
4
)
fontp
->
encoding
[
i
]
=
XFASTINT
(
XC
ONS
(
XC
ONS
(
tmp
)
->
car
)
->
cdr
);
=
XFASTINT
(
XC
DR
(
XC
AR
(
tmp
)
)
);
}
}
}
...
...
@@ -328,12 +328,12 @@ fs_register_fontset (f, fontset_info)
int
i
;
if
(
!
CONSP
(
fontset_info
)
||
!
STRINGP
(
XC
ONS
(
fontset_info
)
->
car
)
||
!
CONSP
(
XC
ONS
(
fontset_info
)
->
cdr
))
||
!
STRINGP
(
XC
AR
(
fontset_info
))
||
!
CONSP
(
XC
DR
(
fontset_info
)))
/* Invalid data in FONTSET_INFO. */
return
-
1
;
name
=
XC
ONS
(
fontset_info
)
->
car
;
name
=
XC
AR
(
fontset_info
);
if
((
fontset
=
fs_query_fontset
(
f
,
XSTRING
(
name
)
->
data
))
>=
0
)
/* This fontset already exists on frame F. */
return
fontset
;
...
...
@@ -351,21 +351,21 @@ fs_register_fontset (f, fontset_info)
fontsetp
->
font_indexes
[
i
]
=
FONT_NOT_OPENED
;
}
for
(
fontlist
=
XC
ONS
(
fontset_info
)
->
cdr
;
CONSP
(
fontlist
);
fontlist
=
XC
ONS
(
fontlist
)
->
cdr
)
for
(
fontlist
=
XC
DR
(
fontset_info
);
CONSP
(
fontlist
);
fontlist
=
XC
DR
(
fontlist
))
{
Lisp_Object
tem
=
Fcar
(
fontlist
);
int
charset
;
if
(
CONSP
(
tem
)
&&
(
charset
=
get_charset_id
(
XC
ONS
(
tem
)
->
car
))
>=
0
&&
STRINGP
(
XC
ONS
(
tem
)
->
cdr
))
&&
(
charset
=
get_charset_id
(
XC
AR
(
tem
)))
>=
0
&&
STRINGP
(
XC
DR
(
tem
)))
{
fontsetp
->
fontname
[
charset
]
=
(
char
*
)
xmalloc
(
XSTRING
(
XC
ONS
(
tem
)
->
cdr
)
->
size
+
1
);
bcopy
(
XSTRING
(
XC
ONS
(
tem
)
->
cdr
)
->
data
,
=
(
char
*
)
xmalloc
(
XSTRING
(
XC
DR
(
tem
))
->
size
+
1
);
bcopy
(
XSTRING
(
XC
DR
(
tem
))
->
data
,
fontsetp
->
fontname
[
charset
],
XSTRING
(
XC
ONS
(
tem
)
->
cdr
)
->
size
+
1
);
XSTRING
(
XC
DR
(
tem
))
->
size
+
1
);
}
else
/* Broken or invalid data structure. */
...
...
@@ -400,8 +400,8 @@ fs_register_fontset (f, fontset_info)
the corresponding regular expression. */
static
Lisp_Object
Vcached_fontset_data
;
#define CACHED_FONTSET_NAME (XSTRING (XC
ONS
(Vcached_fontset_data)
->car
)->data)
#define CACHED_FONTSET_REGEX (XC
ONS
(Vcached_fontset_data)
->cdr
)
#define CACHED_FONTSET_NAME (XSTRING (XC
AR
(Vcached_fontset_data))->data)
#define CACHED_FONTSET_REGEX (XC
DR
(Vcached_fontset_data))
/* If fontset name PATTERN contains any wild card, return regular
expression corresponding to PATTERN. */
...
...
@@ -473,9 +473,9 @@ If REGEXPP is non-nil, PATTERN is a regular expression.")
else
regexp
=
pattern
;
for
(
tem
=
Vglobal_fontset_alist
;
CONSP
(
tem
);
tem
=
XC
ONS
(
tem
)
->
cdr
)
for
(
tem
=
Vglobal_fontset_alist
;
CONSP
(
tem
);
tem
=
XC
DR
(
tem
))
{
Lisp_Object
fontset_name
=
XC
ONS
(
XC
ONS
(
tem
)
->
car
)
->
car
;
Lisp_Object
fontset_name
=
XC
AR
(
XC
AR
(
tem
)
)
;
if
(
!
NILP
(
regexp
))
{
if
(
fast_c_string_match_ignore_case
(
regexp
,
...
...
@@ -574,14 +574,14 @@ FONTLIST is an alist of charsets vs corresponding font names.")
XSTRING
(
name
)
->
data
,
XSTRING
(
fullname
)
->
data
);
/* Check the validity of FONTLIST. */
for
(
tail
=
fontlist
;
CONSP
(
tail
);
tail
=
XC
ONS
(
tail
)
->
cdr
)
for
(
tail
=
fontlist
;
CONSP
(
tail
);
tail
=
XC
DR
(
tail
))
{
Lisp_Object
tem
=
XC
ONS
(
tail
)
->
car
;
Lisp_Object
tem
=
XC
AR
(
tail
);
int
charset
;
if
(
!
CONSP
(
tem
)
||
(
charset
=
get_charset_id
(
XC
ONS
(
tem
)
->
car
))
<
0
||
!
STRINGP
(
XC
ONS
(
tem
)
->
cdr
))
||
(
charset
=
get_charset_id
(
XC
AR
(
tem
)))
<
0
||
!
STRINGP
(
XC
DR
(
tem
)))
error
(
"Elements of fontlist must be a cons of charset and font name"
);
}
...
...
@@ -632,14 +632,14 @@ If FRAME is omitted or nil, all frames are affected.")
if
(
NILP
(
frame
))
{
Lisp_Object
fontset_info
=
Fassoc
(
fullname
,
Vglobal_fontset_alist
);
Lisp_Object
tem
=
Fassq
(
charset_symbol
,
XC
ONS
(
fontset_info
)
->
cdr
);
Lisp_Object
tem
=
Fassq
(
charset_symbol
,
XC
DR
(
fontset_info
));
if
(
NILP
(
tem
))
XC
ONS
(
fontset_info
)
->
cdr
XC
DR
(
fontset_info
)
=
Fcons
(
Fcons
(
charset_symbol
,
fontname
),
XC
ONS
(
fontset_info
)
->
cdr
);
XC
DR
(
fontset_info
));
else
XC
ONS
(
tem
)
->
cdr
=
fontname
;
XC
DR
(
tem
)
=
fontname
;
}
/* Then, update information in the specified frame or all existing
...
...
@@ -671,7 +671,7 @@ If FRAME is omitted or nil, all frames are affected.")
if
(
set_frame_fontset_func
&&
!
NILP
(
font_param
)
&&
!
strcmp
(
XSTRING
(
fullname
)
->
data
,
XSTRING
(
XC
ONS
(
font_param
)
->
cdr
)
->
data
))
XSTRING
(
XC
DR
(
font_param
))
->
data
))
/* This fontset is the default fontset on frame TEM.
We may have to resize this frame because of new
ASCII font. */
...
...
src/frame.c
View file @
7539e11f
...
...
@@ -631,9 +631,9 @@ do_switch_frame (frame, no_enter, track)
/* If FRAME is a switch-frame event, extract the frame we should
switch to. */
if
(
CONSP
(
frame
)
&&
EQ
(
XC
ONS
(
frame
)
->
car
,
Qswitch_frame
)
&&
CONSP
(
XC
ONS
(
frame
)
->
cdr
))
frame
=
XC
ONS
(
XC
ONS
(
frame
)
->
cdr
)
->
car
;
&&
EQ
(
XC
AR
(
frame
),
Qswitch_frame
)
&&
CONSP
(
XC
DR
(
frame
)))
frame
=
XC
AR
(
XC
DR
(
frame
)
)
;
/* This used to say CHECK_LIVE_FRAME, but apparently it's possible for
a switch-frame event to arrive after a frame is no longer live,
...
...
@@ -659,17 +659,17 @@ do_switch_frame (frame, no_enter, track)
{
Lisp_Object tail;
for (tail = Vframe_list; CONSP (tail); tail = XC
ONS
(tail)
->cdr
)
for (tail = Vframe_list; CONSP (tail); tail = XC
DR
(tail))
{
Lisp_Object focus;
if (!FRAMEP (XC
ONS
(tail)
->car
))
if (!FRAMEP (XC
AR
(tail)))
abort ();
focus = FRAME_FOCUS_FRAME (XFRAME (XC
ONS
(tail)
->car
));
focus = FRAME_FOCUS_FRAME (XFRAME (XC
AR
(tail)));
if (FRAMEP (focus) && XFRAME (focus) == SELECTED_FRAME ())
Fredirect_frame_focus (XC
ONS
(tail)
->car
, frame);
Fredirect_frame_focus (XC
AR
(tail), frame);
}
}
#else
/* ! 0 */
...
...
@@ -893,11 +893,11 @@ next_frame (frame, minibuf)
CHECK_LIVE_FRAME
(
frame
,
0
);
while
(
1
)
for
(
tail
=
Vframe_list
;
CONSP
(
tail
);
tail
=
XC
ONS
(
tail
)
->
cdr
)
for
(
tail
=
Vframe_list
;
CONSP
(
tail
);
tail
=
XC
DR
(
tail
))
{
Lisp_Object
f
;
f
=
XC
ONS
(
tail
)
->
car
;
f
=
XC
AR
(
tail
);
if
(
passed
&&
FRAME_KBOARD
(
XFRAME
(
f
))
==
FRAME_KBOARD
(
XFRAME
(
frame
)))
...
...
@@ -968,11 +968,11 @@ prev_frame (frame, minibuf)
abort
();
prev
=
Qnil
;
for
(
tail
=
Vframe_list
;
CONSP
(
tail
);
tail
=
XC
ONS
(
tail
)
->
cdr
)
for
(
tail
=
Vframe_list
;
CONSP
(
tail
);
tail
=
XC
DR
(
tail
))
{
Lisp_Object
f
;
f
=
XC
ONS
(
tail
)
->
car
;
f
=
XC
AR
(
tail
);
if
(
!
FRAMEP
(
f
))
abort
();
...
...
@@ -1087,11 +1087,11 @@ other_visible_frames (f)
for
(
frames
=
Vframe_list
;
CONSP
(
frames
);
frames
=
XC
ONS
(
frames
)
->
cdr
)
frames
=
XC
DR
(
frames
))
{
Lisp_Object
this
;
this
=
XC
ONS
(
frames
)
->
car
;
this
=
XC
AR
(
frames
);
/* Verify that the frame's window still exists
and we can still talk to it. And note any recent change
in visibility. */
...
...
@@ -1148,7 +1148,7 @@ but if the second optional argument FORCE is non-nil, you may do so.")
#if 0
/* This is a nice idea, but x_connection_closed needs to be able
to delete the last frame, if it is gone. */
if (NILP (XC
ONS
(Vframe_list)
->cdr
))
if (NILP (XC
DR
(Vframe_list)))
error ("Attempt to delete the only frame");
#endif
...
...
@@ -1160,10 +1160,10 @@ but if the second optional argument FORCE is non-nil, you may do so.")
for
(
frames
=
Vframe_list
;
CONSP
(
frames
);
frames
=
XC
ONS
(
frames
)
->
cdr
)
frames
=
XC
DR
(
frames
))
{
Lisp_Object
this
;
this
=
XC
ONS
(
frames
)
->
car
;
this
=
XC
AR
(
frames
);
if
(
!
EQ
(
this
,
frame
)
&&
EQ
(
frame
,
...
...
@@ -1280,9 +1280,9 @@ but if the second optional argument FORCE is non-nil, you may do so.")
for
(
frames
=
Vframe_list
;
CONSP
(
frames
);
frames
=
XC
ONS
(
frames
)
->
cdr
)
frames
=
XC
DR
(
frames
))
{
f
=
XFRAME
(
XC
ONS
(
frames
)
->
car
);
f
=
XFRAME
(
XC
AR
(
frames
));
if
(
!
FRAME_MINIBUF_ONLY_P
(
f
))
{
last_nonminibuf_frame
=
f
;
...
...
@@ -1308,12 +1308,12 @@ but if the second optional argument FORCE is non-nil, you may do so.")
for
(
frames
=
Vframe_list
;
CONSP
(
frames
);
frames
=
XC
ONS
(
frames
)
->
cdr
)
frames
=
XC
DR
(
frames
))
{
Lisp_Object
this
;
struct
frame
*
f1
;
this
=
XC
ONS
(
frames
)
->
car
;
this
=
XC
AR
(
frames
);
if
(
!
FRAMEP
(
this
))
abort
();
f1
=
XFRAME
(
this
);
...
...
@@ -1662,9 +1662,9 @@ DEFUN ("visible-frame-list", Fvisible_frame_list, Svisible_frame_list,
Lisp_Object
value
;
value
=
Qnil
;
for
(
tail
=
Vframe_list
;
CONSP
(
tail
);
tail
=
XC
ONS
(
tail
)
->
cdr
)
for
(
tail
=
Vframe_list
;
CONSP
(
tail
);
tail
=
XC
DR
(
tail
))
{
frame
=
XC
ONS
(
tail
)
->
car
;
frame
=
XC
AR
(
tail
);
if
(
!
FRAMEP
(
frame
))
continue
;
f
=
XFRAME
(
frame
);
...
...
src/keyboard.c
View file @
7539e11f
This diff is collapsed.
Click to expand it.
src/minibuf.c
View file @
7539e11f
...
...
@@ -360,11 +360,11 @@ read_minibuf (map, initial, prompt, backup_n, expflag,
for
(
buf_list
=
Vbuffer_alist
;
CONSP
(
buf_list
);