#include "window.h"
#include "commands.h"
#include "buffer.h"
-#include "syntax.h"
#include "indent.h"
#include "blockinput.h"
Lisp_Object Qkill_buffer_hook;
+Lisp_Object Qget_file_buffer;
+
Lisp_Object Qoverlayp;
Lisp_Object Qmodification_hooks;
register Lisp_Object filename;
{
register Lisp_Object tail, buf, tem;
+ Lisp_Object handler;
+
CHECK_STRING (filename, 0);
filename = Fexpand_file_name (filename, Qnil);
+ /* If the file name has special constructs in it,
+ call the corresponding file handler. */
+ handler = Ffind_file_name_handler (filename);
+ if (!NILP (handler))
+ return call2 (handler, Qget_file_buffer, filename);
+
for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr)
{
buf = Fcdr (XCONS (tail)->car);
Qinsert_in_front_hooks = intern ("insert-in-front-hooks");
staticpro (&Qinsert_behind_hooks);
Qinsert_behind_hooks = intern ("insert-behind-hooks");
+ staticpro (&Qget_file_buffer);
+ Qget_file_buffer = intern ("get-file-buffer");
Qoverlayp = intern ("overlayp");