diff options
| author | Jim Blandy | 1993-05-04 02:34:26 +0000 |
|---|---|---|
| committer | Jim Blandy | 1993-05-04 02:34:26 +0000 |
| commit | 59b4254d5965ccab2526cf80494924f2b8f4a9f8 (patch) | |
| tree | 5dc3737d07de51aebc41e889ee995f5f0327d8b1 /src | |
| parent | cd8520b9d54237af2bc59415c4471237e1f506e1 (diff) | |
| download | emacs-59b4254d5965ccab2526cf80494924f2b8f4a9f8.tar.gz emacs-59b4254d5965ccab2526cf80494924f2b8f4a9f8.zip | |
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
case we need them.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Define these in
terms of the CHAR_mumble macros, to avoid having the same thing
defined in two places.
Arrange for Fy_or_n_p to put off switch-frame events.
* lread.c (read_filtered_char): New function, which contains the
code which used to be in Fread_char, Fread_event, and
Fread_char_exclusive; there was a lot of common code.
(Fread_char, Fread_event, Fread_char_exclusive): Rewrite in terms
of read_filtered_char.
* lisp.h (read_filtered_char): Declare this extern here.
* fns.c (Fy_or_n_p): Call read_filtered_char, arranging to delay
switch-frame events.
Make the modifier manipulation functions more robust. The old way
caused a bug once, and probably would again.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Shift these all
down one bit in value, to avoid sign extension problems.
* lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
* keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
what our table of modifier names can handle.
(apply_modifiers): Don't abort if you see extra modifier bits,
just remove them.
* lisp.h (Qrange_error, Qdomain_error, Qsingularity_error,
Qoverflow_error, Qunderflow_error): Add extern to these declarations.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lisp.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/lisp.h b/src/lisp.h index 57a6a2f5092..7f08159a145 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -569,11 +569,13 @@ typedef unsigned char UCHAR; | |||
| 569 | #define COMPILED_DOC_STRING 4 | 569 | #define COMPILED_DOC_STRING 4 |
| 570 | #define COMPILED_INTERACTIVE 5 | 570 | #define COMPILED_INTERACTIVE 5 |
| 571 | 571 | ||
| 572 | /* Flag bits in a character. */ | 572 | /* Flag bits in a character. These also get used in termhooks.h. */ |
| 573 | 573 | #define CHAR_ALT (0x020000) | |
| 574 | #define CHAR_META 0x800000 | 574 | #define CHAR_SUPER (0x040000) |
| 575 | #define CHAR_CTL 0x400000 | 575 | #define CHAR_HYPER (0x080000) |
| 576 | #define CHAR_SHIFT 0x200000 | 576 | #define CHAR_SHIFT (0x100000) |
| 577 | #define CHAR_CTL (0x200000) | ||
| 578 | #define CHAR_META (0x400000) | ||
| 577 | 579 | ||
| 578 | /* Data type checking */ | 580 | /* Data type checking */ |
| 579 | 581 | ||
| @@ -936,8 +938,8 @@ extern Lisp_Object Qinvalid_function, Qwrong_number_of_arguments, Qno_catch; | |||
| 936 | extern Lisp_Object Qend_of_file, Qarith_error; | 938 | extern Lisp_Object Qend_of_file, Qarith_error; |
| 937 | extern Lisp_Object Qbeginning_of_buffer, Qend_of_buffer, Qbuffer_read_only; | 939 | extern Lisp_Object Qbeginning_of_buffer, Qend_of_buffer, Qbuffer_read_only; |
| 938 | 940 | ||
| 939 | Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error; | 941 | extern Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error; |
| 940 | Lisp_Object Qoverflow_error, Qunderflow_error; | 942 | extern Lisp_Object Qoverflow_error, Qunderflow_error; |
| 941 | 943 | ||
| 942 | extern Lisp_Object Qintegerp, Qnumberp, Qnatnump, Qsymbolp, Qlistp, Qconsp; | 944 | extern Lisp_Object Qintegerp, Qnumberp, Qnatnump, Qsymbolp, Qlistp, Qconsp; |
| 943 | extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; | 945 | extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; |
| @@ -1041,6 +1043,7 @@ extern Lisp_Object Vobarray, Vstandard_input; | |||
| 1041 | extern Lisp_Object Fread (), Fread_from_string (); | 1043 | extern Lisp_Object Fread (), Fread_from_string (); |
| 1042 | extern Lisp_Object Fintern (), Fintern_soft (), Fload (); | 1044 | extern Lisp_Object Fintern (), Fintern_soft (), Fload (); |
| 1043 | extern Lisp_Object Fget_file_char (), Fread_char (); | 1045 | extern Lisp_Object Fget_file_char (), Fread_char (); |
| 1046 | extern Lisp_Object read_filtered_event (); | ||
| 1044 | extern Lisp_Object Feval_current_buffer (), Feval_region (); | 1047 | extern Lisp_Object Feval_current_buffer (), Feval_region (); |
| 1045 | extern Lisp_Object intern (), oblookup (); | 1048 | extern Lisp_Object intern (), oblookup (); |
| 1046 | #define LOADHIST_ATTACH(x) \ | 1049 | #define LOADHIST_ATTACH(x) \ |