<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -53,8 +53,8 @@ _Dbg_do_info() {
           file| files )
               _Dbg_msg &quot;Source files which we have recorded info about:&quot;
 	      unsetopt ksharrays
-	      for file in ${(ki)_Dbg_file2canonic} ; do
-		  typeset -i lines=$(_Dbg_get_maxline $file)
+	      for file in &quot;${(ki)_Dbg_file2canonic}&quot; ; do
+		  typeset -i lines=$(_Dbg_get_maxline &quot;$file&quot;)
 		  _Dbg_msg &quot;  ${file}: ${_Dbg_file2canonic[$file]}, $lines lines&quot;
 	      done
 	      setopt ksharrays</diff>
      <filename>command/info.sh</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 # -*- shell-script -*-
 # list.sh - Some listing commands
 #
-#   Copyright (C) 2008 Rocky Bernstein rocky@gnu.org
+#   Copyright (C) 2008, 2009 Rocky Bernstein rocky@gnu.org
 #
 #   zshdb is free software; you can redistribute it and/or modify it under
 #   the terms of the GNU General Public License as published by the Free
@@ -72,7 +72,7 @@ _Dbg_do_list() {
 	    _Dbg_list &quot;$full_filename&quot; &quot;$line_number&quot; $count
 	return $?
     else
-	_Dbg_file_not_read_in $filename
+	_Dbg_file_not_read_in &quot;$filename&quot;
 	return 1
     fi
 }</diff>
      <filename>command/list.sh</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 # -*- shell-script -*-
-# restart command.
+# run command.
 #
-#   Copyright (C) 2008 Rocky Bernstein  rocky@gnu.org
+#   Copyright (C) 2008, 2009 Rocky Bernstein  rocky@gnu.org
 #
 #   zshdb is free software; you can redistribute it and/or modify it under
 #   the terms of the GNU General Public License as published by the Free</diff>
      <filename>command/run.sh</filename>
    </modified>
    <modified>
      <diff>@@ -65,8 +65,8 @@ function _Dbg_expand_filename {
   typeset -r filename=&quot;$1&quot;
 
   # Break out basename and dirname
-  typeset basename=${filename##*/}
-  typeset -x dirname=${filename%/*}
+  typeset basename=&quot;${filename##*/}&quot;
+  typeset -x dirname=&quot;${filename%/*}&quot;
 
   # No slash given in filename? Then use . for dirname
   [[ $dirname == $basename ]] &amp;&amp; [[ $filename != '/' ]] &amp;&amp; dirname='.'</diff>
      <filename>dbg-pre.sh</filename>
    </modified>
    <modified>
      <diff>@@ -39,7 +39,7 @@ _Dbg_check_line() {
     typeset -i line_number=$1
     typeset filename=$2
     typeset -i max_line
-    max_line=$(_Dbg_get_maxline $filename)
+    max_line=$(_Dbg_get_maxline &quot;$filename&quot;)
     if (( $? != 0 )) ; then
 	_Dbg_errmsg &quot;internal error getting number of lines in $filename&quot;
 	return 1
@@ -121,7 +121,7 @@ function _Dbg_is_file {
       fi
   elif [[ ${find_file[0]} == '.' ]] ; then
       # Relative file name
-      try_find_file=$(_Dbg_expand_filename ${_Dbg_init_cwd}/$find_file)
+      try_find_file=$(_Dbg_expand_filename &quot;${_Dbg_init_cwd}/$find_file&quot;)
       # FIXME: turn into common subroutine
       if [[ -n ${_Dbg_filenames[$try_find_file]} ]] ; then
 	  print -- &quot;$try_find_file&quot;
@@ -172,7 +172,7 @@ function _Dbg_readin {
     if [[ -z $filename ]] || [[ $filename == _Dbg_bogus_file ]] ; then 
 	eval &quot;${_Dbg_source_array_var}[0]=\&quot;$Dbg_EXECUTION_STRING\&quot;&quot;
     else 
-	fullname=$(_Dbg_resolve_expand_filename $filename)
+	fullname=$(_Dbg_resolve_expand_filename &quot;$filename&quot;)
 	if [[ -r $fullname ]] ; then
 	    _Dbg_file2canonic[$filename]=&quot;$fullname&quot;
 	    _Dbg_file2canonic[$fullname]=&quot;$fullname&quot;
@@ -211,7 +211,7 @@ _Dbg_readin_if_new() {
 # 0 is returned if everything went ok.
 _Dbg_set_source_array_var() {
     (( $# != 1 )) &amp;&amp; return 1
-    typeset filename=&quot;$1&quot;
+    typeset filename=$1
     fullname=${_Dbg_file2canonic[$filename]}
     [[ -z $fullname ]] &amp;&amp; return 2
     _Dbg_source_array_var=${_Dbg_filenames[$fullname]}</diff>
      <filename>lib/filecache.sh</filename>
    </modified>
    <modified>
      <diff>@@ -134,6 +134,9 @@ function _Dbg_linespec_setup {
     (($# != 1)) &amp;&amp; return 2
     typeset linespec=$1
     typeset -a word
+    # FIXME when we have a filename with embedded blanks, we got trouble
+    # because tokenization will split this into more tokens.
+    # Possibly the right fix is to return via a dynamic variable.
     word=($(_Dbg_parse_linespec &quot;$linespec&quot;))
     if [[ ${#word[@]} == 0 ]] ; then
 	_Dbg_errmsg &quot;Invalid line specification: $linespec&quot;
@@ -160,6 +163,10 @@ function _Dbg_linespec_setup {
 #   function-num
 # Return triple (line,  is-function?, filename,)
 # We return the filename last since that can have embedded blanks.
+
+# FIXME when we have a filename with embedded blanks, we got trouble
+# because tokenization will split this into more tokens.
+# Possibly the right fix is to return via a dynamic variable.
 function _Dbg_parse_linespec {
   typeset linespec=$1
   case &quot;$linespec&quot; in</diff>
      <filename>lib/fns.sh</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@
 # -*- shell-script -*-
 # zshdb - top-level debugger program.
 #
-#   Copyright (C) 2008 Rocky Bernstein rocky@gnu.org
+#   Copyright (C) 2008, 2009 Rocky Bernstein rocky@gnu.org
 #
 #   zshdb is free software; you can redistribute it and/or modify it under
 #   the terms of the GNU General Public License as published by the Free
@@ -98,7 +98,7 @@ if [[ ! -r &quot;$_Dbg_script_file&quot; ]] ; then
   exit 1
 fi
 typeset _Dbg_source_file
-_Dbg_source_file=$(_Dbg_expand_filename $_Dbg_script_file)
+_Dbg_source_file=$(_Dbg_expand_filename &quot;$_Dbg_script_file&quot;)
 
 # Directory in which the script is located
 typeset _Dbg_cdir=${_Dbg_source_file%/*}
@@ -118,7 +118,7 @@ while : ; do
     255 ) return $_Dbg_return_rc ;;
     *   ) ;;
     esac' DEBUG
-  . $_Dbg_source_file ${_Dbg_script_args[@]}
+  . &quot;$_Dbg_source_file&quot; ${_Dbg_script_args[@]}
   trap '' DEBUG
   _Dbg_msg &quot;Program terminated. Type 's' or 'R' to restart.&quot;
   _Dbg_process_commands</diff>
      <filename>zshdb.in</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>5de12c5ee972064b882396a1800395315cdd2d7f</id>
    </parent>
  </parents>
  <author>
    <name>rocky</name>
    <email>rocky@gnu.org</email>
  </author>
  <url>http://github.com/rocky/zshdb/commit/931ea2473d1d6d2283958398778963cdda6fce13</url>
  <id>931ea2473d1d6d2283958398778963cdda6fce13</id>
  <committed-date>2009-09-20T18:06:50-07:00</committed-date>
  <authored-date>2009-09-20T18:06:50-07:00</authored-date>
  <message>Better tolerance for files with embedded blanks. Not perfect yet though.
Need to redo parse_linespec.</message>
  <tree>b79aa13e7d6da43dfd6f5e6866841b0602cc1a38</tree>
  <committer>
    <name>rocky</name>
    <email>rocky@gnu.org</email>
  </committer>
</commit>
