diff options
| author | Karoly Lorentey | 2006-01-12 11:20:02 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2006-01-12 11:20:02 +0000 |
| commit | df4c9e83511a875072331731a4f410f3271f133f (patch) | |
| tree | 8af453df106e00731c339350ff81a3c22943824b /src | |
| parent | 6bbba5a627cf59d22d9b21f8f7405e43af2e94cf (diff) | |
| parent | 7dafe00b0d6e6636c55acb64fa1fb75aee36d343 (diff) | |
| download | emacs-df4c9e83511a875072331731a4f410f3271f133f.tar.gz emacs-df4c9e83511a875072331731a4f410f3271f133f.zip | |
Merged from miles@gnu.org--gnu-2005 (patch 174-181, 685-690)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-685
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-686
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-687
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-688
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-689
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-690
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-174
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-175
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-176
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-177
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-178
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-179
Update from CVS: texi/gnus.texi (RSS): Addition.
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-180
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-181
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-495
Diffstat (limited to 'src')
| -rw-r--r-- | src/.gdbinit | 2 | ||||
| -rw-r--r-- | src/ChangeLog | 14 | ||||
| -rw-r--r-- | src/fileio.c | 18 | ||||
| -rw-r--r-- | src/gtkutil.c | 48 |
4 files changed, 66 insertions, 16 deletions
diff --git a/src/.gdbinit b/src/.gdbinit index 3c77720a49a..1b8d17607ff 100644 --- a/src/.gdbinit +++ b/src/.gdbinit | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # Copyright (C) 1992, 93, 94, 95, 96, 97, 1998, 2000, 01, 2004, 2005 | 1 | # Copyright (C) 1992, 93, 94, 95, 96, 97, 1998, 2000, 01, 2004, 2005, 2006 |
| 2 | # Free Software Foundation, Inc. | 2 | # Free Software Foundation, Inc. |
| 3 | # | 3 | # |
| 4 | # This file is part of GNU Emacs. | 4 | # This file is part of GNU Emacs. |
diff --git a/src/ChangeLog b/src/ChangeLog index 54c41d66413..e722bf78945 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2006-01-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * fileio.c (Fexpand_file_name): Remove redundant tests. | ||
| 4 | Fix elimination of // so that it doesn't prevent elimination of an | ||
| 5 | immediately following /. or /.. | ||
| 6 | |||
| 7 | 2006-01-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 8 | |||
| 9 | * gtkutil.c (xg_toggle_notify_cb): New function. | ||
| 10 | (xg_toggle_visibility_cb): Move setting of x_gtk_show_hidden_files to | ||
| 11 | xg_toggle_notify_cb. | ||
| 12 | (xg_get_file_with_chooser): Add callback to xg_toggle_notify_cb when | ||
| 13 | parameter value changes so the toggle button gets updated. | ||
| 14 | |||
| 1 | 2006-01-06 Nick Roberts <nickrob@snap.net.nz> | 15 | 2006-01-06 Nick Roberts <nickrob@snap.net.nz> |
| 2 | 16 | ||
| 3 | * .gdbinit: Fix typo. | 17 | * .gdbinit: Fix typo. |
diff --git a/src/fileio.c b/src/fileio.c index add62fe5426..1ec443e44e0 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* File IO for GNU Emacs. | 1 | /* File IO for GNU Emacs. |
| 2 | Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1996, | 2 | Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1996, |
| 3 | 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, | 3 | 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, |
| 4 | 2005 Free Software Foundation, Inc. | 4 | 2005, 2006 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is part of GNU Emacs. | 6 | This file is part of GNU Emacs. |
| 7 | 7 | ||
| @@ -1646,8 +1646,7 @@ See also the function `substitute-in-file-name'. */) | |||
| 1646 | { | 1646 | { |
| 1647 | *o++ = *p++; | 1647 | *o++ = *p++; |
| 1648 | } | 1648 | } |
| 1649 | else if (IS_DIRECTORY_SEP (p[0]) | 1649 | else if (p[1] == '.' |
| 1650 | && p[1] == '.' | ||
| 1651 | && (IS_DIRECTORY_SEP (p[2]) | 1650 | && (IS_DIRECTORY_SEP (p[2]) |
| 1652 | || p[2] == 0)) | 1651 | || p[2] == 0)) |
| 1653 | { | 1652 | { |
| @@ -1657,7 +1656,7 @@ See also the function `substitute-in-file-name'. */) | |||
| 1657 | *o++ = *p; | 1656 | *o++ = *p; |
| 1658 | p += 2; | 1657 | p += 2; |
| 1659 | } | 1658 | } |
| 1660 | else if (IS_DIRECTORY_SEP (p[0]) && p[1] == '.' && p[2] == '.' | 1659 | else if (p[1] == '.' && p[2] == '.' |
| 1661 | /* `/../' is the "superroot" on certain file systems. | 1660 | /* `/../' is the "superroot" on certain file systems. |
| 1662 | Turned off on DOS_NT systems because they have no | 1661 | Turned off on DOS_NT systems because they have no |
| 1663 | "superroot" and because this causes us to produce | 1662 | "superroot" and because this causes us to produce |
| @@ -1677,14 +1676,9 @@ See also the function `substitute-in-file-name'. */) | |||
| 1677 | ++o; | 1676 | ++o; |
| 1678 | p += 3; | 1677 | p += 3; |
| 1679 | } | 1678 | } |
| 1680 | else if (p > target | 1679 | else if (p > target && IS_DIRECTORY_SEP (p[1])) |
| 1681 | && IS_DIRECTORY_SEP (p[0]) && IS_DIRECTORY_SEP (p[1])) | 1680 | /* Collapse multiple `/' in a row. */ |
| 1682 | { | 1681 | p++; |
| 1683 | /* Collapse multiple `/' in a row. */ | ||
| 1684 | *o++ = *p++; | ||
| 1685 | while (IS_DIRECTORY_SEP (*p)) | ||
| 1686 | ++p; | ||
| 1687 | } | ||
| 1688 | else | 1682 | else |
| 1689 | { | 1683 | { |
| 1690 | *o++ = *p++; | 1684 | *o++ = *p++; |
diff --git a/src/gtkutil.c b/src/gtkutil.c index ce66c5de35e..065adeb4937 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -1220,6 +1220,9 @@ xg_get_file_name_from_chooser (w) | |||
| 1220 | return gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (w)); | 1220 | return gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (w)); |
| 1221 | } | 1221 | } |
| 1222 | 1222 | ||
| 1223 | /* Callback called when the "Show hidden files" toggle is pressed. | ||
| 1224 | WIDGET is the toggle widget, DATA is the file chooser dialog. */ | ||
| 1225 | |||
| 1223 | static void | 1226 | static void |
| 1224 | xg_toggle_visibility_cb (widget, data) | 1227 | xg_toggle_visibility_cb (widget, data) |
| 1225 | GtkWidget *widget; | 1228 | GtkWidget *widget; |
| @@ -1227,10 +1230,47 @@ xg_toggle_visibility_cb (widget, data) | |||
| 1227 | { | 1230 | { |
| 1228 | GtkFileChooser *dialog = GTK_FILE_CHOOSER (data); | 1231 | GtkFileChooser *dialog = GTK_FILE_CHOOSER (data); |
| 1229 | gboolean visible; | 1232 | gboolean visible; |
| 1230 | extern int x_gtk_show_hidden_files; | ||
| 1231 | g_object_get (G_OBJECT (dialog), "show-hidden", &visible, NULL); | 1233 | g_object_get (G_OBJECT (dialog), "show-hidden", &visible, NULL); |
| 1232 | g_object_set (G_OBJECT (dialog), "show-hidden", !visible, NULL); | 1234 | g_object_set (G_OBJECT (dialog), "show-hidden", !visible, NULL); |
| 1233 | x_gtk_show_hidden_files = !visible; | 1235 | } |
| 1236 | |||
| 1237 | |||
| 1238 | /* Callback called when a property changes in a file chooser. | ||
| 1239 | GOBJECT is the file chooser dialog, ARG1 describes the property. | ||
| 1240 | USER_DATA is the toggle widget in the file chooser dialog. | ||
| 1241 | We use this to update the "Show hidden files" toggle when the user | ||
| 1242 | changes that property by right clicking in the file list. */ | ||
| 1243 | |||
| 1244 | static void | ||
| 1245 | xg_toggle_notify_cb (gobject, arg1, user_data) | ||
| 1246 | GObject *gobject; | ||
| 1247 | GParamSpec *arg1; | ||
| 1248 | gpointer user_data; | ||
| 1249 | { | ||
| 1250 | extern int x_gtk_show_hidden_files; | ||
| 1251 | |||
| 1252 | if (strcmp (arg1->name, "show-hidden") == 0) | ||
| 1253 | { | ||
| 1254 | GtkFileChooser *dialog = GTK_FILE_CHOOSER (gobject); | ||
| 1255 | GtkWidget *wtoggle = GTK_WIDGET (user_data); | ||
| 1256 | gboolean visible, toggle_on; | ||
| 1257 | |||
| 1258 | g_object_get (G_OBJECT (gobject), "show-hidden", &visible, NULL); | ||
| 1259 | toggle_on = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (wtoggle)); | ||
| 1260 | |||
| 1261 | if (!!visible != !!toggle_on) | ||
| 1262 | { | ||
| 1263 | g_signal_handlers_block_by_func (G_OBJECT (wtoggle), | ||
| 1264 | G_CALLBACK (xg_toggle_visibility_cb), | ||
| 1265 | gobject); | ||
| 1266 | gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wtoggle), visible); | ||
| 1267 | g_signal_handlers_unblock_by_func | ||
| 1268 | (G_OBJECT (wtoggle), | ||
| 1269 | G_CALLBACK (xg_toggle_visibility_cb), | ||
| 1270 | gobject); | ||
| 1271 | } | ||
| 1272 | x_gtk_show_hidden_files = visible; | ||
| 1273 | } | ||
| 1234 | } | 1274 | } |
| 1235 | 1275 | ||
| 1236 | /* Read a file name from the user using a file chooser dialog. | 1276 | /* Read a file name from the user using a file chooser dialog. |
| @@ -1283,7 +1323,9 @@ xg_get_file_with_chooser (f, prompt, default_filename, | |||
| 1283 | } | 1323 | } |
| 1284 | gtk_widget_show (wtoggle); | 1324 | gtk_widget_show (wtoggle); |
| 1285 | g_signal_connect (G_OBJECT (wtoggle), "clicked", | 1325 | g_signal_connect (G_OBJECT (wtoggle), "clicked", |
| 1286 | G_CALLBACK (xg_toggle_visibility_cb), G_OBJECT(filewin)); | 1326 | G_CALLBACK (xg_toggle_visibility_cb), filewin); |
| 1327 | g_signal_connect (G_OBJECT (filewin), "notify", | ||
| 1328 | G_CALLBACK (xg_toggle_notify_cb), wtoggle); | ||
| 1287 | 1329 | ||
| 1288 | message[0] = '\0'; | 1330 | message[0] = '\0'; |
| 1289 | if (action != GTK_FILE_CHOOSER_ACTION_SAVE) | 1331 | if (action != GTK_FILE_CHOOSER_ACTION_SAVE) |