X-Git-Url: https://git.distorted.org.uk/~mdw/lisp/blobdiff_plain/861345b43569790e39df152c6b495b14e7dab360..af33e77c00654c222a8a04a5e69a5eb1f56c1e8c:/str.lisp diff --git a/str.lisp b/str.lisp index 9f43ed8..94a58a4 100644 --- a/str.lisp +++ b/str.lisp @@ -13,12 +13,12 @@ ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. -;;; +;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. -;;; +;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software Foundation, ;;; Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -30,8 +30,8 @@ (defun join-strings (del strs) "Join together the strings STRS with DEL between them. All the arguments -are first converted to strings, as if by `stringify'. Otherwise, this is -like Perl's join operator." + are first converted to strings, as if by `stringify'. Otherwise, this is + like Perl's join operator." (setf del (stringify del)) (with-output-to-string (s) (when strs @@ -43,12 +43,11 @@ like Perl's join operator." (defun str-next-word (string &key quotedp start end) "Extract a whitespace-delimited word from STRING, returning it and the -index to continue parsing from. If no word is found, return nil twice. If -QUOTEDP, then allow quoting and backslashifying; otherwise don't. The START -and END arguments limit the portion of the string to be processed; the -default to 0 and nil (end of string), as usual." - (unless start (setf start 0)) - (unless end (setf end (length string))) + index to continue parsing from. If no word is found, return nil twice. + If QUOTEDP, then allow quoting and backslashifying; otherwise don't. The + START and END arguments limit the portion of the string to be processed; + the default to 0 and nil (end of string), as usual." + (setf-default start 0 end (length string)) (let ((i start) (q nil) (e nil) @@ -110,11 +109,11 @@ default to 0 and nil (end of string), as usual." (defun str-split-words (string &key quotedp start end max) "Break STRING into words, like str-next-word does, returning the list of -the individual words. If QUOTEDP, then allow quoting and backslashifying; -otherwise don't. No more than MAX `words' are returned: if the maximum is -hit, then the last `word' is unbroken, and may still contain quotes and -escape characters. The START and END arguments limit the portion of the -string to be processed in the usual way." + the individual words. If QUOTEDP, then allow quoting and backslashifying; + otherwise don't. No more than MAX `words' are returned: if the maximum is + hit, then the last `word' is unbroken, and may still contain quotes and + escape characters. The START and END arguments limit the portion of the + string to be processed in the usual way." (when (equal max 0) (return-from str-split-words nil)) (let ((l nil) (n 0))