[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 66ae3cf: * src/lread.c (intern_1): Make sure we'd f
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] master 66ae3cf: * src/lread.c (intern_1): Make sure we'd find the symbol we add |
Date: |
Wed, 15 Apr 2015 16:15:18 +0000 |
branch: master
commit 66ae3cff960606f96818e085226e05457d98a3cf
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>
* src/lread.c (intern_1): Make sure we'd find the symbol we add
Fixes: debbugs:20334
* src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
---
src/lread.c | 7 +++++--
src/xfaces.c | 2 +-
test/indent/perl.perl | 9 +++++++++
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/lread.c b/src/lread.c
index 050e43e..fa9a63e 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -3778,8 +3778,11 @@ intern_1 (const char *str, ptrdiff_t len)
Lisp_Object obarray = check_obarray (Vobarray);
Lisp_Object tem = oblookup (obarray, str, len, len);
- return SYMBOLP (tem) ? tem : intern_driver (make_string (str, len),
- obarray, tem);
+ return (SYMBOLP (tem) ? tem
+ /* The above `oblookup' was done on the basis of nchars==nbytes, so
+ the string has to be unibyte. */
+ : intern_driver (make_unibyte_string (str, len),
+ obarray, tem));
}
Lisp_Object
diff --git a/src/xfaces.c b/src/xfaces.c
index b269722..d198c4b 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -1822,7 +1822,7 @@ resolve_face_name (Lisp_Object face_name, bool signal_p)
Lisp_Object tortoise, hare;
if (STRINGP (face_name))
- face_name = intern (SSDATA (face_name));
+ face_name = Fintern (face_name, Qnil);
if (NILP (face_name) || !SYMBOLP (face_name))
return face_name;
diff --git a/test/indent/perl.perl b/test/indent/perl.perl
index 00ef312..ea48754 100755
--- a/test/indent/perl.perl
+++ b/test/indent/perl.perl
@@ -5,6 +5,15 @@ sub add_funds($) {
return 0;
}
+my $hash = {
+ foo => 'bar',
+ format => 'some',
+};
+
+sub some_code {
+ print "will not indent :(";
+};
+
use v5.14;
my $str= <<END;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 66ae3cf: * src/lread.c (intern_1): Make sure we'd find the symbol we add,
Stefan Monnier <=