From a2f8bf159772adc8d3fc16e79ff663c167f99177 Mon Sep 17 00:00:00 2001
From: Ivica Ico Bukvic <ico@vt.edu>
Date: Fri, 23 May 2014 21:22:39 -0400
Subject: [PATCH] *fixed problem where recent files only saved file name but
 not the path

---
 pd/src/pd_guiprefs.tcl | 3 ++-
 pd/src/s_main.c        | 6 +++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/pd/src/pd_guiprefs.tcl b/pd/src/pd_guiprefs.tcl
index 0dcf8c402..801330c2f 100644
--- a/pd/src/pd_guiprefs.tcl
+++ b/pd/src/pd_guiprefs.tcl
@@ -71,6 +71,7 @@ proc ::pd_guiprefs::update_recentfiles {afile save} {
     # remove duplicates first
     set index [lsearch -exact $::recentfiles_list $afile]
     set ::recentfiles_list [lreplace $::recentfiles_list $index $index]
+    #puts stderr "afile=$afile save=$save"
     # insert new one in the beginning and crop the list
     set ::recentfiles_list [linsert $::recentfiles_list 0 $afile]
     set ::recentfiles_list [lrange $::recentfiles_list 0 [expr $::total_recentfiles - 1]]
@@ -139,7 +140,7 @@ proc ::pd_guiprefs::get_config_win {adomain {akey} {arr false}} {
 }
 
 # ------------------------------------------------------------------------------
-# linux: read a config file and return its lines splitted.
+# linux: read a config file and return its lines split into individual entries
 #
 proc ::pd_guiprefs::get_config_x11 {adomain {akey} {arr false}} {
     set filename [file join $adomain $akey]
diff --git a/pd/src/s_main.c b/pd/src/s_main.c
index 6df214992..ce1804624 100644
--- a/pd/src/s_main.c
+++ b/pd/src/s_main.c
@@ -169,7 +169,11 @@ static void openit(const char *dirname, const char *filename)
         glob_evalfile(0, gensym(nameptr), gensym(dirbuf));
 		sys_vgui("pdtk_set_current_dir %s\n", filename);
         //sys_vgui("::pd_menus::update_recentfiles_menu .mbar.file 0\n");
-        sys_vgui("::pd_guiprefs::update_recentfiles %s 1\n", filename);
+#ifndef MSW
+        sys_vgui("::pd_guiprefs::update_recentfiles %s/%s 1\n", dirname, filename);
+#else
+        sys_vgui("::pd_guiprefs::update_recentfiles %s\%s 1\n", dirname, filename);
+#endif
     }
     else
         error("%s: can't open", filename);
-- 
GitLab