diff options
author | Richard M. Stallman <rms@gnu.org> | 1996-12-09 06:38:01 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1996-12-09 06:38:01 +0000 |
commit | 57d93ebaa8220f0b3ad4e06dd3fab8dbd75947c1 (patch) | |
tree | 409ac1b24c10184d8fd12fb2d442f44f679dd971 | |
parent | 0c41071a29a860afa66ecb27c431e66cd7bc49ba (diff) | |
download | emacs-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.c | 6 |
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); |