So I wanted to basically copy the current selection, then yanking it into `find-file`, as when using: 

- `C-SPC`: `set-mark-command`
- `M-w`: `kill-ring-save` 
- `C-x C-f`: `find-file` 
- `C-y`: `yank`

While that works great, I wanted to make it into a command if possible, so I tried and came up with this so far:

```lang-lisp
(define-advice kill-ring-save (:around (old-fun &rest args) highlight)
  "Save the text selection and keep the selection highlight."
  (let (deactivate-mark)
    (apply old-fun args)))

(defun find-file-region ()
  (interactive)
  (execute-extended-command nil "kill-ring-save" nil)
  (call-interactively 'find-file)
  (yank nil))
```

Now, I'm using this particular `kill-ring-save` function, mostly because I found it work better than the default one, but that's just what I noticed in my workflow. _And also because i didn't know how to use the default one in this particular endeavor_

So this doesn't obviously work, my guess being is that it doesn't run `yank` after running `(call-interactively 'find-file)`

I've tried:

- using default `find-file` but since it require a filename and doesn't just "open with current directory of the buffer/file" like it usually do if used in the keybinding, that didn't work either.

- was replacing `(call-interactively 'find-file)` with `(execute-extended-command nil "find-file" nil)` but it did the same thing as far as I'm aware (that is, it didn't work either).

## Question

How could I pass the current selection/region (from `C-SPC`) to `find-file` and open the file whether it exists or not? (since usually, I recall `find-file` creates the file if it doesn't exist, which is what I want too).

Don't really care if it's done interactively or in the background, as I just did that to tinker around and see if it'll work.