diff options
| author | Richard M. Stallman | 1996-12-09 06:38:01 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1996-12-09 06:38:01 +0000 |
| commit | 58cc37108789f10599db013f2ceb526917d3f4ed (patch) | |
| tree | bb7397fe27cc1dfd40cde06d8ee9bc985434d79a /src | |
| parent | ea7cceff155f6fdfb4677b9c49e22974558dcae4 (diff) | |
| download | emacs-58cc37108789f10599db013f2ceb526917d3f4ed.tar.gz emacs-58cc37108789f10599db013f2ceb526917d3f4ed.zip | |
(Fread_file_name_internal): Verify STRING is a string.
(Fread_file_name): Don't insert DIR or INITIAL if it isn't a string.
Diffstat (limited to 'src')
| -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 | |||
| 4304 | int changed; | 4304 | int changed; |
| 4305 | struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5; | 4305 | struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5; |
| 4306 | 4306 | ||
| 4307 | CHECK_STRING (string, 0); | ||
| 4308 | |||
| 4307 | realdir = dir; | 4309 | realdir = dir; |
| 4308 | name = string; | 4310 | name = string; |
| 4309 | orig_string = Qnil; | 4311 | orig_string = Qnil; |
| @@ -4409,7 +4411,7 @@ DIR defaults to current buffer's directory default.") | |||
| 4409 | XSTRING (dir)->data[0] = '~'; | 4411 | XSTRING (dir)->data[0] = '~'; |
| 4410 | } | 4412 | } |
| 4411 | 4413 | ||
| 4412 | if (insert_default_directory) | 4414 | if (insert_default_directory && STRINGP (dir)) |
| 4413 | { | 4415 | { |
| 4414 | insdef = dir; | 4416 | insdef = dir; |
| 4415 | if (!NILP (initial)) | 4417 | if (!NILP (initial)) |
| @@ -4425,7 +4427,7 @@ DIR defaults to current buffer's directory default.") | |||
| 4425 | else | 4427 | else |
| 4426 | insdef1 = double_dollars (insdef); | 4428 | insdef1 = double_dollars (insdef); |
| 4427 | } | 4429 | } |
| 4428 | else if (!NILP (initial)) | 4430 | else if (STRINGP (initial)) |
| 4429 | { | 4431 | { |
| 4430 | insdef = initial; | 4432 | insdef = initial; |
| 4431 | insdef1 = Fcons (double_dollars (insdef), 0); | 4433 | insdef1 = Fcons (double_dollars (insdef), 0); |