From eb99c572acdc5f28bfe4704da6f4e9c4be30bc40 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20V=C3=A1zquez?= Date: Thu, 20 Jun 2013 14:34:08 +0200 Subject: [PATCH] Remove duplicate js-escape-string --- src/compiler.lisp | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) diff --git a/src/compiler.lisp b/src/compiler.lisp index ef66b1f..49a31ff 100644 --- a/src/compiler.lisp +++ b/src/compiler.lisp @@ -489,52 +489,6 @@ ;;; Compilation of literals an object dumping -;;; Two seperate functions are needed for escaping strings: -;;; One for producing JavaScript string literals (which are singly or -;;; doubly quoted) -;;; And one for producing Lisp strings (which are only doubly quoted) -;;; -;;; The same function would suffice for both, but for javascript string -;;; literals it is neater to use either depending on the context, e.g: -;;; foo's => "foo's" -;;; "foo" => '"foo"' -;;; which avoids having to escape quotes where possible -(defun js-escape-string (string) - (let ((index 0) - (size (length string)) - (seen-single-quote nil) - (seen-double-quote nil)) - (flet ((%js-escape-string (string escape-single-quote-p) - (let ((output "") - (index 0)) - (while (< index size) - (let ((ch (char string index))) - (when (char= ch #\\) - (setq output (concat output "\\"))) - (when (and escape-single-quote-p (char= ch #\')) - (setq output (concat output "\\"))) - (when (char= ch #\newline) - (setq output (concat output "\\")) - (setq ch #\n)) - (setq output (concat output (string ch)))) - (incf index)) - output))) - ;; First, scan the string for single/double quotes - (while (< index size) - (let ((ch (char string index))) - (when (char= ch #\') - (setq seen-single-quote t)) - (when (char= ch #\") - (setq seen-double-quote t))) - (incf index)) - ;; Then pick the appropriate way to escape the quotes - (cond - ((not seen-single-quote) - (concat "'" (%js-escape-string string nil) "'")) - ((not seen-double-quote) - (concat "\"" (%js-escape-string string nil) "\"")) - (t (concat "'" (%js-escape-string string t) "'")))))) - (defun lisp-escape-string (string) (let ((output "") (index 0) -- 1.7.10.4