Index: emacs/src/fileio.c
diff -c emacs/src/fileio.c:1.538 emacs/src/fileio.c:1.539
*** emacs/src/fileio.c:1.538 Sun Apr 24 09:18:15 2005
--- emacs/src/fileio.c Sat Apr 30 20:12:13 2005
***************
*** 175,180 ****
--- 175,184 ----
whose I/O is done with a special handler. */
Lisp_Object Vfile_name_handler_alist;
+ /* Property name of a file name handler,
+ which gives a list of operations it handles.. */
+ Lisp_Object Qoperations;
+
/* Lisp functions for translating file formats */
Lisp_Object Qformat_decode, Qformat_annotate_function;
***************
*** 366,378 ****
elt = XCAR (chain);
if (CONSP (elt))
{
! Lisp_Object string;
int match_pos;
! string = XCAR (elt);
if (STRINGP (string)
! && (match_pos = fast_string_match (string, filename)) > pos)
{
! Lisp_Object handler, tem;
handler = XCDR (elt);
tem = Fmemq (handler, inhibited_handlers);
--- 370,385 ----
elt = XCAR (chain);
if (CONSP (elt))
{
! Lisp_Object string = XCAR (elt);
int match_pos;
! Lisp_Object handler = XCDR (elt);
! Lisp_Object operations = Fget (handler, Qoperations);
!
if (STRINGP (string)
! && (match_pos = fast_string_match (string, filename)) > pos
! && (NILP (operations) || ! NILP (Fmemq (operation, operations))))
{
! Lisp_Object tem;
handler = XCDR (elt);
tem = Fmemq (handler, inhibited_handlers);
***************
*** 6437,6442 ****
--- 6444,6450 ----
void
syms_of_fileio ()
{
+ Qoperations = intern ("operations");
Qexpand_file_name = intern ("expand-file-name");
Qsubstitute_in_file_name = intern ("substitute-in-file-name");
Qdirectory_file_name = intern ("directory-file-name");
***************
*** 6471,6476 ****
--- 6479,6485 ----
Qset_visited_file_modtime = intern ("set-visited-file-modtime");
Qauto_save_coding = intern ("auto-save-coding");
+ staticpro (&Qoperations);
staticpro (&Qexpand_file_name);
staticpro (&Qsubstitute_in_file_name);
staticpro (&Qdirectory_file_name);
_______________________________________________
Emacs-diffs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-diffs