[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/fileio.c
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/src/fileio.c |
Date: |
Mon, 26 Nov 2001 17:54:37 -0500 |
Index: emacs/src/fileio.c
diff -u emacs/src/fileio.c:1.428 emacs/src/fileio.c:1.429
--- emacs/src/fileio.c:1.428 Mon Nov 19 16:50:44 2001
+++ emacs/src/fileio.c Mon Nov 26 17:54:37 2001
@@ -336,7 +336,8 @@
Lisp_Object filename, operation;
{
/* This function must not munge the match data. */
- Lisp_Object chain, inhibited_handlers;
+ Lisp_Object chain, inhibited_handlers, result = Qnil;
+ int pos = -1;
CHECK_STRING (filename);
@@ -353,21 +354,26 @@
if (CONSP (elt))
{
Lisp_Object string;
+ int match_pos;
string = XCAR (elt);
- if (STRINGP (string) && fast_string_match (string, filename) >= 0)
+ if (STRINGP (string)
+ && (match_pos = fast_string_match (string, filename)) > pos)
{
Lisp_Object handler, tem;
handler = XCDR (elt);
tem = Fmemq (handler, inhibited_handlers);
if (NILP (tem))
- return handler;
+ {
+ result = handler;
+ pos = match_pos;
+ }
}
}
QUIT;
}
- return Qnil;
+ return result;
}
DEFUN ("file-name-directory", Ffile_name_directory, Sfile_name_directory,
@@ -2101,9 +2107,13 @@
/* Get variable value */
o = (unsigned char *) egetenv (target);
- if (!o) goto badvar;
- total += strlen (o);
- substituted = 1;
+ if (o)
+ {
+ total += strlen (o);
+ substituted = 1;
+ }
+ else if (*p == '}')
+ goto badvar;
}
if (!substituted)
@@ -2153,9 +2163,11 @@
/* Get variable value */
o = (unsigned char *) egetenv (target);
if (!o)
- goto badvar;
-
- if (STRING_MULTIBYTE (filename))
+ {
+ *x++ = '$';
+ strcpy (x, target); x+= strlen (target);
+ }
+ else if (STRING_MULTIBYTE (filename))
{
/* If the original string is multibyte,
convert what we substitute into multibyte. */
- [Emacs-diffs] Changes to emacs/src/fileio.c, Richard M. Stallman, 2001/11/13
- [Emacs-diffs] Changes to emacs/src/fileio.c, Stefan Monnier, 2001/11/16
- [Emacs-diffs] Changes to emacs/src/fileio.c, Stefan Monnier, 2001/11/16
- [Emacs-diffs] Changes to emacs/src/fileio.c, Richard M. Stallman, 2001/11/17
- [Emacs-diffs] Changes to emacs/src/fileio.c, Stefan Monnier, 2001/11/19
- [Emacs-diffs] Changes to emacs/src/fileio.c,
Stefan Monnier <=
- [Emacs-diffs] Changes to emacs/src/fileio.c, Richard M. Stallman, 2001/11/28
- [Emacs-diffs] Changes to emacs/src/fileio.c, Pavel JanÃk, 2001/11/29