[Pkg-javascript-commits] [uglifyjs] 21/77: Add an option to prevent function names from being mangled

Jonas Smedegaard dr at jones.dk
Tue May 19 00:02:28 UTC 2015


This is an automated email from the git hooks/post-receive script.

js pushed a commit to tag v2.4.18
in repository uglifyjs.

commit e37b67d013c4537a36bb3c24f4f99e72efbf6d4b
Author: Richard van Velzen <rvanvelzen1 at gmail.com>
Date:   Sun Jan 4 20:53:19 2015 +0100

    Add an option to prevent function names from being mangled
    
    See #552. This is mostly useful for having the actual function names in traces.
---
 lib/scope.js | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/lib/scope.js b/lib/scope.js
index d252d53..73442a3 100644
--- a/lib/scope.js
+++ b/lib/scope.js
@@ -57,9 +57,14 @@ function SymbolDef(scope, index, orig) {
 
 SymbolDef.prototype = {
     unmangleable: function(options) {
-        return (this.global && !(options && options.toplevel))
+        if (!options) options = {};
+
+        return (this.global && !options.toplevel)
             || this.undeclared
-            || (!(options && options.eval) && (this.scope.uses_eval || this.scope.uses_with));
+            || (!options.eval && (this.scope.uses_eval || this.scope.uses_with))
+            || (options.keep_fnames
+                && (this.orig[0] instanceof AST_SymbolLambda
+                    || this.orig[0] instanceof AST_SymbolDefun));
     },
     mangle: function(options) {
         if (!this.mangled_name && !this.unmangleable(options)) {
@@ -322,11 +327,12 @@ AST_Symbol.DEFMETHOD("global", function(){
 
 AST_Toplevel.DEFMETHOD("_default_mangler_options", function(options){
     return defaults(options, {
-        except   : [],
-        eval     : false,
-        sort     : false,
-        toplevel : false,
-        screw_ie8 : false
+        except      : [],
+        eval        : false,
+        sort        : false,
+        toplevel    : false,
+        screw_ie8   : false,
+        keep_fnames : false
     });
 });
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/uglifyjs.git



More information about the Pkg-javascript-commits mailing list