aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKaroly Lorentey2006-01-12 11:20:02 +0000
committerKaroly Lorentey2006-01-12 11:20:02 +0000
commitdf4c9e83511a875072331731a4f410f3271f133f (patch)
tree8af453df106e00731c339350ff81a3c22943824b /src
parent6bbba5a627cf59d22d9b21f8f7405e43af2e94cf (diff)
parent7dafe00b0d6e6636c55acb64fa1fb75aee36d343 (diff)
downloademacs-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/.gdbinit2
-rw-r--r--src/ChangeLog14
-rw-r--r--src/fileio.c18
-rw-r--r--src/gtkutil.c48
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 @@
12006-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
72006-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
12006-01-06 Nick Roberts <nickrob@snap.net.nz> 152006-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
6This file is part of GNU Emacs. 6This 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
1223static void 1226static void
1224xg_toggle_visibility_cb (widget, data) 1227xg_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
1244static void
1245xg_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)