emacs-diffs
[Top][All Lists]
Advanced

[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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]