summaryrefslogtreecommitdiff
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)
symbol_free_list = NULL;
for (int i = 0; i < ARRAYELTS (lispsym); i++)
- lispsym[i].gcmarkbit = 0;
+ lispsym[i].s.gcmarkbit = 0;
for (sblk = symbol_block; sblk; sblk = *sprev)
{
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)
INLINE Lisp_Object
builtin_lisp_symbol (int index)
{
- return make_lisp_symbol (lispsym + index);
+ return make_lisp_symbol (&lispsym[index].s);
}
INLINE void
(CHECK_SYMBOL) (Lisp_Object x)
{
- lisp_h_CHECK_SYMBOL (x);
+ lisp_h_CHECK_SYMBOL (x);
}
/* 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)
if (! NILP (result))
return unbind_to (count, result);
}
+ if (!quoted && multibyte)
+ {
+ int ch = STRING_CHAR ((unsigned char *) read_buffer);
+ switch (ch)
+ {
+ case 0x2018: /* LEFT SINGLE QUOTATION MARK */
+ case 0x2019: /* RIGHT SINGLE QUOTATION MARK */
+ case 0x201B: /* SINGLE HIGH-REVERSED-9 QUOTATION MARK */
+ case 0x201C: /* LEFT DOUBLE QUOTATION MARK */
+ case 0x201D: /* RIGHT DOUBLE QUOTATION MARK */
+ case 0x201F: /* DOUBLE HIGH-REVERSED-9 QUOTATION MARK */
+ case 0x301E: /* DOUBLE PRIME QUOTATION MARK */
+ case 0xFF02: /* FULLWIDTH QUOTATION MARK */
+ case 0xFF07: /* FULLWIDTH APOSTROPHE */
+ xsignal2 (Qinvalid_read_syntax, build_string ("strange quote"),
+ CALLN (Fstring, make_number (ch)));
+ }
+ }
{
Lisp_Object result;
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,
Fcons (Vminibuffer_history_position,
Fcons (Vminibuffer_history_variable,
minibuf_save_list))))));
+ minibuf_save_list
+ = Fcons (Fthis_command_keys_vector (), minibuf_save_list);
record_unwind_protect_void (read_minibuf_unwind);
minibuf_level++;
@@ -836,6 +838,11 @@ read_minibuf_unwind (void)
Fset_buffer (XWINDOW (window)->contents);
/* Restore prompt, etc, from outer minibuffer level. */
+ Lisp_Object key_vec = Fcar (minibuf_save_list);
+ eassert (VECTORP (key_vec));
+ this_command_key_count = XFASTINT (Flength (key_vec));
+ this_command_keys = key_vec;
+ minibuf_save_list = Fcdr (minibuf_save_list);
minibuf_prompt = Fcar (minibuf_save_list);
minibuf_save_list = Fcdr (minibuf_save_list);
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)
object:nil];
#endif
+#ifdef NS_IMPL_COCOA
+ if ([NSApp activationPolicy] == NSApplicationActivationPolicyProhibited) {
+ /* Set the app's activation policy to regular when we run outside
+ of a bundle. This is already done for us by Info.plist when we
+ run inside a bundle. */
+ [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
+ [NSApp setApplicationIconImage:
+ [EmacsImage
+ allocInitFromFile:
+ build_string("icons/hicolor/128x128/apps/emacs.png")]];
+ }
+#endif
+
ns_send_appdefined (-2);
}
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
returned. If name is not a valid character class name zero, or RECC_ERROR,
is returned.
- Otherwise, if *strp doesn’t begin with "[:name:]", -1 is returned.
+ Otherwise, if *strp doesn't begin with "[:name:]", -1 is returned.
The function can be used on ASCII and multibyte (UTF-8-encoded) strings.
*/
@@ -1954,8 +1954,8 @@ re_wctype_parse (const unsigned char **strp, unsigned limit)
if (limit < 4 || beg[0] != '[' || beg[1] != ':')
return -1;
- beg += 2; /* skip opening ‘[:’ */
- limit -= 3; /* opening ‘[:’ and half of closing ‘:]’; --limit handles rest */
+ beg += 2; /* skip opening "[:" */
+ limit -= 3; /* opening "[:" and half of closing ":]"; --limit handles rest */
for (it = beg; it[0] != ':' || it[1] != ']'; ++it)
if (!--limit)
return -1;
@@ -1985,7 +1985,7 @@ re_wctype_parse (const unsigned char **strp, unsigned limit)
2 [:cntrl:]
1 [:ff:]
- If you update this list, consider also updating chain of or’ed conditions
+ If you update this list, consider also updating chain of or'ed conditions
in execute_charset function.
*/
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 @@
#define _REGEX_H 1
#if defined emacs && (defined _REGEX_RE_COMP || defined _LIBC)
-/* We’re not defining re_set_syntax and using a different prototype of
+/* We're not defining re_set_syntax and using a different prototype of
re_compile_pattern when building Emacs so fail compilation early with
a (somewhat helpful) error message when conflict is detected. */
# 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.
The default value of nil means compute the space dynamically.
Any other value is treated as nil. */);
Vdisplay_line_numbers_width = Qnil;
- DEFSYM (Qdisplay_line_numbers_width, "display-line-number-width");
+ DEFSYM (Qdisplay_line_numbers_width, "display-line-numbers-width");
Fmake_variable_buffer_local (Qdisplay_line_numbers_width);
DEFVAR_LISP ("display-line-numbers-current-absolute",