aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa <[email protected]>2008-11-10 00:47:08 +0000
committerKenichi Handa <[email protected]>2008-11-10 00:47:08 +0000
commitd5998e0317c1f425d1de83934891cb2340ec10e4 (patch)
tree4ac877f48e7d170a91afb9e8921e7c3630de0ec5 /src
parent47264a979962acc65dbcdb56f4e6604cb14521fe (diff)
(Fget_byte): Fix and make it faster for unibyte target.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/character.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d96d8b2945..71da2e8b06 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2008-11-10 Kenichi Handa <[email protected]>
+
+ * character.c (Fget_byte): Fix and make it faster for unibyte
+ target.
+
2008-11-08 Chong Yidong <[email protected]>
* dired.c (file_name_completion): If completion_ignore_case is
diff --git a/src/character.c b/src/character.c
index 38d4f6ac51..66e1b02391 100644
--- a/src/character.c
+++ b/src/character.c
@@ -1058,6 +1058,8 @@ character is not ASCII nor 8-bit character, an error is signalled. */)
pos = XFASTINT (position);
p = CHAR_POS_ADDR (pos);
}
+ if (NILP (current_buffer->enable_multibyte_characters))
+ return make_number (*p);
}
else
{
@@ -1074,6 +1076,8 @@ character is not ASCII nor 8-bit character, an error is signalled. */)
pos = XFASTINT (position);
p = SDATA (string) + string_char_to_byte (string, pos);
}
+ if (! STRING_MULTIBYTE (string))
+ return make_number (*p);
}
c = STRING_CHAR (p, 0);
if (CHAR_BYTE8_P (c))