summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-12-09 06:38:01 +0000
committerRichard M. Stallman <rms@gnu.org>1996-12-09 06:38:01 +0000
commit57d93ebaa8220f0b3ad4e06dd3fab8dbd75947c1 (patch)
tree409ac1b24c10184d8fd12fb2d442f44f679dd971
parent0c41071a29a860afa66ecb27c431e66cd7bc49ba (diff)
downloademacs-57d93ebaa8220f0b3ad4e06dd3fab8dbd75947c1.tar.gz
(Fread_file_name_internal): Verify STRING is a string.
(Fread_file_name): Don't insert DIR or INITIAL if it isn't a string.
-rw-r--r--src/fileio.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/fileio.c b/src/fileio.c
index 7e8dad19e8c..d8c0f263b3e 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -4304,6 +4304,8 @@ DEFUN ("read-file-name-internal", Fread_file_name_internal, Sread_file_name_inte
int changed;
struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5;
+ CHECK_STRING (string, 0);
+
realdir = dir;
name = string;
orig_string = Qnil;
@@ -4409,7 +4411,7 @@ DIR defaults to current buffer's directory default.")
XSTRING (dir)->data[0] = '~';
}
- if (insert_default_directory)
+ if (insert_default_directory && STRINGP (dir))
{
insdef = dir;
if (!NILP (initial))
@@ -4425,7 +4427,7 @@ DIR defaults to current buffer's directory default.")
else
insdef1 = double_dollars (insdef);
}
- else if (!NILP (initial))
+ else if (STRINGP (initial))
{
insdef = initial;
insdef1 = Fcons (double_dollars (insdef), 0);