aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/alloc.c2
-rw-r--r--src/lisp.h4
-rw-r--r--src/lread.c18
-rw-r--r--src/minibuf.c7
-rw-r--r--src/nsterm.m13
-rw-r--r--src/regex.c8
-rw-r--r--src/regex.h2
-rw-r--r--src/xdisp.c2
8 files changed, 47 insertions, 9 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 5d02bb3cfbb..73d33564843 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -6943,7 +6943,7 @@ sweep_symbols (void)
6943 symbol_free_list = NULL; 6943 symbol_free_list = NULL;
6944 6944
6945 for (int i = 0; i < ARRAYELTS (lispsym); i++) 6945 for (int i = 0; i < ARRAYELTS (lispsym); i++)
6946 lispsym[i].gcmarkbit = 0; 6946 lispsym[i].s.gcmarkbit = 0;
6947 6947
6948 for (sblk = symbol_block; sblk; sblk = *sprev) 6948 for (sblk = symbol_block; sblk; sblk = *sprev)
6949 { 6949 {
diff --git a/src/lisp.h b/src/lisp.h
index 9464bf8559f..cffaf954b3b 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -838,13 +838,13 @@ make_lisp_symbol (struct Lisp_Symbol *sym)
838INLINE Lisp_Object 838INLINE Lisp_Object
839builtin_lisp_symbol (int index) 839builtin_lisp_symbol (int index)
840{ 840{
841 return make_lisp_symbol (lispsym + index); 841 return make_lisp_symbol (&lispsym[index].s);
842} 842}
843 843
844INLINE void 844INLINE void
845(CHECK_SYMBOL) (Lisp_Object x) 845(CHECK_SYMBOL) (Lisp_Object x)
846{ 846{
847 lisp_h_CHECK_SYMBOL (x); 847 lisp_h_CHECK_SYMBOL (x);
848} 848}
849 849
850/* In the size word of a vector, this bit means the vector has been marked. */ 850/* In the size word of a vector, this bit means the vector has been marked. */
diff --git a/src/lread.c b/src/lread.c
index 901e40b3489..dbaadce4b40 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -3479,6 +3479,24 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list)
3479 if (! NILP (result)) 3479 if (! NILP (result))
3480 return unbind_to (count, result); 3480 return unbind_to (count, result);
3481 } 3481 }
3482 if (!quoted && multibyte)
3483 {
3484 int ch = STRING_CHAR ((unsigned char *) read_buffer);
3485 switch (ch)
3486 {
3487 case 0x2018: /* LEFT SINGLE QUOTATION MARK */
3488 case 0x2019: /* RIGHT SINGLE QUOTATION MARK */
3489 case 0x201B: /* SINGLE HIGH-REVERSED-9 QUOTATION MARK */
3490 case 0x201C: /* LEFT DOUBLE QUOTATION MARK */
3491 case 0x201D: /* RIGHT DOUBLE QUOTATION MARK */
3492 case 0x201F: /* DOUBLE HIGH-REVERSED-9 QUOTATION MARK */
3493 case 0x301E: /* DOUBLE PRIME QUOTATION MARK */
3494 case 0xFF02: /* FULLWIDTH QUOTATION MARK */
3495 case 0xFF07: /* FULLWIDTH APOSTROPHE */
3496 xsignal2 (Qinvalid_read_syntax, build_string ("strange quote"),
3497 CALLN (Fstring, make_number (ch)));
3498 }
3499 }
3482 { 3500 {
3483 Lisp_Object result; 3501 Lisp_Object result;
3484 ptrdiff_t nbytes = p - read_buffer; 3502 ptrdiff_t nbytes = p - read_buffer;
diff --git a/src/minibuf.c b/src/minibuf.c
index d4128ce01c1..010152930bc 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -497,6 +497,8 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt,
497 Fcons (Vminibuffer_history_position, 497 Fcons (Vminibuffer_history_position,
498 Fcons (Vminibuffer_history_variable, 498 Fcons (Vminibuffer_history_variable,
499 minibuf_save_list)))))); 499 minibuf_save_list))))));
500 minibuf_save_list
501 = Fcons (Fthis_command_keys_vector (), minibuf_save_list);
500 502
501 record_unwind_protect_void (read_minibuf_unwind); 503 record_unwind_protect_void (read_minibuf_unwind);
502 minibuf_level++; 504 minibuf_level++;
@@ -836,6 +838,11 @@ read_minibuf_unwind (void)
836 Fset_buffer (XWINDOW (window)->contents); 838 Fset_buffer (XWINDOW (window)->contents);
837 839
838 /* Restore prompt, etc, from outer minibuffer level. */ 840 /* Restore prompt, etc, from outer minibuffer level. */
841 Lisp_Object key_vec = Fcar (minibuf_save_list);
842 eassert (VECTORP (key_vec));
843 this_command_key_count = XFASTINT (Flength (key_vec));
844 this_command_keys = key_vec;
845 minibuf_save_list = Fcdr (minibuf_save_list);
839 minibuf_prompt = Fcar (minibuf_save_list); 846 minibuf_prompt = Fcar (minibuf_save_list);
840 minibuf_save_list = Fcdr (minibuf_save_list); 847 minibuf_save_list = Fcdr (minibuf_save_list);
841 minibuf_prompt_width = XFASTINT (Fcar (minibuf_save_list)); 848 minibuf_prompt_width = XFASTINT (Fcar (minibuf_save_list));
diff --git a/src/nsterm.m b/src/nsterm.m
index a3c7031331a..36d906a7cec 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -5497,6 +5497,19 @@ ns_term_shutdown (int sig)
5497 object:nil]; 5497 object:nil];
5498#endif 5498#endif
5499 5499
5500#ifdef NS_IMPL_COCOA
5501 if ([NSApp activationPolicy] == NSApplicationActivationPolicyProhibited) {
5502 /* Set the app's activation policy to regular when we run outside
5503 of a bundle. This is already done for us by Info.plist when we
5504 run inside a bundle. */
5505 [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
5506 [NSApp setApplicationIconImage:
5507 [EmacsImage
5508 allocInitFromFile:
5509 build_string("icons/hicolor/128x128/apps/emacs.png")]];
5510 }
5511#endif
5512
5500 ns_send_appdefined (-2); 5513 ns_send_appdefined (-2);
5501} 5514}
5502 5515
diff --git a/src/regex.c b/src/regex.c
index fb48765c96c..0dbb47309e4 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -1942,7 +1942,7 @@ struct range_table_work_area
1942 returned. If name is not a valid character class name zero, or RECC_ERROR, 1942 returned. If name is not a valid character class name zero, or RECC_ERROR,
1943 is returned. 1943 is returned.
1944 1944
1945 Otherwise, if *strp doesnt begin with "[:name:]", -1 is returned. 1945 Otherwise, if *strp doesn't begin with "[:name:]", -1 is returned.
1946 1946
1947 The function can be used on ASCII and multibyte (UTF-8-encoded) strings. 1947 The function can be used on ASCII and multibyte (UTF-8-encoded) strings.
1948 */ 1948 */
@@ -1954,8 +1954,8 @@ re_wctype_parse (const unsigned char **strp, unsigned limit)
1954 if (limit < 4 || beg[0] != '[' || beg[1] != ':') 1954 if (limit < 4 || beg[0] != '[' || beg[1] != ':')
1955 return -1; 1955 return -1;
1956 1956
1957 beg += 2; /* skip opening [: */ 1957 beg += 2; /* skip opening "[:" */
1958 limit -= 3; /* opening [: and half of closing :]; --limit handles rest */ 1958 limit -= 3; /* opening "[:" and half of closing ":]"; --limit handles rest */
1959 for (it = beg; it[0] != ':' || it[1] != ']'; ++it) 1959 for (it = beg; it[0] != ':' || it[1] != ']'; ++it)
1960 if (!--limit) 1960 if (!--limit)
1961 return -1; 1961 return -1;
@@ -1985,7 +1985,7 @@ re_wctype_parse (const unsigned char **strp, unsigned limit)
1985 2 [:cntrl:] 1985 2 [:cntrl:]
1986 1 [:ff:] 1986 1 [:ff:]
1987 1987
1988 If you update this list, consider also updating chain of ored conditions 1988 If you update this list, consider also updating chain of or'ed conditions
1989 in execute_charset function. 1989 in execute_charset function.
1990 */ 1990 */
1991 1991
diff --git a/src/regex.h b/src/regex.h
index 1d439de259c..5e3a79763ec 100644
--- a/src/regex.h
+++ b/src/regex.h
@@ -21,7 +21,7 @@
21#define _REGEX_H 1 21#define _REGEX_H 1
22 22
23#if defined emacs && (defined _REGEX_RE_COMP || defined _LIBC) 23#if defined emacs && (defined _REGEX_RE_COMP || defined _LIBC)
24/* Were not defining re_set_syntax and using a different prototype of 24/* We're not defining re_set_syntax and using a different prototype of
25 re_compile_pattern when building Emacs so fail compilation early with 25 re_compile_pattern when building Emacs so fail compilation early with
26 a (somewhat helpful) error message when conflict is detected. */ 26 a (somewhat helpful) error message when conflict is detected. */
27# error "_REGEX_RE_COMP nor _LIBC can be defined if emacs is defined." 27# error "_REGEX_RE_COMP nor _LIBC can be defined if emacs is defined."
diff --git a/src/xdisp.c b/src/xdisp.c
index 3e5657ffe6f..422912e57a6 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -32745,7 +32745,7 @@ even if the actual number needs less space.
32745The default value of nil means compute the space dynamically. 32745The default value of nil means compute the space dynamically.
32746Any other value is treated as nil. */); 32746Any other value is treated as nil. */);
32747 Vdisplay_line_numbers_width = Qnil; 32747 Vdisplay_line_numbers_width = Qnil;
32748 DEFSYM (Qdisplay_line_numbers_width, "display-line-number-width"); 32748 DEFSYM (Qdisplay_line_numbers_width, "display-line-numbers-width");
32749 Fmake_variable_buffer_local (Qdisplay_line_numbers_width); 32749 Fmake_variable_buffer_local (Qdisplay_line_numbers_width);
32750 32750
32751 DEFVAR_LISP ("display-line-numbers-current-absolute", 32751 DEFVAR_LISP ("display-line-numbers-current-absolute",